1、1实验四 IIR 数字滤波器的设计(1) kHzfc3.0, dB8.0, kHzfr2.0, dBAt20, msT1;设计一切比雪夫高通滤波器,观察其通带损耗和阻带衰减是否满足要求。解:程序:clear;fc=300;fr=200;fs=1000;rp=0.8;rs=20;wc=2*fs*tan(2*pi*fc/(2*fs);wt=2*fs*tan(2*pi*fr/(2*fs);N,wn=cheb1ord(wc,wt,rp,rs,s);B,A=cheby1(N,rp,wn,high,s);bz,az=bilinear(B,A,fs);h,w=freqz(bz,az);f=w*fs/(2*p
2、i);plot(f,20*log10(abs(h);axis(0,fs/2,-80,10);grid;xlabel(频率/Hz);ylabel(幅度/dB);0 50 100 150 200 250 300 350 400 450 500-80-70-60-50-40-30-20-10010不 不 /Hz不不/dB分析:f=200Hz 时阻带衰减大于 30dB,通过修改 axis(0,fs/2,-80,10)为 axis(200,fs/2,-1,1)发现通带波动 rs 满足0.8。2bz =0.0262 -0.1047 0.1570 -0.1047 0.0262az =1.0000 1.528
3、9 1.6537 0.9452 0.2796系统函数为: 4321 2796.0945.6537.5289. 1004-6)(H zzzzz(2) kfc., dB, kHfr., dBAt, msT1;分别用脉冲响应不变法及双线性变换法设计一巴特沃思数字低通滤波器,观察所设计数字滤波器的幅频特性曲线,记录带宽和衰减量,检查是否满足要求。比较这两种方法的优缺点。解:程序:clear;fs=1000;fc=200;fr=300;rp=1;rs=25;%脉冲响应不变法wp=2*pi*fc;ws=2*pi*fr;N, wn = buttord(wp, ws, rp, rs, s);b1 a1=but
4、ter(N,wn,s);bz1,az1=impinvar(b1,a1,fs);h1,w=freqz(bz1,az1);%双线性变换法wp=2*fs*tan(2*pi*fc/fs/2);ws=2*fs*tan(2*pi*fr/fs/2);N, wn = buttord(wp, ws, rp, rs, s);b2 a2=butter(N,wn,s);bz2,az2=bilinear(b2,a2,fs);h2,w=freqz(bz2,az2);f=w/(2*pi)*fs;figure; plot(f,abs(h1),-.r,f,abs(h2),-b);grid; xlabel(频率 /Hz); yl
5、abel(幅度);legend(脉冲响应不变法,双线性变换法);title(巴特沃思低通滤波器,线性幅度谱);0 50 100 150 200 250 300 350 400 450 50000.20.40.60.811.21.4不 不 /Hz不不不 不 不 不 不 不 不 不 不 不 不 不 不 不 不不 不 不 不 不 不 不不 不 不 不 不 不3bz1 =0.0000 0.0002 0.0153 0.0995 0.1444 0.0611 0.0075 0.0002 0.0000 0az1 =1.0000 -1.9199 2.5324 -2.2053 1.3868 -0.6309 0.2
6、045 -0.0450 0.0060 -0.0004因此脉冲响应不变法的系统函数为: 12345671 456789050.9.100.2().92348624.4impzzzzHz bz2 =0.0179 0.1072 0.2681 0.3575 0.2681 0.1072 0.0179az2 =1.0000 -0.6019 0.9130 -0.2989 0.1501 -0.0208 0.0025因此双线性变换法的系统函数为: 1234560.179.20.68.570.2681.072.19()6939bil zzzzzzz分析:脉冲响应不变法的 N=9,双线性变换法的 N=6,由图知它们
7、都满足要求,但脉冲响应的衰减较快,双线性变换的过渡带窄一些,且阶数比脉冲小,容易实现。(3)利用双线性变换法分别设计满足下列指标的巴特沃思型、切比雪夫型和椭圆型数字低通滤波器,并作图验证设计结果: kHzfc2.1, dB5.0, kHzfr2, dBAt40,kHzfs8。解:程序:clear;fs=8000;fc=1200;fr=2000;rp=0.5;rs=40;%巴特沃思低通滤波器wp=2*fs*tan(2*pi*fc/fs/2);ws=2*fs*tan(2*pi*fr/fs/2);N, wn = buttord(wp, ws, rp, rs, s);b1 a1=butter(N,wn
8、,s);bz1,az1=bilinear(b1,a1,fs);h1,w=freqz(bz1,az1);H1=20*log10(abs(h1);f=w/(2*pi)*fs;figure; plot(f,H1);%对数幅度谱axis(0,fs/2,-100,10);grid; xlabel(频率 /Hz); ylabel(幅度);title(巴特沃思低通滤波器,对数幅度谱);%切比雪夫低通滤波器wc=2*fs*tan(2*pi*fc/(2*fs);wt=2*fs*tan(2*pi*fr/(2*fs);N,wn=cheb1ord(wc,wt,rp,rs,s);b2,a2=cheby1(N,rp,wn
9、,low,s);bz2,az2=bilinear(b2,a2,fs);h2,w=freqz(bz2,az2);H2=20*log10(abs(h2);f=w*fs/(2*pi);figure;plot(f,H2);axis(0,fs/2,-100,10);grid;xlabel(频率/Hz);ylabel(幅度/dB);title(切比雪夫低通滤波器,对数幅度谱);%椭圆型数字低通滤波器wp=2*fs*tan(2*pi*fc/fs/2); %双线性变换法ws=2*fs*tan(2*pi*fr/fs/2);N,wp=ellipord(wp,ws,rp,rs,s);b3,a3=ellip(N,rp
10、,rs,wp,low,s);bz3,az3=bilinear(b3,a3,fs);h3,w=freqz(bz3,az3); H3=20*log10(abs(h3);f=w/(2*pi)*fs;figure;plot(f,H3);axis(0,fs/2,-100,10);grid; xlabel(频率 /Hz); ylabel(幅度/dB);title(椭圆型数字低通滤波器,对数幅度谱);4巴特沃思低通滤波器:0 500 1000 1500 2000 2500 3000 3500 4000-100-90-80-70-60-50-40-30-20-10010不 不 /Hz不不不 不 不 不 不 不
11、 不 不 不 不 不 不 不 不 不bz1 =0.0004 0.0032 0.0129 0.0302 0.0453 0.0453 0.0302 0.0129 0.0032 0.0004az1 =1.0000 -2.7996 4.4582 -4.5412 3.2404 -1.6330 0.5780 -0.1370 0.0197 -0.0013系统函数为: 12345678910.430.9.030.2.190.32.4H()2765841681zzzzzz分析:N=9,为九阶巴特沃思低通滤波器,从图中可以看出通带波动和阻带衰减都满足设计要求。5切比雪夫低通滤波器:0 500 1000 1500
12、2000 2500 3000 3500 4000-100-90-80-70-60-50-40-30-20-10010不 不 /Hz不不/dB不 不 不 不 不 不 不 不 不 不 不 不 不 不 不bz2=0.0026 0.0132 0.0264 0.0264 0.0132 0.0026az2= 1.0000 -2.9775 4.2932 -3.5124 1.6145 -0.3334系统函数为: 543212 3.0615.514.93.4975.21 2600606)(H zzzzzz分析:N=5,为五阶切比雪夫低通滤波器,从图中可以看出通带波动和阻带衰减都满足设计要求。6椭圆型数字低通滤波
13、器:0 500 1000 1500 2000 2500 3000 3500 4000-100-90-80-70-60-50-40-30-20-10010不 不 /Hz不不/dB不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不bz =0.0389 0.0363 0.0665 0.0363 0.0389az =1.0000 -2.1444 2.3658 -1.3250 0.3332系统函数为: 43213 2.0.51-3658.4.2-1 8960089)(H zzzzz分析:N=4,为四阶椭圆型数字低通滤波器,从图中可以看出通带波动和阻带衰减都满足设计要求。7(4)分别用脉冲响应
14、不变法及双线性变换法设计一巴特沃思数字带通滤波器,已知 kHzfs30,其等效的模拟滤波器指标为 dB3, kHzfkz32, dBAt5,6, dBAt2, kHzf5.1。解:程序:clear;fs=30000;fc=2000,3000;fr=1500,6000;rp=3;rs=20;%脉冲响应不变法wp=2*pi*fc;ws=2*pi*fr;N,wn=buttord(wp, ws, rp, rs, s);b1,a1=butter(N,wn,s);bz1,az1=impinvar(b1,a1,fs);h1,w=freqz(bz1,az1);%双线性变换法wp=2*fs*tan(2*pi*f
15、c/fs/2);ws=2*fs*tan(2*pi*fr/fs/2);N,wn=buttord(wp, ws, rp, rs, s);b2,a2=butter(N,wn,s);bz2,az2=bilinear(b2,a2,fs);h2,w=freqz(bz2,az2);f=w/(2*pi)*fs;figure;plot(f,abs(h1),-.r,f,abs(h2),-b);grid;xlabel(频率/Hz);ylabel(幅度);legend(脉冲响应不变法, 双线性变换法);0 5000 10000 1500000.10.20.30.40.50.60.70.80.91不 不 /Hz不不不
16、不 不 不 不 不 不不 不 不 不 不 不bz1 =-0.0000 0.0057 -0.0122 0.0025 0.0089 -0.0049 0az1 =1.0000 -4.8056 10.2376 -12.2625 8.7012 -3.4719 0.6145因此脉冲响应不变法的系统函数为: 6543211 14.079.3012.865.13.0856.47)(H zzzzzzz8bz2 =0.0014 -0.0000 -0.0042 -0.0000 0.0042 -0.0000 -0.0014az2 =1.0000 -4.8071 10.2473 -12.2838 8.7245 -3.4
17、849 0.6176因此双线性变换法的系统函数为: 654321 622 17.089.375.8.1473.08.4 010)(H zzzzzzz(5)利用双线性变换法设计满足下列指标的切比雪夫型数字带阻滤波器,并作图验证设计结果:当 kHfk2时, dBAt8,当 Hf以及 kf时,dB3;采样频率 zs10。解: 程序:clear;fs=10000;fc=500 3000;fr=1000 2000;rp=3;rs=20;wp=2*fs*tan(2*pi*fc/fs/2);ws=2*fs*tan(2*pi*fr/fs/2);N,wn=cheb1ord(wp,ws,rp,rs,s);b,a=
18、cheby1(N,rp,wp,stop,s);bz,az=bilinear(b,a,fs);h,w=freqz(bz,az); f=w/(2*pi)*fs;figure;plot(f,20*log10(abs(h);axis(0,2000,-200,10);grid; xlabel(频率/Hz); ylabel( 幅度/dB);title(切比雪夫带阻滤波器);0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000-120-100-80-60-40-200不 不 /Hz不不/dB不 不 不 不 不 不 不 不 不bz = 0.2192 -0.5418 0.7732 -0.5418 0.21929az =1.0000 -1.1051 0.2612 -0.4256 0.4502因此数字滤波器的系统函数为: 4321 502.46.0-6.05. 1987348-29)(H zzzzz分析:N=4,为四阶切比雪夫带阻滤波器,由图知满足设计要求。