6.5 数字高通、带通和带阻 滤波器的设计

33
6.5 数数数数 数数数数数 数数数数数数

Upload: traci

Post on 21-Jan-2016

248 views

Category:

Documents


0 download

DESCRIPTION

6.5 数字高通、带通和带阻 滤波器的设计. 设计思路. 我们已经学习了模拟低通滤波器的设计方法,以及基于模拟滤波器的频率变换设计模拟高通、带通和带阻滤波器的方法。对于数字高通、低通和带阻的设计,可以借助于模拟滤波器的频率变换设计一个所需类型的模拟滤波器,再通过双线性变换将其转换成所需类型的数字滤波器,例如高通数字滤波器等。. 具体设计步骤. 第一步. 第二步. 第三步. 将所需类型数字滤波器的技术指标转换成所需类型模拟滤波器的技术指标. 将所需类型模拟滤波器技术指标转换成模拟低通滤波器技术指标. 确定所需类型数字滤波器的技术指标 :. 具体设计步骤(续). 第四步. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 6.5  数字高通、带通和带阻 滤波器的设计

6.5 数字高通、带通和带阻滤波器的设计

Page 2: 6.5  数字高通、带通和带阻 滤波器的设计

设计思路

我们已经学习了模拟低通滤波器的设计方法,以及基于模拟滤波器的频率变换设计模拟高通、带通和带阻滤波器的方法。对于数字高通、低通和带阻的设计,可以借助于模拟滤波器的频率变换设计一个所需类型的模拟滤波器,再通过双线性变换将其转换成所需类型的数字滤波器,例如高通数字滤波器等。

Page 3: 6.5  数字高通、带通和带阻 滤波器的设计

具体设计步骤

s

p

p

s

第一步 第二步 第三步

确定所需类型数字滤波器的技术指标 :

将所需类型数字滤波器的技术指标转换成所需类型模拟滤波器的技术指标

ss pp

将所需类型模拟滤波器技术指标转换成模拟低通滤波器技术指标

sp

sp

Page 4: 6.5  数字高通、带通和带阻 滤波器的设计

具体设计步骤(续)

第四步 第五步 第六步

设计模拟低通滤波器 :巴特沃斯 H(p)切比雪夫 H(p)

采用双线性变换法,将所需类型的模拟滤波器转换成所需类型的数字滤波器 。

通过频率变换,将模拟低通转换成所需类型的模拟滤波器 H(S)

Page 5: 6.5  数字高通、带通和带阻 滤波器的设计

例 6.5.1 设计一个数字高通滤波器,要求通带截止频率 ωp=0.8πrad ,通带衰减不大于 3  dB ,阻带截止频率 ωs=0.44πrad, 阻带衰减不小于 15dB 。希望采用巴特沃斯型滤波器

解 (1) 数字高通的技术指标为 ωp=0.8πrad,αp=3dB; ωs=0.44πrad,αs=15dB

Page 6: 6.5  数字高通、带通和带阻 滤波器的设计

(2) 模拟高通的技术指标计算如下: 令 T=1 ,则有

12 tan 6.155 / , 3

21

2 tan 1.655 / , 32

p p p

s s s

rad s dB

rad s dB

(3) 模拟低通滤波器的技术指标计算如下:1

0.163 / , 36.155

10.604 / , 15

1.655

p p

s s

rad s dB

rad s dB

Page 7: 6.5  数字高通、带通和带阻 滤波器的设计

将 Ωp 和 Ωs 对 3dB 截止频率 Ωc 归一化,这里 Ωc=Ωp,

(4) 设计归一化模拟低通滤波器 G(p) 。模拟低通

滤波器的阶数 N 计算如下:

1, 3.71sp s

p

0.1

0.1

lg 10 1 0.1803

lg 10 1

3.71 1.31, 2

p

s

spsp

sp

ssp

p

kN k

N N

Page 8: 6.5  数字高通、带通和带阻 滤波器的设计

查表 6.2.1 ,得到归一化模拟低通传输函数 G(p) 为

2

2

2 2

1( )

2 1

( )2

c

c c

G pp p

G ss s

为去归一化,将 p=s/Ωc 代入上式得到:

(5) 将模拟低通转换成模拟高通将上式中 G(s) 的变量换成 1/s ,得到模拟高通 Ha(s) :

