本科学生实验报告
学号 ********************** 姓名 **************** 学院 物电学院
专业、班级 ***************
实验课程名称 数字信号分析与处理 教师及职称 *************** 开课学期 2015 至 2016学年 上 学期 填报时间 2016 年 5 月 12 日
云南师范大学教务处编印
一、验设计方案 实验序号 实验时间 实验六 实验名称 IIR数字滤波器设计及应用 实验室 同析楼三栋313实验室 2016/5/12 1.实验目的 加深理解IIR数字滤波器的特性,掌握IIR数字滤波器的设计原理与设计方法,以及IIR数字滤波器的应用。 2. 实验原理、实验流程或装置示意图 【例2.3.1】 设计一个数字滤波器,要求在0~0.2在0.6~ (rad)内衰耗不小于60dB。 [解] (rad)内衰耗不大于3dB, 若模拟低通滤波器原型采用巴特沃思滤波器: [N,Wc]=buttord(0.2,0.6,3,60); [b,a]=butter(N,Wc); reqz(b,a);axis([0,1,-120,0]); 设计结果如图2.3.1所示。可见IIR是数字滤波器相位为非线性。 0Magnitude (dB)-50-10000.10.20.30.40.50.60.70.8Normalized Frequency ( rad/sample)0.910Phase (degrees)-100-200-300-400-50000.10.20.30.40.50.60.70.8Normalized Frequency ( rad/sample)0.91 图2.3.1 Buttertworth低通滤波器 【例2.3.2】 设计一个数字带通滤波器,要求在100~200Hz通带内纹波不大于3dB,通带两边各50Hz外是阻带,衰耗不小于40dB。抽样频率为1000Hz。 [解] Wp=[100 200]/500;Ws=[100-50 200+50]/500; Rp=3;Rs=40; [N,Wn]=cheb1ord(Wp,Ws,Rp,Rs); [b,a]=cheby1(N,Rp,Wn); freqz(b,a,512,1000); title('chebyshev Type I Bandpass Filter'); axis([0,500,-80,0]); 设计结果如图2.3.2所示。 chebyshev Type I Bandpass Filter0Magnitude (dB)-20-40-60-80050100150200250300Frequency (Hz)350400450500500Phase (degrees)0-500-1000050100150200250300Frequency (Hz)350400450500 图2.3.2 Chebyshey I型滤波器 3.实验设备及材料 计算机,MATLAB软件 4.实验方法步骤及注意事项 注意事项: (1)在使用MATLAB时应注意中英输入法的切换,在中文输入法输入程序时得到的程序是错误的; (2)MATLAB中两个信号相乘表示为x.*u,中间有个‘.’,同样两个信号相除也是如此; (3)使用MATLAB编写程序时,应新建一个m文件,而不是直接在Comandante窗口下编写程序; (4)在使用MATLAB编程时,应该养成良好的编写习惯。 5.实验数据处理方法 图像法 、比较法 6.参考文献 《信号分析与处理》 《MATLAB数值计算与方法》
二、报告 1.实验现象与结果 实验内容 第一题(1) 实验程序代码 k=0:100; x=cos(pi*k/4)+cos(2*pi*k/3)+1; [n,wc]=buttord(1/4,2/3,0.7,20); [b,a]=butter(n,wc,'low'); freqz(b,a); 滤波器阶数 n=3,wc=0.4316; 系统函数 0.11790.3537z10.3537z20.1179z3H(z)10.3943z10.3745z20.0371z3 实验运行结果图如6.1所示 0Magnitude (dB)-50-100-150-20000.10.20.30.40.50.60.70.8Normalized Frequency ( rad/sample)0.910Phase (degrees)-100-200-30000.10.20.30.40.50.60.70.8Normalized Frequency ( rad/sample)0.91 图6.1 第一题(1)滤波器的幅度响应和相位响应 第一题(2) 实验程序代码 k=0:100; x=cos(pi*k/4)+cos(2*pi*k/3)+1; [n,wc]=buttord(2/3,1/4,0.7,20) [b,a]=butter(n,wc,'high') freqz(b,a); 滤波器阶数 n=3,wc=0.4633; 系统函数 0.11790.3537z10.3537z20.1179z3H(z)10.3943z10.3745z20.0371z3 实验运行结果图如6.2所示 0Magnitude (dB)-50-100-15000.10.20.30.40.50.60.70.8Normalized Frequency ( rad/sample)0.910Phase (degrees)-100-200-300-40000.10.20.30.40.50.60.70.8Normalized Frequency ( rad/sample)0.91 图6.2 第一题(2)滤波器的幅度响应和相位响应 第一题(3) 实验程序代码 k=0:100; x=cos(pi*k/4)+cos(2*pi*k/3)+1; [n,wc]=buttord([0.2 0.3],[0.1 0.4],0.7,20) [b,a]=butter(n,wc,'bandpass') freqz(b,a); 滤波器阶数 n=4;wc=0.1797 0.3302; 系统函数 0.00180.0072z20.0108z40.0072z60.0018z8H(z)14.8466z111.6472z217.5376z318.0007z412.8308z56.2308z61.8974z70.2867z8 实验运行结果图如6.3所示 100Magnitude (dB)0-100-200-30000.10.20.30.40.50.60.70.8Normalized Frequency ( rad/sample)0.910Phase (degrees)-200-400-600-80000.10.20.30.40.50.60.70.8Normalized Frequency ( rad/sample)0.91 图6.3 第一题(3)滤波器的幅度响应和相位响应 第一题(4) 实验程序代码 k=0:100; x=cos(pi*k/4)+cos(2*pi*k/3)+1; [n,wc]=buttord([0.1 0.4],[0.2 0.3],0.7,20) [b,a]=butter(n,wc,'stop') freqz(b,a); 滤波器阶数n=4;wc= 0.1707 0.3453; 系统函数 0.48322.7673z17.8672z213.9753z316.8169z413.9753z57.8672z62.7673z70.4832z8H(z)14.7070z110.9703z216.0490z316.0388z411.1540z55.2931z61.5753z70.2335z8 实验运行结果图如6.4所示 100Magnitude (dB)0-100-200-30000.10.20.30.40.50.60.70.8Normalized Frequency ( rad/sample)0.910Phase (degrees)-200-400-600-80000.10.20.30.40.50.60.70.8Normalized Frequency ( rad/sample)0.91 图6.4 第一题(4)滤波器的幅度响应和相位响应 第二题(1) 脉冲响应不变法设计巴特沃斯型滤波器程序 Wp=[0.3 0.6];Ws=[0.2 0.72];Ap=1;As=42; Fs=1; wp=Wp*Fs;ws=Ws*Fs; [N,Wc]=buttord(wp,ws,Ap,As); [b,a]=butter(N,Wc,'bandpass'); [d,f]=impinvar(b,a,Fs); title('Butterworth Bandpass Filter'); freqz(b,a); axis([0,1,-120,0]); 实验运行结果如图6.5所示 0Magnitude (dB)-50-10000.10.20.30.40.50.60.70.8Normalized Frequency ( rad/sample)0.910Phase (degrees)-500-1000-150000.10.20.30.40.50.60.70.8Normalized Frequency ( rad/sample)0.91 图6.5 第二题(1)脉冲响应不变法设计巴特沃斯型滤波器 第二题(1) 脉冲响应不变法设计切比雪夫I型滤波器程序 Wp=[0.3 0.6];Ws=[0.2 0.72];Ap=1;As=42; Fs=1; wp=Wp*Fs;ws=Ws*Fs; [N,Wc]=cheb1ord(wp,ws,Ap,As); [b,a]=cheby1(N,Ap,Wc,'bandpass'); [d,f]=impinvar(b,a,Fs); title('chebychev Type I Bandpass Filter'); freqz(b,a); axis([0,1,-120,0]); 实验运行结果如图6.6所示 0Magnitude (dB)-50-10000.10.20.30.40.50.60.70.8Normalized Frequency ( rad/sample)0.91500Phase (degrees)0-500-100000.10.20.30.40.50.60.70.8Normalized Frequency ( rad/sample)0.91 图6.6 第二题(1)脉冲响应不变法设计切比雪夫I型滤波器程序 第二题(1) 脉冲响应不变法设计切比雪夫Ⅱ型滤波器程序 Wp=[0.3 0.6];Ws=[0.2 0.72];Ap=1;As=42; Fs=1; wp=Wp*Fs;ws=Ws*Fs; [N,Wc]=cheb2ord(wp,ws,Ap,As); [b,a]=cheby2(N,Ap,Wc,'bandpass'); [d,f]=impinvar(b,a,Fs); title('chebychev Type II Bandpass Filter'); freqz(b,a); axis([0,1,-120,0]); 实验运行结果如图6.7所示 0Magnitude (dB)-50-10000.10.20.30.40.50.60.70.8Normalized Frequency ( rad/sample)0.91200Phase (degrees)1000-100-20000.10.20.30.40.50.60.70.8Normalized Frequency ( rad/sample)0.91 图6.7 第二题(1)脉冲响应不变法设计切比雪夫II型滤波器程序 第二题(1) 脉冲响应不变法设计滤波器程序 Wp=[0.3 0.6];Ws=[0.2 0.72];Ap=1;As=42; Fs=1; wp=Wp*Fs;ws=Ws*Fs; [N,Wc]=ellipord(wp,ws,Ap,As); [b,a]=ellip(N,Ap,As,Wc,'bandpass'); [d,f]=impinvar(b,a,Fs); title('ÍÖÔ²´øÍ¨Â˲¨Æ÷'); freqz(b,a); axis([0,1,-120,0]); 实验运行结果如图6.8所示 0Magnitude (dB)-50-10000.10.20.30.40.50.60.70.8Normalized Frequency ( rad/sample)0.91400Phase (degrees)2000-200-40000.10.20.30.40.50.60.70.8Normalized Frequency ( rad/sample)0.91 图6.8 第二题(1)脉冲响应不变法设计椭圆型滤波器程序 第二题(2) 双线性变换法设计巴特沃斯型滤波器程序 Wp=[0.3 0.6];Ws=[0.2 0.72];Ap=1;As=42; Fs=1; wp=Wp*Fs;ws=Ws*Fs; [N,Wc]=buttord(wp,ws,Ap,As); [num,den]=butter(N,Wc,'bandpass'); [numd,dend]=bilinear(num,den,Fs); title('Butterworth Bandpass Filter'); freqz(b,a); axis([0,1,-120,0]) 实验运行结果如图6.9所示 0Magnitude (dB)-50-10000.10.20.30.40.50.60.70.8Normalized Frequency ( rad/sample)0.91400Phase (degrees)2000-200-40000.10.20.30.40.50.60.70.8Normalized Frequency ( rad/sample)0.91 图6.9 第二题(2)双线性变换法设计巴特沃斯型滤波器 第二题(2) 双线性变换法设计切比雪夫I型滤波器程序 Wp=[0.3 0.6];Ws=[0.2 0.72];Ap=1;As=42; Fs=1; wp=Wp*Fs;ws=Ws*Fs; [N,Wc]=cheb1ord(wp,ws,Ap,As); [b,a]=cheby1(N,Ap,Wc,'bandpass'); [d,f]=bilinear(b,a,Fs); title('chebychev Type I Bandpass Filter'); freqz(b,a); axis([0,1,-120,0]); 实验运行结果如图6.10所示 0Magnitude (dB)-50-10000.10.20.30.40.50.60.70.8Normalized Frequency ( rad/sample)0.91500Phase (degrees)0-500-100000.10.20.30.40.50.60.70.8Normalized Frequency ( rad/sample)0.91 图6.10 第二题(2)双线性变换法设计切比雪夫I型滤波器 第二题(2) 双线性变换法设计切比雪II型滤波器程序 Wp=[0.3 0.6];Ws=[0.2 0.72];Ap=1;As=42; Fs=1; wp=Wp*Fs;ws=Ws*Fs; [N,Wc]=cheb2ord(wp,ws,Ap,As); [b,a]=cheby2(N,Ap,Wc,'bandpass'); [d,f]=bilinear(b,a,Fs); title('chebychev Type II Bandpass Filter'); freqz(b,a); axis([0,1,-120,0]); 实验运行结果如图6.11所示 0Magnitude (dB)-50-10000.10.20.30.40.50.60.70.8Normalized Frequency ( rad/sample)0.91200Phase (degrees)1000-100-20000.10.20.30.40.50.60.70.8Normalized Frequency ( rad/sample)0.91 图6.11 第二题(2)双线性变换法设计切比雪夫II型滤波器 第二题(2) 双线性变换法设计椭圆型滤波器程序 Wp=[0.3 0.6];Ws=[0.2 0.72];Ap=1;As=42; Fs=1; wp=Wp*Fs;ws=Ws*Fs; [N,Wc]=ellipord(wp,ws,Ap,As); [b,a]=ellip(N,Ap,As,Wc,'bandpass'); [d,f]=bilinear(b,a,Fs); title('ÍÖÔ²´øÍ¨Â˲¨Æ÷'); freqz(b,a); axis([0,1,-120,0]); 实验运行结果如图6.12所示 0Magnitude (dB)-50-10000.10.20.30.40.50.60.70.8Normalized Frequency ( rad/sample)0.91400Phase (degrees)2000-200-40000.10.20.30.40.50.60.70.8Normalized Frequency ( rad/sample)0.91 图6.12 第二题(2)双线性变换法设计椭圆型滤波器 3.实验总结 实验思考题目 1. 哪些因素直接影响IIR数字滤波器的阶数,从工程概念进行定性解释。从阶数N的计算公式 可知,影响IIR数字滤波器的阶数的因素主要有通带最大衰减Ap,阻带最小衰减As,通带截频Wp,阻带截频Ws,阶数越高,实现越困难,所需要的材料和工艺就越要求严格,因此代价成本越高,当然性能越好。 100.1As1lg(0.1Ap)1N102*lg(wswp)教师评语及评分: 签名: 年 月 日
因篇幅问题不能全部显示,请点此查看更多更全内容