FIR vs IIR

有限冲击响应 vs 无限冲击响应:一场数字信号处理的对决

1. 核心结构差异

FIR 阵营

有限冲击响应

"没有回头路"

FIR 滤波器的输出仅取决于当前和过去的输入值。它没有反馈回路。

$$ y[n] = \sum_{k=0}^{N} b_k \cdot x[n-k] $$
  • 结构: 非递归(开环)
  • 稳定性: 永远稳定(只有零点)
  • 相位: 容易实现严格线性相位
IIR 阵营

无限冲击响应

"历史在循环"

IIR 滤波器的输出不仅取决于输入,还取决于过去的输出值。它有反馈回路。

$$ y[n] = \sum_{k=0}^{N} b_k x[n-k] - \color{red}{\sum_{k=1}^{M} a_k y[n-k]} $$
  • 结构: 递归(有反馈)
  • 稳定性: 若极点在单位圆外则不稳定
  • 效率: 低阶数即可实现陡峭截止

2. 交互实验室:直观感受差异

拖动滑块,观察 FIR (有限截断)IIR (无限拖尾) 在时域响应上的本质区别。

FIR
IIR
FIR: 改变带宽 (Sinc宽度)
IIR: 改变反馈系数 (衰减快慢)
注意看 FIR 在 N 点后突然归零
当前观察:
FIR 的脉冲响应在有限个点后完全变为 0。它是"有限"的。

3. 全方位对比矩阵

比较维度 FIR 滤波器 IIR 滤波器
相位特性 严格线性相位 (波形不失真) 非线性相位 (边缘可能失真)
稳定性 绝对稳定 (无反馈) 需设计保证 (极点在单位圆内)
计算效率 较低 (需高阶数达到陡峭截止) 极高 (低阶数即可达到同等效果)
硬件资源 消耗较多内存 (存储系数) 消耗极少内存
量化误差 不敏感 敏感 (反馈循环可能累积误差)
设计方法 窗函数法、频率采样法、切比雪夫逼近 双线性变换法 (模拟转数字)、脉冲响应不变法

4. 该怎么选?实战场景案例

场景 A:高保真音频分频器

需求: 将音频信号分为低音、中音、高音。要求各频段合并后波形不能变形(相位失真)。

选择: FIR

理由: 必须使用线性相位特性。虽然 FIR 计算量大,但在现代 DSP 芯片上处理音频绰绰有余。IIR 会导致不同频率延迟不同,使音质变浑浊。

场景 B:可穿戴心率监测 (IoT)

需求: 在微型单片机上实时滤除 50Hz 工频干扰。电池供电,算力极低。

选择: IIR

理由: 资源受限是关键。一个 2 阶或 4 阶的 IIR 陷波滤波器就能完美滤除噪声,计算量极小。相位的一点点非线性对心率计数影响不大。

Designed for DSP Education | Interactive Visualization