详解FIR滤波器和IIR滤波器区别
数字滤波器广泛应用于硬件电路设计,在离散系统中尤为常见,一般可以分为FIR滤波器和IIR滤波器,那么他们有什么区别和联系呢。
FIR滤波器
定义:
FIR滤波器是有限长单位冲激响应滤波器,又称为非递归型滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。
特点:
· FIR滤波器的最主要的特点是没有反馈回路,稳定性强,故不存在不稳定的问题;
· FIR具有严格的线性相位,幅度特性随意设置的同时,保证精确的线性相位;
· FIR设计方式是线性的,硬件容易实现;
· FIR相对IIR滤波器而言,相同性能指标时,阶次较高,对CPU的性能要去较高。
图1 FIR滤波原理图
IIR滤波器
定义:
IIR滤波器是无限脉冲响应滤波器,又称递归型滤波器,即结构上带有反馈环路。
特点:
· IIR数字滤波器的系统函数可以写成封闭函数的形式,具有反馈回路;
· IIR数字滤波器的相位非线性,相位特性不好控制,随截止频率变化而变化,对相位要求较高时,需加相位校准网络;
· IIR滤波器有历史的输出参与反馈,同FIR相比在相同阶数时取得更好的滤波效果;
· IIR数字滤波器采用递归型结构,由于运算中的舍入处理,使误差不断累积,有时会产生微弱的寄生振荡。
图2 IIR基础原理图
区别
· 稳定性:由于FIR滤波器没有反馈回路,稳定性要强于IIR;
· 相位特性:FIR 为线性相位延迟,IIR 为非线性相位延迟。
如下图所示为10Hz的方波信号,采样率为1KHz
图3 方波信号
FIR滤波器后,滤波后效果图下图所示
图4 FIR滤波效果图
IIR滤波器后,滤波后效果图下图所示
图5 IIR滤波效果图
通过对比不难发现,IIR滤波器存在非线性相位延迟,校正时需要双向滤波进行校正,复杂不易控制;FIR滤波器为线性延迟,可通过左右平移的方式直接校正,误差小。
· 信号处理速度:FIR的滤波输出取决于当前输入数据和历史输入数据,IIR的滤波输出取决于当前输入数据、历史输入数据和历史输出数据。以基于FPGA硬件的数字滤波器为例,FIR在处理信号时不需等待前一个信号的滤波输出,只需要考虑输入数据便可实时滤波;IIR需要等待上一个信号的滤波输出,存在一定的时间延迟,所以处理速度上没有FIR快。
图6 FIR和IIR滤波对比图
从上面的简单比较可以看到IIR与FIR滤波器各有所长,所以在实际应用时应该从多方面考虑来加以选择。从使用要求上来看,在对相位要求不敏感的场合,如语言通信等,选用IIR较为合适,这样可以充分发挥其经济高效的特点;对于图像信号处理,数据传输等以波形携带信息的系统,则对线性相位要求较高,采用FIR滤波器较好。当然,在实际应用中可能还要考虑更多方面的因素。
- DSP in FPGA:FIR滤波器(二)(05-30)
- 基于FPGA的IIR数字带通滤波器的设计方案及实现(02-13)
- 使用FPGA构建的数字滤波器设计方案(06-24)
- 非常详细的滤波器基础知识简介(03-07)
- 常用的Σ-Δ ADC数字滤波器类型(05-09)
- 一种基于混合信号技术的汽车电子单芯片设计(04-08)