使用 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逆变换')

结果比较

通过上述代码,我们得到以下图形:

compare

从图形中我们可以看到,impz 函数的结果与我们使用 Z 逆变换得到的时域响应一致,这验证了我们的求解结果的正确性。

总结

本文使用 Matlab 的 residuez 函数对给定系统函数进行部分分式分解,并利用 Z 逆变换求解其时域响应。通过图形与 impz 函数结果比较,验证了求解结果的正确性。这为我们分析和理解离散时间系统提供了有效的方法。

Matlab residuez 函数求解系统函数 Z 逆变换 - 部分分式分解与图形比较

原文地址: https://www.cveoy.top/t/topic/oNTw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录