2 2

2 2

1( ) ( )

2 1c

a

c c

sH s G

s s s

此处先反归一

不在反归一

Page 9: 6.5  数字高通、带通和带阻 滤波器的设计

6) 用双线性变换法将模拟高通 H (s) 转换成数字高通 H(z) :

1

1

12

1

( ) ( )a zs

z

H z H s

实际上 (5) 、 (6) 两步可合并成一步,即

1

1

11

21

1 2 1 2

1 2 1 2

( ) ( )

0.106(1 ) 0.0653(1 )( )

1.624 1.947 0.566 1 1.199 0.349

zs

z

H z G s

z zH z

z z z z

Page 10: 6.5  数字高通、带通和带阻 滤波器的设计

例 6.5.2 设计一个数字带通滤波器,通带范围为 0.3πrad 到 0.4πrad ,通带内最大衰减为 3dB , 0.2πrad 以下和 0.5πrad 以上为阻带,阻带内最小衰减为 18dB 。采用巴特沃斯型模拟低通滤波器。

解 (1) 数字带通滤波器技术指标为 通带上截止频率 ωu=0.4πrad 通带下截止频率 ωl=0.3πrad 阻带上截止频率 ωs2=0.5πr 阻带下截止频率 ωs1=0.2πr 通带内最大衰减 αp=3dB ,阻带内最小衰减 αs=18dB 。

Page 11: 6.5  数字高通、带通和带阻 滤波器的设计

(2) 模拟带通滤波器技术指标如下:

2 2

1 1

0

12 tan 1.453 /

21

2 tan 1.019 /21

2 tan 2 /21

2 tan 0.650 /2

1.217 /

0.434 /

u u

l l

s s

s s

u l

u l

rad s

rad s

rad s

rad s

rad s

B rad s

( 通带中心频率 )

( 带宽 )

设 T=1 ,则有

Page 12: 6.5  数字高通、带通和带阻 滤波器的设计

将以上边界频率对带宽 B 归一化,得到 ηu=3.348,ηl=2.348; ηs2=4.608,ηs1=1.498 η0=2.804

(3) 模拟归一化低通滤波器技术指标: 归一化阻带截止频率 2 2

2 0

2

2.902ss

s

归一化通带截止频率λp=1

αp=3dB,αs=18dB

Page 13: 6.5  数字高通、带通和带阻 滤波器的设计

(4) 设计模拟低通滤波器:

0.1

0.1

10 10.127

10 1

2.902

lg0.1271.940, 2

lg 2.902

p

ssp

ssp

p

k

N N

查表 6.2.1 ,得到归一化低通传输函数 G(p),

2

1( )

2 1G p

p p

Page 14: 6.5  数字高通、带通和带阻 滤波器的设计

(5) 将归一化模拟低通转换成模拟带通:

(6) 通过双线性变换法将 Ha(s) 转换成数字带通滤波器 H(z) 。下面将 (5) 、 (6) 两步合成一步计算:

2 20

( )

( ) ( )u l

a sps

H s G p

1

1

12

1

zs

z

Page 15: 6.5  数字高通、带通和带阻 滤波器的设计

将上式代入 (5) 中的转换公式,得

1

1

2 2 1 2 2 1 20 0

212

1

1 2 1 2

2 2

4(1 ) (1 )

( ) 2(1 )( )

5.48 4.5 7.481 6.313 5.18 80619

0.868(1 ) 1

zsu l u lz

s z zp

s z

z z z z

z z

将上面的 p 等式代入 G(p) 中,得

2 4

1 2 3 4

0.021(1 2 )( )

1 1.491 2.848 1.68 1.273

z zH z

z z z z

Page 16: 6.5  数字高通、带通和带阻 滤波器的设计

例 6.5.3 设计一个数字带阻滤波器,通带下限频率 ωl=0.19π,阻带下截止频率 ωs1=0.198π ,阻带上截止频率 ωs2=0.202π ,通带上限频率 ωu=0.21π ,阻带最小衰减 αs=13dB ,ωl 和 ωu 处衰减 αp=3dB 。采用巴特沃斯型。

解 (1) 数字带阻滤波器技术指标: ωl=0.19

