高通数字滤波器的设计及DSP实现_第1页
高通数字滤波器的设计及DSP实现_第2页
高通数字滤波器的设计及DSP实现_第3页
高通数字滤波器的设计及DSP实现_第4页
高通数字滤波器的设计及DSP实现_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、高通数字滤波器的设计及DSP实现班级: 学号: 姓名: 现场答辩(20分)书面报告(80分)成绩Matlab设计(20分)DSP程序(25分)输入输出分析(20分)格式规范(15分)总分等级1、设计目的1.熟悉FIR高通数字滤波器工作原理。2.熟悉线性相位FIR高通数字滤波器的特性。3.深入了解利用Matlab设计FIR高通数字滤波器的基本方法。4.在设计的过程中掌握Matlab和CCS程序编译及软件设计的基本方法。5.锻炼自己通过网络及各种资料解决实际问题的能力。6.提高自己对于新知识的学习能力及进行实际操作的能力。2、设计原理滤波器是指用来对输入信号进行滤波的硬件和软件。所谓数字滤波器,是

2、指输入、输出均为数字信号,通过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的器件。数字滤波器一般可用两种方法实现:一种是根据描述的数字滤波器的数学模型或信号流图,用数字硬件装配成一台专门的设备,构成专用的信号处理机,这就是硬件实现方式;另一种方法就是直接利用通用计算机,将所需要的运算编成程序来让计算机来执行,这也就是软件实现方式。在硬件实现方式中,是以数字组件如延迟器、加法器和乘法器作为基本部件构成专用的数字信号处理系统。在软件实现方式中,它是借助于通用计算机机器语言、汇编语言或高级语言程序来做数字滤波器的运算过程。滤波器性能最容易通过它的幅频响应的形状来描述 

3、。滤波器在某个频率的幅度增益决定了滤波器对此频率输入的放大因子,增益可取任意值。增益高的频率范围,信号可以通过,称之为滤波器的通带,增益低的频率范围,滤波器对信号有衰减和阻塞作用,称这位滤波器的阻带。按通频带分类,滤波器可分为:低通滤波器、高通滤波器、带通滤波器、带阻滤波器等。本次设计的是高通滤波器。数字信号处理就是在有限区间使用所观测到的信号序列进行各种各样的处理。截取信号区间两端的位置微小变化,将会导致结果产生很大变化,这种现象一般在信号处理中是必须避免的。为此,不仅应注意截取信号区间的长度,而且要注意截取区间两端不应造成急剧的变化。 截取持续信号中部分信号的工作,可以看作是通过

4、一个窗函数采集所看到的信号序列。这种为截取信号所使用的窗口称为窗函数(window function)。窗函数不仅适用于离散时间信号,也适用于连续信号。 实际上,设观测到的信号为x(t),窗函数为w(t),从窗口观测的信号为y(t),则 y(t)=w(t)*x(t)。窗口函数的种类很多:矩形窗、汉宁窗、汉明窗、布莱克曼窗等。本次设计采用的是布莱克曼窗。3、设计要求1. A/D采样率 f s 为 100KHZ;采用窗函数设计法;数字角频率 = T = 2 f / fs (3-1),设计一个通带截止频率为 15KHZ 的高通滤波器。2. 利用 matlab 进行相应滤

5、波器设计,给出窗口选择、设计方法、设计过程及设计结果。3. 利用上述设计所计算的滤波器系数,编写相应的 DSP 实现程序,4. 输入信号为 1.5KHz、10KHz、20KHz 的叠加信号,即x(t)=sin(3000t)+sin(20000t)+ sin(40000t),观察其经过滤波器后的响应,记录输入、输出的时域、频域波形图,并对结果作相应分析。5. 书写报告,要求整洁、规范,标题用四号宋体、正文用小四号宋体/Times New Roman,图表内文字、程序语句用五号宋体/Times New Roman;对所列图、表均给出标题说明,关键程序语句作注释。4、主要设计内容 4.1MATLAB

6、设计滤波器参数及实现利用窗函数法设计FIR高通数字滤波器,绘制出高通数字滤波器的特性图。利用所设计的滤波器对多个频带叠加的正弦信号进行处理,对比滤波前后的信号时域和频域图,验证滤波器的效果。此次设计的FIR高通数字滤波器通带截止频率为fc=15KHZ ,设阻带边缘频率为f1=10KHZ,通带边缘频率为f2=20KHZ,根据公式(3-1)得,通带截止数字角频率为wc=2*pi*fc/fs;阻带边缘数字角频率ws=2*pi*f1/fs,通带边缘数字角频率wp=2*pi*f2/fs,过滤带宽wb=wp-ws,计算布莱克曼窗的长度N=11*pi/wb=55。利用fir1函数设计线性相位RIRDF:b=

