Download presentation
Presentation is loading. Please wait.
1
6.5 数字高通、带通和带阻滤波器的设计
2
设计思路 我们已经学习了模拟低通滤波器的设计方法,以及基于模拟滤波器的频率变换设计模拟高通、带通和带阻滤波器的方法。对于数字高通、低通和带阻的设计,可以借助于模拟滤波器的频率变换设计一个所需类型的模拟滤波器,再通过双线性变换将其转换成所需类型的数字滤波器,例如高通数字滤波器等。
3
具体设计步骤 第一步 第二步 第三步 将所需类型数字滤波器的技术指标转换成所需类型模拟滤波器的技术指标
将所需类型模拟滤波器技术指标转换成模拟低通滤波器技术指标 确定所需类型数字滤波器的技术指标 :
4
具体设计步骤(续) 第四步 第五步 第六步 采用双线性变换法,将所需类型的模拟滤波器转换成所需类型的数字滤波器 。 设计模拟低通滤波器 :
巴特沃斯H(p) 切比雪夫H(p) 通过频率变换,将模拟低通转换成所需类型的模拟滤波器 H(S)
5
例6. 5. 1 设计一个数字高通滤波器,要求通带截止频率ωp=0. 8πrad,通带衰减不大于3 dB,阻带截止频率ωs=0
例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
6
(2) 模拟高通的技术指标计算如下: 令T=1,则有 (3)模拟低通滤波器的技术指标计算如下:
7
将Ωp和Ωs对3dB截止频率Ωc归一化,这里Ωc=Ωp,
(4)设计归一化模拟低通滤波器G(p)。模拟低通滤波器的阶数N计算如下:
8
查表6.2.1,得到归一化模拟低通传输函数G(p)为
此处先反归一 为去归一化,将p=s/Ωc代入上式得到: (5) 将模拟低通转换成模拟高通 将上式中G(s)的变量换成1/s,得到模拟高通Ha(s): 不在反归一
9
6)用双线性变换法将模拟高通H (s)转换成数字高通H(z):
实际上(5)、(6)两步可合并成一步,即
10
例6. 5. 2设计一个数字带通滤波器,通带范围为0. 3πrad到0. 4πrad,通带内最大衰减为3dB,0. 2πrad以下和0
例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。
11
(2) 模拟带通滤波器技术指标如下: 设T=1,则有 (通带中心频率) (带宽)
12
将以上边界频率对带宽B归一化,得到 (3) 模拟归一化低通滤波器技术指标: 归一化阻带截止频率 ηu=3.348,ηl=2.348;
ηs2=4.608,ηs1=1.498 η0=2.804 (3) 模拟归一化低通滤波器技术指标: 归一化阻带截止频率 归一化通带截止频率 λp=1 αp=3dB,αs=18dB
13
(4)设计模拟低通滤波器: 查表6.2.1,得到归一化低通传输函数G(p),
14
(5) 将归一化模拟低通转换成模拟带通: (6)通过双线性变换法将Ha(s)转换成数字带通滤波器H(z)。下面将(5)、(6)两步合成一步计算:
15
将上式代入(5)中的转换公式,得 将上面的p等式代入G(p)中,得
16
例6. 5. 3设计一个数字带阻滤波器,通带下限频率ωl=0. 19π,阻带下截止频率ωs1=0. 198π,阻带上截止频率ωs2=0
例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
17
(2) 模拟带阻滤波器的技术指标: 设T=1,则有 阻带中心频率平方为 Ω20=ΩlΩu=0.421 阻带带宽为
B=Ωu-Ωl=0.07rad/s
18
将以上边界频率对B归一化: (3) 模拟归一化低通滤波器的技术指标: λp=1,αp=3dB ηl=8.786,ηu=9.786
ηs1=9.186,ηs2=9.386; η20=ηlηu=85.98 (3) 模拟归一化低通滤波器的技术指标: λp=1,αp=3dB
19
(4) 设计模拟低通滤波器: (5) 将G(p)转换成模拟阻带滤波器Ha(s):
20
(6) 将Ha(s)通过双线性变换,得到数字阻带滤波器H(z)。
21
基于MATLAB IIR滤波器的设计程序
22
Complete design functions:
besself butter cheby1 cheby2 ellip
23
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(...) 直接给出巴特沃斯低通数字滤波器的状态方程
24
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(...) 模拟域
25
3.所涉及的Algorithm: Order estimation functions
Lowpass analog prototype functions Frequency transformation functions discretization functions
26
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')
27
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)的分子分母多项式的系数和增益常数
28
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) 模拟低通到模拟带通和带阻
29
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) 模拟低通到模拟高通和低通
30
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)
31
Impulse invariance method for analog-to-digital filter conversion
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)
32
数字高通滤波器的设计程序 % 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');
33
巴特沃斯数字带通滤波器设计程序 带通系统函数,省略了滤波器类型
% 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'); 带通系统函数,省略了滤波器类型
Similar presentations