步遥情感网
您的当前位置:首页实验四iir数字滤波器设计实验报告

实验四iir数字滤波器设计实验报告

来源:步遥情感网




数字信号处理实验报告

数字 信 号 处 理

实验 报 告

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

张 志 翔




电子信息工程1203



12401720522


2015.4.29

1/ 15



数字信号处理实验报告

实验四IIR数字滤波器的设计
一、实验目的:
1.掌握双线性变换法及脉冲响应不变法设计IIR数字滤波器的具体设计方法及其原理,熟悉用双线性变换法及脉冲响应不变法设计低通、高通和带通IIR数字滤波器的MATLAB编程。

2.观察双线性变换及脉冲响应不变法设计的滤波器的频域特性,了解双线性变换法及脉冲响应不变法的特点。

3.熟悉Butterworth滤波器、切比雪夫滤波器和椭圆滤波器的频率特性。

二、实验原理:
1. 脉冲响应不变法


的拉式变换及 的Z 变换,则

H

(

z

)





?

1

?
?

H



s

?

j

2?

m

T

)





z

?

e

sT


T

m

?

??




a











2.双线性变换法
S 平面与z平面之间满足以下映射关系:












1

?

T

s











s

?

2

?

1

?

z

?1

,

z

?



2


,

(

s

?

??

j?;

z

?

re

j?)



T


1

?

z

?1




1

?

T

s
























2












s平面的虚轴单值地映射于z平面的单位圆上,s平面的左半平面完

全映射到z 平面的单位圆内。



双线性变换不存在混叠问题。

2 / 15



数字信号处理实验报告

双线性变换是一种非线性变换 ,这种非线性引起的幅频特性畸变可通过预畸而得到校正。

三、实验内容及步骤:

实验中有关变量的定义:
fc 通带边界频率; fr阻带边界频率;δ通带波动;At最小阻带衰减;fs采样频率;T采样周期

1=0.3KHz, δ=0.8Db, =0.2KHz, At=20Db,T=1ms;
设计一个切比雪夫高通滤波器,观察其通带损耗和阻带衰减是否满足
要求。
ws=2*1000*tan(2*pi*200/(2*1000));
[N,wn]=cheb1ord(wp,ws,0.8,20,'s');%给定通带(wp)和阻带(ws)
边界角频率,通带波动波动0.8,阻带最小衰减20dB,求出最低阶数
和通带滤波器的通带边界频率Wn
[B,A]=cheby1(N,0.5,wn,'high','s');%给定通带(wp)和阻带(ws)
边界角频率,通带波动
[num,den]=bilinear(B,A,1000);

[h,w]=freqz(num,den); f=w/(2*pi)*1000;



3 / 15



数字信号处理实验报告

plot(f,20*log10(abs(h)));
axis([0,500,-80,10]);
grid;xlabel('频率');ylabel('幅度/dB')

程序结果

num = 0.0304

-0.1218

0.1827 -0.1218

0.0304

den = 1

1.3834

1.4721 0.8012

0.2286

系统函数

H(z)=

0.0304 -0.1218z

?1

?

0.1827z -0.1218z?2

?3

?

0.0304z

?4

1.0000+1.3834z +1.4721z + 0.8012z +0.2286z?1 ?2 ?3

?4

幅频响应图:




4 / 15



数字信号处理实验报告

分析:由图可知,切比雪夫滤波器幅频响应是通带波纹,阻带单调衰减的。δ=0.8fr=0.2kHz,At=30Db,满足设计要求

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

MATLAB 源程序:
T =0.001;fs = 1000;fc = 200;fr = 300;
wp1 = 2*pi*fc;wr1 = 2*pi*fr;
[N1,wn1] = buttord(wp1,wr1,1,25,'s')
[h1,w] =freqz(num1,den1);
wp2 = 2*fs*tan(2*pi*fc/(2*fs))
wr2 =2*fs*tan(2*pi*fr/(2*fs))
[N2,wn2] = buttord(wp2,wr2,1,25,'s')
[B2,A2] = butter(N2,wn2,'s');
[num2,den2] =bilinear(B2,A2,fs);%双线性变换法
[h2,w]= freqz(num2,den2);
f =w/(2*pi)*fs;

plot(f,20*log10(abs(h1)),'-.',f,20*log10(abs(h2)),'-');

5/ 15



数字信号处理实验报告

axis([0,500,-100,10]);grid;xlabel('频率/Hz');ylabel('幅度/dB')
title('巴特沃思数字低通滤波器');
legend('脉冲相应不变法','双线性变换法',1);

结果分析:
脉冲响应不变法的低通滤波器系统函数:

num1 -2.37 0.0002

0.0153

0.0995

0.1444

0.0611

0.0075

0.0002

3.6569

0

den1 1 -1.9199 2.5324 -2.2053

-0.6309

H 9

双线性变换法设计的低通滤波器系统函数:
num2 0.0179 0.1072 0.2681 0.3575 0.2681
0.1072 0.0179
den2 1 -0.6019 0.9130 -0.29 0.1501 -0.0208 0.0025

