资源描述:
《FIR滤波器的DSP实现.docx》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、第四章FIR数字滤波器设计4.1实验目的1、熟悉使用TI公司的6413DSP开发板。2、进一步熟悉软件CodeComposerStudio的使用。3、掌握加窗法实现FIR数字滤波器的原理。4.2实验内容使用CodeComposerStudio软件在6713DSP开发板上实践加窗FIR数字滤波器算法。4.3实验器材6713DSP开发板x1USB数据线x1供电线x1电脑x14.4实验原理1.一个长度为N+1的因果FIR滤波器传输函数H(z)是Z-1的N次多项式:HZ=n=0Nhnz-n其对应的频率响应函数为:He-jω=n=0Nh[n]e-jωn任何长度为N+1的有限长序列x[n]的特性可由其离
2、散时间傅里叶变换X(ejw)的N+1样本完全描述。因此,要设计一个长度为N+1的FIR滤波器,可以利用冲击响应序列{h[n]}或频率响应H(ejw)的N+1个样本来进行。同时为了保证线性相位,必须满足条件:hn=±hN-nFIR滤波器的两种直接设计方法为加窗傅里叶级数法和频率抽样法。本次实验只用加窗傅里叶级数法实现。2.由于加窗理想滤波器冲击响应序列的幅值响应出现吉布斯(Gibbs)现象,我们需要利用两边都是逐渐平滑减小到零的窗函数或者在通带到阻带加入平滑的过渡带等方法减弱吉布斯现象。使用渐缩的窗函数可以使旁瓣的高度减小,但会使主瓣的宽度相应的增加,结果是在不连续点间出现更宽的过渡带。现将我
3、们常用的长度为N=2M+1的渐变窗函数列举如下:Hann窗:Hamming窗:Blackman窗:Kaiser窗:窗函数主瓣宽度旁瓣宽度最小阻带衰减过渡带带宽ΔωHann窗8π/(2M+1)31.5dB43.9dB3.11π/MHamming窗8π/(2M+1)42.7dB54.5dB3.32π/MBlackman窗12π/(2M+1)58.1dB75.3dB5.56π/M矩形窗4π/(2M+1)13.3dB29.9dB0.92π/M4.5实验步骤1、将6713DSP开发板接上电源并与计算机连接,打开6713DSKDiagnosticsUtility检测实验设备是否连接正常。2、打开Matl
4、ab,输入hamming(80),将得到的81个数据保存好。新建一个数组hamming[81],把刚得到的81个数据保存在hamming[81]的数组中。3、利用Matlab生成一个带噪音的信号,并保存在input.dat的文件中。4、打开CodeComposerStudio软件新建工程,敲入程序,将输入文本input.dat放在工程目录下。5、检查FIR滤波结果,利用CCS软件自带的画图功能画出输入和输出的时域波形和幅度谱。4.6实验框图FIR滤波程序框图4.7实验参考程序#include"limits.h"#include"math.h"#defineN81//滤波器长度#defineL
5、EN1001//输入数据长度#definePI3.floatyn;//输出临时结果floatinput[LEN];//输入数组floatoutput[LEN];//输出数组staticvoiddataIO(void);constfloathamming[81]={0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,1.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.
6、,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.};voidmain(){inti,j,n;floatm,wc,hlp[81],ht[81];intfs;float*x;dataIO();fs=10000;wc=1000*2*PI/fs;//截止频率1000Hzfor(n=0;n7、)//计算卷积{x=&input[j];yn=0;for(i=0;i