IIR数字滤波器的设计
冲激响应不变法
-
冲激响应不变法:就是用其单位冲激响应序列模仿模拟滤波器的单位冲激响应的抽样值
-
设计的具体步骤及方法
首先要设计一个响应的模拟滤波器。
模拟滤波器的单位冲激响应非周期⇒频率离散(−∞,+∞),频谱范围可能大于折叠频率,即奈奎斯特频率 ⇒取样,频率周期延拓⇒频谱可能产生混叠。
数字域中极点在单位圆内⇔模拟域中极点在左半平面。
可以通过提高抽样频率来减少混叠,但设计指标若以数字域频率给定时,不能通过提高抽样频率改善混叠现象。因为Ω=Tω,ω是数字域频率,Ω是模拟域频率,增大抽样频率⇒减小采样周期⇒增大截止频率。
模拟域 :∑k=1Ns−skAk
数字域:∑k=1N1−eskTz−1Ak
s平面:s=sk
z平面:eskT两者系数相同
- 当采样周期很小时,数字滤波器增益很大,容易溢出,可以修正,令h(n)=ha(nT),因为T1Ha(jTω)
- 该方法对应的MATLAB程序:[BZ,AZ]=impinvar(B,A,Fs),其中BZ,AZ为数字滤波器单位冲击响应的分子和分母系数;B,A为模拟滤波器的分子和分母的系数,Fs为抽样频率。
-
优点
- 时域逼近良好
- 保持线性关系:w=ΩT
-
缺点
阶跃响应不变法
- 变换原理:数字滤波器的阶跃响应模仿模拟滤波器的阶跃响应,即g(n)=ga(t)∣t=nt=ga(nT).
- g(n)=u(n)∗h(n)→G(z)=z−1zH(z) ,ga(t)=u(t)ha(t)→Ga(s)=s1Ha(s)
变换步骤:Ha(s)→Ga(s)→ga(t)→g(n)→G(z)→H(z)
- 优缺点同冲激响应不变法
双线性不变法
在推导过程中有一个中间域,最终的关系式为z=1−s1+s ,为了使模拟滤波器与数字滤波器的某一频率有对应关系,引入一个常数c,则有s=c1+z11−z1 ,即c−sc+s。若低频处有确切的对应关系应为c=T2。
s平面虚轴与z平面单位圆的对应关系Ω=ctan2wΩ为s域,w为数字域
- 优点:无频率混叠,避免了多值映射。
- 缺点:除零频率附近,严重非线性关系,在临界频率点(通带截止频率和阻带截止频率–这个是技术指标)产生畸变。
- 解决临界频率点的畸变–预畸变
Ω=ctan2wΩ ,c一般取T2,在临界频率点根据w去设计Ω ,得到模拟滤波器对应的技术指标,再去设计模拟滤波器,再用双线性变换法设计数字滤波器。
- 该方法对应的MATLAB方法:[BZ,AZ]=bilinear(B,A,Fs)
常用模拟滤波器设计
- 由幅度平方函数确定模拟滤波器的系统函数
∣Ha(jΩ)∣2=Ha(jΩ)Ha∗(jΩ)=Ha(jΩ)Ha(−jΩ)=Ha(s)Ha(−s)∣(s=jΩ),Ha(jΩ)可以看做模拟滤波器单位冲激响应的傅里叶变化。
Ha(s)和Ha(−s)的零极点对称,成对出现,且其零极点分别分布在左半平面(只有分布在左半平面系统才是稳定的)和右半平面。
巴特沃斯低通逼近
幅度平方函数为∣Ha(jΩ)∣2=1+(ΩcΩ)2N1,其中N为滤波器阶数,Ωc为3dB截止频率,因为Ω=Ωc时,幅度为原来的21,
∣Ha(jΩ)∣Ω=js2=Ha(s)Ha(−s)=1+(jΩs)2N1,令1+(jΩs)2N=0即可解得极点分布。
极点在s平面呈象限对称,个数为2N,极点间角度间隔为Nπ,极点不落在虚轴上,若N为奇数,实轴上有极点;若为偶数,实轴上无极点。
-
滤波器的系统函数
-
如何确定N和Ωc
已知技术指标:Ωc(通带截止频率)、δ1(通带内允许的最大衰减)、Ωs(阻带截止频率)、δ2(阻带允许的最小衰减).
δ1=−20lg∣Ha(jΩ)∣,∣Ha(jΩ)∣2=1+(ΩcΩp)2N1→1+(ΩcΩp)2N=100.1δ1→N①
同理,有1+(ΩcΩs)2N=100.1δ2② 由这两个方程可以解得N和Ωc 。
Ωc既可以若由第一个方程解得,那么等同于将通带的技术指标卡死,表示阻带指标有富余,若由第二个方程解得,则与前一种情况相反。
1 2 3 4 5
| [N, Wc]=buttord(wp,ws,Rp,Rs,'s') [z,p,k]=buttap(N) [B,A]=zp2tf(z,p,k) [Bt,At]=lp2lp(B,A,Wo) [BZ,AZ]=bilinear(Bt,At,Fs)
|
切比雪夫低通逼近
-
类型
I型:通带范围内波动;II型:阻带范围内波动。
相比于巴特沃斯:巴特沃斯在整个频带内都是下降的,卡死通带或阻带中其中一个,都将引起另一个的快速变化。
-
幅度平方函数(以I型为例)
∣Ha(jΩ)∣2=1+ε2CN2(ΩcΩ)1
ε:通带波纹大小,0<ε<1值越大,波纹越大
Ωc:通带截止频率,不一定为3dB带宽
N:滤波器阶数
CN(x):N阶切比雪夫多项式
CN(x)={cos(Ncos−1x)ch(Nch−1x)|x|<=1∣x∣>1
该多项式的图像如下:
从图像可以看出,n为奇数时,∣CN(0)∣=0;n为偶数时,∣CN(0)∣=1。Ω=Ωc时,∣CN(x)∣=1,∣Ha(jΩ)∣=1+ε21在∣x∣<=1时,∣CN(x)∣在0−1间反复变化,导致∣Ha(jΩ)∣在1+ε21之间反复变化,从而形成波纹$ 。而\delta_1表示通带内允许的最大衰减,故应有\delta_1=20lg\sqrt{1+\varepsilon^2},从而可以解得参数\varepsilon。$ 再将阻带允许的最小衰减和阻带截止频率带入即可得到阶数N。
极点个数为2N个,分布在椭圆上。
-
设计步骤
-
MATLAB仿真
1 2 3 4 5
| [N,Wc]=cheblord(wp,ws,Rp,Rs,'s') [z,p,k]=cheb1ap(N,rp) [B,A]=zp2tf(z,p,k) [Bt,At]=lp2lp(B,A,Wo) [BZ,AZ]=impinvar(Bt,At,Fs)
|
频率变换法
- 为什么需要频率变换法?
之间的设计方法都是基于低通滤波器进行设计的,为了得到其他类型的滤波器,需要进行频率变换
模拟域频带变换法
-
变换步骤
归一化模拟低通滤波器⇒模拟域频带变换⇒模拟低通、高通、带通、带阻滤波器⇒双线性变换⇒数字低通、高通、带通、带阻滤波器。
总结来讲,就是在模拟域就进行频带变换。
-
具体方法
归一化低通滤波器的系统函数:Ha(s),s=σ+jΩ
频带变换后的系统函数:Hs(s),s=σ+jΩ
- 模拟低通→→模拟低通
s=ΩcΩcs,当Ωc=1时,相当于去归一化。
对应的MATLAB函数为[Bt,At]=lp2lp(B,A,Wo)
- 模拟低通→→模拟带通
s=ss2+Ω02,Ω0为带通滤波器的中心频率Ω0=Ω1Ω2。Ω1、Ω2分别为带通滤波器的上通带截止频率和下通带截止频率。为了得到归一化的带通滤波器,可令s=ss2+Ω02两边同时除以Ωc(B).
对应的MATLAB函数为[Bt,At]=lp2bp(B,A,Wo,Bw)
,Bw为带宽。
数字带通滤波器性能指标→→模拟带通滤波器性能能指标→归一化→模拟低通滤波器归一化性能指标→→模拟低通滤波器。
带通滤波器归一化频率计算方法:η=BΩ
低通滤波器归一化频率计算方法:λ=ΩcΩ,Ωc为通带截止频率。
两者间关系:λ=ηη2−η02。
数字域频带变换法
-
变换步骤
归一化模拟低通滤波器⇒数字低通滤波器⇒数字域频带变换⇒数字低通、高通、带通、带阻滤波器。
总结来讲,就是在数字域进行频带变换。
-
具体方法
低通数字滤波器的系统函数:HL(z)频带变化后的数字滤波器的系统函数:Hd(Z)要求:(1)两个系统函数的单位圆要对应;(2)都是因果稳定;关系:G(Z−1)=±∏k=1N1−akZ−1Z−1−a∗(全通函数)应为有理函数)
-
数字低通→数字低通
N=1,z−1=G(Z−1)=1−αZ−1Z−1−α,根据两个低通滤波器的对应关系(技术指标),最终得到α=sin2θc+ωcsin2θc−ωc
-
数字低通→数字高通
低通频率响应在单位圆上旋转180∘,即得到高通频率响应:Z=-Z。
G(Z−1)=1+αZ−1−Z−1−α