Engineering Tripos Part IIA
Module 3F1 -- Signals and Systems
Discrete Time Systems (Lectures 1--6)
Handout 2
Rodolphe Sepulchre Oct 2013
Keith Glover Oct 2012
available on RS homepage
From Part I (lectures 1 to 3) to Part II (lectures 4 to 6)
• Part I was about ‘solving‘ Linear Time-Invariant
discrete-time systems. Both in the time domain and in
the z-transform domain.
• A main outcome of Part I is the observation
{z k }k2Z
LTI
(causal)
G(z) {z k }k2Z
this holds for z in the convergence domain of G(z)
• Part II is about using that property to ANALYSE and
DESIGN digital filters (without actually soving them)
2
The consequences of stability
From now one, we will assume that the system is stable
and that G(z) is a rational transfer function (i.e. defined
by N poles, M zeros, and a DC gain).
1. The magic formula holds for signals initialized at zero, modulo a transient response :
k
{z }k
0
LTI
causal
stable
1
X
gi z k
i
i=0
1
X
gi z k
i
i=k+1
G(z){z k }k
0
! 0, k ! +1
provided
|z|
1
3
The consequences of stability
2. The pulse response has a well defined Fourier transform and the system has a welldefined frequency response:
stability implies
1
X
i=0
{ej✓k }k
0
| gi |< 1 ) G(ej✓ )
LTI
causal
stable
exists for all
✓
G(ej✓k ){ej✓k }k
0
+ transient
A central property for engineers !
4
The consequences of stability
3. Also nonzero initial conditions have a transient effect:
Example: first-order filter
yk+1 = ayk + uk
Y (z) = G(z)y0 + G(z)U (z), G(z) =
Z
y0 a k
1
1
1
az
1
decays exponentially in time if the filter is stable.
(The example generalizes to filters of arbitrary order. Why?)
5
The location of poles determine the transient
behavior
Let pi = poles of G(z) (assume distinct).
) gk = ↵1 pk1 + · · · + ↵n pkn
Im
x
1
Re
x
6
1. Distance from origin is a measure of decay rate.
2. Complex poles just inside unit circle give lightly damped oscillation.
3. Oscillation is possible for real poles on negative real axis.
x
x
xx
x
x
x xx
x
x
x
x
7
The frequency response determines the steady-state
behavior
uk = cos(k✓)
G(z)
(yss )k
LTI stable causal
For the exponential input
uk = cos(✓k ) + j sin(✓k ) , the magic formula gives
(yss )k = G ej✓ ejk✓
= G e
j✓
j\G(ej✓ )
e
For a real input uk = cos(k✓)
(yss )k = G ej✓
cos k✓ + \G ej✓
Gain-phase plots/Bode diagrams
Take a sinusoid of frequency ω rad/sec, sampled with T = sampling
period (seconds):
u(kT ) = cos(!kT )
)
yss (kT ) = G ej!T
cos !kT + \G ej!T
The Bode plot displays |G(ej!T )| and \G(ej!T ) versus ! for ! 2 [0, ⇡/T ].
This corresponds to G(ej✓ ) for ✓ 2 [0, ⇡], i.e. the evaluation of
G(z) around the upper half unit circle.
Im
Note that
cos(!kT ) = cos((! + 2⇡/T )kT )
θ
Re
so going more than a complete
revolution is redundant.
Linear or logarithmic scales are used for ! and |G(ej!T )| depending on the
application.
9
The frequency response can be measured e.g.
for this 6 input 6 output mechanical system
10
Relate the Bode plot to pole-zero location:
Qm
(z zk )
H(z) = c ⇥ Qnk=1
pk )
k=1 (z
Consider the vectors joining the poles/zeros to ej✓ .
Im
ej✓
p1
ej✓
\ ej✓
x
o
x
x
p1
Re
Qm
|ej✓ zk |
j✓
k=1
|H(e )| = |c| Qn
j✓
pk |
k=1 |e
m
X
j✓
\H(e ) = \(c) +
\(ej✓ zk )
k=1
1
E.g.
which is a simple low pass filter.
z 0.4
p1
n
X
\(ej✓
pk )
Im
ej✓
x
1
!
0.6
11
k=1
0.4
Re
1
1.4
12
Important note: computers only compute one transform: the Fourier transform of
a finite length discrete-time signal (DFT).
Consider a sequence x(kT ) which is zero for k < 0 and k
Then the z-transform of the sequence is given by:
X(z) =
N
X1
x(kT )z
N.
k
k=0
Take N points around the unit circle: ej2⇡n/N for n = 0, . . . N
Im
Evaluate the z-transform at these points:
X(ej2⇡n/N ) =
N
X1
x(kT )e
1.
x
j2⇡nk/N
x
x
x
x
k=0
This is the definition of the Discrete Fourier Transform! x
The inverse transform is:
Re
x
x
N 1
1 X
x(kT ) =
X(ej2⇡n/N )ej2⇡nk/N
N n=0
Important note: There exists an efficient algorithm to compute DFT: the Fast
Fourier Transform. It takes O(N logN) operations !
13
Lecture 5: Design of Digital Filters
Example. Design a causal digital notch filter to attenuate 50 Hz noise.
Assume a sampling period of T = 2.5 milliseconds.
We need to arrange a dip in |H(ej!T )| around ! = 2⇡ ⇥ 50 rad/sec.
!T = 2⇡ ⇥ 50 ⇥ 0.0025 = ⇡/4 rad
Approach: Place a pair of zeros of H(z) at e±j⇡/4 .We need to put in a
pair of poles as well to make it causal. Let’s place the poles at µe±j⇡/4
where µ < . This will result in the frequency response being close to
one for frequencies away from 50 Hz.
(z
H(z) = c ⇥
(z
z2
=c⇥
z2
ej⇡/4 )(z
e
µej⇡/4 )(z µe
p
2z + 2
p
µ 2z + µ2
Im
)
j⇡/4 )
j⇡/4
o
x
π/4
xo
Re
where we can choose c so that the H(1) = 1. (unity d.c. gain)
Note that
(z
2
(Y(z) = H(z) U(z))
p
µ 2z + µ2 )Y (z) = c(z 2
p
2z +
2
)U (z)
14
so the filter can be implemented by the difference equation:
p
yk = µ 2yk
1
2
µ yk
2
+ cuk
c
p
2uk
1
+c
2
uk
2.
For λ = 0.99 and µ = 0.9 the Bode plot is:
In principle we could make the notch
as narrow and deep as we like by
taking both λ and µ closer and closer
to one.
But this would require increasingly
accurate arithmetic operations.
For a DSP implementation there
would be a practical limit imposed by
rounding and quantisation.
Also, a narrow notch is less effective
if frequency varies.
15
Design of Digital Filters (Controllers) by Transformation from s-domain.
It is often useful to discretise systems which are defined in continuous time.
Two simple approaches are to approximate the derivative:
x(t + T ) x(t)
T
x(t) x(t T )
ẋ(t) ⇡
T
ẋ(t) ⇡
(Euler's method or Forward difference)
(Backward difference).
In terms of the transform variables s and z this corresponds to the substitutions:
s=
z
s=
z
1
T
1
(Euler's method or Forward difference)
(Backward difference).
zT
Another substitution which is based on the Trapezoidal approximation for
integration is
bilinear transformation
s=
2(z 1)
T (z + 1)
(Tustin's transformation)
16
Each of these transformations corresponds to a certain mapping between the
s-plane and z-plane. In the diagram below, the shaded region shows the set
of points in the z-plane which corresponds to the left half of the s-plane.
s=
1
z
T
s=
Im
1
z
zT
2(z 1)
s=
T (z + 1) Im
Im
Re
stable region
Re
1
Re
1
1
Forward Difference
Backward Difference
Tustin
Backward difference or Tustin transformations applied to stable continuous time
systems result in stable discrete time systems (since all the left half plane poles get
mapped into the unit disk). Not necessarily true for Euler's method.
17
2. Design of Digital Filters by Response Matching.
Step response invariance. Take a continuous time system with Laplace
transfer function G(s). The corresponding step invariance discrete time
system (with sampling period = T seconds) is the system whose step
response is equal to the step response of the continuous time system
sampled at t = kT seconds.
We can find the z-transfer function of the step invariance system as follows:
1. Find the step response of the continuous time system.
2. Sample it at times t = kT and take z-transforms.
3. Multiply by (z-1)/z.
H(z) =
1
z
z
Z ({1}) =
Z
⇢✓
Y (z) y(k)
L
1
L (1) =
1
s
z
z
✓
1
G(s)
s
y(t)
Inverse Laplace transform
◆◆
t=kT
Y (s)
18
Ramp response invariance. Take a continuous time system with Laplace
transfer function G(s). The corresponding ramp invariance discrete time
system (with sampling period = T seconds) is the system whose ramp
response is equal to the ramp response of the continuous time system
sampled at t = kT seconds.
We can find the z-transfer function of the ramp invariance system as follows:
1. Find the ramp response of the continuous time system.
2. Sample it at times t = kT and take z-transforms.
3. Multiply by
H(z) =
(z
(z
1)2 /T z
1)2
Z
Tz
⇢✓
Z ({kT }) =
L
1
✓
G(s)
s2
◆◆
Tz
(z 1)2
t=kT
19
3. Continuous/discrete interfaces
We will consider ideal ADC and DAC's defined as follows.
3.1 Analog-to-digital converter (ADC)
Takes a continuous time signal u(t), which is assumed to be smooth (i.e.
continuous), and samples it to produce the number sequence {u(kT)}
u(t)
u(kT)
ADC
Also termed a sampler
20
3.2 Digital-to-analog converter (DAC)
Takes the number sequence {u(kT)} and produces a continuous time
signal u(t). E.g. a zero order hold is defined by:
u(t) = u(kT ) for kT t < (k + 1)T
u(t)
u(kT)
DAC
21
(1) Linear extrapolation through the last two discrete inputs (e.g. qn. 10,
Ex. paper).
u(t)
(2) Linear interpolation of last two discrete inputs.
u(t)
Smoother output, but more delayed.
22
3.3 Transfer function analysis of DAC and ADC interfaces
Hybrid - involving discrete and continuous components with appropriate
interfaces.
Approach - observe the system from the DISCRETE side of interfaces and
work out z-transfer functions.
Take a linear, time-invariant continuous time system with transfer function
G(s).
{u(kT)}
u(t)
DAC
y(t)
G(s)
ADC
{y(kT)}
(e.g., zero-order hold)
Advantage: transfer function analysis is possible
Disadvantage: ignores inter-sampling behaviour
23
{u(kT)}
u(t)
DAC
y(t)
G(s)
ADC
{y(kT)}
What is the nature of the discrete system taking {u(kT)} to {y(kT)}?
We can check that it is LINEAR and TIME-INVARIANT.
Therefore it has a z-transfer function-call it H(z). We can find H(z) by taking
any input, finding the output and taking the ratio of z-transforms.
Take u(kT ) = 1 for all k
0.
) u(t) = 1 for t 0
1
) Y (s) = G(s)
✓ s ✓
◆◆
G(s)
) y(kT ) = L 1
s
t=kT
Since Z ({u(kT )}) =
H(z) =
1
1 z
1
z
z
1
Z
we get
⇢✓
L
1
✓
G(s)
s
◆◆
t=kT
This is the same as the step invariant approximation of G(s).
24
Lecture 6. The Nyquist Stability Criterion
The Nyquist diagram can be determined experimentally and it is desirable
to have a stability test for the closed-loop system that uses such an openloop measurable quantity.
The Nyquist Stability Criterion is such a test and is analogous in
discrete-time to the continuous time case.
reference, r
error, e
K
output, y
G(z)
CONTROLLER
PLANT
Closed-loop system
25
reference, r
error, e
K
CONTROLLER
cos (!1 kT )
output, y
G(z)
PLANT
A cos (!1 kT + )
G(z)
stable
Experiment (if open loop stable):
Im
Re
A
Frequency !1 T
Nyquist diagram
26
The Encirclement Property
For any rational function F (z) then the number of
encirclements of the origin by F (ej✓ ) as ✓ increases
from 0 to 2⇡ tells us something about the number
of poles and zeros of F (z) inside the unit circle, as follows.
Let
F (z) =
A(z z1 )(z z2 ) . . . (z
(z p1 )(z p2 ) . . . (z
then
(i) \F (ej✓ ) = \A +
m
X
\(ej✓
zm )
pn )
n
X
zi )
i=1
\(ej✓
pi )
i=1
27
F (z) =
A(z z1 )(z z2 ) . . . (z
(z p1 )(z p2 ) . . . (z
zm )
pn )
(ii) If |zi | < 1 then the increase in \(ej✓ zi ) as ✓ increases from
0 to 2⇡ is 2⇡.
ej✓
= \ ej✓ zi
ej✓
zi
2⇡
zi
unit circle
⇡
(iii) If |zi | > 1 then the increase in \(e
0 to 2⇡ is 0.
ej✓
j✓
No net change zi
in during one
whole revolution
⇡
2⇡ ✓
zi ) as ✓ increases from
⇡
2⇡
✓
unit circle
28
F (z) =
A(z z1 )(z z2 ) . . . (z
(z p1 )(z p2 ) . . . (z
zm )
pn )
(iv) Hence the increase in \F (ej✓ ) as ✓ increases from 0 to 2⇡ is
= 2⇡( number of zeros of F (z) inside the unit circle
number of poles of F (z) inside the unit circle )
(v)
Hence
Number of counterclockwise encirclements of the origin by F (ej✓ )
as ✓ increases from 0 to 2⇡ is
= number of zeros of F (z) inside the unit circle
number of poles of F (z) inside the unit circle
(we have assumed there are no poles or zeros on the unit circle)
29
Closed Loop Stability
reference, r
error, e
K
G(z)
CONTROLLER
Y (z) =
output, y
PLANT
KG(z)
R(z)
1 + KG(z)
The closed-loop poles are the roots of
1 + KG(z) = 0
If
A(z z1 )(z z2 ) . . . (z
G(z) =
(z p1 )(z p2 ) . . . (z
then
a(z) + Kb(z)
1 + KG(z) =
a(z)
zm )
b(z)
=
pn )
a(z)
assume
causal
(m ≤ n)
roots are closed loop poles
roots are open loop poles
30
Hence (by the encirclement property):
The number of counter clockwise encirclements of the origin by
1 + KG(ej✓ ) is
= { number of closed-loop poles inside the unit circle}
{ number of open-loop poles inside the unit circle}
Shift by
-1 and
scale by
1/K
Im
Re
1 + KG(ej✓ )
Im
Re
1
K
G(ej✓ )
31
Hence the number of counter clockwise encirclements of
the 1/K point by G(ej✓ ) is
= { number of closed-loop poles inside the unit circle }
- { number of open-loop poles inside the unit circle }
= { number of open-loop poles outside the unit circle }
- { number of closed-loop poles outside the unit circle }
since the total number of poles is the same for the open and closed loops.
Hence we get the discrete-time Nyquist Stability Criterion
The above closed-loop system will be stable if (and only if)
the number of counter clockwise encirclements of the
by G(ej✓ ) as ✓ increases from 0 to 2⇡
= the number of open-loop unstable poles.
1/K point
32
Example.
G(z) =
1
z
z-plane
) G(ej✓ ) =
2
Im
1
2
ej✓
Im
j✓
e
-1
-1/3
x
1
Closed-loop stable
check: 1 + K
1
z
2
=
z
2 Re
-1
1<
1
<
K
2+K
z 2
Re
1
3
, 1<K<3
) 1<K<3
33
Interpretation
Note the following points:
• If the open-loop system is stable, then just plot G(ej✓ ) for 0 ✓ ⇡,
and use the same rule as for continuous-time: ‘Leave the 1/K
point on your left as you move along the Nyquist diagram’.
• Although plotting the discrete-time Nyquist diagram is di↵erent
from plotting the continuous-time one (G(ej✓ ) instead of G(j!)),
its interpretation is exactly the same: gain and phase margins can
be read o↵ it in the same way, and have the same meanings. Gain
and phase margins can also be found from the Bode diagram in
exactly the same way as for continuous time.
• For physical systems G(ej✓ ) = G(e j✓ ). Thus to find a complete
Nyquist diagram you only need to plot G(ej✓ ) for 0 ✓ ⇡
(which corresponds to frequencies used on Bode plot) and
then draw in complex conjugate locus.
• See Remark 2 on continuous time revision notes for tips on
counting encirclements.
34
Open-loop poles on the unit circle
Im
x
1
Re
x
Closing the locus
In order to obtain a closed curve for the Nyquist locus and hence
correctly count the encirclements, it is customary to indent the path
of z around the poles on the unit circle with a small semi-circular
excursion outside the unit circle. Then the open loop poles on the
unit circle are counted as being stable in the stability criterion.
The “right turn” in the z-plane then gives a “right turn” in the G-plane
and a circular arc of large radius is produced which continues for m⇡
radians where m is the multiplicity of the pole on the unit circle.
35
Asymptotes
If there is an open-loop pole of multiplicity one on the unit
circle then the Nyquist diagram will be asymptotic to a
straight line as it tends to infinity. It is possible to find
the asymptote along which it tends as follows.
Suppose that G(z) has a pole at z = 1, i.e.
G(z) =
1
(z
1)
F (z)
where F (z) has no poles or zeros at z = 1.
Then for z ⇡ 1, expand F (z) in a Taylor series to give
G(z) =
1
(z
1)
{F (1) + F 0 (1)(z
1
+ F 00 (1)(z
2
1)+
1)2 + . . .
36
⇡
But
1
ej✓
1
F (1)
+ F 0 (1)
(z 1)
n
ej✓/2 (ej✓/2
=
e
j✓/2
e j✓/2
2j sin(✓/2)
1
j
2 2 tan(✓/2)
1
F (1) + F 0 (1)
2
=
=
Hence
G(ej✓ ) ⇡
o
)
= cos
1
✓
2
✓
2
j sin
large as ✓ ! 0
j
F (1)
2 tan(✓/2)
Hence the asymptote as ✓ ! 0 will be a straight line with a constant
real part of 12 F (1) + F 0 (1).
For multiple poles on the unit circle the asymptotic behaviour is more
complex and requires more terms in the Taylor series expansion.
37
Example.
G(z) =
and
1
z(z
1)
.
Then, F (z) =
1
F (1) + F 0 (1) =
2
z-plane
1.5
1
z2
Im
1
K
Nyquist
diagram
Im
x
1
, F 0 (z) =
z
1x
Re
-1.5
-1
0.5
Re
right turn
Closed-loop stable for
1
<
K
1
,0<K<1
38
© Copyright 2026 Paperzz