原址: http://home.eeworld.com.cn/my/space.php?uid=210489&do=blog&id=52787
IIR濾波器是無限沖擊響應濾波器,
其優點:
1. 采用模擬原型濾波的標准設計,容易理解。
2. 可以用低階設計實現,並且可以高速運行
3. 對於相同公差設計方案,其階數比FIR短。
4. 可以采用閉環設計
其缺點:
1. 非線性相位
2. 可能會出現極限環
3. 多頻道設計困難,只能設計低通、高通和帶通
4. 反饋會引入不穩定
5. 非常難得到高速流水線設計
IIR濾波器可以模擬4類原型濾波器:ButterWorth、ChebyShevI、ChebyShevII、橢圓 。
典型的二階濾波器函數公式:
H(Z)=(b0+b1*Z^-1+b2*Z^-2)/(a0+a1*Z^-1+a2*Z^-2);
典型理想IIR輸出公式:
Y(n)={b0x(n)+b1x(n-1)+...+bmx(n-m)}-{a1x(n-1)+a2x(n-2)+...+amx(n-m)}
對於二階IIR濾波器,輸出公式
Y(n)=b0xn+b1xn-1+b2xn-2-(a1xn-1+a2xn-2) 式1
式1中a1,a2,b0,b1,b2是二階濾波器IIR系數,其決定濾波器的頻響應曲線以及增益。如何求a0,a1,a2,b0,b1,b2?
對於一個二階IIR濾波器,標准的技術指標如下:
1. 中心頻率f0;
2. 采樣頻率fs;
3. 增益db;
4. 品質因數;
根據上面技術指標,可以確定二階IIR濾波的低通,帶通或高通的系數
根據上面的技術指標,可以確定以下幾個通用計算量:
A=sqrt[10^(db/20)];
Omega=2*Pi*f0/fs;
sin=sin(omega);
cons=cos(omega);
alpha=sin(2*Q);
所以二階IIR高通濾波器系數的計算:
b0=(1+cos)/2;
b1=-(1+cos);
b2=(1+cos)/2;
a0=1+alpha;
a2=1-alpha;
二階IIR低通濾波器系數的計算:
b0=(1-cos)/2;
b1=1-cos;
b2=(1-cos)/2;
a0=1+alpha;
a1=-2*cos;
a2=1-alpha;
二階IIR帶通濾波器的系數的計算:
b0=sin/2=Q*alhpa;
b1=0;
b2=-sin/2=-Q*alpha;
a0=1+alpha;
a1=-2*cos;
a2=1-alpha;
