FIR和IIR的区别+差分方程的单位冲激响应(matlab图解)

有限脉冲响应滤波器:FIR

无限脉冲响应滤波器:IIR

好了,有限脉冲响应和无限脉冲响应到底什么区别?

先来看下《信号与系统》下册怎么说:

根据书上提示,翻回去看下相关例子:

滤波器 相关例子 具体内容

答案书中习题

的传递函数H(z)

单位冲激响应
IIR 例8-24
FIR 题图8-34

取a=1

[1] [1]

稳固下概念:

名称 定义(《信号与系统》上册第64页)
冲激响应
阶跃响应

 也就是说,FIR和IIR的定义上的区别是看h(n),

下面使用matlab代码来观察h(n)是否如书上所说可以有限时间段内结束。

[1]中代码如下 :

num=[1 2 0]
den=[3 -4 2]

hn=dimpulse(num,den);
stem(hn);
title('LTI系统的单位冲激响应')

%------------------- 下面进行验证-----------------------
disp('系统传递函数H(z)');
printsys(num,den,'z');
disp('转为零极点增益模型');
[z1,p1,k1]=tf2zp(num,den)
disp('转为零极点留数模型');


[r1,p1]=residue(num,den)
hn=dimpulse(num,den)

-----------------------------------------------------------------------------------------------------------------------------------------------------------

表格中的IIR滤波器(其余代码不变):

num=[1 0]
den=[1 3]

重新运行matlab可以得到单位冲激响应

表格中的FIR滤波器(其余代码不变):

num=[1 0  0 0 0 0 0 0 -1]
den=[1 -1 0 0 0 0 0 0  0]

重新运行matlab可以得到单位冲激响应

---------------------------------------------------------------------------------------------------------------------------------------------------------

matlab运行三个滤波器得到的

单位冲激响应图最终都已复制到上述表格中。

可见代码运行结果与书上定义一致:

IIR具有infite(无限)的单位冲激响应

FIR具有finite(有限)的单位冲激响应

---------------------------------------------------------------------------------------------------------------------------------------------------------

Reference:

[1]用matlab求解某已知的差分方程的单位冲激响应全过程

猜你喜欢

转载自blog.csdn.net/appleyuchi/article/details/107589822