IIR&FIR

发布时间:Jan. 29, 2023, 3:08 a.m.编辑:李佳生阅读(569)

一、FIR

1、原理

FIR滤波器是有限长单位冲激响应滤波器,又称为非递归型滤波器,传递函数只有极点,即分母为1。

截屏2023-03-13 15.16.30.png

截屏2023-03-13 15.36.22.png

流程图.jpg

2、特点

(1) 没有反馈、没有极点,因此不存在滤波器本身的稳定性问题。因此很适合用在一些自适应滤波算法,不需要考虑滤波器本身的稳定问题。

(2) 严格的线性相位,相当于系统多了一个群延时,所有频率延时影响一致,有利于信号保真,可保持信号滤波合成后时域特征形状以及相对位置。

(3) 完全线性参数设计,软件和硬件固化实现简单。

3、设计

(1) 窗函数设计法: 利用合适的窗函数截断,减弱Gibbs现象。

(2) 频响最优设计: 利用一些寻优算法,使滤波器频响和目标频响的误差最小(remez、firls、invfreqz....)。

二、IIR

1、原理

IIR滤波器是无限脉冲响应滤波器,又称递归型滤波器,结构上带有反馈环路,传递函数有零点和极点。

截屏2023-03-13 15.19.15.png

截屏2023-03-13 15.42.48.png

流程图 (1).jpg

2、特点

(1) 相位非线性、不好控制,随截止频率变化而变化,相位要求较高时需增加相位校准网络

(2) 由于存在极点,可能存在滤波器本身的失稳,因此设计时需要严格保证极点模长在单位圆以内

3、设计

(1) 频响最优设计: 利用一些寻优算法,使滤波器频响和目标频响的误差最小(invfreqz....)

(2) 参数化EQ滤波器组: Peak、Low Shelf、High Shelf、Low Pass、High Pass、Notch、Linkwitz....

(3) 巴特沃斯(Butterworth, butter)、切比雪夫(Chebyshev I/II, cheby1/cheby2)、椭圆(Elliptic, ellip)

三、一些经验

(1) 达到相同幅度、相位精度指标时,FIR的阶数通常远高于IIR,相对来说计算和内存开销比较大。如果系统对于相位不敏感或者对开销要求比较严格,IIR优势一般来说比较明显,但FIR比较容易做SIMD等优化,可以大大减少计算的cycle数,实际使用时需要按具体情况选择。

(2) 对于低频波形的描述,相同阶数的IIR的能力远远强于FIR。从数学上看,FIR为有限长度的脉冲响应,转换为频域之后,在低频分辨率比较低,因此描述能力有限。从声学上看,有限长度的脉冲响应对波形描述的长度范围有限,而低频的频率较低,需要更长的脉冲序列才能准确描述,因此FIR的描述能力就受到了限制,而IIR由于是无限脉冲响应,因此可以通过较低阶数的参数递归描述波形。

(2) FIR为有限脉冲响应,对单个参数精度的要求比较低。

(3) IIR对参数精度要求很高,除了无限脉冲响应对相位、幅度精度影响大之外,还存在稳定性问题,即理想设计时满足要求,但由于数据精度问题,可能造成滤波器本身的失稳,不能正常工作。比如很多实际应用中,以32bit数据为例,一般Q5.27的整形才满足精度要求,float则不满足,很可能出现杂音、失稳、频响与设计值偏差大等问题。

(4) IIR的参数精度对低频频响的计算结果影响很大,因此设计低频段的IIR滤波器时,需要注意数据精度问题。

(5) IIR在实际使用中通常使用二阶IIR(Biquad),精度高、稳定性好。调音通常使用的EQ(Peak、Low Shelf、High Shelf、Low Pass、High Pass、Notch、Linkwitz....)即为各种Biquad,一般滤波器设计其实也可以使用EQ,好处是参数化的Biquad设计,暂不考虑参数精度问题时,可以完全保证稳定性,并且参数含义很直观。

关键字音频 音频算法