稳定性:由于FIR滤波器没有反馈回路,稳定性要强于IIR;
相位特性:FIR 为线性相位延迟,IIR 为非线性相位延迟。
# y; |2 U1 g* J* s, z
如下图所示为10Hz的方波信号,采样率为1KHz。
4 k+ Z4 A0 {$ m$ n
; b, Y8 q, r. c/ H2 I" Z! w! o# U. _" \$ Z; }, C: S
FIR滤波器后,滤波后效果图如下图所示:
. u2 L: `# j6 A" K4 k! z" T0 S
4 s/ t" z+ n: o5 F
8 e* l" k p/ n1 m3 C! E3 y
FIR滤波器后,滤波后效果图如下图所示:
9 v: b5 I* G% M3 p/ N8 N% Q% J* y
- P. P5 }: [6 x6 b& a* @
$ G5 U: @: c3 m
通过对比不难发现,IIR滤波器存在非线性相位延迟,校正时需要双向滤波进行校正,复杂不易控制;FIR滤波器为线性延迟,可通过左右平移的方式直接校正,误差小。
) }% u6 R$ j5 P, ~& k* J, Z8 m
信号处理速度:FIR的滤波输出取决于当前输入数据和历史输入数据,IIR的滤波输出取决于当前输入数据、历史输入数据和历史输出数据。以基于FPGA硬件的数字滤波器为例,FIR在处理信号时不需等待前一个信号的滤波输出,只需要考虑输入数据便可实时滤波;IIR需要等待上一个信号的滤波输出,存在一定的时间延迟,所以处理速度上没有FIR快。
4 @( ]- ?+ H/ f$ f% Y' y$ `
1 D" v% e/ Y8 G. ?" n) Y+ k
FIR和IIR滤波对比图如下图所示:
! O5 J l9 Q K' j
1 g9 K/ R6 ^6 d. D
) s+ [$ M7 U; W3 h+ [2 s; C
从上面的简单比较可以看到IIR与FIR滤波器各有所长,所以在实际应用时应该从多方面考虑来加以选择。从使用要求上来看,在对相位要求不敏感的场合,如语言通信等,选用IIR较为合适,这样可以充分发挥其经济高效的特点;对于图像信号处理,数据传输等以波形携带信息的系统,则对线性相位要求较高,采用FIR滤波器较好。当然,在实际应用中可能还要考虑更多方面的因素。