π,ωu=0.21π,αp=3dB; ωs1=0.198π,ωs2=0.202π,αs=13dB

Page 17: 6.5  数字高通、带通和带阻 滤波器的设计

(2) 模拟带阻滤波器的技术指标: 设 T=1 ,则有

1 1 2 2

1 12 tan 0.615 / , 2 tan 0.685 /

2 21 1

2 tan 0.615 / , 2 tan 0.685 /2 2

l l u u

s s s s

rad s rad s

rad s rad s

阻带中心频率平方为

Ω20=ΩlΩu=0.421

阻带带宽为

 B=Ωu-Ωl=0.07rad/s

Page 18: 6.5  数字高通、带通和带阻 滤波器的设计

将以上边界频率对 B 归一化: ηl=8.786,ηu=9.786 ηs1=9.186,ηs2=9.386; η2

0=ηlηu=85.98

(3) 模拟归一化低通滤波器的技术指标: λp=1,αp=3dB

22 22 0

4.434, 13ss s

s

dB

Page 19: 6.5  数字高通、带通和带阻 滤波器的设计

(4) 设计模拟低通滤波器:0.1

0.1

10 10.229

10 1

4.434

lg0.2290.99, 1

lg 4.434

p

ssp

ssp

p

k

N N

2 20

2 20

( ) ( )a sBps

sBp

s

H s G p

(5) 将 G(p) 转换成模拟阻带滤波器 Ha(s) :

ppG

1

