首先两种滤波器都是数字滤波器。根据冲激响应的不同,将数字滤波器分为有限冲激响应(FIR)滤波器和无限冲激响应(IIR)滤波器。
区别一:结构上
对于FIR滤波器,冲激响应在有限时间内衰减为零,其输出仅取决于当前和过去的输入信号值。对于IIR滤波器,冲激响应理论上应会无限持续,其输出不仅取决于当前和过去的输入信号值,也取决于过去的信号输出值。
FIR的差分方程:
IIR的差分方程:
IIR的方程中,当前输出y(n)是由当前输入x(n)、过去输入x(n-1)、x(n-2)...、过去输出y(n-1)、y(n-2)...这三类值共同决定的。
而在FIR方程中,则没有过去输出这一项。
由于IIR的当前输出受到以前输出值的影响,所以它是有反馈的,或者说其输出值是递归的;相对应的,FIR就是无反馈、非递归的。
区别二:相位特性
IIR为非线性相位延迟,FIR为线性相位延迟。即IIR的相位延迟会随着输入波形的变化而变化,而FIR的相位延迟为一确定值。FIR的相位补偿只需要对输出结果平移即可,IIR的相位补偿复杂一些,不过在matlab上实现同样很容易。
FIR:不同频率进入的信号通过滤波器同时出来,即
区别三、稳定性、运算速度、运算误差设计难度
FIR的极点全部在原点(z变换),是稳定的。IIR不一定稳定。
FIR运算速度快,IIR运算速度慢
FIR运算误差小,IIR由于有反馈,可能会产生极限环。
FIR设计难度高,需要借助计算机程序完成,IIR设计难度低。
性能上来说,IIR滤波器传递函数包括零点和极点两组可调因素,对极点的惟一限制是在单位圆内。因此可用较低的阶数获得高的选择性,所用的存储单元少,计算量小,效率高。但是这个高效率是以相位的非线性为代价的。选择性越好,则相位非线性越严重。
FIR滤波器传递函数的极点固定在原点,是不能动的,它只能靠改变零点位置来改变它的性能。所以要达到高的选择性,必须用较高的阶数;对于同样的滤波器设计指标,FIR滤波器所要求的阶数可能比IIR滤波器高5-10倍,结果,成本较高,信号延时也较大;如果按线性相位要求来说,则IIR滤波器就必须加全通网络进行相位校正,同样要大大增加滤波器的阶数和复杂性。而FIR滤波器却可以得到严格的线性相位。