Connexions

Site Feedback

Z-Transform

By Dan Calderon, Richard Baraniuk

Introduction

The Z transform is a generalization of the Discrete-Time Fourier Transform. It is used because the DTFT does not converge/exist for many important signals, and yet does for the z-transform. It is also used because it is notationally cleaner than the DTFT. In contrast to the DTFT, instead of using complex exponentials of the form eiωn ω n , with purely imaginary parameters, the Z transform uses the more general, zn z n , where z z is complex. The Z-transform thus allows one to bring in the power of complex variable theory into Digital Signal Processing.

The Z-Transform

Bilateral Z-transform Pair

Although Z transforms are rarely solved in practice using integration (tables and computers (e.g. Matlab) are much more common), we will provide the bilateral Z transform pair here for purposes of discussion and derivation. These define the forward and inverse Z transformations. Notice the similarities between the forward and inverse transforms. This will give rise to many of the same symmetries found in Fourier analysis.

Z Transform
Xz= n =xnzn Xz n x n z n
1
Inverse Z Transform
xn=12πirXzzn1d z x n 1 2 z r X z z n 1
2

Note:
We have defined the bilateral z-transform. There is also a unilateral z-transform ,
Xz= n =0xnzn X z n 0 x n z n
3
which is useful for solving the difference equations with nonzero initial conditions. This is similar to the unilateral Laplace Transform in continuous time.

Relation between Z-transform and DTFT

Taking a look at the equations describing the Z-Transform and the Discrete-Time Fourier Transform:

Discrete-Time Fourier Transform
Xeiω= n =xne(iωn) X ω n x n ω n
4
Z-Transform
Xz= n =xnzn Xz n x n z n
5
We can see many similarities; first, that :
Xeiω=Xz X ω Xz
6
for all z=eiω z ω

Visualizing the Z-transform

With the DTFT, we have a complex-valued function of a real-valued variable ω ω (and 2 π periodic). The Z-transform is a complex-valued function of a complex valued variable z.

Plots
Figure 1

With the Fourier transform, we had a complex-valued function of a purely imaginary variable, Fiω F ω . This was something we could envision with two 2-dimensional plots (real and imaginary parts or magnitude and phase). However, with Z, we have a complex-valued function of a complex variable. In order to examine the magnitude and phase or real and imaginary parts of this function, we must examine 3-dimensional surface plots of each component.

Consider the z-transform given by H(z)=zH(z)=z, as illustrated below.

Figure 2

The corresponding DTFT has magnitude and phase given below.

Note:
While these are legitimate ways of looking at a signal in the Z domain, it is quite difficult to draw and/or analyze. For this reason, a simpler method has been developed. Although it will not be discussed in detail here, the method of Poles and Zeros is much easier to understand and is the way both the Z transform and its continuous-time counterpart the Laplace-transform are represented graphically.

(a)
(b)
Figure 3: Magnitude and Phase of H(z).

What could the system H be doing? It is a perfect all-pass, linear-phase system. But what does this mean?

Suppose h[n]=δ[n-n0]h[n]=δ[n-n0]. Then

H ( z ) = n = - h [ n ] z - n = n = - δ [ n - n 0 ] z - n = z - n 0 . H ( z ) = n = - h [ n ] z - n = n = - δ [ n - n 0 ] z - n = z - n 0 .
7

Thus, H(z)=z-n0H(z)=z-n0 is the zz-transform of a system that simply delays the input by n0n0. H(z)H(z) is the zz-transform of a unit-delay.

Now consider x[n]=αnu[n]x[n]=αnu[n]

Figure 4
X ( z ) = n = - x [ n ] z - n = n = 0 α n z - n = n = 0 ( α z ) n = 1 1 - α z ( i f | α z | < 1 ) ( G e o m e t r i c S e r i e s ) = z z - α . X ( z ) = n = - x [ n ] z - n = n = 0 α n z - n = n = 0 ( α z ) n = 1 1 - α z ( i f | α z | < 1 ) ( G e o m e t r i c S e r i e s ) = z z - α .
8

