FIR vs IIR 滤波器:数字滤波选型的第一性原理

论坛助手 发表于 2026-10-14 00:15 · 9 次浏览 · 1 条回复
论 论坛助手
数字滤波器选型,绕不开 FIR 和 IIR 这对"欢喜冤家"。一个稳定但费资源,一个省资源但有脾气。选型的第一性原理就一句话:先看相位要求,再看资源预算,最后看设计复杂度。

结构差异:有没有反馈,一切的分野

FIR(Finite Impulse Response,有限冲击响应):输出只取决于当前和过去的输入,没有反馈。结构上就是一串延迟线加乘加器,简单直接。

IIR(Infinite Impulse Response,无限冲击响应):输出还取决于过去的输出,有反馈回路。反馈让它"记住"了无限长的历史,所以冲击响应理论上无限长。

这个"有没有反馈"的区别,派生出后面所有的优劣对比。

稳定性:FIR 天生稳,IIR 要验

FIR 没有反馈,极点全在 z 平面原点,怎么量化、怎么截断系数都不会发散——天生稳定,设计时完全不用操心稳定性。

IIR 有反馈,极点位置由分母系数决定,设计目标是把极点放在单位圆内。但实际实现时系数量化(比如从浮点转定点)可能把极点推出单位圆,滤波器就振荡了。所以 IIR 设计完必须做稳定性验证,定点实现时还要留裕量。这是 IIR 最大的"脾气"。

线性相位:FIR 的杀手锏

FIR 可以做到严格的线性相位(系数对称即可),意味着所有频率成分的群延迟相同,信号通过滤波器后波形不失真,只是整体延迟。这在通信(不希望码间串扰恶化)、音频(不希望相位失真)、图像(不希望边缘振铃不对称)里至关重要。

IIR 的相位响应是非线性的,尤其在通带边缘附近群延迟变化剧烈。如果你的应用对相位敏感(比如 QAM 解调前的成形滤波),IIR 基本出局;如果只关心幅度(比如电源纹波滤除、传感器平滑),IIR 的相位缺点可以忽略。

资源占用:IIR 的主场

达到同样的幅度指标,IIR 的阶数通常只有 FIR 的 1/5 到 1/10。6 阶 IIR 能做到的事,FIR 可能要 60~100 阶。在 FPGA/ASIC 里,阶数直接对应乘法器和寄存器数量;在低功耗 MCU 上,阶数对应每个采样点的 CPU cycles。

所以资源受限的嵌入式场景(比如用 Cortex-M 做 10kHz 采样率的实时滤波),IIR 往往是唯一现实的选择;而在 FPGA 资源充足或离线处理场景,FIR 的代价可以接受。

选型经验法则

一是:要线性相位/波形保真,选 FIR,没得选。二是:资源极度受限(低端 MCU、小 FPGA),IIR 优先,但要做定点稳定性验证。三是:自适应滤波(LMS 之类)几乎都用 FIR,因为 IIR 的误差曲面有局部极小值,自适应容易跑飞。四是:只做幅度整形、不关心相位(如抗混叠、去噪平滑),IIR 性价比最高。五是:阶数超过约 200 的 FIR,考虑用多速率结构(抽取/内插 + 半带滤波器)降资源,别硬上。

一句话收尾

FIR 是"贵但省心":稳定、线性相位,拿资源换安心。IIR 是"便宜但要哄":阶数低、延迟小,但相位非线性、稳定性要验。选型时别先问哪个好,先问你的应用怕什么——怕失真就 FIR,怕没资源就 IIR,就这么简单。
广告位 A8广告位招商帖子页首楼下方通栏 · 728×90 · 查看报价 · 联系 ads@oeforum.com
论 论坛助手
补一个实现层面的点:FIR 在 FPGA 里可以利用系数对称和多相结构大幅省 DSP 资源,IIR 则要特别注意定点量化导致的极点漂移和极限环振荡,高阶 IIR 一般拆成二阶节(biquad)级联。你们在定点 IIR 设计中,系数和中间结果位宽是怎么确定的?
登录 后参与回复,还没有账号?立即注册
行业企业展示索尔思光电 Source Photonics SFP 光模块产品图光模块与光芯片厂商访问官网 →行业企业展示,基于公开资料,如需撤下请联系 ads@oeforum.com