数字信号处理课程设计报告书课题名称基于matlab的FIR与IIR滤波器性能比较姓名李甲森学号20086370院、系、部电气系专业电子信息指导教师刘鑫淼.2011年6月30日※※※※※※※※※※※※※※※※※※※※※※※※2008级数字信号处理课程设计基于matlab的FIR与IIR滤波器性能比较方0809-320086370李甲森一、设计目的1.学会MATLAB的使用,掌握MATLAB的程序设计方法2、掌握数字信号处理的基本概念、基本理论和基本方法3、在MATLAB环境下用程序实现IIR数字低通滤波器的设计4、学会用MATLAB对信号进行分析和处理数字信号二、设计要求梳状滤波器的系统函数有如下两种类型:FIR型:NzzH1)(1,IIR型:)1/()1()(2NNNzazzH分别令N=8,a=0.8,0.9,0.98,1、计算并图示)(),(21zHzH零极点及幅频特性图;2、说明极点位置的影响;3、试通过应用比较FIR和IIR两类滤波器的性能。三、设计原理及思想通过绘制零级点图和幅频特性图进行两种滤波器的比较,由于a值的变化引起图形的变化,进而分析两种滤波器在不同场合的应用。四、程序设计程序清单如下b=[1,0,0,0,0,0,0,0,-1];%H1(z)和H2(z)的分子多项式系数向量a0=1;%H1(z)分母多项式系数向量a1=[1,0,0,0,0,0,0,0,-(0.8)^8];%H2(z)分母多项式系数向量(a=0.8)a2=[1,0,0,0,0,0,0,0,-(0.9)^8];%H2(z)分母多项式系数向量(a=0.9)a3=[1,0,0,0,0,0,0,0,-(0.98)^8];%H2(z)分母多项式系数向量(a=0.98)[H,w]=freqz(b,a0);%H1(z)的频响函数[H1,w1]=freqz(b,a1);[H2,w2]=freqz(b,a2);[H3,w3]=freqz(b,a3);subplot(4,2,1);zplane(b,a0);xlabel('实部');ylabel('虚部');title('FIR梳状滤波器零点图')subplot(4,2,2);zplane(b,a1);xlabel('实部');ylabel('虚部');title('IIR梳状滤波器零极点图a=0.8')subplot(4,2,3);plot(w/pi,abs(H));title('FIR梳状滤波器幅频响应曲线')subplot(4,2,4);plot(w/pi,abs(H1));title('IIR梳状滤波器幅频响应曲线a=0.8')subplot(4,2,5);zplane(b,a2);xlabel('实部');ylabel('虚部');title('IIR梳状滤波器零极点图a=0.9')subplot(4,2,7);plot(w/pi,abs(H2));title('IIR梳状滤波器幅频响应曲线a=0.9')subplot(4,2,6);zplane(b,a3);xlabel('实部');ylabel('虚部');title('IIR梳状滤波器零极点图a=0.98')subplot(4,2,8);plot(w/pi,abs(H3));title('IIR梳状滤波器幅频响应曲线a=0.98')五、仿真结果及分析:程序运行结果如图2.15所示。由图看出,阶数相同的时候,IIR滤波器具有更平坦的通带特性和更窄的过渡带,极点距离单位圆越近,这个特性就越明显。图2.15八阶梳状滤波器零、极点图及幅频响应曲线六FIR和IIR两类滤波器的性能:1﹑FIR滤波器的一个重要特点就是能够提供准确的线性相位,所以在对相位要求较严格的地方,FIR占据了统治地位,但是严格的线性相位的IIR滤波器也已经被提出,只是其阶数比普通IIR滤波器要提高一倍。2﹑FIR的准确线性相位是以降低幅度响应特性作为代价的,所以相同幅度响应的FIR滤波器要比IIR的阶数高的多,特别是如果要实现有瑞沿的幅频特性,FIR所需要的阶数将非常高,而IIR滤波器就能很好的解决这个问题。3﹑由于FIR没有反馈系统,它需要较多的存储器来存放滤波器系数,所以在对相位要求不很严格的地方,使用IIR滤波器更节约资源。4﹑反馈系统在IIR滤波器中带来的一个问题就是:一次运算产生的误差将会反馈到输入端再参与运算,使误差在环路内不断积累传播,从而对滤波器的输出造成较大的影响。所以,有有线字长应在IIR滤波器中比在FIR中更加严重。七、设计总结:本次课程设计中有很多的辛酸与困难,但都在康老师和同学们的帮助下一一解决,在这里首先感谢他们!本文通过MATLAB语言分析梳状滤波器的系统函数)(),(21zHzH零极点及幅频特性图,不仅对MATLAB语言进行了更称层次的了解和掌握,而且对FIR和IIR两类滤波器的性能进行分析比较,已确定每个滤波器的优劣性,在实际操作中有很大的意义,同时MATLAB信号处理工具箱为滤波器设计及分析提供了非常优秀的辅助设计工具,在设计数字滤波器时,善于应用MATLAB进行辅助设计,能够大大提高设计效率。所以MATLAB是一款非常强大的工具,学习好和欧普可对,各种数字信号的处理有着至关重要的帮助。在这次课程设计过程中,感触很深,由于对MATLAB图像处理的函数不熟悉,导致自己走了很多的弯路,通过本次课程设计,使自己对MATLAB设计流程有了比较深刻的体会,同时也了解了一般软件设计的过程。在设计过程中碰到了很多的问题,通过这些问题,使自己分析问题,解决问题的能力得到了较大的提高。以后一定更加努力的提高自己个方面的知识和能力!八、参考文献[1]董长虹等.MATLAB信号处理与应用.北京:国防工业出版社,2005[2][美]M.H.海因斯著张建华等译.数字信号处理.北京:科学出版社,2002[3]张葛祥,李娜.MATLAB仿真技术与应用.北京:清华大学出版社,2003[4]高西全,丁玉美.数字信号处理——原理、实现及应用.北京:电子工业出版社,2006[5]刘顺兰,吴杰.数字信号处理.西安:西安电子科技大学出版社,2003