1)(

Page 20: 6.5  数字高通、带通和带阻 滤波器的设计

(6) 将 Ha(s) 通过双线性变换,得到数字阻带滤波器 H(z) 。

1

1

2

1 2 2 1 20

2

2 2 1 2 2 1 2120 01

1 2

1 22(1 )

4(1 ) (1 )

2(1 )

4(1 ) (1 )

0.969(1 619 )( ) ( )

1 1.569 0.939

zs

z

z Bp

z z

sB z Bp

s z z

z zH z G p

z z

Page 21: 6.5  数字高通、带通和带阻 滤波器的设计

基于 MATLAB IIR 滤波器的设计程序

Page 22: 6.5  数字高通、带通和带阻 滤波器的设计

Complete design functions:

besself butter cheby1 cheby2ellip

Page 23: 6.5  数字高通、带通和带阻 滤波器的设计

1 . butter Butterworth analog and digital filter design

[b,a] = butter(n,Wn) 直接给出巴特沃斯低通数字滤波器的分子分母多项式的系数 [b,a] = butter(n,Wn,'ftype')

直接给出各型巴特沃斯数字滤波器的分子分母多项式的系数 [b,a] = butter(n,Wn,'s') 直接给出巴特沃斯低通模拟滤波器的分子分母多项式的系数 [b,a] = butter(n,Wn,'ftype','s') 直接给出巴特沃斯各型模拟滤波器的分子分母多项式的系数 [z,p,k] = butter(...) 直接给出巴特沃斯低通数字滤波器的零极点位置 [A,B,C,D] = butter(...) 直接给出巴特沃斯低通数字滤波器的状态方程

Page 24: 6.5  数字高通、带通和带阻 滤波器的设计

2.Chebyshev Type I filter design (passband ripple)

[b,a] = cheby1(n,Rp,Wn)[b,a] = cheby1(n,Rp,Wn,'ftype')[b,a] = cheby1(n,Rp,Wn,'s')[b,a] = cheby1(n,Rp,Wn,'ftype','s')[z,p,k] = cheby1(...)[A,B,C,D] = cheby1(...)

数字域

模拟域

Page 25: 6.5  数字高通、带通和带阻 滤波器的设计

3. 所涉及的 Algorithm:

Order estimation functionsLowpass analog prototype functionsFrequency transformation functions discretization functions

Page 26: 6.5  数字高通、带通和带阻 滤波器的设计

Order estimation functions

1 . Buttord : Calculate the order and cutoff frequency for a Butterworth filter

[n,Wn] = buttord(Wp,Ws,Rp,Rs)---- 数字域 [n,Wn] = buttord(Wp,Ws,Rp,Rs,'s')------ 模拟域

2 . cheb1ord : Calculate the order for a Chebyshev Type I filter

[n,Wn] = cheb1ord(Wp,Ws,Rp,Rs)

[n,Wn] = cheb1ord(Wp,Ws,Rp,Rs,'s')

Page 27: 6.5  数字高通、带通和带阻 滤波器的设计

Lowpass analog prototype functions

besselap : [z,p,k] = besselap(n)buttap, : [z,p,k] = buttap(n)cheb1ap : [z,p,k] = cheb1ap(n,Rp)cheb2ap : [z,p,k] = cheb2ap(n,Rs)ellipap : [z,p,k] = ellipap(n,Rp,Rs)

得到低通原型系统函数 H(p)的分子分母多项式的系数和增益常数

Page 28: 6.5  数字高通、带通和带阻 滤波器的设计

Frequency transformation functions

lp2bp : lp2bp Transform lowpass analog filters to bandpass

[bt,at] = lp2bp(b,a,Wo,Bw)

[At,Bt,Ct,Dt] = lp2bp(A,B,C,D,Wo,Bw)

lp2bs : Transform lowpass analog filters to bandstop

[bt,at] = lp2bs(b,a,Wo,Bw)

[At,Bt,Ct,Dt] = lp2bs(A,B,C,D,Wo,Bw)

模拟低通到模拟带通和带阻

Page 29: 6.5  数字高通、带通和带阻 滤波器的设计

lp2hp : Transform lowpass analog filters to highpass

[bt,at] = lp2hp(b,a,Wo)

[At,Bt,Ct,Dt] = lp2hp(A,B,C,D,Wo)

lp2lpFilter : Change the cut-off frequency for a lowpass analog filter

[bt,at] = lp2lp(b,a,Wo)

[At,Bt,Ct,Dt] = lp2lp(A,B,C,D,Wo)

模拟低通到模拟高通和低通

Page 30: 6.5  数字高通、带通和带阻 滤波器的设计

discretization functions

1.bilinear : Bilinear transformation method for analog-to-digital filter conversion

[zd,pd,kd] = bilinear(z,p,k,fs) ---- Zero-Pole-Gain

[zd,pd,kd] = bilinear(z,p,k,fs,fp)----fp 用于预畸变 [numd,dend] = bilinear(num,den,fs) ----Transfer Function

[numd,dend] = bilinear(num,den,fs,fp)

[Ad,Bd,Cd,Dd] = bilinear(A,B,C,D,fs)------ State-Space

[Ad,Bd,Cd,Dd] = bilinear(A,B,C,D,fs,fp)

Page 31: 6.5  数字高通、带通和带阻 滤波器的设计

2.impinvar

Impulse invariance method for analog-to-digital filter conversion

[bz,az] = impinvar(b,a,fs)

[bz,az] = impinvar(b,a)

[bz,az] = impinvar(b,a,fs,tol)

Page 32: 6.5  数字高通、带通和带阻 滤波器的设计

数字高通滤波器的设计程序

% Type 1 Chebyshev IIR Highpass Filter Design % Wp = input('Normalized passband edge = '); Ws = input('Normalized stopband edge = '); Rp = input('Passband ripple in dB = '); Rs = input('Minimum stopband attenuation in dB = '); [N,Wn] = cheb1ord(Wp,Ws,Rp,Rs); [b,a] = cheby1(N,Rp,Wn,'high'); [h,omega] = freqz(b,a,256); plot (omega/pi,20*log10(abs(h)));grid; xlabel('\omega/\pi'); ylabel('Gain, dB'); title('Type I Chebyshev Highpass Filter');

Page 33: 6.5  数字高通、带通和带阻 滤波器的设计

巴特沃斯数字带通滤波器设计程序

% Design of IIR Butterworth Bandpass Filter % Wp = input('Passband edge frequencies = '); Ws = input('Stopband edge frequencies = '); Rp = input('Passband ripple in dB = '); Rs = input('Minimum stopband attenuation = '); [N,Wn] = buttord(Wp, Ws, Rp, Rs); [b,a] = butter(N,Wn); [h,omega] = freqz(b,a,256); gain = 20*log10(abs(h)); plot (omega/pi,gain);grid; xlabel('\omega/\pi'); ylabel('Gain, dB'); title('IIR Butterworth Bandpass Filter');

带通系统函数,省略了滤波器类型