Inverse Z-transform with negative Z-exponents

12 次查看(过去 30 天)
I am faced with a Z-transform problem for school, and I already know the code to handle most of the problem using matrices for the numerator and denominator. My trouble is that the problem uses negative-exponents for the Zs.
x(z) = (z^-3)/((1 - z^-1)(1 - 0.2z^-1))
If this problem had only positive exponents, but the same coefficients, I would approach inputing this particular problem like this:
MATLAB code
syms z
%x(z) = (z^3)/((-z^1 + 1)(-0.2z^1 + 1))
num=[1 0 0 0];
den=conv([-1 1],[-0.2 1]);
Any thoughts for using a similar input style with negative exponents? Would it really be as simple as something like 'fun(-1)'?

采纳的回答

Michael
Michael 2015-2-14
Well, I might be a moron. I just realized that the entire problem can be simplified before you even involve Matlab.
x(z) = (z^-3)/((1-z^-1)(1-0.2z^-1))
But it can be simplified as:
x(z) = 1/(z^3 -1.2z^2 + 0.2z)
Which would make the Matlab code for inputting the equation:
syms z
num = [0 0 0 1];
den = [1 -1.2 0.2 0];

更多回答(1 个)

Azzi Abdelmalek
Azzi Abdelmalek 2015-2-14
num=[1 0 0 0];
den=conv([-1 1],[-0.2 1])
g=tf(num,den,1,'variable','z^-1')
  2 个评论
Michael
Michael 2015-2-14
Doesn't seem so. The third coefficient in the denominator seems to be wrong, going by hand-convolution ("1" instead of "-0.2") - and the numerator is simply a 1 instead of z^-3.
But it is a lot closer than I had been getting.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Number Theory 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by