Professional Documents
Culture Documents
Z-Transform
4.1.1 Motivation
Z-transforms are used to simplify the operations involving difference equations. For
example, the convolution of two discrete time signals gets reduced to the product
of two algebraic expressions with the use of Z-transforms. To see this, consider the
convolution sum
∞
y(n) = u(k)g(n − k)
k=−∞
and let {u(n)} = {u(0), u(1), u(2)}, {g(n)} = {g(0), g(1), g(2)}. Let these sequences
be zero at all other times. We obtain the following y values:
y(0) = u(0)g(0)
y(1) = u(0)g(1) + u(1)g(0)
y(2) = u(0)g(2) + u(1)g(1) + u(2)g(0) (4.1)
y(3) = u(1)g(2) + u(2)g(1)
y(4) = u(2)g(2)
The same result will be obtained from the coefficients of the resultant series, if we
define two functions U (z) and G(z)
Substituting for G and U from above and multiplying out, V is obtained as a fourth
degree polynomial in z −1 , of the following form:
where, y(i), i = 1 to 4, are identical to the ones obtained in Eq. 4.1. The functional
form U (z) and G(z) will be defined as the Z-transform in Sec. 4.1.3. At this point,
we may think of z as a position marker. For example, the term that multiplies z −i
occurs at the ith time instant in Eq. 4.2. Thus, the function U (z), given in Eq. 4.2,
can be thought of as a way of representing a sequence {u(n)} = {u(0), u(1), u(2)}.
The advantage in using U (z) in place of {u(n)} is that the former can often be
represented by a more compact expression, even if the original sequence has infinitely
many nonzero terms.
With an example, we have shown that the product of the polynomial equivalent
of two sequences gives the same result as their convolution. This approach is not of
great use to short sequences, because the effort involved in evaluating the convolution
and polynomial product is about the same. The main motivation for proposing this
approach is that it could come in handy for sequences consisting of an infinite number
of elements. The moment we have a sum consisting of an infinite number of elements,
we have to ascertain that it converges.
The second issue we have to address is whether we can recover from the product
polynomial the time domain elements, i.e., the values that the sequence takes at
different time instants. We would also like to know whether we can recover the
sequence uniquely from the polynomial. Both of these issues will now be addressed.
u1
1 u2
0
0.8 −0.5
−1
0.6
−0.9 1(−n−1)
0.9n1(n)
−1.5
n
0.4
−2
0.2
−2.5
0 −3
−10 −5 0 5 10 15 20 −10 −5 0 5 10 15 20
Time(n) Time(n)
Figure 4.1: Plots of 0.9n 1(n) (left) and −(0.9)n 1(−n − 1) (right)
convergence. We begin the discussion with a motivational example. Let us study the
following two sequences:
u1 (n) = an 1(n)
u2 (n) = −an 1(−n − 1)
Fig. 4.1 shows the plots of these functions for a = 0.9. M 4.1 and M 4.2 have been
used to generate these plots. We will use the position marker approach with z −1 and
calculate the sum of these two sequences. We will assign upper case letters to denote
this sum:
∞ ∞
U1 (z) = an z −n = (az −1 )n
n=0 n=0
1 z
= −1
(if the sum exists) =
1 − az z−a
∞ −∞
U2 (z) = − an 1(−n − 1)z −n = − an z −n
n=−∞ n=−1
We see that these two conditions are completely different. We show below that this
convergence condition can help overcome the difficulty in uniquely determining the
time domain sequence.
In the above discussion, we have assumed z to be real. This can be restrictive.
For example, we could be interested in the roots of the polynomial in z after
Z-transformation. These roots could turn out to be complex. Moreover, in some
problems, a can also be complex. Both situations are taken care of by modifying
the above conditions as
The above conditions result in absolute convergence. For example,∞ the absolute
∞
sum n=0 |az −1 |n converges. This implies that the original sum n=0 (az −1 )n also
converges. Thus, convergence is not affected by the use of absolute values. The above
two conditions result in the following pair:
z
u1 (n) ↔ , |az −1 | < 1 or |a| < |z|
z−a
z
u2 (n) ↔ , |a−1 z| < 1 or |z| < |a|
z−a
Another advantage of using the absolute values is the restriction of the region of
convergence to one side of a circle. For example, the u1 sum converges for all z
values outside the circle z = |a| and the u2 sum converges for all z values inside
the same circle. Thus, the use of absolute values clearly demarcates the two regions
of convergence. This fact helps us to arrive at the inverse uniquely. For example, if
we know that the z value used is inside the circle of radius |a|, we can immediately
say that the inverse of z/(z − a) is u2 (n). We will explain this idea further with the
following calculations:
z 1
U1 (z) = = = 1 + az −1 + (az −1 )2 + · · ·
z−a 1 − az −1
z za−1 −za−1
U2 (z) = = −1 =
z−a za − 1 1 − za−1
= (−za )[1 + (za ) + (za−1 )2 + · · · ], since |za−1 | < 1
−1 −1
{u(n)} ↔ U (z)
From this observation it is clear that in specifying the Z-transform of a signal, both the
algebraic expression and the range of values of z for which the expression is valid are
required. In general, as mentioned earlier, the range of values of z for which the sum
in the Z-transform converges absolutely is referred to as the ROC of the Z-transform.
It is convenient to describe ROC with respect to coordinate axes with the real part
of the complex number being on the abscissa and the imaginary part on the ordinate,
see Fig. 4.2.2 Such a plane is referred to as the z plane. Since the condition |z| > |a|
refers to the region outside the circle of radius |a| with centre at the origin, ROC for
u1 is shown on the left by shaded lines. Similarly, ROC for u2 is shown on the right.
Example 4.1 Let us now consider a signal that is the sum of two real
exponentials:
n n
1 1
u(n) = 1(n) + 1(n)
2 3
2 We will abbreviate imaginary as Im and real as Re throughout this book.
66 4. Z-Transform
Im( z ) Im (z )
|
|a
Re( z ) Re( z )
Figure 4.2: Region of convergence of u1 (n) = an 1(n) (left) and u2 (n) = −an 1(−n − 1)
(right), shown with shaded lines, on the z plane
The Z-transform is
∞ n n
1 1
U (z) = 1(n) + 1(n) z −n
n=−∞
2 3
∞ n ∞ n
1 1
= 1(n)z −n + 1(n)z −n
n=−∞
2 n=−∞
3
∞ n ∞ n
1 1
= z −n + z −n
n=0
2 n=0
3
∞ n ∞ n
1 −1 1 −1
= z + z
n=0
2 n=0
3
Notice that the first and the second sums are, respectively,
1 1 1 1
1 −1 for |z| > , 1 −1 for |z| >
1− 2z
2 1− 3z
3
Im(z)
×× Re(z)
n
n
Figure 4.3: Pole–zero plot for 12 + 13 1(n), studied in Example 4.1. The poles
are indicated by × and zeros by ◦.
where N (z) is the numerator polynomial and D(z) stands for the denominator
polynomial. When U (z) is of this form, it is referred to as a rational function
of z. In the above example, we have seen that the sum of the Z-transform of two
exponentials also is a rational. This property holds as long as we have a finite number
of exponentials. In the above equation, if we assume that N (z) is a polynomial of
degree n, we can write it as
N (z) = K1 (z − z1 )(z − z2 ) . . . (z − zn )
N (z) and hence U (z) become zero at z = zi , i = 1, . . . , n, which are the roots of the
equation N (z) = 0. As at these values U (z) becomes zero, zi , i = 1, . . . , n, are known
as the zeros of U (z). Similarly if D(z) is a polynomial of degree m, we can write it as
D(z) = K2 (z − p1 )(z − p2 ) . . . (z − pm )
z0 z0
|z0 | |z0 |
|z|
|z|
z z
Figure 4.4: ROC has rings (left). Larger rings belong to ROC.
z 2 (z − 1)
U (z) = , |z| > 0.6
(z − 0.6)3
there is a pole of order 3 at z = 0.6, a simple zero at z = 1 and a second order zero
at z = 0.
When the degree of the numerator polynomial is less than or equal to that of the
denominator polynomial, we describe the transfer function as proper. For example, if
dN ≤ dD in Eq. 4.6, we describe U as proper. Here, the prefix d denotes degree of.3
If, instead, the degree is strictly less, i.e., dN < dD, we describe U as strictly proper.
Finally, if the degree of N is higher than that of D, i.e., dN > dD, it is improper.
We will refer to the sequence {u(n)} and its Z-transform U (z) as Z-transform pair.
We will use the symbol ↔ to indicate that one came from the other. We will indicate
all of these by writing u(n) ↔ U (z).
Before concluding this section, it is emphasized that the Z-transform is defined so
as to represent an infinite sum in a compact way. If the sequence that is Z-transformed
is a growing (unbounded) one, it is handled by choosing ROC appropriately, so as to
make |z| sufficiently large.4
ROC has rings: ROC of U (z) consists of a ring in the z plane centred around the
origin. The claim is that if a point r0 ejφ on a circle of radius r0 belongs to ROC, then
all points r0 ejθ where θ is arbitrary will also belong to ROC, see the diagram on the
left-hand side of Fig. 4.4. Let us start with the definition of the Z-transform of U (z):
3 The
prefix d will denote the degree of the polynomial that follows.
4 Thus
the compactness of the Z-transform has nothing to do with whether the sequence is growing
or bounded.
4.1. Motivation and Definition of Z-Transform 69
∞
U (z) = u(n)z −n
n=−∞
ROC has no pole: No pole can be present within ROC. This is because, at a pole,
the Z-transform is infinite and hence, by definition, does not converge.
ROC for causal systems: Suppose {g(n)} is causal. If the circle |z| = r0 is in
ROC then all z for which |z| > r0 will also belong to ROC, see the diagram on the
right-hand side of Fig. 4.4.
This is because the larger the radius of z, the smaller will be the sum, thanks to
the negative powers of z. We will now demonstrate this. G(z) is of the form g(0) +
g(1)z −1 + g(2)z −2 + · · · . This shows that whenever z ∈ ROC, z cannot be zero. From
this it follows that r0 > 0. Because z0 ∈ ROC,
∞
|g(n)z0−n | < ∞
n=0
We have shown that all z such that |z| > |z0 | belongs to ROC. It is clear that ROC
includes limz→∞ as well. We say that larger circles belong to ROC.
Using the above discussed properties, we now proceed to prove two extremely
useful properties.
Poles of stable systems: If a system with impulse response g(n) is causal and
unit disc |z| < 1.
stable, the poles of G(z) will be inside the
∞
As g(k) is causal and stable, we have k=0 |g(k)| < ∞. From the expression for
the Z-transform of {g(n)},
∞
G(z) = g(k)z −k
k=0
70 4. Z-Transform
we obtain
∞
∞
∞> |g(k)| = g(k)z −k
z=1
k=0 k=0
Thus, there is absolute convergence at |z| = 1. In other words, the unit circle belongs
to ROC. Because larger circles belong to ROC for causal sequences, all points outside
the unit circle also belong to ROC. From the property of the poles, the unit circle or
the region outside of it does not contain the poles and thus the poles should lie inside
the circle.
By the definition of δ, there is only one nonzero term in the above infinite
summation. In view of this, we obtain
δ(n) ↔ 1 (4.7)
Because the above expression is true for all values of z, ROC includes all of the z
plane.
Example 4.3 Find the Z-transform of the unit step sequence {1(n)}.
Note that 1(n) is nothing but u1 (n) with a = 1 in Sec. 4.1.2. As a result, we
obtain
z
1(n) ↔ , |z| > 1 (4.8)
z−1
Recall from Example 4.2 that there is no restriction on z for the Z-transform of
the impulse function. But this is not true in the case of step functions.
4.2. Z-Transform Theorems and Examples 71
4.2.1 Linearity
The Z-transform of a linear combination of sequences is the same linear combination
of the Z-transform of individual sequences:
Z [α{u1 (n)} + β{u2 (n)}] = αU1 (z) + βU2 (z)
where u1 (n) ↔ U1 (z) and u2 (n) ↔ U2 (z), with α and β as arbitrary scalars.
The left-hand side is given by
∞
∞
∞
[αu1 (n) + βu2 (n)] z −n = αu1 (n)z −n + βu2 (n)z −n
n=−∞ n=−∞ n=−∞
6z 2 + 2z
U2 (z) = , |z| > 3
(z − 1)(z + 3)
This shows that the region outside of the circle with radius 3 lies in ROC.
Now we will demonstrate with an example that it is not always necessary for the
Z-transform of a sequence to exist.
The Z-transform of the first term is z/(z − 1) for |z| > 1. The Z-transform of the
second term is now calculated:
∞
0 ∞
0.5n 1(−n) z −n = 0.5n z −n = (0.5−1 z)m
n=−∞ n=−∞ m=0
1 −1
= , 0.5 z < 1
1 − 0.5−1 z
0.5
= , |z| < 0.5
0.5 − z
ROCs of the first and second terms are, respectively, |z| > 1 and |z| < 0.5, which
are mutually exclusive. Thus the Z-transform for this example does not exist.
This example is presented just to prove the point that we cannot take the existence
of the Z-transform for granted. Fortunately, however, we will not come across this
situation again in this book, as the signals of interest to us have Z-transforms.
Example 4.8 Find the Z-transform of cos ωn 1(n) and sin ωn 1(n). Since the
Z-transform is easy to obtain for sequences of the form an , Euler’s identity helps
achieve precisely this:
! "
Z [cos ωn + j sin ωn] = Z ejωn
4.2. Z-Transform Theorems and Examples 73
Im(z) Im(z)
× ×
Re(z) Re(z)
× ×
Figure 4.5: Poles and zeros of cos ωn 1(n) (left) and sin ωn 1(n) (right)
! "
Comparing real and! imaginary
" parts, we obtain Z [cos ωn] = Re Z ejωn and
Z [sin ωn] = Im Z ejωn . Let us now evaluate the Z-transform of ejωn :
∞
∞
Z ejωn 1(n) = ejωn z −n 1(n) = ejωn z −n
n=−∞ n=0
z jω
= , |z| > e = 1
z − ejω
z(z − e−jω )
=
(z − ejω )(z − e−jω )
z(z − cos ω + j sin ω)
=
(z − ejω )(z − e−jω )
z(z − cos ω) z sin ω
= −jω
+j
(z − e )(z − e
jω ) (z − e )(z − e−jω )
jω
Notice that the zeros of (cos ωn)1(n) are at 0 and cos ω while the poles are at
e±jω . The zero of (sin ωn)1(n) is at 0 and its poles are at e±jω . Pole–zero plots
of these two functions are given in Fig. 4.5.
4.2.2 Shifting
The Z-transform of a shifted sequence is given as follows:
Z [u(k + d)] = z d U (z) (4.9)
74 4. Z-Transform
Example 4.9 If
{u(n)} ↔ U (z)
then
In Example 3.5 on page 41, we have explained that the time at which we specify
the condition may determine the causality. We will continue this discussion here.
Example 4.10 Calculate the Z-transform of Eq. 3.14 on page 42 and Eq. 3.16.
Expanding the summation in Eq. 3.14, we obtain
y(n) = u(n) + au(n − 1) + a2 u(n − 2) + · · ·
Making use of the linearity and the shifting property, we take the Z-transform of
both sides to obtain
Once again, we make use of the linearity and the shifting properties, take the
Z-transform of both sides and obtain
The condition on U (z) assures that the only possible pole of U (z) not strictly
inside the unit circle is a simple pole at z = 1, which is removed in (z − 1)U (z).
This allows the important situation of stable systems being excited by a unit step
signal. Moreover, the fact that U (z) is finite for arbitrarily large z implies that u(k)
is causal. As u(∞) is bounded we can evaluate the following expression, which has an
extra u(−1) = 0:
u(1) = −u(−1) + u(0) − u(0) + u(1)
u(2) = −u(−1) + u(0) − u(0) + u(1) − u(1) + u(2)
lim u(k) = −u(−1) + u(0) −u(0) + u(1) −u(1) + u(2) − · · ·
k→∞
∆u(0) ∆u(1) ∆u(2)
With the definition ∆u(k) = u(k) − u(k − 1), the above equation can be written as
Because it is a causal sequence, ∆u(k) = 0 for all k < 0. Thus, we can extend the
sum and obtain
∞
lim u(k) = lim ∆u(k)z −k
k→∞ z→1
k=−∞
Note that we can write the right-hand side also as limz→1 (z − 1)U (z).
Example 4.11 Using the final value theorem, calculate the steady state value
of (0.5n − 0.5)1(n) and verify that it agrees with the direct result.
We will start with the pair
z 0.5z
(0.5n − 0.5)1(n) ↔ − , |z| > 1
z − 0.5 z − 1
It is easy to see that as n → ∞, the left-hand side becomes −0.5. We can also
apply the final value theorem, by multiplying the right-hand side by (z − 1)/z and
taking the limit as z → 1. When we do this, only the second term is nonzero. We
obtain
z − 1 0.5z
lim (z − 1)RHS = − lim = −0.5
z→1 z→1 z z−1
where RHS denotes right-hand side. We see that the two approaches give identical
results.
4.2. Z-Transform Theorems and Examples 77
Example 4.12 Find the initial value and final value of a causal sequence whose
Z-transform is given by
0.792z 2
U (z) =
(z − 1)(z 2 − 0.416z + 0.208)
and verify.
0.792z 2
Initial Value = lim U (z) = =0
z→∞ z3
0.792
Final Value = lim (z − 1)U (z) = =1
z→1 1 − 0.416 + 0.208
We will verify these results as follows. Expanding the expression for U (z) by long
division, we obtain
The next example shows the importance of the preconditions required to be satisfied
for the application of the final value theorem.
Example 4.13 Is it possible to use the final value theorem on 2n 1(n)?
z
2n 1(n) ↔ , |z| > 2
z−2
Since the right-hand side is valid only for |z| > 2, the theorem cannot even be
applied. On the left-hand side, we have a growing sequence without a limit; this
once again violates the conditions of the theorem. Thus, the final value theorem
cannot be used.
We conclude this section with the observation that the final value theorem for causal
signals cannot be used for growing sequences.
4.2.6 Convolution
Recall that while motivating the Z-transform, we showed with an example that the
product of the Z-transform of two sequences gives the same result as the convolution
of the said sequences. Now we will generalize this result. If U (z) and G(z) are
Z-transforms of {u(n)} and {g(n)}, respectively, then U (z)G(z) is the Z-transform
of {u(n)} ∗ {g(n)}. In other words, if u(n) ↔ U (z) and g(n) ↔ G(z), then
g(n) ∗ u(n) ↔ G(z)U (z) (4.15)
Let y(n) = g(n) ∗ u(n). Using the definition of convolution, we obtain
∞
y(n) = g(k)u(n − k)
k=−∞
78 4. Z-Transform
∞
∞
∞
∞
Y (z) = g(k)u(n − k)z −n = g(k)z −k u(n − k)z −(n−k)
n=−∞ k=−∞ k=−∞ n=−∞
∞
∞
Y (z) = g(k)u(n − k)z −n
n=0 k=0
With m = n − k,
∞
∞
∞
∞
Y (z) = g(k)z −k u(n − k)z −(n−k) = g(k)z −k u(m)z −m
k=0 n=0 k=0 m=−k
∞
∞
Y (z) = g(k)z −k u(m)z −m
k=0 m=0
which is nothing but the right side of Eq. 4.15. It is possible to show the ROC condition
for convolved sequences, see Problem 4.10.
Example 4.14 Determine the step response of a system with impulse response
g(n) = 0.5n 1(n) using the convolution and Z-transform approaches.
First, we will evaluate the step response using the convolution approach:
∞
∞
y(n) = g(r)u(n − r) = 0.5r u(n − r)
r=−∞ r=0
∞ n
= 0.5r 1(n − r) = 1(n) 0.5r
r=0 r=0
Note that 1(n) appears in the last expression, because, for negative n, the previous
summation is zero. As this is a geometric progression, we obtain
1 − 0.5(n+1)
y(n) = 1(n) = (2 − 0.5n )1(n)
1 − 0.5
4.2. Z-Transform Theorems and Examples 79
where we have assumed |z| > 1. On multiplying these two expressions, we obtain
1 1
Y (z) = G(z)U (z) = , |z| > 1
1 − z 1 − 0.5z −1
−1
Note that we have taken ROC to be |z| > 1, which lies in ROC of both G and U . A
procedure to handle expressions such as the one obtained above will be explained
in Sec. 4.4. For the time being, it is easy to check that the above expression is
equivalent to
2 1
Y (z) = −1
− , |z| > 1
1−z 1 − 0.5z −1
On inverting this expression, we obtain
4.2.7 Differentiation
We have the following useful result that deals with derivatives:
u(n) ↔ U (z) with ROC = Ru then
dU (z) (4.16)
nu(n) ↔ −z with ROC = Ru
dz
Differentiating the Z-transform of u(n), we obtain
∞ ∞ ∞
dU (z) d
= u(n)z −n = − nu(n)z −n−1 = −z −1 nu(n)z −n
dz dz n=−∞ n=−∞ n=−∞
Therefore,
∞
dU (z)
−z = nu(n)z −n
dz n=−∞
which is what we have to show. We will present an example to illustrate this approach.
80 4. Z-Transform
dU (z) az −1
−z = , |z| > |a|
dz 1 + az −1
We need to find the inverse Z-transform of the right-hand side. But we know that
1
(−a)n 1(n) ↔ , |z| > |a|
1 + az −1
az −1
a(−a)n−1 1(n − 1) ↔ , |z| > |a|
1 + az −1
The left-hand side is equal to −(−a)n 1(n − 1). By Eq. 4.16, it should be equal to
nu(n). Equating the two, we obtain
1
u(n) = − (−a)n 1(n − 1)
n
∞
(p − 1)!z
= n(n − 1) . . . (n − p + 2)an−p+1 z −n (4.18)
(z − a)p n=0
z
nan−1 1(n) ↔ , |z| > |a|
(z − a)2
2z (4.19)
n(n − 1)an−2 1(n) ↔ , |z| > |a|
(z − a)3
2z z z2 + z
n2 1(n) ↔ + = , |z| > 1
(z − 1)3 (z − 1)2 (z − 1)3
If a were not 1, the above approach could still be used, with a little more work. This
is illustrated in the next example.
If ROC of u is given by |z| > |a|, it implies that u(n) = an 1(n) and hence
∞
U (z) = an z −n = 1 + az −1 + a2 z −2 + a3 z −3 + · · ·
n=0
U (z −1 ) = 1 + az + a2 z 2 + a3 z 3 + · · ·
converges if |az| < 1 or |z| < |1/a|.
Now suppose an arbitrary signal {u(n)} is applied to such a system. The output
{y(n)} is given as
Because the above is a polynomial in z −1 , these systems are also known as all zero
systems, even though, when written in powers of z, G(z) has two poles at z = 0, as
can be seen from the following:
g0 z 2 + g1 z + g2
G(z) =
z2
In other words, the poles at z = 0 don’t count. IIR systems, also defined in Sec. 3.3.2,
have an infinite number of terms in the impulse response. The Z-transform of the
impulse response of these systems generally results in a ratio of two polynomials.
Indeed, all the impulse responses with infinite terms presented so far in this chapter
have given rise to a ratio of two polynomials. Transfer functions of the following type,
1
G(z) =
A(z)
4.3. Transfer Function 83
where A(z) is a polynomial in z −1 , are known as all pole systems. This is in spite of
the fact that when written as powers of z, G(z) will have zeros at z = 0.
z−1 z
lim y(n) = lim G(z) = G(1) (4.21)
n→∞ z→1 z z−1
where, as usual, y(n) is the response y at the sampling instant n. As a result, the
steady state gain of a stable system to a unit step input is simply G(1).
where G1 and G2 are respectively the Z-transforms of g1 and g2 . In the case of LTI
systems in series, their impulse responses are convolved. For example, from Fig. 3.9
on page 50, we obtain
Analysis of this system in the Z-transform domain is straightforward. As usual, let the
capitals indicate the Z-transform of the corresponding discrete time signal represented
with lower case letters. We obtain
G(z)Gc (z)
Y (z) = R(z)
1 + G(z)Gc (z)
G(z)Gc (z)
T (z) = (4.22)
1 + G(z)Gc (z)
The closed loop transfer function maps the reference input R(z) to the output variable
Y (z). An important objective in control design is to make T (z) well behaved. Using
similar arguments, the relation between the Z-transform of e(n) and r(n) is given by
where
1
S(z) = (4.24)
1 + G(z)Gc (z)
with
x(0) = x0 (4.27)
The state space model is defined only for n > 0. For example, the state equation, given
by Eq. 4.25, is not meant to be used to calculate x(0) by setting n = −1. Because
of this, the model does not clearly explain the state of the system before n = 0 and
what happens at the time of transition, namely at n = 0. Nevertheless, our definition
of Z-transform, given by Eq. 4.5 on page 65, requires values from −∞. As a result,
we are forced to explain what happens for n ≤ 0. As a first step, we rewrite the state
equation as suggested by [17]. We obtain
If, in addition, we assume that our system is initially at rest (see Sec. 3.1.3) and u(n)
is a causal sequence (see Sec. 3.3.5), the system is defined for all times, as we now
describe.
Causal sequence implies that u(n) = 0 for all negative n. Initial rest implies that
the state x(n) is zero for negative n. We will now evaluate the validity of Eq. 4.28 for
different values of n:
Thus Eq. 4.28 and the conditions of initial rest and causal u present a clear picture:
all the variables are zero prior to n = 0 and, somehow, x takes the value of x0 at
n = 0.
We are now in a position to take Z-transform of Eq. 4.28. We obtain
As in the scalar case, we have to make a choice for z once again. We choose z in such
a way that zI − A is invertible. This selection procedure is explained in Problem 4.11.
The first term on the right-hand side is due to nonzero input. The second term is due
to nonzero initial state. In Eq. 3.46 on page 56, we derived an expression for y(n) in
the time domain. Because Y (z) is the Z-transform of y(n), we see that the RHS of
the above equation is the Z-transform of RHS of Eq. 3.46. Comparing the zero state
response terms, we obtain
Example 4.18 Find the transfer function of the antenna control system,
discussed in Example 2.4 on page 25.
Because the initial conditions are zero, we obtain
δ ρ SALES(z)
FD(z) =
z − 1 + δρ
zδ(PRATE(z) − SALES(z))
INV(z) =
z−1
zδ(PREL(z) − PRATE(z))
WIP(z) =
z−1
(1 + Lα + β)FD(z) − α WIP(z) − β INV(z)
PREL(z) =
z
PREL(z)
PRATE(z) =
zL
Solving the equations simultaneously, we obtain the following relation between
PREL and SALES:
PREL(z) z L δ[(z − 1)(1 + Lα)ρ + β(z − 1 − ρ + zρ + δρ)]
= (4.30)
SALES(z) [z L+1 + (β − α)δ + z L (αδ − 1)](z − 1 + δα)
B(z)
G(z) =
A(z)
with dB ≤ dA, where d denotes the degree of the polynomial. Suppose that A is given
by
Form the entries as in Table 4.1. Here, the first row consists of the coefficients from
Eq. 4.31. The coefficients in the second row have been obtained by reversing those in
the first row. The third row is obtained by multiplying the second row by bn = an /a0
and subtracting it from the first row. It is easy to see that the last coefficient in the
third row will be zero. As a result, only the rest of the elements have been written in
the third row. The fourth row is obtained by reversing the third row. The fifth row
(not shown) is obtained by multiplying the fourth row by bn−1 and subtracting from
the third row. Here, bn−1 is the ratio of the last entry of third row to the fourth row.
88 4. Z-Transform
a0 a1 ··· an−1 an
an an−1 ··· a1 a0 bn = an /a0
an−1
0 an−1
1 ··· an−1
n−1
an−1
n−1 an−1
n−2 ··· an−1
0 bn−1 = an−1
n−1 /a0
n−1
..
.
a00
As a result, the fifth row is one term shorter than the third or fourth row. This process
is continued until only the first entry in a row is nonzero.
Jury’s stability rule can be stated as follows. If a0 > 0, Eq. 4.31 has all its roots
0 > 0, where m = 0, 1, . . . , n − 1. If no a0 is zero,
inside the unit circle if and only if am m
m
the number of negative a0 is equal to the number of roots outside the unit circle.
We illustrate Jury’s stability criterion with an example.
Example 4.20 Determine the stability region for the transfer function obtained
in Example 4.19 with L = 2, ρ = 1 and δ = 1.
With L, ρ and δ as chosen above, Eq. 4.30 becomes
PREL(z) z [(z − 1)(1 + 2α) + β(2z − 1)]
=
SALES(z) z 3 + (α − 1)z 2 + (β − α)
n = 3, a1 = α − 1, a2 = 0, a3 = β − α
Jury’s table is constructed as in Table 4.2, where we have shown only the first six
rows. Jury’s table ends with one more row with the following entry:
2
(β−α)(α−1)2
(β − α) (α − 1)
2 2 (α − 1) + 1−(β−α)2
1 − (β − α)2 − − (4.33)
1 − (β − α)2 2
1 − (β − α) − (β−α) (α−1)
2
2
2
1−(β−α)
(β − α)2 (α − 1)2
a10 = 1 − (β − α)2 − >0
1 − (β − α)2
4.4. Inverse of Z-Transform 89
Table 4.2: Jury’s table for the problem discussed in Example 4.20
1 α−1 0 β−α
β−α 0 α−1 1
1 − (β − α)2 α−1 −(β − α)(α − 1)
−(β − α)(α − 1) α−1 1 − (β − α)2
(β − α)2 (α − 1)2 (β − α)(α − 1)2
1 − (β − α)2 − (α − 1) +
1 − (β − α)2 1 − (β − α)2
(β − α)(α − 1)2 (β − α)2 (α − 1)2
(α − 1) + 1 − (β − α)2 −
1 − (β − α)2 1 − (β − α)2
and that the expression given in Eq. 4.33 is greater than zero. We have mentioned
in Sec. 2.3.2 that we have to assign the values of α and β so as to achieve a
certain performance. One such performance indicator is stability: these parameters
have to be chosen so as to make the system stable.
Although the conditions for stability look complicated, we can make some quick
observations. For example, if we choose α = 0 and β = 1, a20 becomes 0, violating
the condition for stability. This implies that even if we make a complete account
of the shortcoming in the inventory (β = 1), if we ignore the work in process
(α = 0), the system will become unstable. Often it is difficult to get information
on the work in process and hence one may like to ignore this factor. The above
analysis suggests that it is suicidal to do so. For more details on how such an
approach is used in supply chain problems, the reader should refer to studies such
as [58] or [14].
A symbolic computing program is usually used for this purpose. An alternative
approach is to assign values for the model parameters and to calculate the zeros
of the characteristic equation, using a Matlab routine such as roots. In other
words, one assigns values for α and β in Eq. 4.32, finds the roots, and repeats this
procedure.
Example 4.21 How would you implement a system, whose transfer function is
given by G(z) = 1/(1 − 0.5z −1)?
Let the input and the output be e(n) and y(n), respectively. We have
1
U (z) = G(z)E(z) = E(z)
1 − 0.5z −1
90 4. Z-Transform
Cross multiplying,
Inverting,
This equation says that the current output u(n) is a sum of the previous output
u(n − 1) and the current input e(n). This is a popular way to implement transfer
functions in real life.
Let us multiply both sides by z n−1 and integrate over a closed contour within ROC
of U (z); let the contour enclose the origin. We have
# # ∞
U (z)z n−1 dz = u(k)z n−1−k dz
C C k=−∞
Here, C is any contour that encloses the origin. Using the above equation, the right-
hand side of Eq. 4.35 becomes 2πju(n) and hence we obtain the formula
#
1
u(n) = U (z)z n−1 dz (4.37)
2πj C
Depending on the nature of U (z), the above integral can be simplified further. The
Cauchy residue theorem can be used for this. Let f (z) be a function of the complex
variable z and let C be a closed contour in the z plane. If the derivative df /dz exists
on and inside the contour C and if f (z) has no pole at z = z0 , then
#
1 f (z) f (z0 ) if z0 is inside C
= (4.38)
2πj C z − z0 0 if z0 is outside C
If the (m + 1)th order derivative of f (z) exists and if f (z) has no pole at z = z0 , then
#
1 dm−1 f (z)
if z0 is inside C
dz = (m − 1)! dz m−1 z=z0
1 f (z)
(4.39)
2πj (z − z0 )m
0 if z0 is outside C
We can use Eq. 4.38 and Eq. 4.39 to determine the values of useful contour integrals.
For example, suppose that the integrand of the contour integral is G(z) = f (z)/A(z),
where f (z) has no pole inside the contour and A(z) is a polynomial with simple zeros
at zk , n ≥ k ≥ 1. Then, the contour integral is given by
# # n
n #
1 f (z) 1 fk (z) 1 fk (z)
dz = dz = dz
2πj A(z) 2πj z − zk 2πj z − zk
k=1 k=1
(4.40)
n
= fk (zk )
k=1
where
f (z)
fk (z) = (z − zk )G(z) = (z − zk ) (4.41)
A(z) z=zk
We call fk (z) the residue at the pole zk . Thus, the contour integral is the sum of the
residues of all the poles inside the contour. When higher order poles are present, one
will have to make use of Eq. 4.39.
Example 4.22 Using the contour integration approach, calculate the inverse
Z-transform of
1
U (z) = , |z| > |a|
1 − az −1
92 4. Z-Transform
where C is a circle of radius > |a|. We will first convert all the terms into
polynomials in z:
#
1 zn
u(n) = dz (4.42)
2πj z−a
Let us evaluate this using the Cauchy residue theorem, stated in Eq. 4.38. Because
|z| > a is ROC, the closed contour, which is in ROC, will enclose the pole at z = a.
We will have to consider two cases, one for n ≥ 0 and another for n < 0. For
n < 0, z n will give rise to a simple or a multiple pole at z = 0.
n ≥ 0: f (z) = z n , which has no pole at z = a (z0 = a), and hence, using
Eq. 4.38, we obtain
u(n) = f (a) = an
n < 0: z n has an nth order pole at z = 0, which is also inside C. Thus we have
poles at z = 0 and at z = a. In Eq. 4.37, we will substitute n = −1, −2, . . . ,
evaluate each integral and thus obtain values of u at these negative n values.
For n = −1,
#
1 1
u(−1) = dz
2πj C z(z − a)
The right-hand side is once again equal to the sum of the residues at z = a
and at z = 0. For the first integral, we use Eq. 4.38 and for the second, we
use Eq. 4.39 to obtain
1 1 d 1
u(−2) = 2 +
a (2 − 1) dz z − a z=0
We can continue this procedure and find that u(n) = 0, ∀n < 0. As a result, we
obtain u(n) = an 1(n), as expected.
In the above example, we have taken ROC as |z| > |a|. From Sec. 4.1.2, we know that
we should obtain a different answer if ROC is taken as |z| < |a|. We will illustrate
this in the next example.
Example 4.23 Using the contour integration approach, calculate the inverse
Z-transform of
1
U (z) = , |z| < |a|
1 − az −1
The closed contour, which has to be inside ROC, will be inside the circle of radius
|a|. As a result, the contour integral in Eq. 4.42 will have poles only at z = 0, and
that too when n < 0. When n ≥ 0, there will be no pole inside the closed contour
and hence u(n) = 0. We will now carry out the calculations for n < 0.
For n = −1, we obtain
#
1 1 1
u(−1) =
2πj zz−a
Using the Cauchy residue theorem, we obtain
1 1
u(−1) = =−
z − a z=0 a
For n = −2, we obtain
#
1 1 1
u(−2) =
2πj z2 z − a
Using the Cauchy residue theorem, we obtain
d 1 −1 1
u(−2) = = =− 2
dz z − a z=0 (z − a)2 z=0 a
For n = −3, we obtain
1 d2 1 1
1
u(−3) = = =− 3
2! dz z − a z=0
2 (z − a) z=0
3 a
In summary, we obtain u(n) = −an 1(−n − 1). Thus, the results of this example
and Example 4.22 are in agreement with the results of Sec. 4.1.2.
We would like to remark that depending on ROC and therefore the selection of
the closed contour, we would obtain different inverse Z-transforms. Signal processing
books, such as [49], state the condition on the contour in a general way, so as to
accommodate noncausal transfer functions as well. Control texts, such as [44], on the
other hand, make the contour enclose all poles of the transfer function, thus ensuring
that the result of contour integration is a causal sequence.
The contour integration approach is especially suitable when we want to find the
inverse at a few points only. In the next section, we will present a simpler and a more
popular method of determining the inverse Z-transform.
94 4. Z-Transform
We will now present a few examples to illustrate this approach, before taking up the
case of multiple poles.
2z 2 + 2z
Y (z) = , |z| > 3
z 2 + 2z − 3
4.4. Inverse of Z-Transform 95
Y (z) 2z + 2 A B
= = + (4.45)
z (z + 3)(z − 1) z+3 z−1
with the region of convergence being |z| > 3. Multiply throughout by z + 3 and
let z = −3 to obtain
2z + 2 −4
A= = =1
z − 1 z=−3 −4
Y (z) 1 1
= + , |z| > 3
z z+3 z−1
z z
Y (z) = + , |z| > 3 (4.46)
z+3 z−1
M 4.6 sets up the problem discussed in this example and invokes M 4.5 to obtain
the result. M 4.5 divides Y (z) by z and carries out the residue computation.
In the next example, we will see another approach to solve this problem.
2z 2 + 2z
Y (z) = , |z| > 3
z2+ 2z − 3
after splitting it into a strictly proper transfer function.
Because the degrees of the numerator and the denominator polynomials are equal,
we can begin by dividing, as follows:
−2z + 6
Y (z) = 2 +
z 2 + 2z − 3
We define
−2z + 6 −2z + 6 A B
Y1 (z) = = = + (4.47)
z 2 + 2z − 3 (z + 3)(z − 1) z+3 z−1
96 4. Z-Transform
We will now describe how to calculate the residues A and B. Multiply the above
equation by z − 3, cancel common terms and let z = 3 to obtain
−2z + 6 12
A= = = −3
z − 1 z=−3 −4
3 1
Y (z) = 2 − +
z+3 z−1
Because the inverse Z-transform of z/(z + 3) is (−3)n 1(n), using the shifting
property of Sec. 4.2.2 we see that 1/(z + 3) has the inverse Z-transform
(−3)n−1 1(n − 1). The same approach is to be used for the third term in the
above equation as well. The inverse of Y (z) is obtained as
Note that we can write 2δ(n) = (−3)0 δ(n) + 10 δ(n). Substituting this in the
above expression and using the fact that 1(n) = δ(n) + 1(n − 1), we obtain
Now, we will take up the case of repeated poles. From Eq. 4.19 on page 80, we
see that it is useful to have z in the numerator of fractions with multiple poles as
well. In view of this, when we have multiple poles, we look for an expansion of the
following form:
Y (z) N (z)
=
z (z − α)p D1 (z)
where α is not a root of N (z) and D1 (z) is a polynomial not containing α as its zero.
On expanding this in partial fractions, we obtain
Y (z) A1 A2 Ap
= + + ···+ + G1 (z)
z z − α (z − α)2 (z − α)p
Y (z)
(z − α)p = A1 (z − α)p−1 + A2 (z − α)p−2 + · · · + Ap + G1 (z)(z − α)p
z
(4.48)
4.4. Inverse of Z-Transform 97
Substituting z = α, we obtain
pY (z)
Ap = (z − α)
z z=α
Substituting m = p − 1, we obtain
1 dp−1
p Y (z)
A1 = (z − α)
(p − 1)! dz p−1 z z=α
Y (z) z+1 A B C
= = + + (4.49)
z (z − 1)3 z − 1 (z − 1)2 (z − 1)3
Now we will consider a transfer function Y (z) with two poles: one is a simple pole
and the other has multiplicity two. If Y (z) is not divisible by z, we can proceed with
the methods developed earlier, but without first dividing by z. We illustrate this also
in the next example.
B A1 A2
Y (z) = + +
z − 2 z − 1 (z − 1)2
Thus we obtain
20 9 2
Y (z) = − −
z − 2 z − 1 (z − 1)2
20z 9z 2z
zY (z) = − −
z − 2 z − 1 (z − 1)2
To invert the last term, we make use of Eq. 4.19 on page 80. After inverting and
making use of the shifting theorem of Sec. 4.2.2, we arrive at
If Y (z) is proper, but not divisible by z, we have to divide the numerator by the
denominator and then carry out the partial fraction expansion, to be illustrated in
the next example.
4.4. Inverse of Z-Transform 99
(z 3 − z 2 + 3z − 1)
Y (z) =
(z − 1)(z 2 − z + 1)
Because it is proper, we first divide the numerator by the denominator and obtain
z(z + 1)
Y (z) = 1 + = (1 + Y (z))
(z − 1)(z 2 − z + 1)
Note that complex poles or complex zeros, if any, would always occur in conjugate
pairs for real sequences, see Problem 4.13. We obtain
2 1 1
Y (z) = − −
z − 1 z − ejπ/3 z − e−jπ/3
2z z z
Y (z) = − −
z − 1 z − ejπ/3 z − e−jπ/3
π
↔ 2 − ejπk/3 − e−jπk/3 1(k) = 2 − 2 cos k 1(k)
3
Recall the fact that Y (z) = 1 + Y (z). Because the inverse Z-transform of 1 is
δ(k), we obtain
π
y(k) = δ(k) + 2 − 2 cos k 1(k)
3
For the sake of completeness, we will now take an example where ROC lies in a
ring.
Example 4.29 Determine the inverse Z-transform of
z 2 + 2z
Y (z) = , 1 < |z| < 2
(z + 1)2 (z − 2)
As the degree of the numerator polynomial is less than that of the denominator
polynomial, and as it has a zero at the origin, first divide by z and do a partial
fraction expansion:
Y (z) z+2 A B C
= = + +
z (z + 1)2 (z − 2) z + 1 (z + 1)2 z−2
100 4. Z-Transform
Y (z) 4 1 1 1 4 1
=− − +
z 9 z + 1 3 (z + 1)2 9z−2
Because it is given to be the annulus 1 < |z| < 2, and because it does not contain
the poles, ROC should be as follows:
4 z 1 z 4 z
Y (z) = − − +
9 z + 1 3 (z + 1)2 9z−2
|z|>1 |z|<2
We make use of Eq. 4.19 on page 80 to invert the second term and the results of
Sec. 4.1.2 to invert the third term. We obtain the inverse as
4 1 4
y(n) = − (−1)n 1(n) + n(−1)n 1(n) − 2n 1(−n − 1)
9 3 9
M 4.9 shows how to solve this problem through Matlab.
3 − 56 z −1 1
Y (z) =
, |z| >
1 − 14 z −1 1 − 13 z −1 3
A note on the notation used here is in order. Even though the right-hand side is a
function of z −1 , we call it a function of z only.5
There are two poles, one at z = 13 and one at 14 . As ROC lies outside the outermost
pole, the inverse transform is a right handed sequence:
3 − 56 z −1 A B
Y (z) =
= + (4.51)
1 − 14 z −1 1 − 13 z −1 1 − 14 z −1 1 − 13 z −1
Now we will present another method of inversion. In this, both the numerator and
the denominator are written in powers of z −1 and we divide the former by the latter
through long division. Because we obtain the result in a power series, this method is
known as the power series method. We illustrate it with an example.
Example 4.31 Invert the following transfer function by the power series
method:
1
Y (z) = , |z| > |a|
1 − az −1
Now the method of long division is applied:
1 + az −1 + a2 z −2 + · · ·
1 − az −1 | 1
1 −az −1
az −1
az −1 −a2 z −2
a2 z −2
To summarize,
1
= 1 + az −1 + a2 z −2 + · · · (4.52)
1 − az −1
from which it follows that
y(n) = 0, n<0
y(0) = 1
y(1) = a
y(2) = a2
Generalizing,
y(n) = an 1(n)
which is in agreement with the result obtained in Sec. 4.1.2.
102 4. Z-Transform
In the next example, we will explain how to carry out long division in Matlab.
Example 4.32 Obtain a long division solution of Example 4.27 through Matlab.
In Example 4.27, we have obtained the solution as y(0) = 0, and for n ≥ 1,
y(n) = −9 − 2(n − 1) + 20 × 2n−1 . Substituting for n we obtain y(1) = 11,
y(2) = 29, y(3) = 67 and y(4) = 145.
M 4.11 implements this in Matlab. The command filter provides numerical
values through long division. The command impulse provides the solution in a
graphical form.
How does one use the long division method for noncausal sequences? This is explained
in the next example.
−a−1 z − a−2 z 2 − · · ·
−az −1 + 1 | 1
1 −a−1 z
a−1 z
a−1 z +a−2 z 2
a−2 z 2
Taking the Z-transform of this system and using the notation, as mentioned in
Footnote 5 on page 100, we obtain
(1 + a1 z −1 )Y (z) = b1 z −1 U (z)
b1 z −1
Y (z) = U (z)
1 + a1 z −1
Using the power series method explained in Example 4.31 for causal systems, we
obtain
In the latter part of this book, we will design controllers to improve the
performance of plants of interest. We will often work with transfer functions of
the plant. As a result, control design techniques will give rise to controller transfer
functions. We cannot implement the controller if we know only its transfer function;
we need to derive its time domain equivalent. Deriving the time domain equivalent of
the transfer function is known as realization, as mentioned earlier. In the next section,
we will look at two approaches to obtaining the time domain equivalent of transfer
functions.
4.4.3 Realization
For discrete time systems, the time domain equivalent can be obtained by direct
inversion. Suppose that the transfer function to be inverted is given by G(z):
b0 + b1 z −1 + b2 z −2 + b3 z −3 + · · · B(z)
G(z) = = (4.53)
1 + a1 z −1 + a2 z −2 + a3 z −3 + · · · A(z)
If the input to this system is U (z) and the corresponding output is Y (z), we obtain
B(z)
Y (z) = U (z)
A(z)
Cross multiplying,
U(z)
b3 b2 b1
x3 x2 x1
+ z −1 + z −1 + z −1 Y (z)
Using the shifting theorem, given by Eq. 4.9 on page 73, the above equation becomes
Suppose that u is the input to and y the output from the controller, whose transfer
function is given by G(z). Then, the current control action at time instant n is
obtained as a function of previous control actions and current and previous inputs.
This approach is applicable only to discrete time systems.
In Sec. 3.4, we have shown how to obtain a transfer function, given the state space
description of a system. The next section is devoted to the inverse problem: how to
obtain a state space equivalent, given the transfer function? This is another way to
realize transfer functions.
Because most real life systems have at least one sample delay (see Sec. 3.4), we
will take b0 to be zero. The resulting expression can be realized as in Fig. 4.7, where
we have taken the numerator and denominator degrees to be 3. If the states xi are
ignored for the time being, it is easy to check that this figure is just an implementation
of Eq. 4.54.
Because the transfer function z −1 denotes a system with the input–output
equation y(n) = u(n − 1), a block containing z −1 is known as the delay block.
It is clear that if the output of a delay block is x1 (n), its input should be x1 (n + 1).
4.5. Matlab Code 105
Using this idea, we arrive at the following relations from Fig. 4.7, where the outputs
of the delay blocks are denoted as x1 , x2 and x3 :
y(k) = x1 (k)
x1 (k + 1) = x2 (k) + b1 u(k) − a1 x1 (k)
x2 (k + 1) = x3 (k) + b2 u(k) − a2 x1 (k)
x3 (k + 1) = b3 u(k) − a3 x1 (k)
This realization is known as the observer canonical form. It should be pointed out
that this state space realization is not unique. A way to arrive at another realization,
known as controller canonical form, is given in Problem 4.18. For other forms of
realization, the reader is referred to [24].
Matlab Code 4.2 To produce −(a)n 1(−n − 1), discussed in Sec. 4.1.2. This code is
available at HOME/Z-trans/matlab/aconv2.m
1 a = 0.9;
2 n = − 1 0 :2 0 ;
3 y = zeros ( s i z e ( n ) ) ;
7 HOME stands for http://www.moudgalya.org/dc/ – first see the software installation directions,
4 for i = 1 : length ( n )
5 i f n ( i )<=−1,
6 y ( i ) = −(a ˆn ( i ) ) ;
7 end
8 end
9 axes ( ’ F o n t S i z e ’ , 1 8 ) ;
10 o = stem ( n , y ) ;
11 set ( o ( 1 ) , ’ Marker ’ , ’ . ’ ) ;
12 l a b e l ( ’ u2 ’ , 1 8 , ’ Time ( n ) ’ , ’ − (0 .9 ) ˆn 1(−n−1) ’ , 1 8 )
Matlab Code 4.3 To produce pole–zero plots of the form of Fig. 4.3 on page 67.
This code is available at HOME/Z-trans/matlab/pz.m
1 % Pole zero plot
2 z = [0;5/12];
3 p = [1/2;1/3];
4 A = axes ( ’ F o n t S i z e ’ , 1 8 ) ;
5 [ hz , hp , h l ] = z p l a n e ( z , p ) ; % Get h a n d l e
6 set ( hz , ’ Ma r k e r Size ’ , 1 2 , ’ Co lo r ’ , [ 0 0 0 ] ) % S e t c o l o u r a n d size
7 set ( hp , ’ Ma r ker Size ’ , 1 2 , ’ c o l o r ’ , [ 0 0 0 ] )
8 l a b e l ( ’ Pole−Z e r o p l o t ’ , 1 8 , ’ Real ( z ) ’ , ’ Ima g ina r y ( z ) ’ , 1 8 )
Matlab Code 4.4 Discrete transfer function of the continuous state space system,
discussed in Example 4.18 on page 86. This code is available at
HOME/Z-trans/matlab/disc1.m
1 F = [0 0;1 −0.1]; G = [ 0 . 1 ; 0 ] ;
2 C = [ 0 1 ] ; D = 0 ; Ts = 0 . 2 ;
3 s y s = s s (F ,G, C,D) ;
4 s y s d = c2d ( sys , Ts , ’ zoh ’ ) ;
5 H = t f ( sysd )
Matlab Code 4.5 Computation of residues, useful for calculations in Sec. 4.4.2. This
code is available at HOME/Z-trans/matlab/respol.m
1 % This function computes residues for G( z )
2 % If G ( z ) =0 at z =0 , residues are calculated for G( z ) / z
3
Matlab Code 4.6 Partial fraction expansion for Example 4.24 on page 94. This
code is available at HOME/Z-trans/matlab/respol1.m
4.5. Matlab Code 107
1 % 2 z ˆ2 + 2z
2 % G( z ) = −−−−−−−−−−−−−−−
3 % z ˆ2 + 2z − 3
4
5 num = [ 2 2 0 ] ;
6 den = [ 1 2 − 3 ];
7 [ r e s , p o l ] = r e s p o l (num, den ) % respol is user defined
Matlab Code 4.7 Partial fraction expansion for Example 4.26 on page 97. This
code is available at HOME/Z-trans/matlab/respol2.m
1 % z ˆ2 + z A B C
2 % G( z ) = −−−−−−−−−−− = −−−−−−− + −−−−−−−−− + −−−−−−−−−
3 % (z − 1) ˆ3 (z − 1) (z − 1) ˆ2 (z − 1) ˆ3
4 num = [ 1 1 0 ] ;
5 den = conv ( [ 1 −1] ,conv ( [ 1 − 1 ] , [ 1 −1]) ) ; % poly multiplication
6 [ r e s , p o l ] = r e s p o l (num, den )
7
8 % % Output Interpretation :
9 % % res =
10 % % 0.0000 A = 0
11 % % 1.0000 B = 1
12 % % 2.0000 C = 2
13 % % pol =
14 % % 1.0000 (z − 1)
15 % % 1.0000 (z − 1) ˆ2
16 % % 1.0000 (z − 1) ˆ3
Matlab Code 4.8 Partial fraction expansion for Example 4.27 on page 98. This
code is available at HOME/Z-trans/matlab/respol3.m
1 % 11 z ˆ2 − 15 z + 6 A1 A2 B
2 % G( z ) = −−−−−−−−−−−−−−−−− = −−−−−−− + −−−−−−−−− + −−−−−−−
3 % (z − 2) (z − 1) ˆ2 (z − 1) (z − 1) ˆ2 (z − 2)
4
5 num = [ 1 1 −15 6 ] ;
6 den = conv ( [ 1 −2] ,conv ( [ 1 − 1 ] , [ 1 −1]) ) ;
7 [ r e s , p o l ] = r e s p o l (num, den ) % U s e r d e f i n e d function
8
9 % % res =
10 % % 20.0000 <−−−−−−
11 % % −9.0000 <−−−−−|−−−−−−−−
12 % % −2.0000 <−−−−−|−−−−−−−|−−−−−−−−
13 % % | | |
14 % % pol = | | |
15 % % 2.0000 <−−−−−− | |
16 % % 1.0000 <−−−−−−−−−−−−−− |
17 % % 1.0000 <−−−−−−−−−−−−−−−−−−−−−−
108 4. Z-Transform
Matlab Code 4.9 Partial fraction expansion for Example 4.29 on page 99. This
code is available at HOME/Z-trans/matlab/respol5.m
1 % z ˆ2 + 2z
2 % G( z ) = −−−−−−−−−−−−−−−−−−−−
3 % (z + 1) ˆ2 (z − 2)
4
5 num = [ 1 2 0 ] ;
6 den = conv ( conv ( [ 1 1 ] , [ 1 1 ] ) , [ 1 −2]) ;
7 [ r e s , p o l ] = r e s p o l (num, den )
Matlab Code 4.10 Partial fraction expansion for Example 4.30 on page 100. This
code is available at HOME/Z-trans/matlab/respol6.m
1 % Coefficients are in ascending power of z ˆ −1
2 % 3 − ( 5 / 6 ) z ˆ −1 A B
3 % G = −−−−−−−−−−−−−−−−−−−−−−−−−− = −−−−−−−−−−− + −−−−−−−−−−−
4 % ( 1 − ( 1 / 4 ) z ˆ −1) ( 1 − ( 1 / 3 ) z ˆ −1) 1 − ( 1 / 4 ) z ˆ −1 1 − ( 1 / 3 ) z ˆ −1
5
6 num = [ 3 − 5 / 6 ];
7 den = conv ( [ 1 − 1 / 4 ] , [ 1 −1/3]) ; % P o l y n o m i a l multiplication
8 [ r e s , po l , o t h e r ] = r e s i d u e z (num, den )
Matlab Code 4.11 Long division of the problems discussed in Example 4.32 on
page 102. This code is available at HOME/Z-trans/matlab/division.m
1 num = [ 1 1 −15 6 ] ;
2 den = conv ( [ 1 −2] , conv ( [ 1 − 1 ] , [ 1 −1]) ) ;
3 u = [ 1 zeros ( 1 , 4 ) ] ;
4 y = f i l t e r (num, den , u )
5 G = t f (num , den , −1)
6 i m p u l s e (G)
4.6. Problems 109
4.6 Problems
4.1. Find the Z-transform of the following and draw the pole–zero plot and ROC, if
the transform exists:
u(n) = an 1(n) ∗ bn 1(−n)
(a) Express the Z-transform of y(n) in terms of U (z). [Hint: Find the difference
y(n) − y(n − 1).]
(b) Use the convolution property to determine the Z-transform of y(n) in terms
of U (z). [Hint: If the right-hand side of the above equation can be written
as u(n) ∗ g(n), what is g(n)?]
4.4. Find the causal sequence, whose Z-transform is given by
1
G(z) =
(1 − az −1 )(1 − bz −1 )
where you can assume that a = b. Verify by computing g(0) and g(1) through
some other means.
4.5. The inverse Z-transform of
z 2 + 2z
G(z) =
(z + 1)2 (z − 2)
has already been computed for the case of 1 < |z| < 2 in Example 4.29 on
page 99. Now, find its inverse for two other cases: (a) |z| > 2; (b) |z| < 1.
4.6. Determine the inverse Z-transform of
4z 2 − 17z + 17
Y (z) = , |z| > 3
(z − 1)(z − 2)(z − 3)
4.7. Recall that the ratio test [25] is one possible way of determining if a series
is convergent. Use this test to show that the sequence {kpk } is absolutely
summable if |p| < 1. Will this test also work for a sequence of the form {k n pk },
|p| < 1? Take k ≥ 0.
4.8. Consider a right sided sequence u(n) with the Z-transform
1
U (z) = (4.57)
(1 − 12 z −1 )(1 − z −1 )
110 4. Z-Transform
∞
z
= nan−1 z −n
(z − a)2 n=0
2z
n(n − 1)an−2 1(n) ↔
(z − a)3
3!z
n(n − 1)(n − 2)an−3 1(n) ↔
(z − a)4
4.10. If
z ∈ ROCG ∩ ROCU
4.11. In Eq. 4.29 on page 85 we assumed the existence of (zI − A)−1 . Show that a
sufficient condition is given by |z| > A. [Hint: Key theorem 5.8 on page 169 of
[42] gives a sufficient condition for the existence of (I −A/z)−1 to be A/z < 1.]
z − a1
G(z) = , 0<a<1 (4.58)
z−a
4.13. This problem demonstrates a condition on complex poles of a real sequence [49].
Consider a real valued sequence u(n) with a rational Z-transform U (z).
4.6. Problems 111
U (z) = U ∗ (z ∗ )
where ∗ indicates complex conjugation. The RHS means: take the transform
with respect to z ∗ and then take the complex conjugate of the entire thing.
(b) From the result in part (a), show that if a pole of U (z) occurs at z = z,
then a pole must also occur at z = z ∗ . Show also that the same result is
true for zeros.
z − bejω1
(a) , |z| > |a|
z − aejω2
z − bejω1 z − be−jω1
(b) + , |z| > |b|
z − aejω2 z − ae−jω2
and determine whether the result is real. Explain.
4.15. Obtain the time domain equivalent of a system whose transfer function is
z 2 + 3z + 1
G(z) =
z 3 − 2z 2 + z + 1
Use the following two approaches:
(a) Consider
4.17. Suppose that in a sequence {u(k)}, u(k) = 0 for k < 0, i.e., u is causal. Let
N (z)
U (z) = , |z| > r0
D(z)
be its Z-transform with the degree of N (z) = n and the degree of D(z) = m.
112 4. Z-Transform
(a) Show that m = n if and only if u(0) = 0. Notice that you have to show
both the directions.
(b) Suppose that u(0) = 0, u(1) = 0. Then show that n = m − 1.
(c) Generalize the above result for u(k) = 0, 0 < k ≤ k0 .
If possible, give examples for each.
4.18. In this problem we obtain another realization of the transfer function given in
Eq. 4.53. We do this as follows:
(a) Show that the following relation can be arrived at from the transfer
function:
Show that
y(k)