6.5 数字高通、带通和带阻 滤波器的设计
DESCRIPTION
6.5 数字高通、带通和带阻 滤波器的设计. 设计思路. 我们已经学习了模拟低通滤波器的设计方法,以及基于模拟滤波器的频率变换设计模拟高通、带通和带阻滤波器的方法。对于数字高通、低通和带阻的设计,可以借助于模拟滤波器的频率变换设计一个所需类型的模拟滤波器,再通过双线性变换将其转换成所需类型的数字滤波器,例如高通数字滤波器等。. 具体设计步骤. 第一步. 第二步. 第三步. 将所需类型数字滤波器的技术指标转换成所需类型模拟滤波器的技术指标. 将所需类型模拟滤波器技术指标转换成模拟低通滤波器技术指标. 确定所需类型数字滤波器的技术指标 :. 具体设计步骤(续). 第四步. - PowerPoint PPT PresentationTRANSCRIPT
6.5 数字高通、带通和带阻滤波器的设计
设计思路
我们已经学习了模拟低通滤波器的设计方法,以及基于模拟滤波器的频率变换设计模拟高通、带通和带阻滤波器的方法。对于数字高通、低通和带阻的设计,可以借助于模拟滤波器的频率变换设计一个所需类型的模拟滤波器,再通过双线性变换将其转换成所需类型的数字滤波器,例如高通数字滤波器等。
具体设计步骤
s
p
、
、
p
s
第一步 第二步 第三步
确定所需类型数字滤波器的技术指标 :
将所需类型数字滤波器的技术指标转换成所需类型模拟滤波器的技术指标
ss pp
将所需类型模拟滤波器技术指标转换成模拟低通滤波器技术指标
sp
sp
具体设计步骤(续)
第四步 第五步 第六步
设计模拟低通滤波器 :巴特沃斯 H(p)切比雪夫 H(p)
采用双线性变换法,将所需类型的模拟滤波器转换成所需类型的数字滤波器 。
通过频率变换,将模拟低通转换成所需类型的模拟滤波器 H(S)
例 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
(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
将 Ω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
查表 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
此处先反归一
不在反归一
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
例 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 。
(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 ,则有
将以上边界频率对带宽 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
(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
(5) 将归一化模拟低通转换成模拟带通:
(6) 通过双线性变换法将 Ha(s) 转换成数字带通滤波器 H(z) 。下面将 (5) 、 (6) 两步合成一步计算:
2 20
( )
( ) ( )u l
a sps
H s G p
1
1
12
1
zs
z
将上式代入 (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
例 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
(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
将以上边界频率对 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
(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)(
(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
基于 MATLAB IIR 滤波器的设计程序
Complete design functions:
besself butter cheby1 cheby2ellip
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(...) 直接给出巴特沃斯低通数字滤波器的状态方程
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(...)
数字域
模拟域
3. 所涉及的 Algorithm:
Order estimation functionsLowpass analog prototype functionsFrequency transformation functions discretization functions
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')
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)的分子分母多项式的系数和增益常数
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)
模拟低通到模拟带通和带阻
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)
模拟低通到模拟高通和低通
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)
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)
数字高通滤波器的设计程序
% 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');
巴特沃斯数字带通滤波器设计程序
% 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');
带通系统函数,省略了滤波器类型