数字信号处理实验(吴镇扬)第二版答案-3

更新时间:2023-06-10 06:32:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验四 IIR数字滤波器的设计

(1)fc 0.3kHz, 0.8dB,fr 0.2kHz,At 20dB,T 1ms;设计一切比雪夫高通滤波器,观察其通带损耗和阻带衰减是否满足要求。 解: 程序:

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*pi);

plot(f,20*log10(abs(h))); axis([0,fs/2,-80,10]); grid;

xlabel('频率/Hz'); ylabel('幅度/dB');

100

-10-20

幅度/dB

-30-40-50-60-70-80

050100150200

250300频率/Hz

350400450500

分析:f=200Hz时阻带衰减大于30dB,通过修改axis([0,fs/2,-80,10])为axis([200,fs/2,-1,1])

发现通带波动rs满足<0.8。

bz =[0.0262 -0.1047 0.1570 -0.1047 0.0262]

az =[1.0000 1.5289 1.6537 0.9452 0.2796] 系统函数为:

H(z)

0.0262-0.1047z1 1.5289z

1

1

0.1570z

2

2

0.1047z

3

3

0.0262z

4

4

1.6537z 0.9452z 0.2796z

(2)fc 0.2kHz, 1dB,fr 0.3kHz,At 25dB,T 1ms;分别用脉冲响应不变法及双线性变换法设计一巴特沃思数字低通滤波器,观察所设计数字滤波器的幅频特性曲线,记录带宽和衰减量,检查是否满足要求。比较这两种方法的优缺点。 解: 程序:

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]=butter(N,wn,'s'); [bz1,az1]=impinvar(b1,a1,fs); [h1,w]=freqz(bz1,az1); %双线性变换法

wp=2*fs*tan(2*pi*fc/fs/2);

1.4

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('脉冲响应不变法','双线性变换法'); title('巴特沃思低通滤波器,线性幅度谱');

巴特沃思低通滤波器,线性幅度谱

1.2

1

0.8

幅度

0.60.40.200

50100150200

250300频率/Hz

350400450500

bz1 =[0.0000 0.0002 0.0153 0.0995 0.1444 0.0611 0.0075 0.0002 0.0000 0]

az1 =[1.0000 -1.9199 2.5324 -2.2053 1.3868 -0.6309 0.2045 -0.0450 0.0060 -0.0004] 因此脉冲响应不变法的系统函数为:

Himp(z)

0.0002z

1 1.9199z

1

1

0.0153z

2

0.0995z

3

3

0.1444z

4

0.0611z

5

0.0075z

6

0.0002z

7 8

0.0004z

9

2.5324z

2

2.2053z 1.3868z

4

0.6309z

5

0.2045z

6

0.0450z

7

0.0060z

bz2 =[0.0179 0.1072 0.2681 0.3575 0.2681 0.1072 0.0179] az2 =[1.0000 -0.6019 0.9130 -0.2989 0.1501 -0.0208 0.0025] 因此双线性变换法的系统函数为:

Hbil(z)

0.0179 0.1072z1 0.6019z

1

1

0.2681z

2

2

0.3575z

3

3

0.2681z

4

4

0.1072z

5

5

0.0179z

6

6

0.9130z 0.2989z 0.1501z 0.0208z 0.0025z

分析:

脉冲响应不变法的N=9,双线性变换法的N=6,由图知它们都满足要求,但脉冲响应的衰减较快,双线性变换的过渡带窄一些,且阶数比脉冲小,容易实现。

(3)利用双线性变换法分别设计满足下列指标的巴特沃思型、切比雪夫型和椭圆型数字低通滤波器,并作图验证设计结果:fc 1.2kHz, 0.5dB,fr 2kHz,

At 40dB,fs 8kHz。

解: 程序:

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,'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,'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,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('椭圆型数字低通滤波器,对数幅度谱');

巴特沃思低通滤波器,对数幅度谱

100

-10-20-30

幅度

-40-50-60-70-80-90-100

500

1000

1500

2000频率/Hz

2500

3000

3500

4000

bz1 =[0.0004 0.0032 0.0129 0.0302 0.0453 0.0453 0.0302 0.0129 0.0032 0.0004] az1 =[1.0000 -2.7996 4.4582 -4.5412 3.2404 -1.6330 0.5780 -0.1370 0.0197 -0.0013] 系统函数为:

H1(z)

