dsp有限冲击响应滤波器(FIR)算法实验四.doc
DSP原理及应用实验报告
有限冲击响应滤波器(FIR)算法实验
姓名学号
实验目的
1.掌握数字滤波器的设计过程;
2.了解FIR的原理和特性;
3.熟悉设计FIR数字滤波器的原理和方法。
实验设备及地点
设备:SEED-DTK系列DSP实验箱
地点:
实验原理
1.实验的原理性说明
有限冲击响应数字滤波器〔FIR〕的根底理论
FIR数字滤波器是一种非递归系统,其冲激响应h(n)是有限长序列,其差分方程表达式为:
为FIR滤波器的阶数。
在数字信号处理应用中往往需要设计线性相位的滤波器,FIR滤波器在保证幅度特性满足技术要求的同时,很容易做到严格的线性相位特性。为了使滤波器满足线性相位条件,要求其单位脉冲响应h(n)为实序列,且满足偶对称或奇对称条件,即h(n)=h(N-1-n)或h(n)=-h(N-1-n)。这样,当N为偶数时,偶对称线性相位FIR滤波器的差分方程表达式为由上可见,FIR滤波器不断地对输入样本x(n)延时后,再做乘法累加算法,将滤波器结果y(n)输出。因此,FIR实际上是一种乘法累加运算。而对于线性相位FIR而言,利用线性相位FIR滤波器系数的对称特性,可以采用结构精简的FIR结构将乘法器数目减少一半。
实验步骤及结果
1.翻开CCS,进入CCS的操作环境;
2.装入DEC5502_FIR.pjt工程文件,添加SEED_DEC5502.gel文件,进行调试;
3.翻开DEC5502_Filter.c文件,到第35行修改SAMPLELONG宏定义。SAMPLELONG是采样长度选择,有3个选择1、2、3。1表示256,2表示512,3表示1024
4.修改完宏定义后,编译、连接生成DEC5502_Filter.out文件,装载程序DEC5502_Filter.out;
5.本实验和FFT实验,数字滤波实验都需要设置实验箱信号源。通过液晶屏和键盘,设置信号源:当液晶屏上出现“通讯自检不成功,请复位系统”时,按下“Enter”键,进入“信号发生器设置”。
在“信号发生器设置”这一菜单下:
“通道”设为“0”;
“信号类型”可根据需要任意选择;
“信号频率”和“信号振幅”可在屏幕下方“有效输入”限定的范围内任意输入,建议振幅设为1000左右,频率”设为300左右;
“信号发生器开关”设为“开启”。此时便有信号输入音频芯片AIC23的输入端。
6.翻开DEC5502_Filter.c文件,在第357行设置断点“fir_filter(DataBuffer,hfir,DDataBuffer,ORDER_FIR,SampleLong,ROUND_FIR)”,与358行“while(1){};”设置断点。
7.运行程序,程序停在第一个断点处,说明数据采集完成;继续运行程序,程序停在第二个断点处,说明滤波完成。可以观察收到的数据和显示的图像;DataBuffer数组显示的是原始信号图像;DDataBuffer数组显示的是滤波后信号图像。可以修改信号源,继续执行,观察不同信号源的滤波结果。
其中图像显示设置对话框中Startadderss:起始地址;AcquisitionBufferSize:输入数据个数;DisplayDataSize:显示数据个数〔注意:显示个数要与程序中宏定义的采样个数一致〕
滤波前信号时域图
滤波前频谱图
滤波后时域图
滤波后频谱图