本科学生验证性实验报告李开斌学号姓名114090315学院物电学院专业、班级11电子实验课程名称数字信号处理教师及职称李宏宁开课学期2013至2014学年下学期填报时间2014年5月14日云南师范大学教务处编印一、实验设计方案实验序号09实验名称IIR数字滤波器设计及应用实验时间日2014年5月14实验室同析3栋3131.实验目的2.加深理解IIR数字滤波器的特性,掌握IIR数字滤波器的设计原理与设计方法,以及IIR数字滤波器的应用。2.实验原理、实验流程或装置示意图N阶IIR数字滤波器的系统函数为:M??jzbj0?j?)H(z?1?(M?1)?Mz????bzbzbb?N?MM0?11i??az1??1?(N?1)?Ni1?az???az?azN11N?1?iIIR数字滤波器的设计主要通过成熟的模拟滤波器设计方法来实现:将数字滤波器设计指标转换为模拟滤波器设计指标,设计出相应的模拟滤波器H(s),再经过脉冲响应不变法或双线性变换法得到所需的IIR数字滤波器H(z)。IIR数字滤波器设计的重要环节是模拟原型低通滤波器的设计,主要包括Butterworth、Chebyshev和椭圆等滤波器。MATLAB信号处理工具箱中提供了IIR滤波器设计的函数。IIR滤波器阶数选择buttord-巴特沃斯(Butterworth)滤波器阶数选择。cheb1ord-切比雪夫(Chebyshev)I型滤波器阶数选择。cheb2ord-切比雪夫(Chebyshev)II型滤波器阶数选择。ellipord-椭圆(Elliptic)滤波器阶数选择。IIR滤波器设计butter-巴特沃斯(Butterworth)滤波器设计cheby1-切比雪夫(Chebyshev)I型滤波器设计cheby2-切比雪夫(Chebyshev)II型滤波器设计ellip-椭圆(Elliptic)滤波器设计maxflat-通用的巴特沃斯(Butterworth)低通滤波器设计yulewalk-Yule-Walker滤波器设计(直接数字滤波器设计法)1.Butterworth滤波器设计Butterworth滤波器是通带、阻带都单调衰减的滤波器。(1)调用buttord函数确定巴特沃斯滤波器的阶数,格式为[N,Wc]=buttord(Wp,Ws,Ap,As)输入参数:Ap,As为通带最大衰减和阻带最小衰减,以dB为单位。Wp,Ws为归一化通带截频和阻带截频,0<Wp,Ws<1。输出参数:N为滤波器的阶数;Wc为截频,0<Wc<1。(2)调用butter函数设计出巴特沃斯滤波器,格式为[b,a]=butter(N,Wc,options)输入参数:N和Wc是buttord函数返回的参数,含义见上。Options='low','high','bandpass','stop',分别对应低通、高通、带通、带阻,默认情况下为低通或带通。输出参数:b和a为设计出的IIR数字滤波器H(s)的分子多项式和分母多项式的系数矩阵。2.(1)ChebyshevI型滤波器设计ChebyshevI型滤波器为通带纹波控制器:在通带呈现纹波特性,在阻带单调衰减。[N,Wc]=cheb1ord(Wp,Ws,Ap,As)[b,a]=cheby1(N,Ap,Wc,options)参数含义与butter中参数一致。2.(2)ChebyshevII型滤波器设计ChebyshevII型滤波器为阻带纹波控制器:在阻带呈现纹波特性。[N,Wc]=cheb2ord(Wp,Ws,Ap,As)[b,a]=cheby2(N,As,Wc,options)3.椭圆滤波器设计椭圆滤波器在通阻带都呈现纹波特性。[N,Wc]=ellipord(Wp,Ws,Ap,As)[b,a]=ellip(N,Ap,As,Wc,options)3.实验设备及材料装有Matlab的计算机一台.实验方法步骤及注意事项4.利用Matlab中的函数分析并绘出常用基本信号的波形。注意事项:(1)在使用MATLAB时应注意中英输入法的切换,在中文输入法输入程序时得到的程序是错误的;(2)MATLAB中两个信号相乘表示为x.*u,中间有个‘.',同样两个信号相除也是如此;(3)使用MATLAB编写程序时,应新建一个m文件,而不是直接在Comandante窗口下编写程序;在使用MATLAB编程时,应该养成良好的编写习惯。5.实验数据处理方法比较法画图法6.参考文献陈后金,等.《数字信号处理》.2版【M】.北京:高等教育出版社,2010张德丰,等.《MATLAB数值计算与方法》.北京:机械工业出版社,2010实验报告.二1.实验现象与结果??21.信号,确定设计指标,实现各种IIR数字滤波器)kk]?1?cos()?cos(x[k43以实现以下信号处理。?2(1)设计IIR低通滤波器,滤除的成分。)kcos(3%低通滤波器[N,Wc]=buttord(0.250,0.677,3,60)[b,a]=butter(N,Wc,'low')freqz(b,a);axis([0,1,-120,0]);gridontitle('巴特沃斯低通数字滤波器')巴特沃斯低通数字滤波器0)Bd(-50edutingaM-10000.10.20.30.40.50.60.70.80.91??rad/sample)Normaliz...