稳定性:由于FIR滤波器没有反馈回路,稳定性要强于IIR;
相位特性:FIR 为线性相位延迟,IIR 为非线性相位延迟。
6 s/ p! ?+ ^3 g8 H; V# a
如下图所示为10Hz的方波信号,采样率为1KHz。
7 @& m l/ O% l- D6 B2 n8 [7 G
0 [7 y7 X) f2 L& F# o
0 }4 A$ P2 D% H J" ^$ n' S* _
FIR滤波器后,滤波后效果图如下图所示:
) L v, G) Q6 }9 d, n- @& c
8 K# e0 m" |" x3 V* N
* Y2 ~' r u9 I+ E% k$ e& V7 T
FIR滤波器后,滤波后效果图如下图所示:
0 X' ?' |$ y$ N: O3 g: w) M
7 A* m6 f0 @$ S+ v- y2 B/ }
1 [; c$ ]- B8 t1 @% V
通过对比不难发现,IIR滤波器存在非线性相位延迟,校正时需要双向滤波进行校正,复杂不易控制;FIR滤波器为线性延迟,可通过左右平移的方式直接校正,误差小。
* f# M* E }+ s$ r# p& w! ]6 T. M. @
信号处理速度:FIR的滤波输出取决于当前输入数据和历史输入数据,IIR的滤波输出取决于当前输入数据、历史输入数据和历史输出数据。以基于FPGA硬件的数字滤波器为例,FIR在处理信号时不需等待前一个信号的滤波输出,只需要考虑输入数据便可实时滤波;IIR需要等待上一个信号的滤波输出,存在一定的时间延迟,所以处理速度上没有FIR快。
0 j& E* `4 Q8 o( f
8 N$ P' z( e/ G4 o% U7 ]7 N9 Q1 j
FIR和IIR滤波对比图如下图所示:
8 J# M& n0 ?, M: _! N$ x* g+ v- c
* V0 j- u" _. D. x% v% B3 ]1 h
1 }; v. f# s3 H% o L& J; k/ D2 p
从上面的简单比较可以看到IIR与FIR滤波器各有所长,所以在实际应用时应该从多方面考虑来加以选择。从使用要求上来看,在对相位要求不敏感的场合,如语言通信等,选用IIR较为合适,这样可以充分发挥其经济高效的特点;对于图像信号处理,数据传输等以波形携带信息的系统,则对线性相位要求较高,采用FIR滤波器较好。当然,在实际应用中可能还要考虑更多方面的因素。