Tue Jan 11 15:58:12 EST 2011

Z-transform and generating functions

Who chose that damn negative exponent in the Z-transform[1]?

For expressing difference and update equations in state space form it
is simpler to have "z" mean _index increment_ or feedforward in time,
and "d" defined as d = z - 1.  This makes update equations and
difference equations directly expressible:

     x_{k+1} = a x_k         =>     z x = a x

     x_{k+1} - x_k = b x_k   =>     d x = b x

In state space form, the relation between the z and d formulation is
also pretty clear.  For systems where the dynamics is slow compared to
the sampling rate, the state space formulation in difference form also
makes more sense: it has better numerical stability and corresponds to
fixed-step[3] integration of a continuous differential equation.

Flipping the exponent around makes the Z-transform equal to the
relation that expresses a generating function[2].  The inverse
Z-transform then corresponds to the line integral expression for power
series coefficients in the expansion of an analytical function around

So, picking a non-(engineering-)standard notation means we need to
take care when just copying expressions out of books and papers.
However from context it is usually quite clear which is which.  The
most important differences for the positive-exponent Z-transform are:

  * Stability: convergence of a power series of an analytical function
    (representing a signal or transfer function) works for |z| < R
    where R is the location of the pole closest to 0.

  * Stable transfer functions need to have all poles _outside_ the
    unit circle.

This is just the reverse of the flipped-sign Z-transform.

Of course, a similar point could be made for the Laplace transform
(LT).  Why does it have a negative exponent?  Same for the Fourier
transform (FT).  For the FT it seems to make sense to me, as the
reconstruction is in terms of positive exponents, which somehow makes
a more intuitive appeal.  Anyways, it really doesn't matter that much
-- just convention and something to nag about...

[1] http://en.wikipedia.org/wiki/Z_transform
[2] http://en.wikipedia.org/wiki/Generating_function
[3] http://en.wikipedia.org/wiki/Euler_method