Inverse Z-transform with negative Z-exponents

20 次查看(过去 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.

请先登录,再进行评论。

产品

Community Treasure Hunt

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

Start Hunting!

Translated by