FIR_IIR滤波器设计与DSP实现.doc
文本预览下载声明
南京航空航天大学
研究生DSP实验
实验报告
实验名称:FIR/IIR滤波器设计与DSP实现学生: 学生:
实验地点:
2015年月
一、实验目的
1、掌握数字滤波器的设计过程
2、了解FIR/IIR的原理和特性
3、熟悉设计FIR/IIR数字滤波器的原理和方法
二、实验内容
1、通过MATLAB设计确定FIR/IIR滤波器系数
2、DSP初始化
3、A/D采样
4、FIR/IIR运算,观察滤波前后的波形变化
三、实验背景知识
1、FIR基础理论
FIR数字滤波器是一种非递归系统,其冲激响应h(n)是有限长序列,其差分方程表达式为:
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结构将乘法器数目减少一半。
2、IIR基础理论
IIR数字滤波器是一种离散时间系统,其系统函数为
假设M≤N,当M>N时,系统函数可以看作一个IIR的子系统和一个(M-N)的FIR子系统的级联。IIR数字滤波器的设计实际上是求解滤波器的系数ai和bi,它是数学上的一种逼近问题,即在规定意义上(通常采用最小均方误差准则)去逼近系统的特性。如果在S平面上去逼近,就得到模拟滤波器;如果在z平面上去逼近,就得到数字滤波器。
3、本实验中FIR算法公式
4、本实验中IIR算法公式
四、实验要求
对带有噪声的不同输入信号(正弦波、方波、三角波)进行FIR/IIR滤波,观看滤掉噪声后的波形。
五、实验程序功能与结构说明
1、DEC5502_Filter.c:这是实验的主程序,包含了系统初始化,音频芯片各控制寄存器的初始化,A/D采样程序;
2、FIR_Filter:滤波子程序;
3、AIC.c:音频芯片各控制寄存器的初始化;
4、E2PROM_Function.c:包含对IIC的各操作函数;
5、I2C.c:进行I2C初始化;
6、mcbsp.c:配置mcbsp;
7、SEED_DEC5502.cmd:声明了系统的寄存器配置与程序各段的连接关系。
六、FIR/IIR实验步骤
1、打开CCS,进入CCS的操作环境;
2、装入DEC5502_FIR.pjt工程文件,添加SEED_DEC5502.gel文件,进行调试
3、打开DEC5502_Filter.c文件,修改SAMPLELONG宏定义。有3个选择。1表示256点FFT运算,2表示512点FFT运算,3表示1024点FFT运算。
4、编译、生成DEC5502_Filter.out文件,装载程序DEC5502_Filter.out;
5、本实验需要设置实验箱信号源。通过液晶屏和键盘,设置信号源:当液晶屏上出现“通讯自检不成功,请复位系统”时,按下“Enter”键,进入“信号发生器设置”。
在“信号发生器设置”这一菜单下:
“通道”设为“0”;
“信号类型”可以根据需要任意选择;
“信号频率”和“信号振幅”可在屏幕下方“有效输入”限定的范围内任意输入;
“电压偏移”设为0;
“信号发生器开关”设为“开启”。此时便有信号输入音频芯片AIC2的输入端。
6、打开DEC5502_Filter.c文件,在最后两行设置断点。
7、运行程序,程序停在第一个断点处,表明数据采集完成;继续运行程序,程序停在第二个断点处,表明滤波完成。可以观察收到的数据和显示的图像。
DataBuffer数组显示的是原始信号图像;DDataBuffer数组显示的是滤波后信号图像。
七、实验数据图像显示
1、FIR音频滤波
2、IIR音频滤波
八、实验中遇到的问题
1、连接音频信号发生器后无信号输出
解决办法:首先将音频端口连接电脑音频输出端,以判断是否是机箱问题;调整通道,最终得到音频信号。
九、参考文献
[1] 戴明桢、周建江,TMS320C54x数字信号处理器结构原理及应用,北航出版社,2001年
[2] Sanjit K.Mitra,数字信号处理-基于计算机的方法,电子工业出版社,2012.1
[3] SEED-DTK5502 实验手册
1
南京航空航天大学研究生DSP实验报告
显示全部