IIR 滤波器设计
FIR 滤波器的缺点之一是它们需要很大的滤波器阶数才能满足某些设计设定。如果波纹保持不变,滤波器阶数与过渡带宽度成反比。通过使用反馈,使用小得多的滤波器阶数即可满足一组设计设定。这就是 IIR 滤波器设计背后的思想。“无限脉冲响应” (IIR) 一词源于这样的事实:当脉冲施加到滤波器时,输出永远不会衰减到零。
当计算资源非常宝贵时,IIR 滤波器非常有用。然而,稳定的因果 IIR 滤波器无法提供完美的线性相位。在要求相位线性的情况下,避免使用 IIR 设计。
使用 IIR 滤波器的另一个重要原因是相对于 FIR 滤波器,IIR 滤波器的群延迟较小,从而瞬时响应更短。
1 Butterworth 滤波器
Butterworth 滤波器是具有最大平坦度的 IIR 滤波器。通带和阻带中的平坦度导致过渡带非常宽。需要较大的阶数才能获得具有窄过渡带宽度的滤波器。
设计一个最小阶 Butterworth 滤波器,其通带频率为 100 Hz,阻带频率为 300 Hz,最大通带波纹为 1 dB,阻带衰减为 60 dB。采样率为 2 kHz。
Fp = 100;
Fst = 300;
Ap = 1;
Ast = 60;
Fs = 2e3;
dbutter = designfilt('lowpassiir','PassbandFrequency',Fp,...
'StopbandFrequency',Fst,'PassbandRipple',Ap,...
'StopbandAttenuation',Ast,'SampleRate',Fs,'DesignM