# [Maxima] Inverse z-transform and ploting

Raymond Toy toy.raymond at gmail.com
Thu Feb 2 11:19:18 CST 2012

```On Wed, Feb 1, 2012 at 8:33 PM, <subiono2008 at matematika.its.ac.id> wrote:

> Dear all,
>
>    Let be X(z) a z-transform of a sequence x[n]
>    How do we calculate invers z-transform of X(z) and
>    plot x[n].
>
>
>
Jaime has given one technique.  Another technique is to use the inversion
formula

x(n) = 1/(2*%pi*%i)*contour(X(z)*z^(n-1),z)

where contour is the the contour integral over any closed curve containing
all of the poles of X(z).  Using complex number theory, this can be reduced
to

x(n) = sum(residue(X(z)*z^(n-1),z, p))

where the sum is over all of the poles, p, of X(z).

As an example, let X(z) = z/(z-1/2).  X(z) has one pole at z=1/2 so, using
maxima:

(%o1) xn : residue(z/(z-1/2)*z^(n-1),z,1/2);
(%i1) 1/2^n
(%o2) plot2d([discrete,
makelist(k,k,0,10),makelist(subst(n=k,xn),k,0,10)],[style, points]);

Another way is to note that to find the inverse transform, we want to
express X(z) in a Laurent series.  Maxima can do that to:

(%o1) powerseries(z/(z-1/2), z, inf);
(%i1) 2*sum(2^(-i1-1)/z^(i1), i1, 0, inf)

I leave it as an exercise for the reader to figure out how to extract the
coefficient of each power of z^(-n) to get x(n). :-)

A google search will give you several other techniques that can be used to
find the inverse transform.

Ray
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.math.utexas.edu/pipermail/maxima/attachments/20120202/32102aa6/attachment.html>
```