跳到正文
信号与系统

FIR 与 IIR:滤波器选择是多目标权衡

14 分钟

FIR由有限冲激响应实现,可精确线性相位且稳定性容易保证;IIR利用反馈,以较低阶数获得陡峭幅频,却有相位、稳定和量化敏感问题。不能只按阶数或“声音更好”选择。

从规格开始

定义通带边缘、纹波、阻带边缘、衰减、相位或群时延、计算资源与延迟。模糊的“低通滤掉噪声”无法验证,也无法比较方案。

FIR设计

窗函数法直观,频率采样和等波纹法可更直接控制误差。线性相位对称系数能减少乘法,但长度越大群时延越高。

IIR设计

模拟原型经双线性变换会发生频率扭曲,关键频点需预畸变。高阶直接型对系数量化敏感,通常拆成二阶节并合理排序缩放。

稳定性

因果IIR极点需在单位圆内。浮点设计稳定不保证定点量化后仍稳定;每个量化版本都检查极点、冲激响应和极限环。

相位代价

幅频满足不表示波形保真。非线性相位会改变瞬态形状;离线可用前后向滤波获得零相位,但它非因果,不能用于实时系统。

滤波器启动和结束还需定义填充策略。零填充、镜像和延拓会给短记录不同边缘瞬态,评价时应剔除或明确这些样本。实现后用冲激、阶跃、正弦和噪声四类输入验证,而不只看设计工具曲线。

练习:按同一幅频指标设计FIR与IIR,比较阶数、运算、时延、相位和定点稳定性。

小纸条

离线前后向滤波能得到零相位,为什么不能直接用于实时系统?