EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
最近总是遇到很多大侠在问滤波器相关的问题,之前对这一方面接触不是很多,最近也是在学习一些这方面的知识,今天先和大侠简单聊一聊FIR滤波器和IIR滤波器的区别,后续等研究的差不多了,再更新有关滤波器的详细内容,话不多说,上货。
8 J9 J5 |3 U; S5 J$ H1 h
# S7 Z x2 D% u) z; O; O! I! l- z6 l- E0 @
# l3 F/ O. X' r" {( x2 \ 数字滤波器广泛应用于硬件电路设计,在离散系统中尤为常见,一般可以分为FIR滤波器和IIR滤波器,那么这两种滤波器有什么区别和联系呢,我们就来简单的聊一聊。- \( c; ^- J) s6 t! x
. D+ b: N$ @: F3 D7 x) f. g
5 r" E8 Z4 e1 d* L+ p7 |5 M% f
( ]5 T# s+ v) k7 D* y: E! ~. ?, S8 i( @/ y
FIR滤波器
; f! N4 {! `5 n" M5 |* U' H3 H: r9 N# _3 n1 p' b0 W4 ^) z
0 ~! [; Z% L. }8 g5 D/ E. `) i. J一、定义: ( C* |' d/ B+ S X. f
FIR滤波器是有限长单位冲激响应滤波器,又称为非递归型滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。 6 C% P; R% Z) a1 S+ T, ?) r7 R
二、特点:
S# x6 F' F1 }) r
FIR滤波器的最主要的特点是没有反馈回路,稳定性强,故不存在不稳定的问题;
$ x0 }3 Q: E* d; C MFIR具有严格的线性相位,幅度特性随意设置的同时,保证精确的线性相位;
, P( X' z! G0 ZFIR设计方式是线性的,硬件容易实现; # O5 \% P u9 M( n1 z
" q. J2 M% E/ j/ S% W
7 z6 Y* f$ |& x% ^; E# n3 `/ @
FIR相对IIR滤波器而言,相同性能指标时,阶次较高,对CPU的性能要求较高。
2 V3 }: j$ U: y/ T- I# B! M+ v
6 S* w8 V) i4 A8 @8 `( {下图是FIR滤波原理图: S$ R# l' O. {% h$ q' j/ ]8 A
) F' ?& n5 S" h# d$ a6 \
) ?2 u7 L: c6 v* c
9 F) D; c& S3 M# L( j. |IIR滤波器
f8 P: e/ Y" w4 V/ Y# F一、定义:
. K# l, _8 W0 U9 IIIR滤波器是无限脉冲响应滤波器,又称递归型滤波器,即结构上带有反馈环路。
) g2 r+ H0 y$ b( Y
二、特点: , v9 q/ O$ C' p+ b
IIR数字滤波器的系统函数可以写成封闭函数的形式,具有反馈回路;
% o' a! n9 A: a5 u6 ~) }IIR数字滤波器的相位非线性,相位特性不好控制,随截止频率变化而变化,对相位要求较高时,需加相位校准网络;
: V6 X, B0 o, c; n3 mIIR滤波器有历史的输出参与反馈,同FIR相比在相同阶数时取得更好的滤波效果;
8 ^! h8 g2 S. z6 i) q% dIIR数字滤波器采用递归型结构,由于运算中的舍入处理,使误差不断累积,有时会产生微弱的寄生振荡。
6 x- X, B2 o1 `4 U9 p; G+ z% L5 G( y% a& c, N
1 G$ f& g, A5 y; \- r如下图是IIR滤波器的基础原理图: # K0 t" L" ~7 z. n! @
- T9 U7 W# x# J; j: h t- Q
8 t0 _% T5 K# F n1 f区别对比
稳定性:由于FIR滤波器没有反馈回路,稳定性要强于IIR; 相位特性:FIR 为线性相位延迟,IIR 为非线性相位延迟。 & ~0 r5 c+ H: t; w
如下图所示为10Hz的方波信号,采样率为1KHz。
( B1 a' F( _9 _ _! I4 o
: S/ _! i4 Q. U7 L! y; U3 C5 _$ ?3 h( e( m$ Z" P$ u
FIR滤波器后,滤波后效果图如下图所示:
- v8 d' ]& @$ R6 \% Y0 C* V5 N; Y* q2 p
7 ]. ]2 h- A. ^& D
; G8 X z( E$ Q# {
FIR滤波器后,滤波后效果图如下图所示:
* d& k' B& s- ^7 s
5 h+ B: l; o' Y% W k6 S% G
. ]- E+ a5 R1 {# ~( B2 z; m
通过对比不难发现,IIR滤波器存在非线性相位延迟,校正时需要双向滤波进行校正,复杂不易控制;FIR滤波器为线性延迟,可通过左右平移的方式直接校正,误差小。 : }% _( j# I' Z# }! l& n5 S
信号处理速度:FIR的滤波输出取决于当前输入数据和历史输入数据,IIR的滤波输出取决于当前输入数据、历史输入数据和历史输出数据。以基于FPGA硬件的数字滤波器为例,FIR在处理信号时不需等待前一个信号的滤波输出,只需要考虑输入数据便可实时滤波;IIR需要等待上一个信号的滤波输出,存在一定的时间延迟,所以处理速度上没有FIR快。
: C- _; M6 z. w M7 G
5 X$ L9 d' M5 I+ }FIR和IIR滤波对比图如下图所示:
; r* O" a5 M/ _
T( N ^* R1 H. d/ d7 R5 ]* V
! ^) V3 X; A7 m7 k0 \! c. a
从上面的简单比较可以看到IIR与FIR滤波器各有所长,所以在实际应用时应该从多方面考虑来加以选择。从使用要求上来看,在对相位要求不敏感的场合,如语言通信等,选用IIR较为合适,这样可以充分发挥其经济高效的特点;对于图像信号处理,数据传输等以波形携带信息的系统,则对线性相位要求较高,采用FIR滤波器较好。当然,在实际应用中可能还要考虑更多方面的因素。
) d- A# b2 I* a; Z* S! @8 J4 H |