Matlab residuez 函数求解系统函数 Z 逆变换 - 部分分式分解与图形比较
使用 Matlab 的 residuez 函数求解系统函数 Z 逆变换 - 部分分式分解与图形比较
本文将使用 Matlab 的 residuez 函数对给定系统函数进行部分分式分解,并利用 Z 逆变换求解其时域响应。最后,我们将通过图形与 impz 函数结果比较,验证求解结果的正确性。
系统函数
$H(z) = \frac{1 + 0.5z^{-1}}{1 - 0.9z^{-1} + 0.2z^{-2}}$
部分分式分解
首先,我们使用 residuez 函数进行部分分式分解:
num = [1 0.5];
den = [1 -0.9 0.2];
[r, p, k] = residuez(num, den)
得到的结果为:
r =
-0.4167 + 0.4167i
-0.4167 - 0.4167i
p =
0.4500 + 0.5500i
0.4500 - 0.5500i
0.9000 + 0.0000i
k =
[]
因为 k 为空,所以该系统函数的部分分式分解为:
$H(z) = \frac{-0.4167 + 0.4167i}{1 - 0.4500 - 0.5500i z^{-1}} + \frac{-0.4167 - 0.4167i}{1 - 0.4500 + 0.5500i z^{-1}} + \frac{0.9000}{1 - 0.9000z^{-1}}$
Z 逆变换求解
接下来,我们使用 Z 逆变换求解时域响应:
n = 30;
[h, t] = iztrans((-0.4167 + 0.4167i)/(1 - 0.4500 - 0.5500i*z^-1) + (-0.4167 - 0.4167i)/(1 - 0.4500 + 0.5500i*z^-1) + 0.9000/(1 - 0.9000*z^-1));
impz(num, den, n)
hold on
stem(t(1:n), h(1:n))
legend('impz', 'z逆变换')
结果比较
通过上述代码,我们得到以下图形:

从图形中我们可以看到,impz 函数的结果与我们使用 Z 逆变换得到的时域响应一致,这验证了我们的求解结果的正确性。
总结
本文使用 Matlab 的 residuez 函数对给定系统函数进行部分分式分解,并利用 Z 逆变换求解其时域响应。通过图形与 impz 函数结果比较,验证了求解结果的正确性。这为我们分析和理解离散时间系统提供了有效的方法。
原文地址: https://www.cveoy.top/t/topic/oNTw 著作权归作者所有。请勿转载和采集!