7、fir1(n,Wn,ftype,window)n为滤波器的阶数;Wn为滤波器的截止频率,它是一个0到1的数。ftype为滤波器的类型,ftype=high时,设计的是高通滤波器;window为指定的窗函数,布莱克曼窗为blackman(n)。本次设计b=fir1(54,wc/pi,'high',Blackman(55)。MATLAB设计程序如下:f1=10000;f2=20000;%阻带边缘频率为f1=10KHZ,通带边缘频率f2=20KHZfs=100000;%采样频率wp=2*pi*f2/fs;%通带边缘数字角频率ws=2*pi*f1/fs;%阻带边缘数字角频率wb=wp-

8、ws;%过滤带宽N=ceil(11*pi/wb);%计算窗口长度M=N+mod(N+1,2);%保证窗口长度为奇数wc=2*pi*15000/fs/pi;%通带截止数字角频率b=fir1(M-1,wc,'high',Blackman(M);设计结果:图4-1-1图4-1-1为输入信号的时域图和频域图,时域上输入信号为sin(3000t),sin(20000t), sin(40000t)三个信号叠加,如图4-1-1上方所示;频域上输入信号为是三个频谱的叠加,如图4-1-1下方所示。图4-1-2图4-1-2为高通滤波器的响应图,当信号频率小于15KHZ时,信号的增益受到抑制,当信号

9、频率大于15KHZ时,信号的增益得到加强,即截止频率为15KHZ。图4-1-3图4-1-3为输出信号的时域图和频域图,输入信x(t)通过高通滤波器后输出信号的时域图,如图4-1-3上方所示;频域上输出信号的频域图,如图4-1-3下方所示。此时只有20KHZ>15KHZ的信号输出,从而达到高频通过的效果。4.2FIR高通数字滤波器的DSP实现设计阶数为54的高通数字滤波器,DSP程序如下:#include "myapp.h"#include "csedu.h"#include "scancode.h"#include <ma

10、th.h>#define BLACKMAN 55 /窗口长度#define SIGNAL1F 1500 /1.5KHZ信号#define SIGNAL2F 10000/10KHZ信号#define SIGNAL3F 20000/20KHZ信号#define SAMPLEF 100000/采样频率#define PI 3.1415926float InputWave();/波形输入函数float FIR();/滤波器函数Float fHnBLACKMAN= 0.0000,0.0000,0.0001,0.0001,-0.0001,-0.0005,-0.0006,-0.0000,0.0013,

11、 0.0022,0.0010,-0.0025,-0.0055,-0.0042,0.0028,0.0109,0.0116,-0.0000,-0.0180,-0.0263,-0.0107,0.0255,0.0553,0.0428,-0.0312,-0.1480,-0.2561, 0.7000,-0.2561,-0.1480,-0.0312,0.0428,0.0553,0.0255,-0.0107,-0.0263, -0.0180,-0.0000,0.0116,0.0109,0.0028,-0.0042,-0.0055,-0.0025,0.0010, 0.0022,0.0013,-0.0000,-0

12、.0006,-0.0005,-0.0001,0.0001,0.0001,0.0000,0.0000 ;/应用Blackman滤波器系统函数float fXnBLACKMAN= 0.0 ;float fInput,fOutput;float fSignal1,fSignal2,fSignal3;float fStepSignal1,fStepSignal2,fStepSignal3;float f2PI;int i;float fIn256,fOut256;int nIn,nOut;main()nIn=0; nOut=0;f2PI=2*PI;fSignal1=0; /信号1的相位fStepSig

13、nal1=0.03*PI; /信号1的数字频率fSignal2=0; /信号2的相位fStepSignal2=0.2*PI; /信号2的数字频率 fSignal3=0; /信号3的相位fStepSignal3=0.4*PI; /信号3的数字频率while ( 1 )fInput=InputWave();fInnIn=fInput;nIn+; nIn%=256;fOutput=FIR();fOutnOut=fOutput;nOut+;/* break point */if ( nOut>=256 )nOut=0;float InputWave()/*for ( i=FIRNUMBER-1;

14、i>0;i- )fXni=fXni-1;fXn0=sin(double)fSignal1)+cos(double)fSignal2)/6.0;fSignal1+=fStepSignal1; if ( fSignal1>=f2PI )fSignal1-=f2PI;fSignal2+=fStepSignal2;if ( fSignal2>=f2PI )fSignal2-=f2PI;return(fXn0);*/for ( i=BLACKMAN-1;i>0;i- )fXni=fXni-1;/差分方程项的值fXn0=cos(double)fSignal1)/1.7+cos(do

15、uble)fSignal2)/2+sin(double)fSignal3);/信号输入fSignal1+=fStepSignal1; if ( fSignal1>=f2PI )fSignal1-=f2PI;fSignal2+=fStepSignal2;if ( fSignal2>=f2PI )fSignal2-=f2PI; fSignal3+=fStepSignal3;if ( fSignal3>=f2PI )fSignal3-=f2PI;return(fXn0);float FIR()float fSum;fSum=0;for ( i=0;i<BLACKMAN;i+

16、)fSum+=(fXni*fHni);return(fSum);设计结果:图4-2-1图4-2-1为输入信号和输出信号的时域图,时域上输入信号为sin(3000t)+sin(20000t)+sin(40000t)三个信号叠加,如图4-2-1上方所示;时域上输出信号为sin(40000t),如图4-2-1下方所示。图4-2-2图4-2-2为输入信号和输出信号的频域图,输入信x(t)频域图,如图4-2-2左方所示,通过高通滤波器后输出信号的频域图,如图4-2-2右方所示;由图可得当信号频率小于15KHZ时,信号的增益受到抑制,当信号频率大于15KHZ时,信号的增益得到加强,即截止频率为15KHZ。5、 总结采用MATLAB软件来辅助DSP平台实现FIR高通数字滤波器,大大简化了数字滤波器的设计,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论