实验4 IIR滤波器设计

  • 格式:doc
  • 大小:90.00 KB
  • 文档页数:12

电 子 科 技 大 学实 验 报 告学生姓名:项阳 学 号: 2010231060011 指导教师:邓建一、实验项目名称:IIR 滤波器设计二、实验目的:本实验通过冲激响应不变法和双线性变换法将模拟巴特沃兹低通滤波器转换为数字低通滤波器,掌握数字低通滤波器的典型设计方法。

三、实验学时:2学时:四、实验内容:1.设计一个5.0=Ωc 的三阶巴特沃兹模拟低通滤波器的传输函数。

2.设计一个满足下列要求的巴特沃兹模拟低通滤波器:通带截止频率: π2.0=Ωp ,通带波纹:7=p R db阻带起始频率: π3.0=Ωs ,阻带波纹:16=s A db3.设T=0.1,用冲激响应不变法将651)(2+++=s s s s H a 转换为数字滤波器)(z H 。

4. 采用巴特沃兹模拟低通滤波器和冲激响应不变法设计一个满足下列要求的数字低通低通滤波器:通带截止频率: π2.0=Ωp ,通带波纹:1=p R db阻带起始频率: π3.0=Ωs ,阻带波纹:15=s A db5.设T=1,用双线性变换法将651)(2+++=s s s s H a 转换为数字滤波器)(z H 。

6.采用巴特沃兹模拟低通滤波器和双线性变换法设计一个满足下列要求的数字低通低通滤波器:通带截止频率: π2.0=Ωp ,通带波纹:1=p R db阻带起始频率: π3.0=Ωs ,阻带波纹:15=s A db五、实验原理:巴特沃兹模拟滤波器的振幅平方函数)(2ΩA 为Nca j H A 222)(11|)(|)(ΩΩ+=Ω=Ω (1) 其传输函数为 ∏-=-Ω=10)()(N p p N c a ss s H (2))21221(N p j c p e s ++Ω=π p=0,1,…, (2N-1) (3)首先确定技术指标:(1)通带中允许的最大衰减R p 和通带截止频率Ωp ;(2)阻带允许的最小衰减A s 和阻带起始频率Ωs 。

由式(1)可得:⎥⎥⎦⎤⎢⎢⎣⎡⎪⎪⎭⎫ ⎝⎛ΩΩ+=Ω-=N c p p a p j H R 221log 10|)(|1log 10 (4) ⎥⎥⎦⎤⎢⎢⎣⎡⎪⎪⎭⎫ ⎝⎛ΩΩ+=Ω-=N c s s a s j H A 221log 10|)(|1log 10 (5) 得到)/(log 2)]110/()110[(log 1010/10/10c p A R s p N ΩΩ--≥ (6) 关于3dB 截止频率Ωc ,有时在技术指标中给出,如果没有给出可以按照式(7)、式(8)求出。

N R pc p 210/110-Ω≥Ω (7) N R sc s 210/110-Ω≤Ω (8)六、实验器材(设备、元器件):PC 机、Windows XP 、MatLab 7.1七、实验步骤和源代码:1.N = 3; OmegaC = 0.5;[b,a] = U_BUTTAP(N,OmegaC);[C,B,A] = SDIR2CAS(b,a)C =0.1250B =0 0 1A =1.0000 0.5000 0.25000 1.0000 0.50002.Wp = 0.2*pi; Ws = 0.3*pi; Rp = 7; As = 16; Ripple = 10^(-Rp/20); Attn = 10^(-As/20); %Analog filter design:[b,a] = afd_butt(Wp,Ws,Rp,As);*** Butterworth Filter Order=3%Calculation of second-order sections: [C,B,A] = sdir2cas(b,a)C =0.1238B =0 0 1A =1.0000 0.4985 0.24850 1.0000 0.4985%Calculation of Frequency Response:[db,mag,pha,w] = freqs_m(b,a,0.5*pi);%Calculation of Impulse response:[ha,x,t] = impulse(b,a)ha =0.00200.00750.01580.0384 0.0517 0.0658 0.0802 0.0946 0.1087 0.1224 0.1353 0.1473 0.1583 0.1681 0.1767 0.1841 0.1902 0.1949 0.1984 0.2006 0.2015 0.2013 0.2000 0.1976 0.1942 0.1899 0.1848 0.1789 0.1724 0.1653 0.1577 0.1498 0.1415 0.1330 0.1243 0.1155 0.1067 0.0979 0.0892 0.0806 0.0723 0.0642 0.0563 0.0488 0.0416 0.03470.0221 0.0165 0.0112 0.0063 0.0018 -0.0022 -0.0059 -0.0091 -0.0120 -0.0145 -0.0166 -0.0184 -0.0199 -0.0211 -0.0220 -0.0226 -0.0230 -0.0231 -0.0230 -0.0228 -0.0223 -0.0218 -0.0211 -0.0202 -0.0193 -0.0183 -0.0173 -0.0161 -0.0150 -0.0138 -0.0126 -0.0114 -0.0103 -0.0091 -0.0080 -0.0069 -0.0058 -0.0048 -0.0038 -0.0029 -0.0021 -0.0013 -0.00050.0008 0.0014 0.0019 0.0023 0.0027 0.0030 0.0033 0.0035 0.0037 0.0038 0.0039 0.0040 0.0040 0.0040 0.0039 0.0038 0.0037 0.0036 0.0035 0.0033 0.0032 0.0030 0.0028 0.0026 0.0024 0.0022 0.0020 0.0018 0.0016 0.0014 0.0012 0.0011 0.0009 0.0007 0.0006 0.0004 0.0003 0.0002 0.0000 -0.0001 -0.0002 -0.0003 -0.0003-0.0005-0.0005-0.0005-0.0006-0.0006-0.0006-0.0006-0.0006-0.0006-0.0006-0.0006-0.0006-0.0006x =[]t =Columns 1through100 0.1848 0.3696 0.5543 0.7391 0.9239 1.10871.2935 1.4782 1.6630Columns 11through201.84782.0326 2.2174 2.4021 2.5869 2.7717 2.95653.1413 3.3260 3.5108Columns 21through303.6956 3.88044.0651 4.2499 4.4347 4.6195 4.80434.98905.1738 5.3586Columns 31through405.5434 5.7282 5.91296.0977 6.2825 6.4673 6.65216.83687.0216 7.2064Columns 41through507.3912 7.5760 7.7607 7.9455 8.1303 8.3151 8.49998.6846 8.8694 9.0542Columns 51through609.2390 9.4238 9.6085 9.7933 9.9781 10.1629 10.347610.5324 10.7172 10.9020Columns 61through7011.0868 11.2715 11.4563 11.6411 11.8259 12.0107 12.195412.3802 12.5650 12.7498Columns 71through8012.9346 13.1193 13.3041 13.4889 13.6737 13.8585 14.0432 14.2280 14.4128 14.5976Columns 81through9014.7824 14.9671 15.1519 15.3367 15.5215 15.7063 15.8910 16.0758 16.2606 16.4454Columns 91through10016.6302 16.8149 16.9997 17.1845 17.3693 17.5540 17.738817.9236 18.1084 18.2932Columns 101through11018.4779 18.6627 18.8475 19.0323 19.2171 19.4018 19.586619.7714 19.9562 20.1410Columns 111through12020.3257 20.5105 20.6953 20.8801 21.0649 21.2496 21.434421.6192 21.8040 21.9888Columns 121through13022.1735 22.3583 22.5431 22.7279 22.9127 23.0974 23.282223.4670 23.6518 23.8365Columns 131through14024.0213 24.2061 24.3909 24.5757 24.7604 24.9452 25.130025.3148 25.4996 25.6843Columns 141through15025.8691 26.0539 26.2387 26.4235 26.6082 26.7930 26.9778 27.1626 27.3474 27.53213.c = [1,1];d = [1,5,6]; T = 0.1;[b,a] = imp_invr(c,d,T)b =1.0000-0.8966a =1.0000-1.55950.60654.wp = 0.2*pi;ws = 0.3*pi;Rp = 1;As = 15;T = 1;OmegaP = wp / T;OmegaS = ws / T;[cs,ds] = afd_butt(OmegaP,OmegaS,Rp,As);[b,a] = imp_invr(cs,ds,T);[C,B,A] = dir2par(b,a)*** Butterworth Filter Order=6*** Butterworth Filter OmegaC=0.703205C =[]B =1.8557 -0.6304-2.1428 1.14540.2871 -0.4466A =1.0000 -0.9973 0.25701.0000 -1.0691 0.36991.0000 -1.2972 0.69495.c = [1,1];d = [1,5,6];T = 1;Fs = 1/T;[b,a] = bilinear(c,d,Fs) %bilinearº¯ÊýʵÏÖÓ³Éäb =0.1500 0.1000 -0.0500a =1.0000 0.2000 -0.00006.wp = 0.2*pi;ws = 0.3*pi;Rp = 1;As = 15;T = 1;OmegaP = (2/T)*tan(wp/2);OmegaS = (2/T)*tan(ws/2);N =ceil((log10((10^(Rp/10)-1)/(10^(As/10)-1)))/(2*log10(OmegaP/OmegaS))) ;fprintf('\n***Butterworth Filter Order = %2.0f \n',N)OmegaC = OmegaP/((10^(Rp/10)-1)^(1/(2*N)));wn = 2*atan((OmegaC*T));wn = wn/pi;[b,a] = butter(N,wn);[b0,B,A] = dir2cas(b,a)***Butterworth Filter Order=6b0 =0.0104B =1.00002.0093 1.00941.00002.0000 1.00001.0000 1.9907 0.9907A =1.0000 -0.3211 0.04221.0000 -0.3684 0.19571.0000 -0.4944 0.6048九、实验结论:利用模拟滤波器设计数字滤波器,就是将设计的模拟滤波器系统函数Ha(s)变换成数字滤波器系统函数H(z)。