0.0004 0.0032z1 2.7996z

1

1

0.0129z

2

2

0.0302z

3

3

0.0453z

4

4

0.0453z

5

5

0.0302z

6

6

0.0129z

7

7

0.0032z

8

8

0.0004z

9

9

4.4582z 4.5412z 3.2404z 1.6330z 0.5680z 0.1370z 0.0197z 0.0013z

分析:

N=9,为九阶巴特沃思低通滤波器,从图中可以看出通带波动和阻带衰减都满足设计要求。

切比雪夫低通滤波器,对数幅度谱

100

-10-20-30

幅度/dB

-40-50-60-70-80-90-100

500

1000

1500

2000频率/Hz

2500

3000

3500

4000

bz2=[0.0026 0.0132 0.0264 0.0264 0.0132 0.0026] az2= [1.0000 -2.9775 4.2932 -3.5124 1.6145 -0.3334] 系统函数为: H2(z)

0.0026 0.0132z1 2.9775z

1

1

0.0264z

2

2

0.0264z

3

3

0.0132z

4

4

0.0026z

5

5

4.2932z 3.5124z 1.6154z 0.3334z

分析:

N=5,为五阶切比雪夫低通滤波器,从图中可以看出通带波动和阻带衰减都满足设计要求。

椭圆型数字低通滤波器,对数幅度谱

100

-10-20-30

幅度/dB

-40-50-60-70-80-90-100

500

1000

1500

2000频率/Hz

2500

3000

3500

4000

bz =[0.0389 0.0363 0.0665 0.0363 0.0389] az =[1.0000 -2.1444 2.3658 -1.3250 0.3332] 系统函数为:

H3(z)

0.0389-0.0363z1-2.1444z

1

1

0.0665z

2

2

0.0363z

3

3

0.0389z

4

4

2.3658z-1.3250z 0.3332z

分析: N=4,为四阶椭圆型数字低通滤波器,从图中可以看出通带波动和阻带衰减都满足设计要求。

(4)分别用脉冲响应不变法及双线性变换法设计一巴特沃思数字带通滤波器,已知

fs 30kHz,其等效的模拟滤波器指标为 3dB,2kHz f 3kHz,At 5dB,

f 6kHz,At 20dB,f 1.5kHz。

解:程序: 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*fc/fs/2);

10.90.80.70.6

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.50.40.30.20.100

5000

频率/Hz

10000

15000

bz1 =[-0.0000 0.0057 -0.0122 0.0025 0.0089 -0.0049 0] az1 =[1.0000 -4.8056 10.2376 -12.2625 8.7012 -3.4719 0.6145] 因此脉冲响应不变法的系统函数为:

H(z)1

0.0057z

1 4.8056z

1

1

0.0122z

2

2

0.0025z

3

3

0.0089z

4

4

0.0049z

5

5

6

10.2376z 12.2625z 8.7012z 3.4719z 0.6145z

bz2 =[0.0014 -0.0000 -0.0042 -0.0000 0.0042 -0.0000 -0.0014] az2 =[1.0000 -4.8071 10.2473 -12.2838 8.7245 -3.4849 0.6176] 因此双线性变换法的系统函数为:

H(z)2

0.0014 0.0042z

1 4.8071z

1

2

0.0042z

3

4

0.0014z

4

6

5

10.2473z

2

12.2838z 8.7245z 3.4849z 0.6176z

6

(5)利用双线性变换法设计满足下列指标的切比雪夫型数字带阻滤波器,并作图验证设计结果:当1kHz f 2kHz时,At 18dB,当f 500Hz以及f 3kHz时, 3dB;采样频率fs 10kHz。 解: 程序:

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]=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('切比雪夫带阻滤波器');

切比雪夫带通滤波器

-20

-40

幅度/dB

-60

-80

-100

-120

0500100015002000

25003000频率/Hz

3500400045005000

bz =[ 0.2192 -0.5418 0.7732 -0.5418 0.2192] az =[1.0000 -1.1051 0.2612 -0.4256 0.4502]

因此数字滤波器的系统函数为:

H(z)

0.2192-0.5418z1 1.1051z

1

1

0.7732z

2

2

0.5418z

3

3

0.2192z

4

4

0.2612z-0.4256z 0.4502z

分析:

N=4,为四阶切比雪夫带阻滤波器,由图知满足设计要求。

本文来源:https://www.bwwdw.com/article/q3t1.html

Top