ⅰ.设计题目: 已知某LIT系统的差分方程为: 3y(n)-4y(n-1)+2y(n-2)=x(n)+2x(n-1) 计算n=[-20:100]时的系统单位冲激响应。 ⅱ.设计要求: 本课程设计应满足以下要求: 2. 可读性:源程序代码清晰,有层次,主要程序段有注释. ⅲ.设计目的:
ⅳ.设计原理: 根据给定的差分方程: 3y(n)-4y(n-1)+2y(n-2)=x(n)+2x(n-1) 利用z变换,求出H(z),再通过求其逆变换,得到系统单位冲激响应h(n)。 ⅴ.具体算法: 第一步,根据差分方程: 3y(n)-4y(n-1)+2y(n-2)=x(n)+2x(n-1) 用z变换求出H(z)的表达式,原式可化为:
ⅵ.MATLAB源程序: 计算系统单位冲激响应源程序: num=[1,2,0]; den=[3,-4,2]; n=[-20:100]; hn=dimpulse(num,den) hn=dimpulse(num,den); stem(hn); title('LTI系统的单位冲激响应') ⅶ.系统仿真结果: (1).LTI系统的单位冲激响应的计算结果: h(n) =
0.3333 0.4115
-0.3504
-0.0421 -0.0027 0.0102
-0.0065 LTI系统的单位冲激响应的结果图: ⅷ.运算结果验证: 在matlab中输入以下程序进行验证: num=[1,2,0]; den=[3,-4,2]; disp(‘系统传递函数H(z)’); printsys(num,den,‘z’); disp(‘转为零极点增益模型’); [z1,p1,k1]=tf2zp(num,den) disp(‘转为零极点留数模型’); [r1,p1]=residue(num,den) h(n)=dimpulse(num,den) 输出结果为: 系统传递函数H(z) num/den =
转为零极点增益模型 z1 = 0 -2 p1 =0.6667 + 0.4714i k1 =0.3333 转为零极点留数模型 r1 =0.5556 - 0.5500i p1 =0.6667 + 0.4714i h(n)= 0.3333 0.4115
-0.3504
-0.0065 ⅸ.对其进行理论验证: 当n=0时, 当n=1时, 同理可证,当n=2,3,……时,结果均与源程序运行结果相符,此实践课题已正确完成。
|
|