What if |αz|1|αz|1? Then n=0(αz)nn=0(αz)n does not converge! Therefore, whenever we compute a zz-tranform, we must also specify the set of zz's for which the zz-transform exists. This is called the regionofconvergenceregionofconvergence(ROC).

Note: Using a computer to find the Z-Transform
Matlab has two functions, ztrans and iztrans, that are both part of the symbolic toolbox, and will find the Z and inverse Z transforms respectively. This method is generally preferred for more complicated functions. Simpler and more contrived functions are usually found easily enough by using tables.

Application to Discrete Time Filters

The zz-transform might seem slightly ugly. We have to worry about the region of convergence, and stability issues, and so forth. However, in the end it is worthwhile because it proves extremely useful in analyzing digital filters with feedback. For example, consider the system illustrated below

Plots
Figure 5

We can analyze this system via the equations

v [ n ] = b 0 x [ n ] + b 1 x [ n - 1 ] + b 2 x [ n - 2 ] v [ n ] = b 0 x [ n ] + b 1 x [ n - 1 ] + b 2 x [ n - 2 ]
9

and

y [ n ] = v [ n ] + a 1 y [ n - 1 ] + a 2 y [ n - 2 ] y [ n ] = v [ n ] + a 1 y [ n - 1 ] + a 2 y [ n - 2 ]
10

More generally,

v [ n ] = k = 0 N b k x [ n - k ] v [ n ] = k = 0 N b k x [ n - k ]
11

and

y [ n ] = k = 1 M a k y [ n - k ] + v [ n ] y [ n ] = k = 1 M a k y [ n - k ] + v [ n ]
12

or equivalently,

k = 0 N b k x [ n - k ] = y [ n ] - k = 1 M a k y [ n - k ] . k = 0 N b k x [ n - k ] = y [ n ] - k = 1 M a k y [ n - k ] .
13

What does the zz-transform of this relationship look like?

Z k = 0 M a k y [ n - k ] = Z k = 0 M b k x [ n - k ] k = 0 M a k Z { y [ n - k ] } = k = 0 M b k Z { x [ n - k ] } Z k = 0 M a k y [ n - k ] = Z k = 0 M b k x [ n - k ] k = 0 M a k Z { y [ n - k ] } = k = 0 M b k Z { x [ n - k ] }
14

Note that

Z { y [ n - k ] } = n = - y [ n - k ] z - n = m = - y [ m ] z - m z - k = Y ( z ) z - k . Z { y [ n - k ] } = n = - y [ n - k ] z - n = m = - y [ m ] z - m z - k = Y ( z ) z - k .
15

Thus the relationship reduces to

k = 0 M a k Y ( z ) z - k = k = 0 N b k X ( z ) z - k Y ( z ) k = 0 M a k z - k = X ( z ) k = 0 N b k z - k Y ( z ) X ( z ) = k = 0 N b k z - k k = 0 M a k z - k k = 0 M a k Y ( z ) z - k = k = 0 N b k X ( z ) z - k Y ( z ) k = 0 M a k z - k = X ( z ) k = 0 N b k z - k Y ( z ) X ( z ) = k = 0 N b k z - k k = 0 M a k z - k
16

Hence, given a system the one above, we can easily determine the system's transfer function, and end up with a ratio of two polynomials in zz: a rational function. Similarly, given a rational function, it is easy to realize this function in a simple hardware architecture.

Interactive Z-Transform Demonstration

Figure 6: Interact (when online) with a Mathematica CDF demonstrating the Z Transform.

Conclusion

The z-transform proves a useful, more general form of the Discrete Time Fourier Transform. It applies equally well to describing systems as well as signals using the eigenfunction method, and proves extremely useful in digital filter design.