Discrete-Time Signals and Systems
Discrete-Time Signals and Systems
Discrete-Time Signals and Systems
FinnHaugen
Skien, Norway, February 2005
1
Finn Haugen, TechTeach: Discrete-time signals and systems 2
Contents
1 Introduction 5
2 Discrete-time signals 6
3 Sampling phenomena 6
3.1 Quantizing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2 Aliasing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4 Difference equations 11
4.1 Difference equation models . . . . . . . . . . . . . . . . . . . . . 11
4.2 Calculating responses . . . . . . . . . . . . . . . . . . . . . . . . 13
4.2.1 Calculating dynamic responses for difference equations . . 13
4.2.2 Calculating static responses for difference equation . . . . 13
4.3 Block diagram of difference equation models . . . . . . . . . . . . 14
5 The z-transform 15
5.1 Definition of the z-transform . . . . . . . . . . . . . . . . . . . . 15
5.2 Properties of the z-transform . . . . . . . . . . . . . . . . . . . . 16
5.3 Inverse transform . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
6 z-transfer functions 17
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6.2 How to calculate z-transfer functions . . . . . . . . . . . . . . . . 17
6.3 From z-transfer function to difference equation . . . . . . . . . . 19
6.4 Poles and zeros . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6.5 Calculating time responses in z-transfer function models . . . . . 20
6.6 Static transfer function and static response . . . . . . . . . . . . 20
6.7 Block diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
6.7.1 Basic blocks . . . . . . . . . . . . . . . . . . . . . . . . . . 21
6.7.2 Block diagram manipulation . . . . . . . . . . . . . . . . 21
6.7.3 Calculating the transfer function from the block diagram
without block diagram manipulation . . . . . . . . . . . . 22
7 Frequency response 23
7.1 Calculating frequency response from transfer function . . . . . . 23
7.2 Symmetry of frequency response . . . . . . . . . . . . . . . . . . 26
8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
8.2 Discretization with zero order hold element on the input . . . . . 29
8.2.1 Discretization involving the inverse Laplace transform . . 29
8.2.2 Discretizing using canonical state space model . . . . . . 29
8.3 Discretizing using Euler’s and Tustin’s numerical approximations 31
8.3.1 The substitution formulas . . . . . . . . . . . . . . . . . . 31
8.3.2 Which discretization method should you choose? . . . . . 34
8.3.3 Guidelines for choosing the time-step h . . . . . . . . . . 35
8.4 The relation between continuous-time poles and discrete-time poles 38
11 Stability analysis 54
11.1 Stability properties . . . . . . . . . . . . . . . . . . . . . . . . . . 54
11.2 Stability analysis of transfer function models . . . . . . . . . . . 55
11.3 Stability analysis of state space models . . . . . . . . . . . . . . . 59
11.4 Stability analysis of feedback (control) systems . . . . . . . . . . 59
11.4.1 Defining the feedback system . . . . . . . . . . . . . . . . 60
11.4.2 Pole placement based stability analysis . . . . . . . . . . . 61
Finn Haugen, TechTeach: Discrete-time signals and systems 4
A z-transform 73
A.1 Properties of the z-transform . . . . . . . . . . . . . . . . . . . . 73
A.2 z-transform pairs . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Finn Haugen, TechTeach: Discrete-time signals and systems 5
1 Introduction
Here is a brief description of the main sections of this document:
2 Discrete-time signals
A discrete-time signal is a sequence or a series of signal values defined in
discrete points of time, see Figure 1. These discrete points of time can be
yk = y(kh)
2,0
1,5
1,0
0,5
0,0
0 1 2 3 4 5 6 k
h=0.2
3 Sampling phenomena
3.1 Quantizing
The AD-converter (analog-digital) converts an analog signal ya (t), which can
be a voltage signal from a temperature or speed sensor, to a digital signal,
Finn Haugen, TechTeach: Discrete-time signals and systems 7
t AD-converter tk
Continuous-time, with sampling Discrete-time,
analog signal digital signal
ya(t) yd(t k)
fs [Hz] = 1/Ts
Figure 2: Sampling
b0 is the LSB (least significant bit), while bn−1 is the MSB (most significant
bit).
Let us see how the special values Ymin and Ymax are represented in the
computer. Assume that n = 12, which is typical in AD-converters. yd = Ymin
is then represented by
yd = Y min (5)
= 0 · 211 + 0 · 210 + ... + 0 · 21 + 0 · 20 (6)
= 0000000000002 = 02 (7)
= 0 (decimal) (8)
Finn Haugen, TechTeach: Discrete-time signals and systems 8
Figure 3: Analog signal and the corresponding quantized signal for n = 12 bits (up
to 15s) and for n = 4 bits (after 15 s) in the AD-converter.
3.2 Aliasing
A particular phenomenon may occur when a continuous-time signal is sampled.
Frequency components (i.e. sinusoidal signal components) in the analog signal
Finn Haugen, TechTeach: Discrete-time signals and systems 9
Figure 4: A continuous-time sinusoid y(t) = sin 2πt and the sampled sinusoids for
two different sampling intervals
What are the conditions for aliasing to occur? These conditions will not be
derived here, but they are expressed in Figure 5.3 The figure indicates that
f dis
fN
C o rre sp o n -
d in g f d is S lo p e 1
0 fs / 2 = f N fs 3 f s /2 2fs f co n
E x a m p le
N o a lia sin g
o f fc o n
fo r f c o n h e re
def fs
fN = (21)
2
Using fN , the condition for aliasing can be stated as follows: Continuous-time
signal frequency components having frequency fcon larger than the Nyquist
frequency fN are aliased, and the resulting frequency, fdis , of signals being
aliased is found from Figure 5.
fdis
fN
fdis=0.25
Slope 1
0 f N=0.625 fs=1.25 f con
fcon=1
4 Difference equations
4.1 Difference equation models
The basic model type of continuous-time dynamic systems is the differential
equation. Analogously, the basis model type of discrete-time dynamic systems
Finn Haugen, TechTeach: Discrete-time signals and systems 12
Given the following model of a first order system in the form of a differential
equation:
1 K
ẏ(t) = − y(t) + u(t) (32)
T T
u is the input, y the output, K the gain and T the time constant. Applying
the Euler forward method for numerical solution of this differential equation
yields the following difference equation:
µ ¶
h Kh
y(k) = 1 − y(k − 1) + u(k − 1) (33)
T T
where h is the simulation time-step.
[End of Example 4.3]
Finn Haugen, TechTeach: Discrete-time signals and systems 13
h = 0.1; T = 1; K = 2 (34)
Eq. (30) in Example 4.1 is a lowpass filtering algorithm. It is repeated here for
convenience:
y(k) = ay(k − 1) + (1 − a) u(k) (42)
Finn Haugen, TechTeach: Discrete-time signals and systems 14
Let us calculate the static response in the filter output y. The input u is
assumed to be a constant of amplitude U . The static version of the difference
equation (42) is
ys = ays + (1 − a) us (43)
= ays + (1 − a) U (44)
u(k) y(k)=Ku(k)
Gain: K
u1(k)
u2(k) y(k)=u1(k)+u2(k)-u3(k)
Sum
(incl. subtraction ):
u3(k)
A comment about the time delay block: The output y(k) is equal to the time
delayed input, y(k − 1):
y(k − 1) = z −1 y(k) (46)
Finn Haugen, TechTeach: Discrete-time signals and systems 15
y(k)
u(k) Sum
=ay(k-1)+(1-a)u(k)
(1-a)
Gain
y(k-1)
a z-1
5 The z-transform
5.1 Definition of the z-transform
The z-transform of discrete-time signals plays much the same role as the
Laplace transform for continuous-time systems.
The z-transform of the discrete-time signal {y(k)}, or just y(k), is defined as
follows:
∞
X
Z {y(k)} = y(k)z −k (48)
k=0
For simplicity, I will use the symbol y(z) for Z {y(k)} when it can not be
misunderstood. Strictly, a different variable name must be used, for example
Y (z).
Assume that the signal y(k) has constant value A. This signal can be regarded
a step of amplitude A at time-step 0. z-transforming y(k) gives
∞
X ∞
X A Az
y(z) = y(k)z −k = Az −k = −1
= (49)
1−z z−1
k=0 k=0
Finn Haugen, TechTeach: Discrete-time signals and systems 16
• Linearity:
k1 y1 (z) + k2 y2 (z) ⇐⇒ k1 y1 (k) + k2 y2 (k) (50)
z z 1−n
y(z) = Bz −n =B (54)
z−a z−a
6 z-transfer functions
6.1 Introduction
Models in the form of difference equations can be z-transformed to z-transfer
functions, which plays the same role in discrete-time systems theory as s
transfer functions do in continuous-time systems theory. More specific:
Using the linearity property (50) and the time delay property (51) (56) can be
written as
Z {y(k)} = −Z {a1 y(k − 1)}−Z {a0 y(k − 2)}+Z {b1 u(k − 1)}+Z {b0 u(k − 2)}
(57)
and
y(z) = −a1 z −1 y(z) − a0 z −2 y(z) + b1 z −1 u(z) + b0 z −2 u(z) (58)
which can be written as
or £ ¤ £ ¤
1 + a1 z −1 + a0 z −2 y(z) = b1 z −1 + b0 z −2 u(z) (60)
b1 z −1 + b0 z −2
y(z) = u(z) (61)
1 + a1 z −1 + a0 z −2
| {z }
H(z)
b1 z + b0
u(z) (62)
z 2 + a1 z 1 + a0
| {z }
H(z)
Finn Haugen, TechTeach: Discrete-time signals and systems 18
y(z) b1 z −1 + b0 z −2 b1 z + b0
H(z) = = = 2 (63)
u(z) 1 + a1 z −1 + a0 z −2 z + a1 z 1 + a0
Hence, z-transfer functions can be written both with positive and negative
exponents of z.5
(1 − a) z
= u(z) (67)
z−a
| {z }
H(z)
Given a system with transfer function H(z). Assume that the input u is an
impulse, which is a signal having value 1 at time index k = 0 and value zero
for other points of time. According to (351) u(z) = 1. Then the z-transformed
impulse response is
(as stated).
[End of example 6.2]
5 Within the area of signal processing transfer functions with negative exponents of z are
common, while in control theory transfer functions with positive exponents are more common.
Finn Haugen, TechTeach: Discrete-time signals and systems 19
The procedure will be illustrated via a concrete example. Assume given the
following transfer function:
b1 z + b0 y(z)
H(z) = = (69)
z 2 + a1 z + a0 u(z)
We start by cross multiplying (69):
¡ 2 ¢
z + a1 z + a0 y(z) = (b1 z + b0 ) u(z) (70)
which can be written as
z 2 y(z) + a1 zy(z) + a0 y(z) = b1 zu(z) + b0 u(z) (71)
Taking the inverse transform of the above expression gives
z 2 y(z) + a1 zy(z) + a0 y(z) = b1 zu(z) + b0 u(z) (72)
| {z } | {z } | {z } | {z } | {z }
y(k+2) a1 y(k+1) a0 y(k) b1 u(k+1) b0 u(k)
Using the static transfer function the static response can be calculated by
ys = Hs U (82)
Eq. (66) defines the transfer function of a given lowpass filter. The transfer
function is repeated here:
y(z) 1−a
H(z) = = (83)
u(z) 1 − az −1
Finn Haugen, TechTeach: Discrete-time signals and systems 21
Block diagrams of z-transfer function models can be drawn using the same
elementary blocks as for difference equation models, see Figure 7, except that
the signals are z-transformed. In addition to these elementary blocks, a block
containing any transfer function can be used, see Figure 9.
u(z) y(z)
H(z)
The most common rules for block diagram manipulation are shown (and
proven) in Figure 10. The rules are the same as for Laplace transfer functions.
Series
u(z) y(z) connection u(z) y(z)
H1(z) H2(z) H2(z)H1(z)
u3(z) u3(z)
Moving branch
y(z) across sum junction y(z)
H1(z) H(z)
u 1(z) u 1(z)
Illegal!
u2(z) u2(z)
y(z) Negative
u(z)
H1(z) feedback
u(z) H 1(z) y(z)
1+H1(z)H2(z)
H2(z)
You do not have to manipulate the block diagram to calculate the transfer
function from it. You can just write down the proper relations or equations
from the block diagram, and then calculate the transfer function from these
equations directly.
See Example 6.5. From the block diagram in Figure 11 we can write down the
following equation for y(z):
Process
disturbance
Process d(s)
Setpoint Disturbance
in measurement Control Control Hd(z)
Setpoint transfer function
unit error variable
ySP (z) ymSP(z) em(z) u(z) y(z)
Hsm(z) Hc (z) Hu(z)
Process
Controller Actuator output
Model of
transfer function variable
sensor with
scaling Measurement ym (z)
Hs(z)
Sensor
(measurement)
with scaling
Figure 11: Block diagram of a feedback control system for a physical process. The
subsystems are represented by transfer function blocks.
which gives the same transfer function HySP ,y (s) as found by block diagram
manipulation in Example 6.5.
[End of Example 6.6]
7 Frequency response
7.1 Calculating frequency response from transfer
function
As for continuous-time systems, the frequency response of a discrete-time
system can be calculated from the transfer function: Given a system with
z-transfer function H(z). Assume that input signal exciting the system is the
sinusoid
u(tk ) = U sin(ωtk ) = U sin(ωkh) (88)
Finn Haugen, TechTeach: Discrete-time signals and systems 24
Hd (z)
y SP(z) y(z)
Hsm (z) Hc (z) Hu(z)
Hs(z)
ySP(z) y(z)
Hsm (z) Hc (z)Hu(z)
Hs(z)
Combined using
the feedback rule
Figure 12: Manipulating a block diagram to find the transfer function from ySP to
y
where ω is the signal frequency in rad/s. It can be shown that the stationary
response on the output of the system is
y(tk ) = Y sin(ωkh + φ) (89)
= U A sin(ωkh + φ) (90)
A
z¯ }| {¯
= U ¯H(ejωh )¯ sin ωtk + arg H(ejωh ) (91)
| {z } | {z }
Y φ
where H(ejωh ) is the frequency response which is calculated with the following
substitution:
H(ejωh ) = H(z)|z=ejωh (92)
where h is the time-step. The amplitude gain function is
A(ω) = |H(ejωh )| (93)
The phase lag function is
φ(ω) = arg H(ejωh ) (94)
Finn Haugen, TechTeach: Discrete-time signals and systems 25
b 0, 0952
H(z) = = (95)
z−a z − 0, 9048
Note that the plots in Figure 13 are drawn only up to the Nyquist frequency
which in this case is
Figure 13: Bode plot of the transfer function (95). ω N = 31.4 rad/s is the Nyquist
frequency (sampling time h is 0.1s).
ωs 2π/h π π
ωN = = = = = 10π ≈ 31.4rad/s (96)
2 2 h 0.1
The plots are not drawn (but they exist!) above the Nyquist frequency because
of symmetry of the frequency response, as explained in the following section.
b
= q (101)
2 2
(cos ωh − a) + (sin ωh) ej arctan[(sin ωh)/(cos ωh−a)]
b
ej [− arctan( cos ωh−a )]
sin ωh
= q (102)
(cos ωh − a)2 + (sin ωh)2
Figure 14: Bode plots of frequency response of (63). The frequency axis is loga-
rithmic.
Figure 15: Bode plots of frequency response of (63). The frequency axis is linear
to make the symmetries if the frequency responses clearer.
computer program.
tk t t tk
Figure 16: Block diagram of a process having a zero order hold element on its
input. uh is the piecewise constant (held) input signal.
(a) By calculating the z-transfer function for G(s) with a zero order
hold element on its input.
(b) By first deriving a canonical continuous-time state space model
corresponding to G(s), and then discretizing this state space model
assuming a hold element on its input.
and · ½ ¾¯ ¸
¡ ¢ G(s) ¯¯
H(z) = 1 − z −1 Z L−1 ¯ (106)
s t=kh
(106) becomes
" ( )¯ #
¡ ¢ K ¯
−1 −1 T ¯
H(z) = 1 − z Z L 1 ¯ (108)
(s + T )s ¯
t=kh
Here
( )¯
K ¯ ³ ´¯ ³ ´
−1 ¯ ¯
L T
¯ = K 1 − e−t/T ¯ = K 1 − e−kh/T (109)
(s + T1 )s ¯ t=kh
t=kh
The discretization method described in this section involves state space models
and discretization of such models. These topics are described in a later section
(9) of this document, but references to these sections are given in the present
section.
Finn Haugen, TechTeach: Discrete-time signals and systems 30
In Section 8.2.1 the discretization method involves the Laplace transform, and
it may be difficult to find the transfer function if the original continuous-time
transfer function is complicated or has a special form. I will now present a
method that may work fine even for complicated transfer functions. It is based
on discretization a canonical state space model corresponding to the given
continuous-time transfer function. The method is as follows:
ẋ1 = x2 (112)
ẋ2 = x3 (113)
..
.
ẋn = −a0 x1 − a1 x2 − · · · − an−1 xn + u
y = (b0 − bn a0 ) x1 + (b1 − bn a1 ) x2 + · · ·
+ (bn−1 − bn an−1 ) xn + bn u (114)
4. Calculate the discrete-time transfer function from the state space model
using e.g. the formula (228) which is repeated here:
y(z)
H(z) = = Cd (zI − Ad )−1 Bd + Dd (117)
u(z)
following solution: Z tk
x(tk ) = x(tk−1 ) + f dτ (132)
tk−1
or Z kh
x(k) = x(k − 1) + f dτ (133)
(k−1)h
• Tustin’s method:
h
x(k) ≈ x(k − 1) + [f (k) + f (k − 1)] (136)
2
Backward rectangle
(large rectangle )
in Euler’s backward method
f Exact integral is
area under curve
fk
tk-1 tk t
ẋ = u ≡ f (137)
(which is an integrator with u as input and x as output), and apply the above
various integral approximations to the solution of this differential equation. By
relating the z-transfer function from u to x and the s transfer function from u
to x, which is
x(s) 1
= (138)
u(s) s
we will (soon) get the substitution formulas we are after. Setting f = u in
(134) — (136) yields the following differential equations. The z-transfer
functions from u to x is derived and shown for each case.
• Tustin’s method:
h x(z) hz+1
x(k) = x(k − 1) + [u(k) + u(k − 1)] ⇒ = (141)
2 u(z) 2z−1
By relating each of the z-transfer functions (139) — (141) with the s transfer
function (138), we get the following substitution formulas:
z−1
Euler forward: s ←− or z ←− 1 + hs (142)
h
z−1 1
Euler backward: s ←− or z ←− (143)
hz 1 − hs
2z−1 1 + h2 s
Tustin: s ←− or z ←− (144)
hz+1 1 − hs s
y(s) 1
= Hcont (s) = s (145)
u(s) ωb +1
method. Using the substitution (144) in (145) gives the following z-transfer
function:
y(z) 1 hω b (z + 1)
= Hdisc (z) = 2(z−1)
= (146)
u(z) +1 (hω b + 2)z + (hω b − 2)
hω b (z+1)
Reducing the time indices by one and then solving for the output y yields the
following filtering algorithm:
2 − hω b hω b hω b
y(k) = y(k − 1) + u(k) + u(k − 1) (149)
2 + hω b 2 + hω b 2 + hω b
Euler’s backward methods are implicit methods since the output variable,
y(k), appears on both the left and the right side of the discretized expression,
and it is in general necessary to solve the discretized expression for y(k) at
each time-step, and this may be impractical. See Section 9.2.4 for an example
of discretizing a nonlinear model.
It turns out that Euler’s backward method is quite commonly used for
discretizing continuous-time control functions (i.e. the PID control function)
in commercial control equipment, so this method can therefore be our choice
in control applications.
• Filters:
1
fs ≡ ≥ 5fH [Hz] (151)
h
Here, fs is the sampling frequency and fH is the highest frequency where
you want the discrete-time filter to have almost the same characteristics
as the original continuous-time filter. For example, for a lowpass filter
fH may be 5 times the bandwidth so that the filter characteristics up to
25 times the bandwidth will be similar to that of the original
continuous-time filter.
Above, the frequency unit is Hz. However, the relation (151) is the same
if the frequency unit is rad/s:
2π
ωs ≡ ≥ 5ω H [rad/s] (152)
h
u
Original discrete-time signal
The signal
held fixed
h/2
Figure 18: The DA-converter holds the calculated control signal throyghout the
sampling interval, thereby introducing an approximate time-delay of h/2.
stability reduction is small and tolerable if the time delay is less than
one tenth of the response-time of the control system as it would have
been with a continuous-time controller or a controller having very small
sampling time:
h Tr
≤ (153)
2 10
which gives
Tr
h≤ (154)
5
The response time is here the 63% rise time which can be read off from
the setpoint step response. For a system the having dominating time
constant T , the response-time is approximately equal to this time
constant. If the bandwidth of the control system is ω b [rad/s] (assuming
that the PID parameters have been found using a continuous-time PID
controller), the response-time of the control system can be estimated by
1
Tr ≈ (155)
ωb
• Simulators:
0.1
h≤ (156)
|λ|max
Here |λ|max is the largest of the absolute values of the eigenvalues of the
model, which is the eigenvalues of the system matrix A in the state-space
model ẋ = Ax + Bu. For transfer function models you can consider the
poles in stead of the eigenvalues (the poles and the eigenvalues are equal
for most systems not having pol-zero cancellations). If the model is
nonlinear, it must be linearized before calculating eigenvalues or poles.
In Example 8.3 a first order lowpass filter was discretized. Assume that the
bandwidth is ω b = 100rad/s. Let us set ω H = 5ω b = 500rad/s, and use the
lower limit of ω s as given by (152):
which gives
2π 2π
h= = = 2.51ms (158)
ωs ωs
Figure 19 shows the frequency responses of the continuous-time filter Hcont (s)
given by (145) and the discrete-time filter Hdisc (z) given by (146). The two
Figure 19: Example 8.4: Frequency responses of Hcont (s) given by (145) and
Hdisc (z) given by (146) with sampling frequency (157)
where xi is a (scalar) state variable, and if so, f and/or g are vector evaluated
functions.
A special case of the general state space model presented above is the linear
state space model:
x(k + 1) = Ad x(k) + Bd u(k) (167)
y(k) = Cd x(k) + Dd u(k) (168)
where Ad (subindex d for discrete-time) is the transition matrix, Bd is the
input matrix, Cd is the output matrix and Dd is the direct output matrix (in
most cases, Dd = 0).
The needs for discretizing a continuous-time state space model are similar to
the needs for a discrete-time transfer function model, cf. Section 8.1:
The underlying principles of the various discretization methods are also the
same as for discretizing transfer function models:
ẋ = Ax + Bu (169)
y = Cx + Du (170)
having a zero order hold element on its input, see Figure 16. It can be shown
that the following discrete-time state space model expresses how the state x
evolves along a discrete time axis:9
• Exact calculation:
¯ ¯
Ad = L−1 {(sI − A)−1 }¯t=h = eAt ¯t=h = eAh (177)
½ ¾¯ Z h
−1 1
¯
Bd = L −1
(sI − A) ¯
B ¯ = eAτ dτ B (178)
s t=h 0
A2 h2 A3 h3 An hn
Ad = I + Ah + + + ··· ··· (179)
µ 2! 3! n! ¶
2 2 3 n−1 n
Ah A h A h
= I + A Ih + + + ··· ··· (180)
2! 3! n!
| {z }
S
= I + AS (181)
µ ¶
Ah2 A2 h3 An−1 hn
Bd = Ih + + + ··· ··· B (182)
2! 3! n!
| {z }
S
= SB (183)
½ ¾¯
1 ¯
Bd = L−1 (sI − A)−1 B ¯¯ (187)
s t=h
(· ¸−1 · ¸)¯¯
s −1 1 0 ¯
= L−1 ¯
0 s s 1 ¯
t=h
½· 1 ¸¾¯
¯
= L−1 s3 ¯ (188)
1 ¯
s2 t=h
· h2
¸
= 2
h
· ¸
0.125
= (189)
0.5
Cd = C = [1] (190)
Dd = D = [0] (191)
Figure 20: Example 9.1: Simulated responses for continuous-time system and two
different discrete-time models
The discretization methods described in this section do not assume zero order
hold on the system’s input. The basis of the methods is to get a discrete-time
model which hopefully behaves similar to the original continuous-time state
space model, which here is assumed linear:
ẋ = Ax + Bu}
| {z (195)
f ()
y = Cx + Du (196)
where u is input variable and x is output variable. To simplify the notation we
let f (k) represent f [x(tk ), u(tk )] = f [x(k), u(k)]. Actually, the discretization
formulas were developed in Section 8.3. All we have to do now is inserting
Ax(k) + Bu(k) for f (k) in (134) — (136), and then solve for x(k). The
resulting discretizing formulas are shown below:
Finn Haugen, TechTeach: Discrete-time signals and systems 44
or (equivalently)
• Tustin’s method:
µ ¶−1 µ ¶
Ah Ah
x(k) = I− I+ x(k − 1) (200)
2 2
µ ¶−1
Ah Bh
+ I− [u(k) + u(k − 1)] (201)
2 2
ẋ = f (x, u) (202)
yields
which is a nonlinear implicit equation for x(k). In general such equations are
not easy to solve, and an iterative procedure may be necessary.
In practical applications11 where you actually need a discretized version of a
nonlinear continuous-time model Euler’s forward method (134) is commonly
used. Inserting (202) into (134) yields the Euler’s forward discretizing formula:
¯ ¯ ¯ ¯
∂f2 ¯ ∂f2 ¯ ∂f2 ¯ ∂f2 ¯
∂x1 ¯ ∂x2 ¯ ∂u1 ¯ ∂u2 ¯
∆x2 (k + 1) = ∆x1 (k) + ∆x2 (k) + ∆u1 (k) + ∆u2 (k)
op op op op
¯ ¯ ¯ ¯ (210)
∂g1 ¯ ∂g1 ¯ ∂g1 ¯ ∂g1 ¯
∂x1 ¯ ∂x2 ¯ ∂u1 ¯ ∂u2 ¯
∆y1 (k) = ∆x1 (k) + ∆x2 (k) + ∆u1 (k) + ∆u2 (k)
op op op op
¯ ¯ ¯ ¯
∂g2 ¯ ∂g2 ¯ ∂g2 ¯ ∂g2 ¯
∂x1 ¯ ¯ ¯ ¯
∆y2 (k) = ∆x1 (k) + ∂x2
∆x2 (k) + ∂u1
∆u1 (k) + ∂u 2
∆u2 (k)
op op op op
(211)
or
∆x(k + 1) = Ad ∆x(k) + Bd ∆u(k) (212)
∆y(k) = Cd ∆x(k) + Dd ∆u(k) (213)
12
where
¸ ¯ ·
∂f1 ∂f1 ¯ ∂f1 ¯
¯ ¯ ¯
∂x1 ∂x2 ¯ ∂f2 ¯ ∂f ¯¯
Ad = ¯ = £ ¤ ¯¯ = (214)
¯ ∂x1 ∂x2 ¯ ∂xT ¯op
∂f2 ∂f2 ¯
∂x1 ∂x2 op ¯
op
1 2 Partial derivative matrices are denoted Jacobians.
Finn Haugen, TechTeach: Discrete-time signals and systems 46
¯
∂f ¯¯
Bd = (215)
∂uT ¯op
¯
∂g ¯¯
Cd = (216)
∂xT ¯op
¯
∂g ¯¯
Dd = (217)
∂uT ¯op
In the formulas above the subindex op is for operating point, which is a
particular set of values of the variables. Typically the operating point is an
equilibrium (or static) operating point, which means that all variables have
constant values.
The static response is the response when all input variables have constant
values and all output variables have converged to constant values. Assume the
following possibly nonlinear state space model:
x(k + 1) = f1 [x(k), u(k)] (219)
where f1 is a possibly nonlinear function of x and u. Let us write xs and us
for static values. Under static conditions (219) becomes
xs = f1 [xs , us ] (220)
which is an algebraic equation from which we can try to solve for unknown
variables.
If the model is linear:
x(k + 1) = Ad x(k) + Bd u(k) (221)
a formula of the steady-state solution can be calculated as follows. The
steady-state version of (221) is
xs = Ad xs + Bd us (222)
Solving for xs gives
xs = (I − Ad )−1 Bd us (223)
Note that only asymptotically stable systems have a feasible static operating
point. Stability of discrete-time systems is analyzed in Section 11.
Finn Haugen, TechTeach: Discrete-time signals and systems 47
Combining with (225) gives the following formula(s) for the transfer function:
y(z)
H(z) = = Cd (zI − Ad )−1 Bd + Dd (228)
u(z)
adj(zI − Ad )
= Cd Bd + Dd (229)
det(zI − Ad )
which is the formula for H(z). adj means adjoint, and det means determinant.
(zI − Ad ) is denoted the characteristic matrix of the system.
In Example 9.1 the discrete-time state space model of a double integrator was
derived The model is on the form (224) — (225) with system matrices as given
by (186) — (191). We will now calculate the z-transfer function from u to
y = x1 using (229). We start by calculating the characteristic matrix zI − Ad .
Here, Ad is given by (186). We get
· ¸ · ¸ · ¸
z 0 1 h z − 1 −h
(zI − Ad ) = − = (230)
0 z 0 1 0 z−1
| {z } | {z }
zI Ad
which gives
· ¸ · ¸
z − 1 −h z−1 h
adj (zI − Ad ) = adj = (231)
0 z−1 0 z−1
and · ¸
z − 1 −h
det (zI − Ad ) = det = z 2 − 2z + 1 (232)
0 z−1
Finn Haugen, TechTeach: Discrete-time signals and systems 48
y(z) adj(zI − Ad )
= Dd (zI − Ad )−1 Bd = Dd Bd (233)
u(z) det(zI − Ad )
· ¸ · h2 ¸
1 z−1 h
= [1 0] · 2 · · 2 (234)
z − 2z + 1 0 z−1 h
h2 z+1
= (235)
2 z 2 − 2z + 1
[End of Example 9.3]
y(k)
bn b n-1 bn-2 b1 b0
x1(k+1)
u(k) xn xn-1 x2 x1(k)
1/z 1/z 1/z 1/z
a n-1 an-2 a1 a0
Figure 21: The transfer function from u to y in this (canonical) block diagram is
(236).
variables on the outputs of the time-step delay blocks (containing 1/z) are
canonical state variables. From the block diagram we can write down the
Finn Haugen, TechTeach: Discrete-time signals and systems 49
x1 (k + 1) = x2 (k)
x2 (k + 1) = x3 (k)
..
.
xn−1 (k + 1) = xn (k)
xn (k + 1) = −a0 x1 (k) − a1 x2 (k) − · · · − an−1 xn (k) + u(k)
We will find a state space model having the following transfer function:
y(z) 2z −3
= H(z) = (240)
u(z) 1 − 0, 5z −1
First we write the the transfer function on the standard form (236):
2 b3 z 3 + b2 z 2 + b1 z + b0
H(z) = = 3 (241)
z3 − 0, 5z 2 z + a2 z 2 + a1 z + a0
hence, the coefficients are b3 = 0 = b2 = b1 , b0 = 2, a2 = −0.5 and a1 = 0 = a0 .
From (237) we get the following state space model:
x1 (k + 1) = x2 (k)
x2 (k + 1) = x3 (k)
x3 (k + 1) = 0, 5x3 (k) + u(k) (242)
10.1 Gain
A discrete-time gain has the transfer function
y(z)
= H(z) = K (243)
u(z)
where K is the (proportional) gain, u is the input y is the output. The gain
has no poles and no zeros and has therefore no “dynamics”. In the time
domain the relation between u and y is given by
10.2 Integrator
We start with the continuous-time integrator represented by the following
integral equation Z t
y(t) = y(0) + Ki u(τ ) dτ (245)
0
which corresponds to the following differential equation
ẏ = Ki u (246)
p=1 (249)
The step response (unit step at the input) of H(z) can be calculated as
follows: Assume that the step in input u has amplitude U , which
z-transformed is, cf. (352),
Uz
u(z) = (250)
z−1
The z-transform of the step response becomes
Ki h Uz
ystep (z) = H(z)u(z) = · (251)
z−1 z−1
1 3 You can e.g. apply (106) together with (355) with a = 1.
Finn Haugen, TechTeach: Discrete-time signals and systems 51
Figure 22 shows the pole and the step response (unity step) for with Ki = 1
and time-step h = 1.
Figure 22: Pole and step response (unity step) for the integrator (248) with Ki = 1
and time step h = 1
Figure 23: Pole placement and the step response (unit step at the input) of H(z)
given by (255) for p = 0.82 and b = 0.18.
23 shows the pole placement and the step response (unit step at the
input) of H(z) given by (255). The step response has an exponential
convergence towards its steady-state value.
Assuming that H(z) is the discretized G(s), the discrete-time pole is
p = e−h/T (261)
from which we can conclude that the a smaller p (smaller time constant
T ) gives a faster response. This can also be seen from (258).
Finn Haugen, TechTeach: Discrete-time signals and systems 53
b
H(z) = = bz −1 (262)
z
which is the transfer function of a delay of one time-step, cf. (51). The
pole is in origin. Discrete-time time delay is described in more detail in
Section 10.4.
• −1 < p < 0: The transfer function is still (255). The step response is still
(258). Assume as an example that p = −0.8 and b = 1. Figure 24 shows
the pole and the step response. The step response now oscillates, but it
b
H(z) = (263)
z+1
The step response is (258). Assume that b = 1. Figure 25 shows the pole
and the step response which shows undamped oscillations of period 2
time-steps. The oscillations is denoted “ringing”.
Figure 26: Poles and the step response for n = 5. The time step is h = 0.5.
11 Stability analysis
11.1 Stability properties
Assume given a dynamic system with input u and output y. The stability
property of a dynamic system can be defined from the impulse response 14 of a
system as follows:
The impulse response for the different stability properties are illustrated in
Figure 27. (The simulated system is defined in Example 11.1.)
We will now derive the relation between the stability and the poles by
studying the impulse response of the following system:
y(z) bz
H(z) = = (269)
u(z) z−p
The pole is p. Do you think that this system is too simple as a basis for
deriving general conditions for stability analysis? Actually, it is sufficient
because we can always think that a given z-transfer function can be partial
fractionated in a sum of partial transfer functions or terms each having one
pole. Using the superposition principle we can conclude about the stability of
the original transfer function.
In the following, cases having of multiple (coinciding) poles will be discussed,
but the results regarding stability analysis will be given.
From Example 6.2 we know that the z-transform of the impulse response of a
system is the transfer function of the system. The system given by (269) has
the following impulse response calculated below. It is assumed that the pole in
general is a complex number which may be written on polar form as
p = mejθ (270)
where m is the magnitude and θ the phase. The impulse response is
½ ¾
bz
y δ (k) = Z −1 (271)
z−p
½ ¾
p
= Z −1 (272)
1 − pz −1
( ∞ )
X
−1 k −k
= Z b p z (273)
k=0
= bpk (274)
= b|m|k ejkθ (275)
From (275) we see that it is the magnitude m which determines if the steady
state impulse response converges towards zero or not. From (275) we can now
state the following relations between stability and pole placement (the
statements about multiple poles have however not been derived here):
• Asymptotic stable system: All poles lie inside (none is on) the unit
circle, or what is the same: all poles have magnitude less than 1.
• Marginally stable system: One or more poles — but no multiple poles
— are on the unit circle.
• Unstable system: At least one pole is outside the unit circle. Or:
There are multiple poles on the unit circle.
The “stability areas” in the complex plane are shown in Figure 28.
Let us return to the question about the relation between the zeros and the
stability. We consider the following system:
y(z) b(z − c)
H1 (z) = = = (z − c)H(z) (276)
u(z) z−p
Finn Haugen, TechTeach: Discrete-time signals and systems 57
Im
j Pole area of
instability
Unit circle (outside unit circle)
Pole area of
asymptotic stability 1 Re
where H(z) is it the “original” system (without zero) which were analyzed
above. The zero is c. H1 (z) can be written as
bz −bc
H1 (z) = + (277)
z−p z−p
= H(z) − cz −1 H(z) (278)
where yδ (k) is the impulse response of H(z). We see that the zero does not
influence wether the steady state impulse response converges towards to zero
or not. We draw the conclusion that eventual zeros in the transfer function do
not influence the stability of the system.
The three responses shown in Figure 27 are actually the impulse responses in
three systems each having a transfer function on the form
y(z) b1 z + b0
= H(z) = 2 (280)
u(z) z + a1 z + a0
The parameters of the systems are given below:
They are shown in Figure 29. The poles are on the unity circle.
3. Unstable system: b1 = 0.021, b0 = 0.021, a1 = −2.04 and a0 = 1.08. The
poles are
z1, 2 = 1.21 ± j0.20 (283)
They are shown in Figure 29. The poles are outside the unity circle.
Figure 29: Example 11.1: Poles (and zeros) for the three systems each having
different stability property
Although it is assumed here that the feedback system is a control system, the
stability analysis methods described can be applied to any (linear) feedback
system.
Process
disturbance
Process d(s)
Setpoint Disturbance
in measurement Control Control Hd(z)
Setpoint transfer function
unit error variable
ySP (z) ymSP(z) em(z) u(z) y(z)
Hsm(z) Hc (z) Hu(z)
Process
Controller Actuator output
Model of
transfer function variable
sensor with
scaling Measurement ym (z)
Hs(z)
Sensor
(measurement)
with scaling
Figure 30: Feedback control system where the subsystems are represented by trans-
fer functions
The closed loop transfer function is the transfer function from input (setpoint)
ymSP to output ym (process measurement), and it denoted the tracking
transfer function:
nL (z)
L(z) dL (z) nL (z)
T (z) = = n (z)
= (290)
1 + L(z) L
1 + dL (z) dL (z) + nL (z)
Finn Haugen, TechTeach: Discrete-time signals and systems 61
Hp(z)
ymSP u y ym
Hc (z) Hu(z) Hs(z)
Making compact
L(z)
ym SP u ym
Hc (z) Hp (z)
Making compact
y mSP ym
L(s)
Figure 31: Converting an extracted part of the detailed block diagram in Figure 30
into a compact block diagram. L(z) is the loop transfer function.
where nL (z) and dL (z) are the numerator and denominator polynomials of
L(z), respectively. The stability of the feedback system is determined by the
stability of T (z).
Hc (z) = Kp (292)
Finn Haugen, TechTeach: Discrete-time signals and systems 62
The pole is
p = 1 − Kp (296)
The feedback system is asymptotically stable if p is inside the unity circle or
has magnitude less than one:
Figure 32: Example 11.2: Step resonse in ym . There is a step of amplitude ymSP .
argf (z) = 360◦ ·(number of zeros minus number of poles of f (z) inside Γ)
Γ
(301)
where argΓ f (z) means the change of the angle of f (z) when z has
followed Γ once in positive direction of circulation .
For the purpose of stability analysis of feedback systems, we let the function
f (z) in the Argument Variation Principle be
The Γ contour must encircle the entire complex plane outside the unit circle in
the z-plane, so that we are certain that all poles and zeros of 1 + L(z) are
encircled. From the Argument Variation Principle we have (below UC is unit
circle):
Finn Haugen, TechTeach: Discrete-time signals and systems 64
B
Positive
Im(z) direction
A1 of circulation
Γ contour Unit
circle
POL poles of
Infinite A
2 open loop system
radius
outside unit circle
Unstable pole area
PCL poles of
closed loop system
outside unit circle
Figure 33: In the Nyquist’s stability criterion for discrete-time systems, the Γ-
contour in the Argument Variation Principle [4] must encircle the whole area outide
the unit circle. The letters A and B identifies parts of the Γ-contour (cf. the text).
dL (z) + nL (z)
arg[1 + L(z)] = arg (303)
Γ Γ dL (z)
= 360◦ · (number of roots of (dL + nL ) outside UC15
minus number roots of dL outside UC) (304)
◦
= 360 · (number poles of closed loop system outside UC
minus number poles of open system outside UC)
= 360◦ · (PCL − POL ) (305)
By “open system” we mean the (imaginary) system having transfer function
L(z) = nL (z)/dL (z), i.e., the original feedback system with the feedback
broken. The poles of the open system are the roots of dL (z) = 0.
Finally, we can formulate the Nyquist’s stability criterion. But before we do
that, we should remind ourselves what we are after, namely to be able to
determine the number poles PCL of the closed loop system outside the unit
circle. These poles determines whether the closed loop system (the control
system) is asymptotically stable or not. If PCL = 0 the closed loop system is
asymptotically stable.
Nyquist’s Stability Criterion: Let POL be the number of poles of the open
Finn Haugen, TechTeach: Discrete-time signals and systems 65
system outside the unit circle, and let argΓ [1 + L(z)] be the angular
change of the vector [1 + L(z)] as z have followed the Γ contour once in
positive direction of circulation. Then, the number poles PCL of the
closed loop system outside the unit circle, is
argΓ [1 + L(z)]
PCL = + POL (306)
360◦
If PCL = 0, the closed loop system is asymptotically stable.
Let us take a closer look at the terms on the right side of (306): POL are the
number of the roots of dL (z), and there should not be any problem calculating
that number. What about determining the angular change of the vector
1 + L(z)? Figure 34 shows how the vector (or complex number) 1 + L(z)
appears in a Nyquist diagram for a typical plot of L(z). A Nyquist diagram is
simply a Cartesian diagram of the complex plane in which L is plotted.
1 + L(z) is the vector from the point (−1, 0j), which is denoted the critical
point, to the Nyquist curve of L(z).
Curve A2
is mapped
Im L(z) Negative ω
to here
The Curve B
critical is mapped
point 1 to origo
0
Re L(z)
1 + L(z)
Nyquist
curve of Decreasing ω
L(z) Positive ω
Curve A1
is mapped
to here
Figure 34: Typical Nyquist curve of L(z). The vector 1 + L(z) is drawn.
More about the Nyquist curve of L(z) Let us take a more detailed look
at the Nyquist curve of L as z follows the Γ contour in the z-plane, see Figure
33. In practice, the denominator polynomial of L(z) has higher order than the
numerator polynomial. This implies that L(z) is mapped to the origin of the
Finn Haugen, TechTeach: Discrete-time signals and systems 66
z = ejωh (307)
and
arg L(ej(−ω)h ) = − arg L(ej(+ω)h ) (309)
Therefore the Nyquist curve of L(z) for ω < 0 will be identical to the Nyquist
curve for ω > 0, but mirrored about the real axis. Thus, we only need to know
how L(ejωh ) is mapped for ω ≥ 0. The rest of the Nyquist curve then comes
by itself! Actually we need not draw more of the Nyquist curve (for ω > 0)
than what is sufficient for determining if the critical point is encircled or not.
If L(z) has poles on the unit circle, i.e. if dL (z) has roots in the unit circle, we
must let the Γ contour pass outside these poles, otherwise the function
1 + L(z) is not analytic on Γ. Assume the common case that L(z) contain a
pure integrator (which may be the integrator of the PID controller). This
implies that L(z) contains 1/(z − 1) as factor. We let the Γ contour pass just
outside the point z = 1 in such a way that the point is not encircled by Γ. It
may be shown that this passing maps z onto an infinitely large semicircle
encircling the right half plane in Figure 34.
In most cases the open system is stable, that is, POL = 0. (306) then becomes
argΓ [L(z)]
PCL = (310)
360◦
This implies that the feedback system is asymptotically stable if the Nyquist
curve does not encircle the critical point. This is the Nyquist’s special stability
criterion or the Nyquist’s stability criterion for open stable systems.
The Nyquist’s special stability criterion can also be formulated as follows: The
feedback system is asymptotically stable if the Nyquist curve of L has the
critical point on its left side for increasing ω.
Another way to formulate Nyquist’s special stability criterion involves the
following characteristic frequencies: Amplitude crossover frequency ω c and
phase crossover frequency ω 180 . ω c is the frequency at which the L(ejωh )
Finn Haugen, TechTeach: Discrete-time signals and systems 67
curve crosses the unit circle, while ω 180 is the frequency at which the L(ejωh )
curve crosses the negative real axis. In other words:
|L(ejωc h )| = 1 (311)
and
arg L(ejω180 h ) = −180◦ (312)
See Figure 35. Note: The Nyquist diagram contains no explicit frequency axis.
Im L(z)
j
Unit circle
L(ejω180h )
1
0
Re L(z)
L(ejωch)
Decreasing ω
Positive ω
We can now determine the stability properties from the relation between these
two crossover frequencies:
Im L(z)
j
Unit circle
L(ejω180h)
1/GM
1
0
PM Re L(z)
L(ejωch)
Figure 36: Gain margin GM and phase margin P M defined in the Nyquist diagram
not additive) increase of the gain that L can tolerate at ω 180 before the L
curve (in the Nyquist diagram) passes through the critical point. Thus,
¯ ¯
¯L(ejω180 h )¯ · GM = 1 (313)
which gives
1 1
GM = = (314)
|L(ejω180 h )| |Re L(ejω180 h )|
(The latter expression in (314) is because at ω 180 , Im L = 0 so that the
amplitude is equal to the absolute value of the real part.)
If we use decibel as the unit (like in the Bode diagram which we will soon
encounter), then ¯ ¯
GM [dB] = − ¯L(ejω180 h )¯ [dB] (315)
The phase margin P M is the phase reduction that the L curve can tolerate at
ω c before the L curve passes through the critical point. Thus,
which gives
P M = 180◦ + arg L(ejωc h ) (317)
and
30◦ ≤ P M ≤ 60◦ (320)
The larger values, the better stability, but at the same time the system
becomes more sluggish, dynamically. If you are to use the stability margins as
Finn Haugen, TechTeach: Discrete-time signals and systems 69
design criterias, you can use the following values (unless you have reasons for
specifying other values):
For example, the controller gain, Kp , can be adjusted until one of the
inequalities becomes an equality.16
It can be shown that for P M ≤ 70◦ , the damping of the feedback system
approximately corresponds to that of a second order system with relative
damping factor
PM
ζ≈ (322)
100◦
For example, P M = 50◦ ∼ ζ = 0.5.
ym (z) K
Hp (s) = =³ ´2 e−τ s (323)
u(z) s
ω0 + 2ζ ωs0 +1
K = 1; ζ = 1; ω 0 = 0.5rad/s; τ = 1s (324)
h = 0.2s (326)
Figure 37 shows the Nyquist plot of L(z). From the Nyquist diagram we read
off
ω 180 = 0.835rad/s (330)
and
Re L(ejω180 h ) = −0.558 (331)
which gives the following gain margin, cf. (314),
1 1
GM = = = 1.79 = 5.1dB (332)
|Re L(ejω180 h )| |−0.558|
The phase margin can be found to be
P M = 35◦ (333)
possible.
Finn Haugen, TechTeach: Discrete-time signals and systems 71
Figure 38: Example 11.3: Step response in ym (unity step in setpoint ymSP )
where L(z) is the loop transfer function. S has various interpretations: One is
being the transfer function from setpoint ymSP to control error e in the block
diagram in Figure 30:
em (z)
S(z) = (335)
ymSP (z)
A Bode plot of S(z) can be used in frequency response analysis of the setpoint
tracking property of the control system. One other interpretation of S is being
the ratio of the z-transform of the control error in closed en loop control and
the control error in open loop control, when this error is caused by an
excitation in the disturbance d, cf. Figure 30. Thus,
Im L(z)
1 Re L(z)
0
|1+L|min
= |S|max
Figure 39: The minimum distance between the L(ejωh ) curve and the critical point
can be interpreted as a stability margin. This distance is |1 + L|min = |S|max .
[dB] |L|
0 dB
ωc ω
GM
(logarithmic )
[degrees] arg L
PM
-180
ω180
Figure 40: Typical L curves of an asymptotically stable closed loop system with
GM , P M , ω c and ω 180 indicated
See Example 11.3. Figure 41 shows a Bode plot of L(ejωh ). The stability
margins are shown in the figure. They are
P M = 35.3◦ (341)
which is in accordance with Example 11.3.
[End of Example 11.5]
A z-transform
In this appendix the capital letter F (z) is used for the z-transformed time
function f (kT ) = f (k). In other sections of this document lowercase letters are
used for both the time function f (k) and its z-transformed function f (z).
Special case:
k1 F (z) ↔ k1 f (k) (343)
z −n F (z) ⇐⇒ f (k − n) (344)
z n F (z) ⇐⇒ f (k + n) (345)
Convolution:
∞
X
F1 (z)F2 (z) ⇐⇒ f1 (k) ∗ f2 (k) = f1 (k − l)f2 (l) (346)
l=−∞
dF (z)
−z ⇐⇒ k · f (k) (348)
dz
k
X
z
F (z) ⇐⇒ f (n) (349)
z−1 n=0
Finn Haugen, TechTeach: Discrete-time signals and systems 75
References
[1] G. Franklin and J. D. Powell, Digital Control of Dynamic Systems,
Addison Wesley, 1980
[2] F. Haugen: Advanced Control, Tapir Academic Press (Norway), 2004
(to appear)
[3] F. Haugen: Dynamic Systems — Modeling, Analysis and Simulation, Tapir
Academic Press, 2004
[4] F. Haugen: PID Control, Tapir Academic Press, 2004
[5] G. Olsson: Industrial Automation, Lund University, 2003