H

(

z

)

?

0 . 0179

?

0.1072

z

?1

?

0 . 2681 z

?2

?

0 . 3575

z

?3

?

0 . 2681 z

?4

?

0 . 1072

z

?5

?

0 . 0176

z

?6






1

?

0 . 6019

z

?1

?

0 . 9130

z

?

2

?

0 . 29

z

?

3

?

0 . 1501 z

?

4

?

0 . 0208

z

?

5

?

0 . 0025

z

?

6





6 / 15



数字信号处理实验报告

分析:脉冲响应不变法的频率变化是线性的,数字滤波器频谱响应出

个传输零点。

脉冲响应不变法的一个重要特点是频率坐标的变换是线性的,ωΩΤωΩ是线性关系:在某些场合,要求数字滤波器在时域上能模 一般使用脉仿模拟滤波器的功能时,如要实现时域冲激响应的模仿,
冲响应不变法。

脉冲响应不变法的最大缺点:有频谱周期延拓效应,因此只能用于带限的频响特性,如衰减特性很好的低通或带通,而高频衰减越大,频响的混淆效应越小,至于高通和带阻滤波器,由于它们在高频部分不衰减,因此将完全混淆在低频响应中,此时可增加一保护滤波器,滤 7/ 15



数字信号处理实验报告

掉高于 的频带,再用脉冲响应不变法转换为数字滤波器,这会增加设计的复杂性和滤波器阶数,只有在一定要满足频率线性关系或保持网络瞬态响应时才采用。

双线性变换法的主要优点是S平面与Z平面一一单值对应,s平面的虚轴(整个jΩ)对应于Z平面单位圆的一周,S平面的Ω=0处对应于Z平面的ω=0处,Ω=∞处对应于Z平面的ω=π,即数字滤波器的频率响应终止于折叠频率处,所以双线性变换不存在混迭效应。

双线性变换缺点ω成非线性关系,导致:
a. 数字滤波器的幅频响应相对于模拟滤波器的幅频响应有畸变,(使数字滤波器与模拟滤波器在响应与频率的对应关系上发生畸变)

b. 线性相位模拟滤波器经双线性变换后,得到的数字滤波器为非
线性相位。

能用于设计低通、高通、带通、带阻等选频滤波器。

(3)利用双线性变换法分别设计满足下列指标的Butterworth型、Chebyshev型和椭圆型数字低通滤波器,并作图验证设计结果:fc=1.2kHzδ≤0.5dB,fr=2kHz At≥40dB,fs=8kHz,比较这种滤波器的阶数。

MATLAB 源程序:
clearall;
wc=2*pi*1200;wr=2*pi*2000;rp=0.5;rs=40;fs=8000;
8/ 15



数字信号处理实验报告

