Matlab Residuez 函数求解系统函数 Z 逆变换 - 部分分式法与 Impz 函数结果比较
使用 Matlab 的 residuez 函数求解系统函数 Z 逆变换 - 部分分式法与 Impz 函数结果比较
本文将使用 Matlab 的 residuez 函数求解系统函数的部分分式展开,并利用 iztrans 函数计算其 Z 逆变换,最后使用 impz 函数和绘图函数比较 Z 逆变换和冲激响应的结果,并展示图形对比。
系统函数为:
$$H(z) = \frac{1}{(z-0.5)(z-0.8)(z-0.9)}$$
1. 使用 residuez 函数求解部分分式:
b = [1];
a = [1, -2.2, 1.61, -0.324];
[r, p, k] = residuez(b, a);
得到的结果为:
r =
0.5164 + 0.0000i
0.2258 + 0.0000i
-0.7422 + 0.0000i
p =
0.5000 + 0.0000i
0.8000 + 0.0000i
0.9000 + 0.0000i
k =
0.0000 + 0.0000i
因此,系统函数可以表示为:
$$H(z) = \frac{0.5164}{1-0.5z^{-1}} + \frac{0.2258}{1-0.8z^{-1}} - \frac{0.7422}{1-0.9z^{-1}}$$
2. 使用 iztrans 函数求解 Z 逆变换:
syms z n
h_z = 0.5164/(1-0.5*z^-1) + 0.2258/(1-0.8*z^-1) - 0.7422/(1-0.9*z^-1);
h_n = iztrans(h_z);
h_n = simplify(h_n);
得到的结果为:
$$h(n) = 0.5164(0.5)^n + 0.2258(0.8)^n - 0.7422(0.9)^n$$
3. 使用 impz 函数和绘图函数 plot 比较 Z 逆变换和冲激响应的结果:
impz(b, a, 30);
hold on;
n = 0:29;
h = 0.5164*(0.5).^n + 0.2258*(0.8).^n - 0.7422*(0.9).^n;
plot(n, h);
legend('impz', 'z逆变换');
得到的图形如下:

从图中可以看出,Z 逆变换和冲激响应的结果是一致的。
原文地址: https://www.cveoy.top/t/topic/oNTx 著作权归作者所有。请勿转载和采集!