w1=2*fs*tan(wc/(2*fs));
w2=2*fs*tan(wr/(2*fs));
[Nb,wn]=buttord(w1,w2,rp,rs,'s') %巴特沃思
[B,A]=butter(Nb,wn,'s');
[num1,den1]=bilinear(B,A,fs);
[h1,w]=freqz(num1,den1);
[Nc,wn]=cheb1ord(w1,w2,rp,rs,'s')%切比雪夫
[B,A]=cheby1(Nc,rp,wn,'s');
[num2,den2]=bilinear(B,A,fs);
[h2,w]=freqz(num2,den2);
[Ne,wn]=ellipord(w1,w2,rp,rs,'s') %椭圆型
[h3,w]=freqz(num3,den3);
f=w/(2*pi)*fs;
plot(f,20*log10(abs(h1)),'-',f,20*log10(abs(h2)),'--
',f,20*log10(abs(h3)),':');
axis([0,4000,-100,10]);grid;
xlabel('Frequency in Hz');ylabel('Gain in dB');
title('三种数字低通滤波器');
legend('巴特沃思数字低通滤波器','切比雪夫数字低通滤波器','

圆数字低通滤波器',3);

9/ 15



数字信号处理实验报告

巴特沃思数字低通滤波器的系统函数系数:

num1= 0.0032 0.0129

0.0302

0.0453

0.0453

0.0302

0.0129

0.0032

0.0003

-1.6330

0.5780

den1= -2.7996 4.4581 -4.5412

3.2404

-0.1370

0.0197

-0.0013

切比雪夫数字低通滤波器的系统函数系数:

num2= 0.0026 0.0132

0.02

0.02

0.0132

0.0026

den2= 1 -2.9775

4.2932

-3.5124

1.6145

-0.3334

椭圆数字低通滤波器的系统函数系数:

num3= 0.03887 0.0363 0.0665 0.0363 0.03

den3= 1 -2.14440.3332




10/ 15



数字信号处理实验报告

分析:设计结果表明,巴特沃思数字低通滤波器、切比雪夫数字低通滤波器、椭圆数字低通滤波器的阶数分别是954阶。可见,对于给定的阶数,椭圆数字低通滤波器的阶数最少(换言之,对于给定的阶数,过渡带最窄),就这一点来说,他是最优滤波器。由图表明,巴特沃思数字低通滤波器过渡带最宽,幅频响应单调下降;椭圆数字低通滤波器过渡带最窄,并具有等波纹的通带和阻带响应
;切比雪夫数字低通滤波器的过渡带介于两者之间。

(4)分别用脉冲响应不变法及双线性变换法设计一Butterworth型数
字带通滤波器,已知,其等效的模拟滤波器指标 δ<3dB2kHz<f≤
3kHzAt≥5dB f≥6kHzAt≥20dB f≤1.5kHz
ws1= 2*pi*1500;ws2=2*pi*6000;
[N1,wn1] = buttord([wp1 wp2],[ws1 ws2],3, 20,'s');%求巴特
沃思滤波器的阶数
[B1,A1]= butter(N1,wn1,'s');%给定阶数和边界频率设计滤波器
[num1,den1]= impinvar(B1,A1,30000);%脉冲相应不变法
[h1,w]= freqz(num1,den1);
w1=2*30000*tan(2*pi*2000/(2*30000));

w2=2*30000*tan(2*pi*3000/(2*30000)); wr1=2*30000*tan(2*pi*1500/(2*30000));


11 / 15



数字信号处理实验报告

wr2=2*30000*tan(2*pi*6000/(2*30000));
[N,wn]=buttord([w1w2],[wr1 wr2],3,20,'s');%求巴特沃思滤波
器的阶数
[B,A]=butter(N,wn,'s');
[num,den]=bilinear(B,A,30000);%双线性变化法
[h2,w]=freqz(num,den);
f=w/(2*pi)*30000;
plot(f,20*log10(abs(h1)),'-.',f,20*log10(abs(h2)),'-');
axis([0,15000,-60,10]);
xlabel('Frequency in Hz');ylabel('Gain in dB');
grid;

脉冲相应不变法设计的巴特沃思数字带通滤波器系统函数的分子、分母多项式系数:
num1= -1.5158 0.0057 -0.0122 0.0025 0.00 -0.0049den1= 1 -4.8056 10.2376 -12.2625 8.7012 -3.4719
0.6145
双线性变换法设计的巴特沃思数字带通滤波器系统函数的分子、分母

多项式的系数:

-0.0042

7.1054

0.0042


num= 0.0014 0

5.7732 -0.0014

12/ 15



数字信号处理实验报告

den= 1 -4.8071 10.2473

-12.2838 8.7245

-3.4849

0.6176




滤波器,并作图验证设计结果:当

1 kHz

?

f

?

2

kHz

时,

At

?

18 dB

;当

f

?

500

Hz

以及

f

?

3 kHz

时,

?

?

3 dB

;采样频率

f s

?

10

kHz

MATLAB源程序:

w1=2*10000*tan(2*pi*1000/(2*10000));
w2=2*10000*tan(2*pi*2000/(2*10000));
wr1=2*10000*tan(2*pi*500/(2*10000));
wr2=2*10000*tan(2*pi*3000/(2*10000));
[N,wn]=cheb1ord([wr1wr2],[w1w2],3,18,'s');%计算阶数[B,A]=cheby1(N,3,wn,'stop','s');%给定阶数和参数设计滤波器 13/ 15



数字信号处理实验报告

[num,den]=bilinear(B,A,10000);%双线性变化法[h,w]=freqz(num,den);%频率响应
f=w/(2*pi)*10000;
plot(f,20*log10(abs(h)));
axis([0,5000,-120,10]);
grid;xlabel('频率/Hz');ylabel('幅度/dB')
title('切比雪夫数字带阻滤波器');
程序结果图:



四、实验思考题
1.双线性变换法中Ωω之间的关系是非线性的,在实验中你注意到这种非线性关系了吗?从哪几种数字滤波器的幅频特性曲线中 可以观察到这种非线性关系?


14 / 15



数字信号处理实验报告

答:在双线性变化法中,模拟频率与数字频率不再是线性关系,所以一个线性相位模拟滤波器经双线性变换后,得到的数字滤波器不再保持原有的线性相位了,在每一幅使用了双线性变换的图中,可以看到在采样频率一半处,幅度为零,这显然不是线性变换能够产生的,这是由于双线性变换将模拟域中的无穷远点映射到了改点处。

2.能否利用公式 完成脉冲响应不变法的数字滤波

器设计?为什么?

答:IIR数字滤波器的设计实际上是求解滤波器的系数ab k k,它是数

去逼近系统的特性。如果在S平面上去逼近,就得到模拟滤波器 ;如学上的一种逼近问题,即在规定意义上(通常采用最小均方误差准则)

五、实验总结
数字滤波器的设计是信号处理方面的重要内容,通过运用
MATLAB软件来设计IIR数字滤波器,使我熟悉了MATLAB的强大功
能,同时也对数字滤波器的特点、作用有更深入的理解。了解了熟
练的利用MATLAB这一功能强大的软件来设计数字滤波器对数字信号
处理这一领域有着重要的意义与价。



15 / 15

显示全文