Digital Control Notes
Digital Control Notes
1 Introduction 7
1.1 Digital Control . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Advantages and Disadvantages of Digital Control . . . . . . . 8
Introduction
Control Process/
State
Algorithm Signal
Estimation
Design Model
x̂
Control
Algorithm Process/
Adjust. Signal
Analysis
y
Control b
Actuator Process Sensors
Algorithm
u
Physical Block
n
4. The I/O behaviour of the system, i.e. the properties of the function
mapping a certain input signal to the corresponding forced response can
be analyzed by considering the transfer function (TF) of the system.
For the linear, time-invariant, causal systems with lumped parameters
the TF is a rational function of the complex variable. Such variable is
usually denoted by s.
5. The position of the poles of the TF in the complex plane accounts for
many important properties of the systems including BIBO stability,
and important features of the step response of the system.
The first part of this book is devoted to introducing the tools needed
for deriving a similar approach for discrete-time signals and systems and for
sampled signals.
With this norm ℓ∞ is a Banach space, i.e. all the Cauchy sequences in
ℓ∞ converge to an element of ℓ∞ .
1
The symbol Z+ denotes the set of nonnegative integer (so that 0 ∈ Z+ ).
2.2. DISCRETE-TIME SIGNALS 13
Remark 2.1. More in general, we can define the vector space of the sequences
with summable p power, with 1 ≤ p ≤ ∞:
X
ℓp := {x(k) : |x(k)|p < ∞}, 1 ≤ p ≤ ∞.
k
If we further impose that the system is causal, i.e. the output at each “time” k
only depends on the input at times l ≤ k, we get the following representation
k
X k
X
aj (k)y(j) = bl (k)u(l). (2.2)
j=−∞ l=−∞
Finally, if we impose that the system is time-invariant, i.e. its behaviour does
not change in time, then the coefficients aj (k) only depend on the difference
k − j and the coefficients bl (k) only depend on the difference k − l, so that
k
X k
X
ak−j y(j) = bk−l u(l)
j=k−n l=k−m
Xn Xm
aj y(k − j) = bl u(k − l). (2.4)
j=0 l=0
We will develop the I/O analysis for systems of the form (2.4). These systems
are obtained by discretizing continuous-time equations modeling, for exam-
ple, classical mechanical or electrical systems. We shall see, however, that
2.3. DISCRETE-TIME LINEAR SISO SYSTEMS 15
2.4 Z-Transform
The Z-Transform may be viewed as the discrete-time counterpart of the
Laplace Transform. It is a linear operator mapping sequences in Z to func-
tions of the complex variable z ∈ C.
Definition 2.2. Let f : Z → R(C), k 7→ f (k) be a discrete-time signal.
We define the (unilateral)2 Z-Transform of f to be the sum of the following
series for the values of the complex variable z for which the series converges:
∞
X
Z[f ] = F (z) := f (k)z −k , (2.11)
k=0
Example 2.2. Let f (k) be the discrete impulse also known as Kronecker
delta: (
1 k=0
f (k) = δ(k) = (2.12)
0 otherwise
The corresponding Z-Transform is
Z[δ] = 1 (2.13)
We will only use the unilateral Z-Transform as we mainly consider causal signals.
2.4. Z-TRANSFORM 17
Then
lim sup g(k) := lim l(k).
k→∞ k→∞
Also this formula is usually much easier to compute than (2.14) but
holds if and only if the limit in its right-hand side exists.
3
Notice that ϱ0 may well be +∞: this means that the series does not converge for
any complex value so that the Z-Transform is not defined for sequences corresponding to
ϱ0 = +∞.
18CHAPTER 2. DISCRETE-TIME SIGNALS AND SYSTEMS AND Z-TRANSFORM
{z ∈ C : |z| > ϱ0 }.
=(z)
%0
0 <(z)
• Let f (k) be the discrete unit step (also known as Heaviside function)
(
1 k≥0
f (k) = δ−1 (k) := (2.17)
0 k<0
2.5. PROPERTIES OF THE Z-TRANSFORM 19
Challenge 2.1. Provide a sequence f (k) for which the radius of converge
of the corresponding Z-Transform cannot be computed with the simplified
formulas (2.15) and (2.16) so that formula (2.14) must be employed. In
particular, prove that for such f (k) the limits in (2.15) and (2.16) do not
exist and compute the limit in (2.14).
Z
→ F (z), then4
1. Simmetry: If f : Z → C, and f −
Z
X
f ∗ (k) −
→ f ∗ (k)z −k = F ∗ (z ∗ ). (2.22)
k
ϱ0 ≤ max{ϱ1 , ϱ2 }. (2.24)
z sin ϑ
Z[g] = . (2.26)
z2 − 2 cos ϑz + 1
−3 −2 −1 0 1 2 3 4 5 6 7 k
−3 −2 −1 0 1 2 3 4 5 6 7 k
and hence we have not to worry about the convergence of the sum.
An interesting special case is the one in which f (k) is supported in
[0, N − 1] namely it is zero also for all k ≥ N (see Figure 2.3). In this
case g(k) is clearly periodic of period N .
The Z-Transform of the periodic repetition can be easily obtained by
using linearity:
∞
X 1 zN
G(z) := Z[f (k)] = z −iN F (z) = F (z) = F (z).
i=0
1 − z −N z N −1
| {z }
=:ΘN (z)
(2.32)
This formula shows that the action of the operator of periodic repetition
corresponds, in the transform domain, to multiplication by ΘN (z).
g(k)
3 4
−3 −2 −1 0 1 2 5 6 7 k
Figure 2.3: Signal g(k) vanishing for k < 0 and for k ≥ N = 5. The
corresponding periodic repetition of period N = 5, gives a causal signal f (k)
that equals g(k) for 0 ≤ k ≤ N − 1 = 4 and for which these 5 samples are
repeated periodically for k ≥ 5.
24CHAPTER 2. DISCRETE-TIME SIGNALS AND SYSTEMS AND Z-TRANSFORM
♢
f (k) 1
−3 −2 −1 0 1 2 3 4 5 6 7 k
6. Discrete integration: Given the signal f (k), let F (z) = Z[f (k)].
The discrete integral of f (k) is defined as
k
X
g(k) := f (l).
l=0
5
The Z-Transform of this discrete integral is easily obtained as
k ∞ k ∞ ∞
! !
Z
X X X X X
f (l) −
→ z −k f (l) = z −l f (l) z l−k
l=0 k=0 l=0 l=0 k=l
1 z
= −1
F (z) = F (z). (2.35)
1−z z−1
Notice that here g(k) is a causal signal so that Z[g(k − 1)] = z −1 G(z).
♢
7. Discrete derivative: Given the signal f (k), let F (z) = Z[f (k)].
Let ∆ be the discrete derivative operator defined in (2.6) and g(k) :=
∆f (k) = f (k) − f (k − 1). By using (2.28) we get
5
Notice that the formula for the Z-Transform of the discrete integral is the same of
(2.32) for the periodic repetition of period N = 1. The reader is invited to explain this
fact.
26CHAPTER 2. DISCRETE-TIME SIGNALS AND SYSTEMS AND Z-TRANSFORM
n−1 n
X
−h
X n l
S(z) := z (−1) f (h − l)
h=0 l=h+1
l
As a consequence, we have:
d
Z[kf (k)] = −z F (z). (2.40)
dz
Example 2.8. We now show as some relevant Z-Transforms can be
computed by using (2.40).
k k−1 k−1
k 1
Z =Z = Z k ,
l l l−1 l l−1
and by using the discrete derivative formula (2.40) and the trans-
lation formula (2.28),7 we get
k−1
1 z d −1 z z
Z k =− z = .
l l−1 l dz (z − 1)l (z − 1)l+1
k k−l
• Let f (k) = p ; in view of (2.46) and of (2.33), we get the
l
important expression
1 z/p z
Z[f (k)] = l l+1
= . (2.47)
p (z/p − 1) (z − p)l+1
We have
lim F (z) = 1 + 1 = 2 = f (0).
z→+∞
10. Final Value Theorem: Consider a signal f (k), and let F (z) =
Z[f (k)] be its Z-Transform. If limk→∞ f (k) exists and is finite,
then
lim f (k) = lim(1 − z −1 )F (z). (2.50)
k→∞ z→1
Example 2.10. Next we show how the Final Value Theorem can be
used and that if the assumptions of theorem do not holds, formula
(2.50) provides a wrong result!
z−1
z z
lim + = 1.
z→1 z z − 0.9 z − 1
• Let f (k) := k2k . In this case the limit limz→∞ f (k) exists but
is +∞ (and so is not finite). Again and formula (2.50) (which
cannot be used) wrongly gives
z−1
d z 2
lim (−z) = lim(z − 1) = 0.
z→1 z dz z − 2 z→1 (z − 2)2
♢
2.5. PROPERTIES OF THE Z-TRANSFORM 31
11. Convolution: Let f (k), g(k) be two causal signals and F (z), G(z) be
the corresponding Z-Transforms. We define the discrete convolution of
f (k) and g(k) as
+∞
X
h(k) := f (k) ⊗ g(k) := f (l)g(k − l). (2.51)
l=−∞
Notice that, due to the causality of the signals f (k), g(k), we have that
k
X
f (k) ⊗ g(k) = f (l)g(k − l)
l=0
and hence we don’t have to wory about the convergence of the sum.
Let H(z)be the Z-Transform of h(k). Then
Hence,
∞
X ∞
X ∞
X
0 ≡ D(z) = d(k)z −k = z −1 d(k)z −k+1 = z −1 d(h + 1)z −h . (2.54)
k=1 k=1 h=0
but also
+∞
X
jθ
G(e ) = g(k)e−jθk
k=−∞
Pm
bl z l
F (z) = Pnl=0 l , (2.57)
l=0 al z
Pm
F (z) bl z l
F1 (z) := = Pl=0 . (2.58)
z z nl=0 al z l
N (z)
F1 (z) = QN , (2.59)
i=0 (z − pi )ni
N ni −1
X X Ai,l
F1 (z) = . (2.60)
i=0 l=0
(z − pi )l+1
36CHAPTER 2. DISCRETE-TIME SIGNALS AND SYSTEMS AND Z-TRANSFORM
The coefficients Ai,l , called the residuals, can be computed, for example, as:
By taking into account that the inverse Z-Transform is linear, from (2.66),
(2.67) and (2.65), it follows:
N ni −1 0 −1
nX
X X Ai,l k
f (k) = pki + A0,l δ(k − l), k ≥ 0. (2.68)
i=0 l=0
pli l l=0
i.e., f (0), f (1), . . . , f (r − 1) are zero. In other words f (r) is the first non-zero
sample of f (k). Thus, r can be viewed as the “inner delay” of f (k). This
fact may be used as a convenient “sanity check” after computing the inverse
Z-Transform.
Remark 2.9. Notice that if F (z) is, as it will always be in our setting, a
real rational function (i.e. the coefficients of the numerator and denomina-
tor of F are real) then for any complex pole p = ϱejϑ of F (z), its complex
conjugate p∗ = ϱe−jϑ is also a pole of F (z) and p and p∗ have the same mul-
Al
tiplicity. Moreover, in the partial fraction expansion (2.60) the terms (z−p) l+1
A′
and (z−p∗l)l+1 have complex conjugate coefficients, i.e. A′l = A∗l . Therefore,
Al
the inverse Z-Transforms of the two complex conjugate terms (z−p) l+1 and
A∗l
sum to a real signal. We can compute explicitly this signal. In fact,
(z−p∗ )l+1
by denoting by ℜ e ℑ the real and the imaginary part, we easily get:
A′l
−1 Al
Z + (2.69)
(z − p)l+1 (z − p∗ )l+1
Al k k A∗l k ∗k
k−l k
+ Āl e−j(k−l)ϑ
j(k−l)ϑ
= l p + ∗l p =ϱ Al e
p l p l l
1 k k
ϱ 2ℜ(Al e−jlϑ ) cos(ϑk) − 2ℑ(Al e−jlϑ ) sin(ϑk) .
= l (2.70)
ϱ l
Az A∗ z
In particular, if p is a simple pole (np = 1), the two terms z−p
and z−p∗
sum to
Az A∗ z z(α(z − ϱ cos ϑ) − βϱ cos ϑ)
+ ∗
= , (2.71)
z−p z−p z 2 − 2zϱ cos ϑ + ϱ2
with
2A = α + jβ = M ejφ . (2.72)
Therefore, we have
A∗ z
−1 Az
Z + = M ϱk cos(kϑ + φ). (2.73)
z − p z − p∗
Let us see an example of computation of the inverse Z-Transform of a
rational proper function.
Example 2.11. Let
3z 4 + 8z 3 + 7z 2 − 26z + 26
F (z) = .
z(z − 1)(z + 2)2 (z 2 − 2z + 2)
38CHAPTER 2. DISCRETE-TIME SIGNALS AND SYSTEMS AND Z-TRANSFORM
We immediately see that the relative degree of F (z) is r = 2 and that F (z)
has a pole at 0. Since this pole corresponds to a one-step delay, we can
simplify the procedure by decoupling this delay. More precisely:
1. We define the new function
3z 4 + 8z 3 + 7z 2 − 26z + 26
F0 (z) := zF (z) = .
(z − 1)(z + 2)2 (z 2 − 2z + 2)
F0 (z) A B C1 C2 D D∗
F1 (z) = (= F (z)) = + + + + + ,
z z z − 1 z + 2 (z + 2)2 z − p z − p∗
√ √
where p := 1 + j = 2 exp(jπ/4) and p∗ = 1 − j = 2 exp(−jπ/4) are the
roots of (z 2 − 2z + 2) and, by using (2.61), (2.62), (2.63), and (2.64), we get:
Thus
z z z z z
F0 (z) = zF1 (z) = A + B + C1 + C2 +D + D∗
z−1 z+2 (z + 2) 2 z−p z − p∗
so that
Dpk and D∗ (p∗ )k as: Dpk +D∗ (p∗ )k = 2Re[Dpk ]. By writing D as D = α+jβ
and p as p = ρ exp(jθ), we get:
Clearly, for k = 0 (and for k < 0) we have f (k) = 0. Indeed, the expression
(2.74) of f0 (k) only holds for k ≥ 0.
40CHAPTER 2. DISCRETE-TIME SIGNALS AND SYSTEMS AND Z-TRANSFORM
Chapter 3
Analysis of Discrete-Time
Systems
n
! n i m
!
X X X X
ai z −i Y (z) + ai y(−l)z −i+l = bl z −l U (z)
i=0
| {z } |i=1 l=1
{z } | l=0
{z }
Ã(z) −C̃(z) B̃(z)
(3.2)
where we denoted Y (z) := Z[y(k)] and U (z) := Z[u(k)]. Notice that C̃(z) is
a polynomial in z −1 whose coefficients are linear combinations of the “initial
conditions” y(k), k = −1, −2, . . . , −n of the output. Moreover, since u(k)
is assumed to be causal, the term analogous to C̃(z) involving the “initial
conditions” of u(k) is missing.
42 CHAPTER 3. ANALYSIS OF DISCRETE-TIME SYSTEMS
B̃(z) C̃(z)
Y (z) = U (z) + = H(z)U (z) +Yl (z) = Yf (z) + Yl (z) (3.3)
Ã(z) Ã(z) | {z }
| {z } | {z } Yf (z)
H(z) Yl (z)
The rational function H(z) is known as the transfer function (T.F.) of the
discrete-time system.
In (3.3) the Z-Transform Y (z) of the output of the system has been
decomposed as the sum of two terms: Yf (z) and Yl (z). The former, known a
forced response, only depends (linearly) on the input of the system while the
latter, known a free response, only depends (linearly) on the initial conditions
{y(−l)}N l=1 .
The forced response in the time domain is defined by yf (k) := Z −1 [Yf (z)] =
Z −1 [H(z)U (z)] and can be easily obtained by using the convolution result
(2.52):
where
h(k) = Z −1 [H(z)], (3.5)
is the so-called impulse response of the system (the reason is obvious as when
u(k) = δ(k) is the discrete impulse, U (z) = 1, so that Yf (z) = H(z) and,
finally yf (k) = h(k)).
By taking N := max{n, m}, we can write
B(z)
H(z) =
A(z)
where we have set A(z) := z N Ã(z) and B(z) := z N B̃(z) are two polynomials
in z. Notice that A(z) is of degree N by the assumption we made that
a0 = 1. Hence H(z) is a proper rational function and so that its inverse Z-
Transform h(k) can be obtained by the procedure described in §2.6.2. Next,
we recall the main steps of this procedure: we first compute the partial
fraction decomposition of H(z)
z
:
h ni −1 nX0 −1
H(z) X X 1 A0,l
= Ai,l l+1
+
z i=1 l=0
(z − pi ) l=0
z l+1
43
2. The transfer function H(z) has only the pole p = 0 if and only if the
difference equation (3.1) is of the following form
m
X
y(k) = bi u(k − i).
i=0
m
X
h(k) = bi δ(k − i). (3.7)
i=0
The sum in (3.7) is finite so that h(k) is identically zero after m steps.
In this case the system is purely FIR. Notice that this is a situation
that has no analogous in continuous time.
yf (0) = yf (1) = · · · = yf (r − 1) = 0;
For determining the free response yi (k) is the time domain we need to
45
Since this is rational and strictly proper, then its inverse Z-Transform can
be found similarly to the inverse Z-Transform of the transfer function H(z).
Notice that, since H(z) and Yl (z) have the same denominator, they have the
same poles with the same multiplicities and hence the same modes. This
is only partially true since there might be poles/zeros cancellations in the
rational functions which would cancel some of the modes. This fact is better
clarified in the following simple example highlighting an important issue that,
if neglected, may lead to blunders.
Properties of Discrete-Time
Systems
∀u ∈ ℓ∞ ∞
+ , yf (k) = h(k) ⊗ u(k) ∈ ℓ+ . (4.2)
48 CHAPTER 4. PROPERTIES OF DISCRETE-TIME SYSTEMS
Pk P+∞
The forced response yf (k) = l=0 h(l)u(k − l) = l=−∞ h(l)u(k − l)
is a linear functional of the input u(k). Therefore, BIBO stability may be
mathematically formulated as the fact that this functional maps ℓ∞ to ℓ∞ ,
i.e. ℓ∞ is an invariant subspace of the functional. It can be shown that this
is equivalent to the fact that the impulse response of the system is in ℓ1 ,
i.e. +∞
P
k=0 |h(k)| < +∞. The latter condition is clearly equivalent to the fact
that all the poles of the transfer function H(z) are inside the unit disk, i.e.
|pi | < 1 for all pi that are poles of H(s).
As a consequence, we have the following implications:
• (Σ) asymptotically stable =⇒ (Σ) BIBO stable: in fact, the poles of
H(z) are necessarily a subset of the zeros of A(z).
• If the common zeros of A(z) and B(z), if any, have all magnitude less
than 1 then: (Σ) asymptotically stable ⇐⇒ (Σ) BIBO stable.
to be a Schur stable if all its poles are inside the unit disk {z ∈ C : |z| < 1}.
We now describe two different approaches to check whether or not a given
polynomial an/or rational function is Schur stable.
coefficients ai by
1 a0 an−i
bi := det . (4.3)
a0 an ai
The coefficients ci are obtained from the coefficients bi by following the same
procedure, and so on for the subsequent rows of the table. Notice that from
(4.3) we get bn = 0, as shown in the table. If the first element of the row is
zero, then the procedure is blocked and we say that the Jury table can not
be completed.
50 CHAPTER 4. PROPERTIES OF DISCRETE-TIME SYSTEMS
The following result provides a simple test to check whether or not a given
polynomial is Schur stable.
Theorem 4.1. Consider a polynomial A(z) and the corresponding Jury table
built as just shown. Then the polynomial A(z) is Schur stable if and only if
the Jury table can be completed and all the coefficients a0 , b0 , c0 ,. . . , r0 of
the first row have the same sign.
Example 4.1. Let us consider the polynomial:
1
A(z) := z 3 + z 2 + z + .
2
and the corresponding Jury Table is
1 1 1 1/2
1/2 1 1 1
3/4 1/2 1/2 0
1/2 1/2 3/4 0
5/12 1/6 0 0
1/6 5/12 0 0
7/20 0 0 0
In this case, all the relevant coefficients of the first column of the table
are positive and we can conclude that A(z) is a Schur stable polynomial. By
computing explicitly the zeros of A(z) we get the three zeros p1,2 = −0.1761±
j0.8607, p3 = −0.6487, with magnitudes |p1,2 | = 0.878 and |p3 | = 0.647 which
are, as expected, smaller than 1. ♢
The importance of this maps stands on the fact that |z| < 1 if √
and only
if ℜ (M (z)) < 0. To prove this fact, let z = a + jb so that |z| = a2 + b2 .
We have
z−1 a2 − 1 + b2 + j2b
M (z) = = ,
z+1 (a + 1)2 + b2
so that
a2 − 1 + b 2
ℜ (M (z)) = .
(a + 1)2 + b2
Therefore, we have
=(z) =(s)
z−1
s= z+1
=⇒
<(z) <(s)
Proposition 4.1. The rational function H(z) is proper and has poles in {z ∈
C : |z| < 1} if and only if the rational function Hc (s) is proper and has poles
in {s ∈ C : ℜ[s] < 0}.
52 CHAPTER 4. PROPERTIES OF DISCRETE-TIME SYSTEMS
H(z) has Schur stable poles ⇔ lim H(z) < ∞ for all z̄ such that |z̄| ≥ 1
z→z̄
Hc (z) has Hurwitz poles ⇔ lim Hc (s) < ∞ for all s̄ such that ℜ (s̄) ≥ 0
s→s̄
Assume now that H(z) is proper and has Schur stable poles. We first
prove that Hc (s) is proper that is equivalent to proving that lims→∞ Hc (s) <
∞. Indeed,
where we used the fact that lims→∞ M −1 (s) = −1 and that the Schur stability
of the poles of H(z) implies that H(−1) is finite. We then prove the Hurwitz
stability of the poles of Hc (s). To this aim take s̄ ∈ C such that ℜ (s̄) ≥ 0.
We distinguish two cases:
1. If s̄ = 1, then
where we used the fact that lims→1 M −1 (s) = ∞ and that the proper-
ness of H(z) implies that H(∞) is finite.
where we used the fact that, being |z̄| ≥ 1, the Schur stability of the
poles of H(z) implies that H(z̄) is finite.
The proof of the converse is similar.
From this result we see that the stability of H(z) can be checked by em-
ploying the Routh-Hurwitz test on the denominator of the rational function
Hc (s) (see Appendix C.1).
Pn Thei previous proposition can be used to check if
a polynomial P (z) = i=0 pi z is Schur stable.
4.2. CRITERIA FOR STABILITY 53
Pn
Corollary 4.1. Let P (z) = i=0 pi z i be a polynomial and let
n
X
−1 n
Pc (s) := P (M (s))(1 − s) = pi (1 + s)i (1 − s)n−i
i=0
Then
P (z) is Schur stable and has degree n ⇔ Pc (s) is Hurwitz stable and has degree n
Proof. Assume first that P (z) is Schur stable and has degree n, namely
pn ̸= 0. Then H(z) := 1/P (z) is proper and has Schur stable poles. By the
previous proposition this implies that
(1 − s)n (1 − s)n
Hc (s) := H(M −1 (s)) = Pn i n−i
=
i=0 pi (1 + s) (1 − s) Pc (s)
is proper and has Hurwitz stable poles. The properness of Hc (s) implies that
the degree of Pc (s) must be n. Moreover, since Pc (1) = pn 2n ̸= 0, then we
can argue that the numerator (1 − s)n and the denominator Pc (s) of Hc (s)
are coprime and hence the poles of Hc (s) coincides with the roots of Pc (s)
that must be Hurwitz stable.
The proof of the converse is similar.
1
Ac (s) = (1 + s)3 + (1 + s)2 (1 − s) + (1 + s)(1 − s)2 + (1 − s)3
2
1 3 5 2 3 7 1 3 2
= s + s + s + = (s + 5s + 3s + 7)
2 2 2 2 2
that has degree 3. We check the Hurwitz stability of Ac (s) by applying the
Routh Hurwitz test to the polynomial s3 + 5s2 + 3s + 7. The Routh table is
3 1 3
2 5 7
1 8/5
0 7
which proves that Ac (s) is Hurwitz stable and hence that A(z) is Schur stable.
54 CHAPTER 4. PROPERTIES OF DISCRETE-TIME SYSTEMS
C(z)P (z)
W (z) = , (4.6)
1 + C(z)P (z)
where the structure of W (z) is obtained by following exactly the same steps
as those used to obtain W (s) in continuous-time.
+ e u
r C(s) P (s) b y
−
+ ẽ ũ
r̃ C(z) P (z) b
ỹ
−
Notice that, if we start from transfer functions C(z) and P (z) that are
both proper anche hence associated with causal systems, it might happen
that the closed loop transfer function is not proper. In the discrete time case
this means that the closed loop transfer function can not be associated with
a causal system. It can be seen that this happens if and only if
since in this case limz→∞ W (z) = ∞, showing the the numerator of W (z)
has degree larger than its denominator.
4.3. INTERCONNECTION OF DISCRETE TIME SYSTEMS 55
e(k) u(k)
+
r(k) kC(z) P (z) b
y(k)
−
To analyze the stability of W (z) we can resort to the Jury stability crite-
rion or to the bilinear transform. This can be done also in case in which the
parameter k varies and must be selected An alternative way, that is in some
case easier, resort to the use of the root locus. To draw the root locus we
use the same rules of the continuous-time case (clearly the form of the locus
does not depend on the fact that the complex variable is named z instead of
s). The important difference, however, is in the interpretation of the result.
Indeed, the critical points are no longer those in which the locus intersect
the imaginary axis; now they are the intersections between the locus and the
unit circle {z : |z|2 = ℜ(z)2 + ℑ(z)2 = 1}. In fact, now the stability region is
the one contained inside the unit circle, i.e. {z : |z|2 = ℜ(z)2 + ℑ(z)2 < 1}.
To compute the critical values kcr of the gain k, we need to solve the
equation
kcr N (ejφcr ) + D(ejφcr ) = 0. (4.8)
in the two unknowns kcr and φcr . This is particularly easy when the form of
the locus allows to conclude that z = ±1 are the only critical points.
Example 4.3. Let N (z) = c ∈ R+ e D(z) = z + 12 . The relative degree of
N (z)/D(z) is r = 1 so that the locus has an asymptote lying in the negative
real half-line. The (positive) root locus is depicted in Figure 4.6.
56 CHAPTER 4. PROPERTIES OF DISCRETE-TIME SYSTEMS
=(z) =(s)
ϕcr
ωcr
<(z) ωcr
<(s)
ϕcr
Figure 4.4: Root locus (in red) in the z and s domains with the corresponding
critical points.
=(z)
kcr
×
<(z)
Figure 4.5: Root locus (in red) for the example 4.3.
Another case in which the use of the root locus to study the stability of
D(z) + kN (z) is particularly simple is when this polynomial has degree 2.
Indeed, in this case, denoting by z1 , z2 the roots of this polynomial, we can
argue that
In case z1 , z2 are not real, then z2 = z1∗ and hence the degree zero coefficient
of D(z) + kN (z) is c = az1 z2 = a|z1 |2 . We can argue that the roots of
D(z) + kN (z) are critical (namely |z1 | = 1) if and only if c = a.
Example 4.4. Let N (z) = z − 2 e D(z) = (z − 1) z − 21 . The (positive) root
ℑ(z)
× × ◦
ℜ(z)
Figure 4.6: Root locus (in red) for the example 4.4.
In general, to compute the points where the root locus crosses the unit
circumference {z : |z|2 = ℜ(z)2 + ℑ(z)2 = 1} we can use the bilinear trans-
form (4.5) which, as we have seen, bijectively maps the unit circumference
deprived of the point −1, to the imaginary axis of the complex plane. No-
tice the the missing point −1 can be treated separately by using (4.8). By
resorting to the bilinear transform, equation (4.8) may be rewritten as
1+w 1+w
kN (z) + D(z) =0 ⇒ kN +D = 0. (4.9)
1−w 1−w
58 CHAPTER 4. PROPERTIES OF DISCRETE-TIME SYSTEMS
1+w 1+w
By setting N ′ (w) := N and D′ (w) := D
1−w 1−w
, we get
kN ′ (w) + D′ (w) = 0,
and we can compute the critical values kcr of k by using the Routh Criterion.
Once obtained kcr , we can compute the values jωcr such that kcr N ′ (jωcr ) +
D′ (jωcr ) = 0, and hence the values of z for which the root locus crosses the
1+jωcr
unit circumference are easily obtained as zcr = ejφcr = 1−jω cr
.
Alternatively, we can compute the points where the root locus crosses the
unit circumference by resorting to the Jury Criterion (after constructiong a
Jury table whose elements are functions of k).
Example 4.5. Consider the closed-loop system depicted in Figure 4.7. Com-
pute the corresponding critical values of the gain k.
+
k
r(k) (z−1)(2z−1)
b
y(k)
−
=(z)
kcr,2
kcr,1
× ×
<(z)
kcr,2
Figure 4.8: Root locus (in red) for the example 4.5.
whose numerator
1
u y u P1 y
u2
5
4 2 P
P2
P2
P4
b y2
3
P3
y(k) u(k)
In the previous table the rows are associated with the inputs while the
columns are associated with the outputs of the transfer functions.
n(k)
+ u(k)
r(k) C(z) P (z) b
y(k)
−
z+2
Example 4.6. Consider the block diagram in Figure 4.10, where C(z) := z−1/2
z−1/2
and P (z) := (z+2)(z−1/3) . Notwithstanding the fact that the transfer function
from r to y is BIBO-stable:
Y (z) 1
= ,
R(z) z + 23
the transfer function from n to y is not stable because of the pole in −2:
Y (z) z − 12
= .
N (z) (z + 2)(z + 2/3)
Therefore, the interconnection is not internally stable and an unstable be-
haviour would almost surely emerge in practice. ♢
1 + z/2
W̃ (z) =
(z + 1/2)(z + 2) + ϵz
that is BIBO stable only when ϵ = 0. This shows that the BIBO stability is
lost no matter how small is the perturbation ϵ.
It can be shown that internally stable systems do not suffer of this type
of fragility. In fact from Proposition 4.2 it follows that if the feedback in-
terconnection in Fig. Figure 4.10 is such that NC (z)NP (z) + DC (z)DP (z) is
Schur stable and deg[NC (z)NP (z) + DC (z)DP (z)] = deg[DC (z)DP (z)], then
these two properties continue to hold true for perturbed versions of C(z) and
P (z) under the condition that the perturbation size is small enough.
where
u0 ejΨ0 z u0 e−jΨ0 z
U (z) = +
2 z−e jϑ0 2 z − e−jϑ0
and the Z-transform Y (z) of the corresponding forced response is
and hence
where we did not made the inverse Z-transforms of the exponential signal
associated with the poles pi since it is enough to know that they all converge
to zero due to the BIBO stability of G(z). It remains to obtain the residual
A that is
Y (z)
A= (z − ejϑ0 )|z=ejϑ0
z
W (z) u0 ejΨ0 u0 e−jΨ0
z z
= + (z − ejϑ0 )|z=ejϑ0
z 2 z − ejϑ0 2 z − e−jϑ0
u0 ejΨ0 u0 e−jΨ0 z − ejϑ0
= W (z) + W (z)
2 |z=ejϑ0 2 z − e−jϑ0 |z=ejϑ0
u0 ejΨ0
= W (ejϑ0 )
2
Since
u0
|A| = |W (ejϑ0 )| , arg(A) = arg(W (ejϑ0 )) + Ψ0
2
we obtain that
Remark 4.2. Since in (4.13), ϑ enters in G(·) via the periodic function ejϑ ,
the frequency response is clearly a periodic function of period 2π. Moreover,
it is also symmetric: G(e−jϑ ) = G(ejϑ )∗ . Therefore, we need only to study
the function in the interval [0, π].
The graphics of M (ϑ) and φ(ϑ) in the frequency interval [0, π] are the
discrete-time Bode plots and are analogous to the continuos-time ones.
Nyquist plot of G(ejϑ ) coincides with the classical Nyquist plot of Ĝ(jω).
Interconnections of
continuous-time and
discrete-time systems
ST : C −→ D
f (t) 7→ f˜(k)
by letting
f˜(k) := f (kT ), ∀k ∈ Z.
This operator is called Sampler and it is denoted by the symbol ST so that
we can write
f˜(k) = ST [f (t)]
Figure 5.1 shows its representation in the block diagrams. According to this
sampling method the sampling time T is assumed to be constant. It is clear
that sampling is a linear operator.
66CHAPTER 5. DISCRETE/CONTINUOUS-TIME AND INTERCONNECTIONS
clock
f (t) T
ց f˜(k)
sampling
Int : D −→ C
f˜(k) 7→ fˆ(t)
h(t) = Int[δ(k)]
This most typical choice for the interpolator interface in control archi-
tectures, usually denoted by a block H0 . If the discrete-time signal f˜(k)
is the input of a zero holder, the corresponding output is a piece-wise
constant continuous-time signal fˆ(t) that takes the value fˆ(t) = f˜(k)
for all t ∈ [kT, (k + 1)T [. Notice that the zero-holder is a causal inter-
polator.
Notice that any causal interpolator InthT can be built as the series of the
impulsive interpolator and a continuous time system with transfer function
H(s) = L(h(t)).
It is clear that the sampler is not an injective operator and hence it is not
possible to reconstruct the continuous time signal from its samples version,
because sampling always cause an information loss. This is clarified by the
following example that considers a particularly important case.
Example 5.1. Take f1 (t) = A cos(ω1 t + ϕ) and f2 (t) = A cos(ω2 t + ϕ). It is
easy to see that if ω1 − ω2 = 2π
T
h for some h ∈ Z, then ST [f1 (t)] = ST [f2 (t)].
Indeed,
2π
f˜1 (k) = A cos(ω1 T k + ϕ) = A cos((ω2 + h)T k + ϕ)
T
= A cos(ω2 T k + 2πh + ϕ) = A cos(ω2 T k + ϕ) = f˜2 (k)
From the previous example we see that a sinusoidal signal with frequency
ω belonging to the low frequencies interval [− Tπ , Tπ ] after sampling yields the
same signal as the sinusoidal signal with a possibly high frequency ω + 2π T
h
where h ∈ Z. In other words the signal in high frequency is translated by
the sampling operation to a low frequency signal. This is called the aliasing
effect.
For preventing the lack of injectivity we need to restrict the domain of
the operator ST that is the set of continuous time signals as shown in the
following example.
Example 5.2. Let
π π
C := {f (t) : f (t) = A cos(ωt + ϕ), for some A, ϕ ∈ R and ω ∈] − , ]}
T T
5.1. THE SAMPLER AND THE INTERPOLATOR 69
The signal f (t) can be obtained back from its Fourier transform throught he
formula Z +∞
1
f (t) := F(ω)ejωt dω
2π −∞
that is called the inverse Fourier transform. We can interpret the previous
formula by saying that the signal f (t) is the superposition (as a sum or an
integral) of complex exponential ejωt each having amplitude F(ω). Notice
that, in case f (t) is causal and its (unilateral) Laplace transform F (s) is well
defined in the imaginary axis, then the Fourier transform of f (t) coincides
with its Laplace transform evaluated on the imaginary axis, namely
F(ω) = F (s)|s=jω
Theorem 5.1 (Shannon). Let ω̄ > 0 and define the set of signal with bandwidth
less than ω̄, namely
Let moreover
2π
Ω :=
T
be the sampling frequency of the sampler ST . For any ω̄ < Ω/2 the sampling
operator ST restricted to Cω̄ is injective.
We see that in the previous theorem the sampling frequency Ω plays a
crucial role. Indeed, the frequency Ω/2 is known as Nyquist frequency. Since
sampling operator ST restricted to Cω̄ is injective, then it should be possible
to reconstruct f (t) ∈ Cω̄ from its sampled version f˜(k) = ST [f (t)]. In fact it
can be proved that f (t) can be obtained by applying the Shannon interpolator
to f˜(k).
70CHAPTER 5. DISCRETE/CONTINUOUS-TIME AND INTERCONNECTIONS
The signal fδ (t) can be viewed as the modulation of the input signal f (t)
with a Dirac comb carrier signal i.e. a train of pulses of the form:
+∞
X
φ(t) = δ(t − kT ).
k=−∞
We will see that fδ provide a powerful tool to connect the Laplace trans-
form of f (t) with the Z-transform of f˜(k) .
CUT
Remark 5.2. It is clear that the continuous-time signal fδ (t) and the discrete-
time signal f˜(k) = f (kT ) contain exactly the same information: we can
obtain one from the other by using (5.3) or (5.5). Therefore fδ is an intu-
itive and mathematically consistent way of representing the information of a
discrete-time signal by using a continuous-time one.
Remark 5.3. Notice that technically the Dirac “delta function” is not a
function but a distribution defined by the following integral action on the test
functions f (i.e. infinitely differentiable functions having compact support):
Z +∞
δ(t − τ )f (τ )dτ = f (t).
−∞
Remark 5.4. Observe that the signal fδ (t) can be seen as the limit of a Pulse
Amplitude Modulation (PAM) fh (t) of f (t) using the carrier signal that is
72CHAPTER 5. DISCRETE/CONTINUOUS-TIME AND INTERCONNECTIONS
the periodic repetition with period T of a box signal having height 1/h and
support [−h/2, h/2] with h < T , namely
+∞
X
φh (t) = δh (t − kT ).
k=−∞
where δh (t) = 1/h for t ∈ [−h/2, h/2] and δh (t) = 0 otherwise. In this way
we have
fh (t) := f (t)φh (t).
In this way fh (t) can be understood as signal that is equal to the input scaled
by the factor 1/h in each of the intervals [kT − h2 , kT + h2 ], k ∈ Z, and is zero
R kT + T
outside these intervals. Therefore, for all k ∈ Z, kT − T2 fh (t)dt is equal to the
2
average value of f (t) on the interval [kT − h2 , kT + h2 ]. This value converges
to f (kT ) as h → 0. In this way we can say that δh (t) converges to the Dirac
delta δ(t) and hence that fh (t) converges to fδ (t).
We want now to obtain the Laplace transform of fδ (t) and how it is
connected with the Z-transform of f˜(k). Observe that
L[δ(t)] = 1, L[δ(t − kT )] = e−kT s for all k ≥ 0.
Then we have
∞ ∞
" #
X X h i
Fδ (s) := L[fδ (t)] = −kT s
f (kT )e = f (kT )z −k ˜
= Z[f (k)] ,
|z:=eT s
k=0 k=0 |z:=eT s
(5.6)
˜
In other words the Laplace transform of fδ (t) is the Z-transform of f (k) =
f (kT ) evaluated at z = eT s .
Remark 5.5. To analyze the map z = esT , let us consider s = σ + jω. First of
all we observe that e(s+j2lπ/T )T = esT ej2lπ = esT for all l ∈ Z. In other words
the map z = esT is periodic of period Ω := 2π/T along any vertical axis
of the complex plane. Therefore, to study the map z = esT we can restrict
attention to the primary stripe
Ω Ω
S := s : s = σ + jω, − < ω ≤ .
2 2
It easy to see that, once restricted to S, the map z = esT is injective, i.e. if
s1 , s2 ∈ S and s1 ̸= s2 then es1 T ̸= es2 T . Moreover the image of the map is
5.2. SHANNON SAMPLING THEORY 73
=(s)
Ω
2
5 2 6
7
3 1 4 <(s)
− Ω2
=(z)
6 2 5 3 1 4 <(z)
Figure 5.2: Correspondence between some points on the primary stripe and
their images according to the map esT .
the whole complex plane except for the origin, i.e. for all z̄ ∈ C \ {0} there
exists s̄ ∈ S such that z̄ = es̄T . The origin z̄ = 0 can be achieved as the
image of the map only at the limit for s tending to −∞. More precisely, we
have
lim esT = 0.
ℜ(s)→−∞
74CHAPTER 5. DISCRETE/CONTINUOUS-TIME AND INTERCONNECTIONS
It is easy to check that the intersection of S with the left half complex plane
is mapped to the open unit disk, the intersection of S with the imaginary axis
is mapped to the unit circle S1 , and the intersection of S with the right half
complex plane is mapped to the open region outside unit circle as depicted
in Figure 5.2.
Next we analyze in greater detail the connections between F (s) = L[f (t)],
Fδ (s) = L[fδ (t)] and F̃ (z) = Z[f˜(k)]. In particular, we look for an explicit
connection between a continuous-time causal signal f (t) (or its Laplace trans-
form F (s)) and the Laplace transform Fδ (s) of the corresponding modulated
signal fδ (t). In this way we can complete the following diagram.
L
f (t) F (s)
L−1
·φ(t) ?
L
ST fδ (t) Fδ (s) ?
L−1
≈ z = esT
Z
f˜(k) F̃ (z)
Z −1
2π
where Ω = T
and
Z T /2 Z T /2
1 −jkΩt 1 1
ak = φ(t)e dt = δ(t)e−jkΩt dt = .
T −T /2 T −T /2 T
We can now compute the Laplace transform in both sides of (5.9). We get:
+∞
1 X
Fδ (s) := L[fδ (t)] = F (s − jkΩ). (5.10)
T k=−∞
We can now connect the previous reasoning with the Shannon theorem.
Indeed recall that the Fourier transforms coincides with the Laplace trans-
forms evaluated on the imaginary axis, namely
|F (jω)|
−ωB ωB Ω
0 2 Ω f
Figure 5.3: The solid line represents |F (jω)| for a band-limited signal (with
band ωB smaller than Ω2 ). The dashed line represents |F (jω)| for a signal
with unlimited band: we see that in this case the multiple copies of the
signal generated by the sampling (corresponding to periodic repetition in
the frequency domain) interfere with one another so that the original signal
F (jω) can no longer be recovered from the periodic repetition.
In this way we see that the fact that Shannon interpolator is able to recon-
struct the continuous time signal is simply the consequence of the fact that
inverse Fourier transform a0 (t) of A0 (ω) defined in (5.11) is
sin π Tt
a0 (t) = sincT (t) =
π Tt
a low-pass filter designed in order reduce the effects of the aliasing. The
anti-aliasing filter is a convolution filter, namely a map
where a(t) is chosen so that its Fourier transform A(ω) is the ideal low pass
filter, namely a perfect “box”:
1 |ω| ≤ Ω/2
A(ω) :=
0 |ω| > Ω/2
In this way, in the frequency domain, the anti-aliasing filter operates through
a multiplication, namely
that clearly provides a filtered signal satisfying the hypothesis of the Shannon
theorem.
In control, however, this approach is not the right one for a number of
reasons.
1. This ideal anti-aliasing filter is not causal and hence, in order to obtain
fˆ(t) we need to know the signal f (τ ) for all time τ , even for τ > t,
namely in the time instants that are in the future.
2. This ideal anti-aliasing filter can not be realized by any physical device.
In fact, from electronic devices constituted by operational amplifiers,
resistor, capacitors and inductors we can obtain only rational filters,
namely a(t) that are inverse Laplace transforms of rational functions
A(s)
3. The control objective is different from the typical objective the is pur-
sued in telecommunication. Indeed, in control we are not worried about
the accuracy of the reconstruction from the sampled signal, but instead
to satisfy the control specifications. The most important negative im-
pact that the aliasing might in control consists in the possibility to
translate high frequency disturbances into much more dangerous low
frequency disturbances.
Considering these facts, we propose now a method for designing an anti-
aliasing filter suitable to our goals. Roughly speaking, this filter has to
78CHAPTER 5. DISCRETE/CONTINUOUS-TIME AND INTERCONNECTIONS
+
r(t) C(s) P (s) b
y(t)
−
d(t)
1. The rise time of the step response is translated into a prescribed crossover
frequency ωc∗ of L(s).
+
r̃(k) C(z) H0 P (s) b
y(t)
−
T
ց A(s)
d(t)
3. The phase margin m′φ of the new open loop transfer function L′ (s) =
C(s)P (s)A(s) is greater than or equal to the prescribed one m′φ ≥ m∗φ .
We choose as candidate anti-aliasing filter the following second order transfer
function
K
A(s) = 2 (5.12)
1 + 2ξ ωsn + ωs 2
n
equivalent to
ω∗
2ξ c ≤ φ (5.13)
ωn
5.3. ANTI-ALIASING FILTERS FOR CONTROL 81
C1
R R
+
vin C2 −
−
+ +
vout
−
Vout (s) −1 −1
= 2
= 2 , (5.18)
Vin (s) sR C1 C2 + 3RC1 s + 1 s
ωn
+ 2 ωsξn + 1
3 0
Q
0 1 2 t 0 1 2 3 t
1-bit Quantizer
L−1
f (t) F (s)
ST
Z
f˜(k) F̃ (z)
and we start from a strictly proper rational function F (s) then the associated
F̃ (z) is itself a proper rational function and the poles of the two rational
84CHAPTER 5. DISCRETE/CONTINUOUS-TIME AND INTERCONNECTIONS
functions are related through the map z = esT . We show this fact first by
the means of an example and then providing the general result.
Example 5.4. Consider the continuous-time signal f (t) = eat , t ≥ 0. The
1
corresponding Laplace transform is F (s) = s−a . On the other hand, the
˜ aT k
sampled version of f (t) is f (k) = (e ) , k ≥ 0 and its Z-transform is
F̃ (z) = z−ez aT , where T is the sampling time. Thus, not only both F (s) and
F̃ (z) are rational functions but the pole eaT of F̃ (z) is obtained by mapping
the pole a of F (s) via the map z = esT .
Proposition 5.1. If F (s) is a strictly proper rational function, then
F̃ (z) := Z[ST [L−1 [F (s)]]]
is a proper rational function. Moreover, if p1 , . . . , pN are the poles of F (s),
then ep1 T , . . . , epN T are the poles of F̃ (z) and they have the same multiplicities
of p1 , . . . , pN .
Proof. If F (s) is a strictly proper rational function, then it admits a partial
fraction decomposition (see (2.60))
N ni −1
X X Ai,l
F (s) = ,
i=1 l=0
(s − pi )l+1
where p1 , . . . , pN are the poles of F (s), n1 , . . . , nN are their multiplicities,
and the coefficients Ai,l are the residuals that can be computed using the
formulas (2.61), (2.62), (2.63), (2.64). Then
N ni −1
−1
X X Ai,l
f (t) := L [F (s)] = tl epi t δ−1 (t)
i=1 l=0
l!
and hence
N n i −1
X X Ai,l T l
f˜(k) := ST [f (t)] = f (kT ) = L−1 [F (s)] = k l (epi T )k δ−1 (k)
i=1 l=0
l!
Taking into account (2.44), we can argue that
N n i −1
X X Ai,l (T epi T )l zQl (z/epi T )
F̃ (z) := Z[f˜(k)] =
i=1 l=0
l! (z − epi T )l+1
which is a proper rational function with poles ep1 T , . . . , epN T with multiplic-
ities n1 , . . . , nN .
5.6. THE ZERO HOLDER INTERPOLATOR 85
D/A
r̃ + ẽ ũ ū
r T
ց C(z) H0 P (s) b y
−
T
ց
The most typical choice for the interpolator interface in control architec-
tures is the Zero Order Holder (ZOH). Recall that we can write the relation
between the discrete-time signal ũ(k) and the corresponding continuous-time
signal ū(t) as:
+∞
X
ū(t) = ũ(k)RectT (t − kT ), (5.19)
k=−∞
where (
1 if 0 ≤ t ≤ T
RectT (t) =
0 otherwise
Since RectT (t) = δ−1 (t) − δ−1 (t − T ), then we have
+∞
X
ū(t) = ũ(k) (δ−1 (t − kT ) − δ−1 (t − (k + 1)T )) . (5.20)
k=−∞
+∞
X 1 −ksT
− e−(k+1)sT
Ū (s) = ũ(k) e
k=0
s
+∞
1 − e−sT X
= ũ(k)e−ksT , (5.21)
s
|k=0 {z }
Uδ (s):=L[uδ (t)]
with T being the sampling time. It immediately follows from (5.21) that the
transfer function of the ZOH in the Laplace variabile s is
1 − e−sT
H0′ (s) = . (5.22)
s
This result will be useful below when we compute the overall discrete transfer
function of the series interconnection obtained by cascading H0 , P (s) and a
sampling block.
Remark 5.8. Some comments are in order.
• In place of the ZOH we could use higher order holders, for example the
first order holder (FOH). These devices however, perform a derivative
action with the disadvantage of amplifying the noise.
• ZOH are fast, cheap and easy to implement as they can be built by
using op-amp, and resistances.
• As we will see with more details in the following, on average the ZOH
introduces a delay corresponding to a half of sampling time T .
5.7. CONVERSION BETWEEN CONTINUOUS AND DISCRETE SYSTEMS87
≃
ū(t) y(t)
ũ(k) H0 F (s) T
ց ỹ(k)
≃
ẽ(k) ũ(k)
e(t) T
ց C̃(z) H0 ū(t)
The remainder of this section will be dedicated to the solution of the first
problem. Indeed, we shall compute the transfer function F (z) and show that
it accounts exactly for the the behaviour of the cascade of systems depicted
at the bottom of Figure 5.9, i.e. no approximations are needed.
Consider the cascade depicted in Figure 5.11 and assume that F (s) is the
transfer function of a causal system. We also assume (and this is a funda-
mental assumption) that the sampling and the hold devices are synchronous,
i.e. that they work with the same clock of period T .
ū(t) y(t)
ũ(k) ∼ uδ (t) H0 F (s)
T
ց ỹ(k)
Figure 5.11: Block diagram of the cascade ”ZOH”, F (s) and ”Sampling”.
ORIGINAL DERIVATION
Let H(s) := F (s)H0′ (s), where H0′ (s) is the continuous-time version of
the ZOH as defined above. We first compute the forced output of the filter
with transfer function H(s) fed with the pulse input
∞
X
uδ (t) = ũ(l)δ(t − lT ).
l=−∞
Notice that Z +∞
h(τ )δ(t − τ − lT )dτ = h(t − lT )
−∞
Notice also that both the system of transfer function F (s) and the continuous-
time versione of the ZOH are causal so that their cascade, whose transfer
5.7. CONVERSION BETWEEN CONTINUOUS AND DISCRETE SYSTEMS89
function is H(s) := F (s)H0′ (s), is a causal system as well, i.e. its impulse
response h(t) := L−1 [H(s)] is a causal function i.e. it vanishes for all negative
values of t. By plugging this expression in formula (5.23) and by setting
h̃(k) := h(kT ), we get the sampled version of y(t) that is given by
∞
X
ỹ(k) = y(kT ) = h̃(k − l)ũ(l). (5.24)
l=−∞
ALTERNATIVE DERIVATION
Observe from (5.20) that ū(t) is a linear combination of translated in time
versions of the step signal δ−1 (t) and that y(t) is the output of the system
with transfer function F (s) with input ū(t). By linearity and time invariance
of this system we have that
+∞
X
y(t) = ũ(l) (g(t − lT ) − g(t − (l + 1)T )) (5.27)
l=−∞
90CHAPTER 5. DISCRETE/CONTINUOUS-TIME AND INTERCONNECTIONS
where
−1 F (s)
g(t) = L
s
Then
+∞
X
ỹ(k) = y(kT ) = ũ(l) (g(kT − lT ) − g(kT − (l + 1)T ))
l=−∞
+∞
X
= ũ(l) (g̃(k − l) − g̃(k − 1 − l))
l=−∞
+∞
X +∞
X
= ũ(l)g̃(k − l) − ũ(l)g̃(k − 1 − l),
l=−∞ l=−∞
(5.28)
In this way we proved that the input ũ(k) and the output ỹ(k) are related
by the transfer function F̃ (z) that can be computed as follows
F̃ (z) = (1 − z −1 )G̃(z)
G̃(z) = Z [g̃(k)]
g̃(k) = ST [g(t)]
−1 F (s)
g(t) = L (5.30)
s
where ST [·] denotes the sampling operator with sampling time T defined as
follows
ST [f (t)] = f˜(k) = f (kT ), k ∈ Z.
h i
Often, with abuse of notation, the expression F̃ (z) = (1 − z −1 )Z F (s)
s
is
used.
END ALTERNATIVE DERIVATION
It is important to observe that the transfer function F̃ (z) obtained in
(5.26) does not have any approximation so that we have an exact formula for
5.7. CONVERSION BETWEEN CONTINUOUS AND DISCRETE SYSTEMS91
s = pi → z = e p i T
92CHAPTER 5. DISCRETE/CONTINUOUS-TIME AND INTERCONNECTIONS
– F (s) is not rational and has a delay so that it has the form F (s) =
′
e−T s F0 (s) with T ′ > T ;
h i
– F (s) is rational but its step-response y(t) = L−1 F (s) s
is such
that y(T ) = 0.
2
Example 5.5. Let G(s) := (s+1)(s+2) . Compute the corresponding discrete
transfer function obtained by cascading a sampling block of period T , G(s),
and a ZOH.
Solution. By developing the computations in (5.26), we have
G(s) 1 2 1 L−1
= − + −−→ (1 − 2e−t + e−2t )δ−1 (t),
s s s+1 s+2
5.7. CONVERSION BETWEEN CONTINUOUS AND DISCRETE SYSTEMS93
so that
z−1
Z δ−1 (k) − (2e−t )k + (e−2t )k
G̃(z) =
z
z−1
z z z
= −2 +
z z−1 z − e−T z − e−2T
(e−T − 1)2 (z + e−T )
= .
(z − e−T )(z − e−2T )
Notice that the relative degree of G(s) is 2 while the discrete-time counterpart
G̃(z) has relative degree equal to 1. One sampling zero z1 = −e−T is present
in G̃(z) while G(s) has no zeros. ♢
Example 5.6. Let us consider the block diagram depicted at the top of Figure
1
5.12, where P̃ (s) := s+1 (we use the notation P̃ (s) in such a way that P
can be reserved for the discrete-time system). We want to compute the
corresponding discrete-time system depicted at the bottom of Figure 5.12
and discuss the stability of the closed-loop system. By using equation (5.26),
+ e ẽ ũ ū
k′
r(t) T
ց
1−z −1
H0 P̃ (s) b
y(t)
−
+
k′
r(k) 1−z −1
P (z) b
y(k)
−
we get:
" " " # ##
P̃ (s)
P (z) = (1 − z −1 )Z S L−1 ;T
s
−1 −1 1 1
= (1 − z )Z S L − ;T
s s+1
= (1 − z −1 )Z S δ−1 (t) − e−t ; T
−1 z z
= (1 − z ) −
z − 1 z − e−T
1 − e−T
= .
z − e−T
The open-loop transfer function is
′ z ′ N (z) ′ z 1 − e−T z
k P (z) = k =k = k , (5.32)
z−1 D(z) z − 1 z − e−T (z − 1)(z − e−T )
−T −T ′ 2(1 + e−T )
0 = kcr +(−1−1)(−1−e ) ⇒ kcr = 2(1+e )⇒ kcr = . (5.33)
1 − e−T
′
From (5.33), we immediately see that the critical value kcr depends on T
and gets smaller and smaller as T increases. On the contrary, as T tends to
′
0 critical value kcr tends to infinity so that the closed loop system tends to
be stable for any positive value of the gain. ♢
5.7. CONVERSION BETWEEN CONTINUOUS AND DISCRETE SYSTEMS95
=(z)
kcr
◦× ×
<(z)
Figure 5.13: Root locus (in red) for the example 5.6.
96CHAPTER 5. DISCRETE/CONTINUOUS-TIME AND INTERCONNECTIONS
Chapter 6
2. The control input variables and their constraints and the measured
output variables;
the next sections we will concentrate on methods allowing to satisfy the per-
formance specifications on the asymptotic and transient regime.
+ E U
R C P b
Y
−
and this is possible if and only if the polynomial DE is Hurwitz stable (all
its roots have negative real part). In discrete time, tracking is achieved if
k→+∞
|y(k) − r(k)| −−−−→ 0, (6.5)
and this is the case if and only if DE is Schur stable (all its roots have absolute
values strictly less than one). For the sake of simplicity, with a slight abuse
of terminology, such a DE will be said to be stable. Note that from (6.12) we
have that
roots(DE ) ⊆ roots(NL + DL ) ∪ roots(DR )
due to possible cancellations. Because of the closed-loop stability require-
ments, we know that NL + DL is stable. Thus, two possibilities has to be
discussed:
1. DR is stable,
2. DR is not stable.
In the first case tracking is already guaranteed, while to address the second
S U
it is convenient to factorize DR in a stable and an unstable part, DR and DR
respectively:
S U
DR = DR DR . (6.6)
In order to remove the effect of the non-convergent modes associated with
U
DR on the error E it is necessary to cancel such factor in (6.12). Assuming
U
NR and DR coprime the only possible cancellation is between DL and DR .
U
Precisely we need that DR is a factor of DL . In other words asymptotic
tracking is achieved if any unstable root pRi of the polynomial DR is a root
of DL with equal or higher multiplicity.
This conclusion is a formulation of the so-called internal model principle
the input-output description, that we give in the following proposition for
discrete-time systems.
Proposition 6.1 (Internal model principle). For a stable feedback intercon-
nectionn as in Fig.6.1, asymptotic tracking of a reference signal r(k) with
rational Z transform R(z), is achieved if and only if the unstable poles of
R(z) are also poles of the open loop transfer function L(z) := C(z)P (z) with
equal or higher multiplicities.
An equivalent result holds for continuous-time systems and their transfer
functions.
100CHAPTER 6. CONTROL PROBLEM AND CONTROLLER DESIGN
where L0 (s) has no poles and no zeros in s = 0. The value of L0 (0) is called
the Bode gain of L(s). Then
1 NL (s) NL (s) 1
E(s) = l l+1
= l
1 + L0 (s)/s s s + L0 (s) s
By applying the final value theorem (it is possible since sl +L10 (s) is stable) we
obtain
NL (0) rl
1+L0 (0) = 1+L0 (0) if l = 0
lim e(t) = (6.7)
t→∞
NL (0) = rl
if l > 1
L0 (0) L0 (0)
Hence, we can make the tracking error small by increasing the Bode gain.
We now treat the discrete-time case. Consider the discrete time reference
to be the degree l polynomial,
kl k l−1
r(k) = rl + rl−1 + · · · + r1 k + r0 , k≥0
l! (l − 1)!
Then by (2.42) we know that its Z-transform is
zQl (z)/l! zQl−1 (z)/(l − 1)! z z NL (z)
R(z) = rl l+1
+rl−1 l
+· · ·+r1 2
+r0 = ,
(z − 1) (z − 1) (z − 1) z−1 (z − 1)l+1
From the internal model principle, in order to attain asymptotic tracking, it
is necessary to choose C(z) so that L(z) = C(z)P (z) has at least l + 1 of
6.1. SPECIFICATIONS ON THE ASYMPTOTIC REGIME: TRACKING101
poles in z = 1. In case the poles in z = 1 are only l, also in this case we can
use the final value theorem to show that the asymptotic tracking error is not
L0 (z)
zero but it is finite. Precisely, let L(z) = (z−1) l where L0 (z) has no poles and
1 NL (z) NL (z) 1
E(z) = l l+1
= l
1 + L0 (z)/(z − 1) (z − 1) (z − 1) + L0 (z) z − 1
By applying the final value theorem (it is possible since (z−1)l1+L0 (z) is stable)
we obtain
NL (1) rl Ql (1)/l! rl
1+L0 (1) = 1+L0 (1) = 1+L0 (1) if l = 0
lim e(k) = (6.8)
k→∞ NL (1) = rl Ql (1)/l! = rl
L0 (1) L0 (1) L0 (1)
if l > 1
Remark 6.1. Consider the interconnection in Fig. 6.2 in which we use the
l
discrete time controller C̃(z) in order to track r(t) = tl! with a prescribed
error. In continuous time feedback interconnection the controller C(s) should
to be selected so that the open loop transfer function L(s) = C(s)P (s) has
l poles in s = 0 and a Bode gain that can be derived from (6.7). In order
to analyse the asymptotic behaviour of the error ẽ(k), we need compute the
sample/hold version P̃ (z) of P (s). By letting L̃(z) := C̃(z)P̃ (z), in order
to have finite asymptotic error we need to impose that L̃(z) has l poles in
L̃0 (z)
z = 1. Moreover, if we write L̃(z) = (z−1) l , with L̃0 (1) being the Bode gain
of L̃(z), then asymptotic error ẽ(∞) can be obtained using formula (6.8).
Notice however that in the interconnection in Fig. 6.2 the sampled version
of r(t) is
kl
r̃(k) = r(kT ) = T l
l!
102CHAPTER 6. CONTROL PROBLEM AND CONTROLLER DESIGN
and hence the asymptotic error is given by formula (6.8) but multiplied by T l .
We can conclude that, in order to achieve the same asymptotic error we need
to impose the following relation between the Bode gains of the continuous
and the discrete time counterparts
Hence C̃(z) has to be chosen such that L̃(z) has globally l poles in z = 1 and
and that the global Bode gain satisfies (6.9).
y(k) = y0 cos(ϑ0 k + χ0 ).
z(cos(Ψ0 )z − cos(ϑ0 − Ψ0 ))
R(z) = r0 .
z 2 − 2z cos(ϑ0 ) + 1
In both cases the U (z) denominator is the same, with poles p1,2 = e±jϑ0 .
Here, due to the internal model principle, if P (z) has no pole in e±jϑ0 ,
then C(z) must be chosen of the form
N (z)
C(z) = ,
D̃C (z)(z 2 − 2z cos(ϑ0 ) + 1)
and such that
is stable.
Remark 6.2. Notice that the condition in Proposition 6.1 in principle guar-
antees asymptotic tracking also for signals r(k) that have Z-transforms R(z)
with strictly unstable poles, namely with poles with absolute value strictly
6.1. SPECIFICATIONS ON THE ASYMPTOTIC REGIME: TRACKING103
larger than 1. However, since the internal model principle is based on a un-
stable pole/zero cancellation, we need that the unstable poles are known with
infinite precision, otherwise a small difference between the unstable poles and
zeros will prevent the cancellation and the tracking will not achieved since
the tracking error will grow exponentially. If instead the poles of R(z) are
on the unit circle and are simple, it can be proved that, in case there is a
mismatch between these poles and the poles of L(z), then the tracking error
will remain bounded and its size will be proportional to the poles mismatch.
Example 6.1. Consider the feedback interconnection in Fig. 6.3 and assume
that π
r(k) = cos k
3
so that
z(z − 1/2)
R(z) = 2
z −z+1
+
k
r(k) z 2 −(1+ǫ)z+1
b
y(k)
−
The value of the parameter ϵ represents the mismatch between the refer-
ence signal frequency and its estimate in the internal model. Indeed, when
ϵ = 0 we have perfect tracking while is ϵ ̸= 0 then the tracking error will not
converge to zero. We want to evaluate how big is this error as a function of
ϵ assuming that this is small. We can find that
E(z) = Wre (z)R(z)
where
z 2 − (1 + ϵ)z + 1
Wre (z) =
z 2 − (1 + ϵ)z + 1 + k
is the transfer function from the input r(k) and the output e(k). In case
ϵ = 0 the transfer function Wre (z) has denominator z 2 − z + 1 + k that can
be proved to be Schur stable if and only if −1 < k < 0. We choose k = −3/4
so that th denominator of Wre (z) is
z 2 − (1 + ϵ)z + 1 + k = z 2 − (1 + ϵ)z + 1/4 = (z − 1/2)2 − ϵz
104CHAPTER 6. CONTROL PROBLEM AND CONTROLLER DESIGN
It can be prove that this is stable for − 94 < ϵ < 14 and hence it will be stable
if ϵ is small enough.
Taking the frequency response of Wre (z) we know that asymptotically the
e(k) tends to reduce to the following sinusoidal signal
π
e(k) ≃ |Wre (ejπ/3 )| cos k + arg(Wre (ejπ/3 ))
3
We need to determine Wre (ejπ/3 ) that is
z 2 − z + 1 − ϵz
Wre (z) = 2
z − z + 1 − ϵz + k |z=ejπ/3
−ϵejπ/3 ϵejπ/3 4ϵejπ/3 4
= jπ/3
= jπ/3
= jπ/3
≃ ϵejπ/3
−ϵe +k ϵe + 3/4 ϵe +3 3
where the last approximation holds since ϵ is small. We can then argue that
asymptotically the error tends to reduce to the following sinusoidal signal
4 π π
e(k) ≃ ϵ cos k+
3 3 3
This formula shows how the error amplitude depends on the precision of our
estimate of the reference signal frequency in the internal model.
U
stable and this is possible if and only if the unstable polynomial DD is a
factor of DL , namely if and only if the unstable poles of D are poles of C or
of P . This condition coincides with the one obtained in for the asymptotic
tracking of reference signals with rational transform.
D
+ E U
R C P b
Y
−
Figure 6.4: Control interconnection used for the disturbance rejection prob-
lem.
D
+ E U
R C P b
Y
−
Figure 6.5: Control interconnection used for the disturbance rejection prob-
lem.
to reference input changes. As it has been mentioned earlier, there are two
approaches for translating such qualities of the response into tunable param-
eters:
– raise time tr : the time the controlled system takes to move from
the 10% to the 90% of the asymptotic value of the response to the
step;
– settling time ts,5% : the time starting from which the response of
the controlled system is bounded within ±5% of its asymptotic
value1 ;
– overshoot mp : if in the transient regime the response surpasses
temporarily its asymptotic value, it is the maximum overshoot (in
percentage) that the response attains.
y(t)
y(∞)
1 + mp
1 + 0.05
1
0.9 1 − 0.05
0.1
tr ts,5% t
(i) −3dB-bandwidth
√ ωB : the frequency (in rad/sec) such that |W (jω)| ≥
W (0)/ 2 (that is −3 decibel) for all ω ≤ ωB ;
(ii) −20dB-attenuation ωA : the frequency (in rad/sec) such that |W (jω)| ≤
W (0)/10 (that is −20 decibel) for all ω ≥ ωA ;
(iii) resonant peak M : the normalized maximum absolute value (i.e.
divided by W (0)) of the frequency response, that should not overly
exceed 1.
Notice that for obtaining the asymptotic tracking of the step reference
√ that W (0) ≃ 1 and hence the thresholds for
signal, we need to impose
ωB and ωB become 1/ 2 and 1/10.
• Internal stability.
108CHAPTER 6. CONTROL PROBLEM AND CONTROLLER DESIGN
|W (jω)| |W (jω)|dB
M |M |dB
1 ωB ωA
√ ω
1/ 2 −3 dB
1/10 −20 dB
ωB ωA ω
K K
Ŵ (s) = , Ŵ (s) = s2
, (6.13)
1 + sτ 1 + 2ξ ωsn + 2
ωn
where
6.3. TRANSLATION OF THE TIME-DOMAIN PERFORMANCE SPECIFICATIONS: A BRIEF SUM
• K the DC gain since Ŵ (0) = K. Recall that for obtaining the asymp-
totic tracking of the step reference signal, we need to impose that
K ≃ 1.
The first order system in (6.13) have a pole in p = −1/τ while the second
order system has poles in
p
p1,2 = −ωn ξ ± j 1 − ξ 2 . (6.14)
Let φ such that ξ = cos φ. Then p1,2 = −ωn (cos φ ± j sin φ) = −ωn e±jφ .
When the dominant pole of W (s) is real, W (s) is approximated by the
first order system, while when the dominant poles are complex conjugate,
W (s) is approximated by the second order system.
Time domain analysis. From the step response of the first order system
we can argue that
2.2 3
tr ≃ 2.2τ = ts ≃ 3τ = mp = 0
|p| |p|
Frequency domain analysis. From the frequency response we can see that
1
ωB ≃ = |p| M = 1
τ
From these fact we can argue that
2.2
1 + mp = 1 = M tr ≃
ωB
Time domain analysis. From the step response of the second order system
we can argue that
f (ξ) g(ξ)
tr = ts = mp = e−π/ tan φ
ωn ωn
where f (ξ) and g(ξ) are functions that do not admit closed form expressions.
While g(ξ) ≃ 3ξ is a simple and good approximation for all ξ, there exist
various approximations2 of f (ξ). One very simple but very rough is f (ξ) ≃
2.2 that is acceptable when ξ ∈ [0.5, 0.7]. A better approximation is f (ξ) ≃
3.3ξ that is valid for all ξ.
Summarizing the previous relations we have that
π
mp = e− tan φ (6.15)
2.2
tr ≃ for ξ ∈ [0.5, 0.7] (6.16)
ωn
3
ts,5% ≃ (6.17)
|σ|
(6.18)
where σ is the real part and ωn is the absolute value of the dominant poles. All
the previous formulas hold both in case the dominant pole is real and in case
of complex conjugate dominant poles3 . Given specifications on tr , ts,5% , mp ,
the region of the complex plane in which to place the two poles so that these
requirements are satisfied corresponds to
2.2 π 3
ωn ≥ tan φ ≤ |σ| ≥ (6.19)
tr ln(1/mp ) ts,5%
3.3ξ
tr ≃ (6.20)
ωn
2
In the literature many different approximations have been proposed.
3
even formula (6.15) con be considered valid in case of real dominant pole since in this
case the angle φ can be considered zero.
6.4. CONTROL SYSTEM DESIGN 111
that would yield to a much more complicated region of the complex plane.
An analysis can be pursued of the 1% settling time which yields
4.6
ts,1% ≃ (6.21)
|σ|
(6.22)
if φ ≤ π/4
1
q p
4
ωB = ωn 1 − 2ξ + 4ξ − 4ξ + 2 M =2
1
sin(2φ)
if φ ≥ π/4
ωB ≃ ωn
2.2
tr ≃ (6.23)
ωB
When comparing the overshoot and the resonant peak we can argue the
following approximation
1 + mp ≃ M (6.24)
=(s)
ωn
σ ϕ
<(s)
Figure 6.8: Admissible regions for the poles of a second-order system satis-
fying a given set of specifications in the time domain.
The first two points have been already discussed in the previous sections, so
in the following we’ll focus on phases 3, 4 and 5.
loop control based on two degrees of freedom with a pre-filter and an addi-
tional feedforward structure. We want to mention the pros and cons of each
these solutions, by referring ourselves to the following architecture charac-
teristics (expressed in the frequency-domain, Fig. 6.9):
(i) Denoting with W (s) the whole scheme transfer function, the tracking
property requires |W (jω)| ≃ 1 for ω ∈ [0, ωB ].
(iii) Denoting with WNi (s) the i−th disturbance transfer function, we need
it to be as small as possible (internal stability and disturbances rejec-
tion).
W (s) ∂W
SPW (s) =
P (s) ∂P
and quantifies how much W (s) changes when P (s) changes. Precisely
we have that
∆W ∆P
≃ SPW (s)
W P
where ∆W and ∆P are the (absolute) variations on W and P respec-
tively, while ∆W
W
and ∆P P
are the relative variations. Robustness is
obtained if the sensitivity is small since in this case a certain relative
variation on P will cause a small relative variation on W .
(v) For avoiding the actuator overloading, we need to keep “small” in the
reference bandwidth [0, ωB ] the transfer function A(s) := UR(s)(s)
from
the reference signal r(t) to the signal u(t) generated by the actuator
and applied to the plant. Observe that A(s) = W (s)
P (s)
and hence in any
control structure we will have that A = C ≃ P1 in the frequency-range
[0, ωB ]. This shows that we risk to overload the actuator if P (jω) is
“small” for some ω in [0, ωB ] and this happens whenever P has zeros
close to the imaginary axis in the reference signal bandwidth [0, ωB ].
114CHAPTER 6. CONTROL PROBLEM AND CONTROLLER DESIGN
|W (jω)|
M
1 √
1/ 2
1/10
ωB ωA ω
tracking filtering
n1 (k) n2 (k)
u(k)
r(k) C P y(k)
2. Closed-loop control (feedback) (Fig. 6.11). This makes the various trans-
fer function given by, respectively,
CP P 1
W = , WN1 = , WN2 =
1 + CP 1 + CP 1 + CP
6.4. CONTROL SYSTEM DESIGN 115
1 C
SPW = SCW = , A=
1 + CP 1 + CP
Any of these transfer functions has to be BIBO-stable if internal sta-
bility of the whole system is required.
n1 (k) n2 (k)
+ u(k)
r(k) C P b
y(k)
−
LC
A=
1 + HCP
This way, L allows the freedom of suitably splitting the control tasks in
such a way that A can remain small, C is devoted to endowing internal
model components, while the H’s task is usually that of obtaining
stabilization. A careful design of the block L is needed as SLW = 1.
n1 (k) n2 (k)
+ u(k)
r(k) L C P b
y(k)
−
H
takes care of the internal model components and L is useful for pre-
filtering the reference. For a more precise analysis we determine the
transfer functions, that are
(F + LC)P P 1
W = , WN1 = , WN2 =
1 + HCP 1 + HCP 1 + HCP
F + LC
A=
1 + HCP
1
(i) The tracking property can be obtained by imposing F (jω) ≃ P (jω)
and H(jω) ≃ L(jω) in the frequency-range [0, ωB ].
(ii) The filtering property can be obtained by imposing F (jω) ≃ 0
and H(jω) >> L(jω) in the frequency-range [ωA , +∞).
F n1 (k) n2 (k)
+ u(k)
r(k) b
L C P b
y(k)
−
H
• Estimation (or extraction) of the signal values. This happens for in-
stance when the sensor does not provide the output y(kT ) but instead
a function ỹ(k) = f (y(kT )) where f (·) is a generic function. In this
case the computation of f −1 (ỹ(k)) is needed.
Criterions for the T choice. A detailed list follows, dealing with vari-
ous criterions to be taken into account for the sampling-time T choice:
1. Bounding variability (roughness) of the control signal. In digital con-
trol the control occurs only at the sampling time while in between the
system behaves in open-loop. Consequently, if T is too large w.r.t. the
P (s), N (s), R(s) bandwidths, or in case of instability of some of these trans-
fer functions in the control loop (see Figure 6.14), then the error ẽ(k + 1)
could become too large, and hence u(k + 1) could become large as well. In
this case some troubles could arise:
tr
T ≤ , (6.25)
10
or, equivalently,
2π10
Ω≥
tr
r(t)
• •
• • •(k − 1)T
•
tg kT t
Example 6.2 (first order system). Assume that, by considering only the dom-
inant poles, the closed loop system can be described by the transfer func-
1
tion W (s) = 1+sτ , with τ ∈ R+ the system time constant. We know that
tr ≃ 2.2τ . So in order to obtain T ≤ tr /10 it should hold Tτ ≤ 0.22. Re-
call that −3dB-bandwidth is of W (s) is ωB = 1/τ . Hence, in the frequency
domain the previous inequality translates into ωΩB = 2πτ
T
≥ 28. ♢
Example 6.3 (second order system). Assume now that, by considering only
the dominant poles, the closed loop system can be described by the transfer
1
function W (s) = s s2
. Using formula (6.23) we obtain that the same
1++2ξ ω + 2
n ωn
120CHAPTER 6. CONTROL PROBLEM AND CONTROLLER DESIGN
3.3ξ
T ≤
10ωn
√
If, for instance, ξ = 1/ 2, then 3.3ξ = 0.23 and hence the previous inequality
is equivalent to ωΩn ≥ 27. If we take instead ξ = 1/2, then 3.3ξ = 0.18 and
hence the previous inequality is equivalent to ωΩn ≥ 34 ♢
u(t), û(t)
T t
Figure 6.16: Delay induced by the zero-holder interpolator on the input signal
in Fig. 6.16. The signal u(t) - blue - represents the non-delayed signal, while
û(t) - red dashed - is the approximation of the sampled and interpolated
signal.
Hence this sensitivity increases linearly in T and hence this can make the
overall controlled system less robust to variations of τ . Precisely if we think
that P (s) is inserted in the control scheme in Figure 6.17 and if W (z) is
the transfer function of the corresponding closed loop system, then it can be
shown that the sensitivity SτW of W (s) with respect to variations on τ admits
the following decomposition
SτW = SaW Sτa
and hence a large sensitivity Sτa can make the sensitivity SτW large as well.
+ e u
r(k) C(z) H0 P (s)
T
ց b
y(k)
−
where ℓ is the number of times that f (t) crosses the quantization levels
∆Z = {. . . , −3∆, −2∆, −∆, 0, ∆, 2∆, 3∆, . . .}. This number ℓ coincides with
the number of elements in ∆Z that are between f ((k − 1)T ) and f (kT ) that
is the number of elements in [f ((k − 1)T ), f (kT )] ∩ ∆Z = [m(k − 1)T +
q, mkT + q] ∩ ∆Z. It can be seen that (see remark below)
Tm
ℓ= + δk (6.33)
∆
where δk can be 0 or 1 according to the relative positions of th and kT , as
better understandable from Figure 6.18. Then
Tm
q[f (kT )] − q[f ((k − 1)T ] = ∆ + δk
∆
We know that ⌊x⌋ = x − e(x), where e(x) ∈ [0, 1]. Hence
q[f (kT )] − q[f ((k − 1)T ]
∆ Tm ∆ df (t) ∆ ′
= + δk = m + δk′ =
′
+ δk
T T ∆ T dt T
where δ ′ ∈ [−1, 1] is the sum of δk end the function e(x) evaluated in T∆m . We
can argue that the size of the approximation error is at most ∆ T
and hence if T
is too small, then it can become unacceptable. Observe that this is the only
case in which a too small sampling interval can cause problems. However
this problem can be solved simply by taking the following approximation of
the derivative
df (t) q[f (kT )] − q[f ((k − s)T )]
≃
dt t=kT
sT
where s is a positive integer. Indeed, in this case the approximation error
∆
becomes sT .
Remark 6.5. We detail here why formula (6.33) holds true. Consider any
interval [a, b] and a positive constant c. We want to estimate [a, b] ∩ cZ,
namely the number of elements in this set [a, b] ∩ cZ. Observe that
[a, b] ∩ cZ = [a, a + c[∩cZ + [a + c, b] ∩ cZ = 1 + [a + c, b] ∩ cZ
= 2 + [a + 2c, b] ∩ cZ = · · · = ℓ + [a + ℓc, b] ∩ cZ
where
b−a
ℓ=
c
124CHAPTER 6. CONTROL PROBLEM AND CONTROLLER DESIGN
f (t)
f (kT )−
(s+1)∆ −
∆
s∆ −
(s−1)∆
f ((k − 1)T ) −
| |
(k − 1)T kT
Observe
finally that since the interval [a + ℓc, b] has length less than c, then
[a + ℓc, b] ∩ cZ can be 0 or 1 according to the position of this interval.
Remark 6.6. We are going to conclude this section by listing in Table 6.1 some
practical considerations regarding typical sampling-time choices in relation
to the physical system of interest.
6.4. CONTROL SYSTEM DESIGN 125
Table 6.1: Some examples of the magnitude order for the sampling time T .
126CHAPTER 6. CONTROL PROBLEM AND CONTROLLER DESIGN
Chapter 7
7.1 Introduction
We are going to deal with the problem of designing a discrete-time controller
C(z) for a given continuous-time plant P (s), as shown in Fig. 7.1.
r̃ + ẽ ũ u
r T
ց C̃(z) H0 P (s) b y
−
T
ց
≃
ẽ(k) ũ(k)
e(t) T
ց C̃(z) H0 ū(t)
Figure 7.2: Emulation method: find C̃(z) such that the series interconnection
shown in the figure behaves similarly to the continuous time transfer function
C(s).
Remark 7.1. Consider the tracking problem treated in Section 6.1.1, in which
we have to design a controller for the digital control system in Fig. 7.1 able to
l
track with a prescribed asymptotic error a reference r(t) = tl! . By designing
the controller in continuous time, we will need to find a C(s) such that
L(s) = C(s)P (s) has l poles in s = 0, namely
L0 (s)
L(s) =
sl
and a Bode gain L0 (0) determined according formula (6.7). If P̃ (z) is the
sample/hold version of P (s), we have shown that, in order to obtain the
desired asymptotic error, we need to choose a discrete time controller C̃(z)
be such that L̃(z) := C̃(z)P̃ (z) has l poles in z = 1, namely
L̃0 (z)
L̃(z) =
(z − 1)l
and has Bode gain L̃0 (1) in the following relation with the Bode gain of L(s)
In general when a continuous time transfer function F (s) that has l poles
in s = 0 and a discrete time transfer function F̃ (z) with l poles in z = 1
are such that their Bode gains satisfy F̃0 (1) = T l F0 (0), we say that they are
matched at zero frequency. In this way we can say that, in order to have the
same asymptotic error, we need that the continuous time open loop transfer
function L(s) and the discrete time open loop transfer function L̃(z) need
to be matched at zero frequency. To this respect it an be shown that the
130CHAPTER 7. DIGITAL CONTROLLER SYNTHESIS: EMULATION METHODS
e(t) T
ց C̃(z) ũ(k)
e(t) C(s) T
ց ũ(k)
Figure 7.3: Invariance method: find C̃(z) such that the two series intercon-
nections shown in the figure behaves identically, namely they provide the
same output when they are driven by the same input e(t).
which yields
z−1
−1 C(s)
C̃(z) = Z ST L
z s
which yields
(z − 1)2
−1 C(s)
C̃(z) = Z ST L
Tz s2
Example 7.1. We are now going to show the application of the invari-
K
ance methods. Let C(s) = s+p . Then
(a) Applying the impulse invariance method we see that L−1 [C(s)] =
Ke−pt and hence
Kz
C̃(z) = Z Ke−pT k =
z − e−pT
Observe that C(0) = K/p while C̃(1) = 1−eK−pT and hence C(s)
and C̃(z) are not matched at the zero frequency.
h i
−1 C(s)
(b) Applying the step invariance method we see that L s
=
K
p
(1 − e−pt ) and hence
z−1 Kz−1
K −pT k z z
C̃(z) = Z (1 − e ) = −
z p p z z − 1 z − e−pT
z−1 K 1 − e−pT
K
= 1− =
p z − e−pT p z − e−pT
Observe that C(0) = K/p = C̃(1) and hence in this case C(s) and
C̃(z) are matched at the zero frequency.
132CHAPTER 7. DIGITAL CONTROLLER SYNTHESIS: EMULATION METHODS
−1 C(s) K
L 2
= 2 (pt − 1 + e−pt )
s p
and hence
(z − 1)2
K −pT k
C̃(z) = Z 2 (pT k − 1 + e )
Tz p
K (z − 1)2
pT z z z
= − +
T p2 z (z − 1)2 z − 1 z − e−pT
(z − 1)2
K
= pT − (z − 1) +
T p2 z − e−pT
K z(pT − 1 + e−pT ) + (1 − pT e−pT − e−pT )
=
T p2 z − e−pT
Observe that C(0) = K/p = C̃(1) and hence in this case C(s) and
C̃(z) are matched at the zero frequency.
Remark 7.2. It can be shown that the step invariance and the ramp in-
variance methods provide C̃(z) that are matched at the zero frequency
with C(s) whenever C(s) has no zeros in s = 0.
where the pole in the origin has been highlighted for reasons which
will be later clarified.
• map the computed poles and zeros through z = esT , so obtaining
C̃1 (z)
Ym
(z − ezi T )
i=1
C̃1 (z) := n−ν
. (7.3)
Y
(z − 1)ν (z − epi T )
i=1
• equip C̃1 (z) with further l zeros at −1, for diminishing the delay
Example 7.2. We are now going to show two applications of the MPZ
method.
z − e−aT
C̃1 (z) = = C̃2 (z),
z − e−bT
a 1 − e−aT a 1 − e−bT
C(0) = K = C̃(1) = K̃m ⇒ K̃ m = K .
b 1 − e−bT b 1 − e−aT
(z + 1)(z − e−aT )
C̃2 (z) = .
(z − 1)(z − e−bT )
Then C̃(z) = K̃m C̃2 (z) with K̃m such that C̃0 (1) = T C0 (0) where
Then
T a 1 − e−bT
K̃m = K .
2 b 1 − e−aT
7.2. EMULATION METHOD: THE DIGITAL CONVERSION OF A CONTINUOUS TIME CONTRO
approximation of jω − a since for them the approximation holds both when T is small or
when ω is small.
136CHAPTER 7. DIGITAL CONTROLLER SYNTHESIS: EMULATION METHODS
Bode Diagram
15
10
5
Magnitude (dB)
-5
-10
-15
-20
360
270
180
Phase (deg)
90
-90
-180
10 -2 10 -1 10 0 10 1 10 2
Frequency (rad/s)
2
Figure 7.4: The Bode plot of C(s) = s(s+1)(s+2)
+0.5s+10
(blu dashed line) compared
with Bode plots of the discretized transfer functions obtained by applying
the impulse invariant method (blu line), the step invariant method (black
line), the ramp invariant method (green line) and the MPZ method (red
line). Notice that all the discretized transfer functions are matched at the
zero frequency with C(s) except the one determined by the impulse invariant
method.
z−1
s≃ . (7.7)
T
7.2. EMULATION METHOD: THE DIGITAL CONVERSION OF A CONTINUOUS TIME CONTRO
esT ≃ 1 + sT ; (7.8)
1
esT ≃ ; (7.11)
1 − sT
T
z−1≃ (zs + s). (7.13)
2
which yields
2 z−1
s≃ . (7.14)
T z+1
According to this approach z = esT is approximated by
sT
sT 1+ 2
z=e ≃ sT
, (7.15)
1− 2
C̃0 (z)
so that we can write C̃t (z) = (z−1)ν
, where
Tν ν
C̃0 (z) = ν (z + 1) C0 (s) 2 z−1
2 s= T z+1
m
Y
(z − z̃if )
i=1
C̃f (z) = K̃f n−ν
(7.17)
Y
(z − 1)ν (z − p̃if )
i=1
where
7.2. EMULATION METHOD: THE DIGITAL CONVERSION OF A CONTINUOUS TIME CONTRO
(a) The generic zeros and poles are z̃if := 1 + zi T and p̃if := 1 + pi T .
(b) The poles in s = 0 are mapped into poles z = 1.
(c) The relative degrees of Cf (z) and C(s) coincide, namely rdeg(Cf (z)) =
rdeg(C(s)) or in other words they share the multiplicity of the pole
at infinity.
(d) The gain is K̃f := KT n−m .
where
1 1
(a) The generic zeros and poles are z̃ib := 1−zi T
and p̃it := 1−pi T
.
(b) The poles in s = 0 are again mapped into poles in z = 1.
(c) Cb (z) has relative degree zero, namely rdeg(Cb (z)) = 0 since the
poles in s = ∞ are mapped into poles in z = 0.
(d) The gain is
m
Y
(1 − zi T )
i=1
K̃b := KT n−m n−ν .
Y
(1 − pi T )
i=1
where
140CHAPTER 7. DIGITAL CONTROLLER SYNTHESIS: EMULATION METHODS
1+zi T /2 1+pi T /2
(a) The generic zeros and poles are z̃it := 1−zi T /2
and p̃it := 1−pi T /2
.
(b) The poles in s = 0 are again mapped into poles in z = 1.
(c) Cf (z) has relative degree zero, namely rdeg(Cf (z)) = 0 since the
poles in s = ∞ are mapped into poles in z = −1.
(d) The gain is
m
Y
n−m (1 − zi T /2)
T i=1
K̃t := K n−ν
. (7.20)
2 Y
(1 − pi T /2)
i=1
Notice that
Remark 7.6. As far as the stability of the approximated transfer func-
tions, observe that, if p is a pole of C(s), then the poles p̃f , p̃b , p̃t of
the corresponding discrete time transfer functions obtained according
to the EF, EB and Tustin approximations are
pT
1 1+ 2
p̃f = 1 + pT p̃b = p̃t = pT
1 − pT 1− 2
This shows that for the analysis of the Schur stability we have that
|p̃f | < 1 ⇔ |p + 1/T | < 1/T
|p̃b | < 1 ⇔ |p − 1/T | > 1/T
|p̃t | < 1 ⇔ ℜ[p] < 0
=(z)
p̃
<(z)
Figure 7.5: The different mappings of the Schur stability region into the
corresponding regions in the s domain resulting from the three discretization
methods.
Remark 7.7. Notice that for each pole of C(s) the Taylor expansion of
the associated pole p̃m = epT (similar arguments hold for the zeros) of
Cm (z) is
p 2 T 2 p3 T 3
p̃m = 1 + pT + + ···
2 6
which coincides with the expansion of the Tustin approximation poles
(see (7.21)) until the second order term. Indeed, it can be shown that
the Tustin approximation behaves well with respect to the frequency
response.
Remark 7.8. Let’s list some important remarks:
QUESTION: In the emulation method we start from C(s) such that the
closed loop with P (s) is stable. Can you prove that the digital closed loop
system with C̃(z) determined with the emulation method is stable as well?
KD
TD := , advance time, (7.24)
KP
KP
TI := , integral action time. (7.25)
KI
where KP is called the proportional action, CI (s) = sT1I is called the integral
sTD
action and CD (s) = 1+sTL
is called the derivative action. The typical choice
of TL is
TD TD
≤ TL ≤
10 3
Now we have to extend the previous considerations to the discrete-time
case, where often discrete-time versions of the three actions are considered.
T
uI (k) = uI (k − 1) + e(k), (7.27)
TI
TD 1 − z −1
C̃D (z) = TL
. (7.28)
T + TL 1 − T +T z −1
L
TL TD
uD (k) = uD (k − 1) + (e(k) − e(k − 1)). (7.29)
T + TL T + TL
144CHAPTER 7. DIGITAL CONTROLLER SYNTHESIS: EMULATION METHODS
ℑ(s)
mφ ωc ℜ(s)
KC KC
P ′ (s) = ν
P (s) = ν P (s); (7.33)
s C sC
ℜ : KP = M cos φ, (7.37)
tan φ
ℑ : TD = ,. (7.38)
ωc∗
Since we need that TD > 0 then φ ∈ [0, π/2] is needed. The region in the M ,
φ plane for which the P.D. controller design is possible is shown in Figure
7.7.
M M M
PD PI PID
φ φ φ
−π/2 π/2 −π/2 π/2 −π/2 π/2 π
Figure 7.7: The regions in the parameters M and φ for which the design of
P.D. or P.I. or P.I.D. controller is possible.
Chapter 8
n(k)
+ u(k)
r(k) C(z) P (z) b
y(k)
−
by the formula
W (z) 1
C(z) = . (8.1)
1 − W (z) P (z)
However this naive solution can’t be considered satisfactory as some troubles
may arise, namely:
• C(z) could result to be not a proper, and hence not a causal controller.
The conditions on W (z) (our degree of freedom in the design) which
might prevent this problem are not clear.
W 1
C=
1−W P
we can argue that
Observe now that, since both 1 and W are proper rational functions, then
1 − W is proper as well and hence rdeg(1 − W ) ≥ 0. We distinguish two
cases
W BIBO stable
• The fact that the proposed method is based on unstable zero/pole can-
cellations could suggest that this yields controllers that might become
unstable under an arbitrarily small perturbation of the to be controlled
system. Indeed, this is exactly the opposite! Indeed, it can be shown
that, without this cancellation procedure, we would obtain controllers
yielding BIBO stable closed loop transfer functions involving unstable
1
In this respect we have to be somewhat careful, as the situation corresponds to the
“difficult” case which requires to include the P unstable roots into DW − NW .
8.1. DISCRETE-TIME DIRECT SYNTHESIS BY “CANCELING” 153
that would yield C(z) = −2. Notice that this controller is constant and does
not involve any unstable pole/zero cancellation in the product CP . Indeed
1
it can be shown that in case of a perturbed transfer function P̃ (z) = z+2+ϵ
the resulting perturbed closed loop transfer transfer function would remain
BIBO stable for ϵ small enough.
We consider now a more complex example.
Example 8.2. Assume that
(z − 2)(z + 1/2)
P (z) =
z(z + 3)
Assume we want to design a controller C(z) able to track the step signals
with zero asymptotic error. To this aim we have to impose that W (1) = 1
or equivalently that C(z) has a simple pole in 1. As far as the causality,
since rdeg(P ) = 0, then any W with rdeg(W ) ≥ 0 under the condition that
W (∞) ̸= 1. As far as the internal stability, by (8.6) the numerator NW (z)
of W (z) has to be of the form
NW (z) = (z − 2)X(z)
K(z − z d )
Wd (z) = , (8.11)
(z − pd1 )(z − pd2 )
where the poles are pd1,2 = ep1,2 T , the gain K is such that Wd (z)|z=1 = 1 and
where the zero z d is a complicate function of the position of p1,2 and hence
of pd1,2 .
Observe that the transient is mostly determined by the position of the
poles pd1,2 . Hence the transient specifications on the overshoot, the rise time
and the settling time
are related to the position of the poles p1,2 and these are then are related to
the position of the poles pd1,2 . The question now is: how does the admissible
region modify by passing from continuous case to the discrete one?
• From the overshoot requirement m∗p , equation (6.15) implies that tan φ ≤
π 2
ln(1/m∗p )
which can be graphically expressed in the z domain like
Fig. 8.5 does.
=(s) =(z)
ωn
1
z
−
→
<(s) <(z)
Figure 8.3: Mapping from s plane to z one of the region related to t∗r .
=(s) =(z)
1
σ z
−
→
<(s) <(z)
eσT
Figure 8.4: Mapping from s plane to z one of the region related to t∗s .
=(s) =(z)
1
ϕ z
−
→
<(s) <(z)
Figure 8.5: Mapping from s plane to z one of the region related to m∗p .
8.1. DISCRETE-TIME DIRECT SYNTHESIS BY “CANCELING” 159
ℑ(z)
ℜ(z)
Example 8.3. We continue the example 8.2. The closed loop system has
transfer function
K(z − 2)
W (z) =
(z + 3)(z − 1) + K(z − 2)
The root locus of the denominator is shown in Fig. 8.7 with the regions
associated with the transient characteristics.
e−std
W (s) = , (8.13)
1 + sτ
160CHAPTER 8. DIGITAL CONTROLLERS SYNTHESIS: DIRECT SYNTHESIS METHOD
Root Locus
1
0.5 /T
0.6 /T 0.4 /T
0.8 0.1
0.7 /T 0.3 /T
0.2
0.6 0.3
0.8 /T 0.4 0.2 /T
0.5
0.4 0.6
0.7
0.9 /T 0.8 0.1 /T
0.2
Imaginary Axis
0.9
1 /T
0
1 /T
-0.2
0.9 /T 0.1 /T
-0.4
0.8 /T 0.2 /T
-0.6
0.6 /T 0.4 /T
0.5 /T
-1
-1 -0.5 0 0.5 1
Real Axis
with td the closed-loop system delay and − τ1 a pole related to the system
rise-time (the smaller τ is, the quicker the system is). Let’s assume td being
an integer multiple of the sampling time T , i.e. td = nT . We obtain the
sample and hold version of W (s) by (5.26)
−1 −1 W (s)
W (z) = (1 − z )Z ST L
s
−T /τ
1−e
= z −n . (8.14)
z − e−T /τ
It is clear that the delay n will be chosen as small as possible and has to take
into account the controller causality, so that condition (8.8) has to hold true,
that means
rdeg(W ) = n + 1 ≥ rdeg(P ) ⇒ n ≥ rdeg(P ) − 1. (8.15)
This way the controller C(z) takes the form
W (z) 1 1 − e−T /τ DP (z)
C(z) = = n −T /τ −T /τ
, (8.16)
1 − W (z) P (z) z (z − e )−1+e NP (z)
8.1. DISCRETE-TIME DIRECT SYNTHESIS BY “CANCELING” 161
It can be shown that, not only this controller internally stabilize the feedback
system, but also that C(z) itself is stable except for a pole z = 1.
Indeed, since we assumed that NP (z) is Schur stable, the stability of
the controller C(z) depends on the Schur stability of the polynomial z n (z −
e−T /τ ) − 1 + e−T /τ . It can be shown that this is the case, except for a root
in z = 1. In order to prove this fact, we have to show that any z̄ ∈ C such
that z̄ ̸= 1 and |z̄| ≥ 1 can not be a root of that polynomial. Observe that
|1−e−T /τ |
|z̄−e−T /τ |
< 1 which implies that
|1 − e−T /τ |
−T /τ
< 1 ≤ |z̄|n
|z̄ − e |
1−e−T /τ
showing that z̄−e−T /τ
̸= z̄ n and hence z̄ can not be a root.
so that we can take advantage of the well known relations between its tran-
sient characteristics (overshoot mp , rise time tr and settling
p time ts ) and the
position of its complex conjugate poles p1,2 = −ωn (ξ ± j 1 − ξ 2 ). We have
already noticed that discrete-time transfer function whose step response is
the sampling of the step response of (8.17) is given by
−1 −1 W (s)
Wd (z) = (1 − z )Z ST L
s
d
K(z − z )
= , (8.18)
(z − pd1 )(z − pd2 )
time second order transfer function with poles in that region. Then, by using
formula (8.18) we determine Wd (z). If P (z) has an unstable zero, we can
eventually modify the position of the zero z d in order to cancel it.
The blocks connection in Fig. 8.8 can be equivalently replaced with that in
Fig. 8.9, where it’s easier to notice that, denoting by C the positive-feedback
connection of C ′ and P , it holds true
W
C′ W 1
C= = P̂ = , (8.19)
1 − C ′ P̃ W 1 − W P̂
1−
P̂
which represents the well-known direct synthesis formula.
8.3. SMITH’S PREDICTOR FOR THE DELAY COMPENSATION 163
e u
+
r C ′ b
P b y
−
P̂
C
Figure 8.9: Equivalent systems connection for the controller direct synthesis.
As a case study (see [?]), a delay system, for which a controller leading
to (8.21) is needed, is now presented.
Example 8.4 (Temperature control for a fluid in a duct). Let the physical
scheme described in Fig.8.10 be given.
Let RT be the thermistor for measuring the duct temperature, and y(t)
be proportional to the measured temperature. The duct is endowed with a
resistor R for controlling its temperature, thanks to an input voltage u(t)
which modulates the delivered power. An approximate model for the to-be-
controlled plant transfer function is (without taking into account any delay),
K
P ′ (s) = .
1 + sτ
If the fluid speed in the duct is assumed to be constant, the temperature
measure appears to be delayed of td = l/v. So, taking into account this
delay, the to-be-controlled plant becomes
Ke−std
P (s) = P ′ (s)e−std = .
1 + sτ
164CHAPTER 8. DIGITAL CONTROLLERS SYNTHESIS: DIRECT SYNTHESIS METHOD
R v RT
l
u(t)
y(t)
where ωc is the crossover frequency that satisfies the constraint |C(jωc )P (jωc )| =
1 that, for KP ≥ 1/K, implies
KP K KP K 1 KP K
q
1= =p ⇒ ωc = KP2 K 2 − 1 ≃ for large KP
|1 + jωc τ | 1 + ωc2 τ 2 τ τ
Then
td KP K
mφ ≃ π − − arctan(KP K)
τ
8.3. SMITH’S PREDICTOR FOR THE DELAY COMPENSATION 165
ℑ(s) ℑ(s)
ℜ(s) ℜ(s)
Figure 8.12: Nyquist plot of P (s) (left) and of its delayed version P ′ (s)
(right). For large enough gain values the P ′ (s) diagram encircles the point
−1 + j0, leading to instability (red dotted line).
e u y′
+
r C′ P′ b
e−std y
−
e u y′
+
r C′ b
P′ e−std b y
−
estimator
ŷ ′
e u y′
+
r C′ b
P′ e−std y
−
ŷ ′
P̂ ′
Figure 8.15: Control scheme with an open loop estimator of undelayed out-
put. P̂ ′ (s) is an estimate of the transfer function P ′ (s).
e u
+
r C′ b
P′ e−std b y
−
+ +
D
ŷ ′
+ +
r C′ b
P′ e−std b y
− −
b
− +
P̂ ′ e−st̂d
C ′ (s)P ′ (s)
W (s) ≃ e−std , (8.24)
1 + C ′ (s)P ′ (s) + C ′ (s)
it follows that (8.24) can be factorized into two terms: the first one without
any delay, and the second one expressing a ′delay equal to the desired one.
C (s)P ′ (s)
So, a correct design of C ′ (i.e. satisfying 1+C ′ (s)P ′ (s) ≃ 1) leads to reach the
C ′ (s) C ′ (s)
C(s) = =
1 + C ′ (s)D(s) 1 + (1 − e−st̂d )C ′ (s)P̂ ′ (s)
Remark 8.2. The previous analysis holds true both for continuous-time and
discrete-time systems. However, substantial differences arise in the practical
situations:
C(z)
+ +
r C ′ (z) b
P (z) b y
− −
− + b
P̂ ′ (z)
z −N
NC NP + DC DP = DW ,
which is nothing more than a Diophantine (or Bézout) equation in the (poly-
nomial) unknowns X = DC , Y = NC , which are the compensator parameters
to be evaluated. Observe that all the four transfer functions related to the
internal stability analysis of the feedback system have NC NP + DC DP at the
denominator. Hence, if we impose that DW is Schur stable, we obtain the
interconnection internal stability.
We give up any requirement about the zeros, as the direct synthesis
method we are going to explain (see below) focuses only on poles. In other
words, no zeros allocation will be taken into account in order to ease the
interconnection stability. Nevertheless, it is worthwhile to recall that zeros
can dramatically influence the system performances, in particular when P is
not minimum phase.
8.4. CONTROLLER DESIGN VIA DIOPHANTINE EQUATIONS 169
Yo (z) NC NP ! NW (z)
W (z) = = = , (8.25)
R(z) NC NP + DC DP D∗ (z)
where D∗ (z) takes into account the desired pole placement and X := DC and
Y := NC are unknowns polynomials to be evaluated. As a counterpart, NW
is a free parameter, the structure of is completely unconstrained and which
will be a by-product of the synthesis procedure.
+
NC (z) NP (z)
r(k) C(z) = DC (z)
P (z) = DP (z)
b
yo (k)
−
• From (8.8) we see that the direct method based on canceling yields a
closed loop transfer function that is
XNPU
W =
XNPU + Y DPU
AX + BY = C
Proposition 8.1. Let A, B two coprime polynimials and let C such that deg(C) ≥
deg(A)+deg(B). Then there exists polynomials X, Y such that AX+BY = C
and such that
Proof. We start from any solution X, Y of AX +BY = C. Then find the rest
Y ′ of the division of Y by A, namely Y ′ = Y − AQ with deg(Y ′ ) < deg(A).
Letting X ′ := X + BQ, we see that X ′ , Y ′ is still a solution. The condition
on the degree of Y ′ is satisfied. Observe finally that deg(BY ′ ) < deg(B) +
deg(A). Hence, deg(AX ′ + BY ′ ) = deg(C) can hold only if deg(AX ′ ) =
deg(C) and hence only if deg(X ′ ) = deg(C) − deg(A).
Proposition 8.2. Assume that P (z) is strictly proper and let NP and DP be
NP
coprime polynomials such that P = D P
. Let n := deg(DP ). Choose any
polynomial D∗ with deg(D∗ ) = 2n − 1. Then there exists solutions X, Y of
(8.26) such that deg(X) = n − 1 and deg(Y ) ≤ n − 1. In this way it follows
Y
that the controller C = X is proper.
The proof follows from Prop. 8.1 by observing that deg(D∗ ) ≥ deg(DP )+
deg(NP ) and hence deg(X) = deg(D∗ ) − deg(DP ) = n − 1 and deg(Y ) <
deg(DP ) = n.
8.4. CONTROLLER DESIGN VIA DIOPHANTINE EQUATIONS 171
Remark 8.4. The problem here deals with deg(D∗ ) = 2n − 1, which could be
“too large”, and henceforth we should impose requirements on 2n − 1 poles.
However the solution is easily found out, by assuming
with Ddom (z) endowed with the dominant poles, while ∆(z) has only “quick
poles” (e.g. poles at z = 0).
Once we have fixed the degrees, in equation (8.26) the only unknowns
are the coefficients of the polynomials X(z), Y (z). It can be shown that the
equations on the coefficients are linear. Precisely, let3
3
DP (z) is assumed to be monic, without loss of generality.
172CHAPTER 8. DIGITAL CONTROLLERS SYNTHESIS: DIRECT SYNTHESIS METHOD
form4
xn−1 c2n−1
an 0 0 ··· 0 bn 0 0 ··· 0 xn−2 c2n−2
.. .. .. .. .. ..
an−1 an 0 . . bn−1 bn 0 . . . .
.. .. .. .. .. ..
an−2 an−1 . .
bn−2 bn−1
. . . .
.. ..
. .
.. ... ... ... .
.. ... ... ...
..
..
. 0 0
.
.
.. ..
a1 . an−2 an−1 an b1 . bn−2 bn−1 bn x0
cn
=
... ... ... ... yn−1 cn−1
a0 an−2 an−1 b0 bn−2 bn−1
yn−2 cn−2
... ... ... ...
0 a0 an−2 0 b0 bn−2 .. ..
.. .. .. .. .. .. . .
0 0 . . . 0 0 . . . .
.
.
.
. .
.. .. .. .. .. .. .. ..
. . . . a1 . . . . b1 . .
.. ..
··· ··· ··· ···
0 0 a0 0 0 b0
| {z } y0 c0
=:A (2n×2n) | {z } | {z }
=:x =:b
(8.33)
So (8.33) implies that the coefficients of the polynomials X e Y are given
by
x = A−1 b. (8.34)
Remark 8.5 (Asymptotic tracking via Diophantine equations). The problem
of introducing internal model dynamics is simply overcome, as it suffices to
U U
replace DP in (8.26) with D̃P = DP DR , where DR takes into account for the
g unstable poles of the reference signal. This way, the degree of D̃P increases
up to n + g. to prove that for any polynomial D∗ with deg(D∗ ) = 2n + g − 1
there exist solutions X, Y of
U
DP DR X + NP Y = D∗
to a proper compensator
Y
C= U
.
XDR
DP DR X + NP Y = z k , (8.38)
It is easy to see that the open-loop transfer function C(z)P (z) = DRN(z)Q(z)
W (z)
is
endowed, as expected, with internal model components (related to the whole
reference signal denominator).
176CHAPTER 8. DIGITAL CONTROLLERS SYNTHESIS: DIRECT SYNTHESIS METHOD
without losing both the controller causality and the closed-loop system in-
ternal stability.
Remark 8.6. Let
and note that (8.46) can be rewritten in terms of a linear system of the form
···
an R 0 0 0
1 − bκ
.. −bκ−1
anR −1 anR 0 · · · .
xq
.
.. .. .. .. ..
xq−1
..
. .
. . .
.. ..
a0 .
.. . .. .. .
.
a1 .
. = ..
(8.50)
.. ..
.. .
0 a0 . . anR
. .. .. . ..
.. 0 a0 . . ..
.
..
. . . . . x0
.. .. .. .. ..
.
0 0 · · · · · · a0 −b0
| {z }
(κ+1)×(q+1)
• Case q = 0. It holds
Q(z) = a (8.52)
⇒ NW (z) = z − (z − 1)a = (1 − a)z + a (8.53)
(1 − a)z + a
⇒ W (z) = , (8.54)
z
and the constraints to be satisfied, we can only consider the C(z)
properness. As usual, we assume rdeg(P (z)) = 1. Then rdeg(W (z)) ≥
1 that, from (8.54) implies a = 1. In conclusion
1
W (z) = , (8.55)
z
i.e., W (z) becomes the pure unit delay, and the controller assumes the
expression
W (z) 1 DP (z)
C(z) = = . (8.56)
1 − W (z) P (z) (z − 1)NP (z)
Notwithstanding, the previous W (z) is obtainable only for P (z) with
stable poles and zeros and with relative degree rdeg(P ) = 1.
• Case q = 1. This way
Q(z −1 ) = az + b (8.57)
⇒ NW (z) = z 2 − (z − 1)(az + b) (8.58)
z 2 − (z − 1)(az + b)
⇒ W (z) = . (8.59)
z2
8.6. EXAMPLES OF DEAD-BEAT TRACKING FOR CONSTANT SIGNALS179
Once again, by being DR (z) monic, the same has to happen to Q(z) too,
in order to obtain a relative degree of W (z) greater than 0. Furthermore,
condition W (1) = 1 is guaranteed thanks to the term (z − 1)l+1 . If Q(z) is
desired to be constant (zero degree), then Q(z) = 1.
+ e u
r(k) C(z) H0 P (s) T
ց b
y(k)
−
1
Example 8.5. Assume P (s) = s(s+1) , and let the goal be that of designing
a DB compensator for the step response of the corresponding sample/hold
plant. Without loss of generality, assume T = 1. From (5.26)
−1 −1 P (s)
P̃ (z) = (1 − z )Z ST ◦ L
s
1 − 2e−1 + ze−1
=
(z − 1)(z − e−1 )
0.264 + 0.368z
= ,
(z − 1)(z − 0.368)
z −1 (z − 1)(z − 0.368)
C(z) = ·
1 − z −1 0.264 + 0.368z
z − 0.368
= .
0.264 + 0.368z
The variabile y(t) (the output of P (s)) behavior is shown in Fig. 8.22 (upper
graph), together with the response y(k). So y(t) exhibits some oscillations
(ripples), despite the right value (1) is assumed in the various sampling time
instants. We can also note that
• if the physical limitation of the actuator are overtaken (i.e., the satu-
ration levels) the ideal behavior is disregarded and, in particular, the
dead-beat property is definitely lost.
0 1 2 3 4 5 t
u(t)
1 3 5
2 4 t
Figure 8.22: Qualitative behavior of y(t) (grey dashed) and of y(k) (blue)
for the step response (upper figure) and behavior of the actuating input u(t),
which drives the plant P (s) (lower figure).
Appendix A
δ(k) d ... t 1 ∀z ∈ C
d .... t z
δ−1 (k) |z| > 1
z−1
d .... t z
kδ−1 (k) |z| > 1
(z − 1)2
d .... t z(z + 1)
k 2 δ−1 (k) |z| > 1
(z − 1)3
k d ... t z
,l≥0 |z| > 1
l (z − 1)l+1
d .... t z
pk δ−1 (k), p ∈ C |z| > |p|
z−p
k k−l d ... t z
p , l ≥ 0, p ∈ C |z| > |p|
l (z − p)l+1
185
d .... t z sin ϑ
sin(ϑk)δ−1 (k) |z| > 1
z2 − 2 cos ϑz + 1
d .... t zp sin ϑ
pk sin(ϑk)δ−1 (k) p ∈ C |z| > |p|
z2 − 2p cos ϑz + p2
186 APPENDIX A. TABLE OF MOST COMMON ZLG TRANSFORMS
Appendix B
δ(t) d t 1 ∀s ∈ C
δ(t − τ ), τ ∈ R+ d t e−τ s ∀s ∈ C
d t 1
δ−1 (t) ℜ(s) > 0
s
d t 1
tδ−1 (t) ℜ(s) > 0
s2
tn d t 1
δ (t),
n! −1
n∈N ℜ(s) > 0
sn+1
d t 1
eαt δ−1 (t), α ∈ R ℜ(s) > α
s−α
tn αt d t 1
n!
e δ−1 (t), α∈R ℜ(s) > α
(s − α)n+1
189
d t s
cos(ϑt)δ−1 (t) ℜ(s) > 0
s2 + ϑ2
d t ϑ
sin(ϑt)δ−1 (t) ℜ(s) > 0
s2 + ϑ2
d t s−α
eαt cos(ϑt)δ−1 (t), α ∈ R ℜ(s) > α
(s − α)2 + ϑ2
d t ϑ
eαt sin(ϑt)δ−1 (t) α ∈ R ℜ(s) > α
(s − α)2 + ϑ2
190APPENDIX B. TABLE OF MOST COMMON LAPLACE TRANSFORMS
Appendix C
Notions of Control in
Continuous-Time
an an−2 an−4 . . .
an−1 an−3 an−5 . . .
Each of the subsequent rows is obtained as function of the elements in the two
rows before it as shown in the example below. Consider the thee consecutive
rows:
pi+2 pi pi−2 . . .
qi+1 qi−1 qi−3 . . .
ri ri−2 ri−4 . . .
Then rj is given by
pi+2 pj
h i
det qi+1 qj−1 pi+2
rj = − = pj − qj−1 . (C.1)
qi+1 qi+1
192 APPENDIX C. NOTIONS OF CONTROL IN CONTINUOUS-TIME
1. A(s) is Hurwitz if and only if the construction of the table can be com-
pleted (i.e. none of the elements in the first column of the table except
the last one is zero) and all the elements in the first column of the table
have the same sign (strictly).
The following result provides some simple rules allowing to draw a qual-
itative sketch of L+ and L− .
Theorem C.2. With reference to L+ , the following properties hold:
1. L+ is symmetric with respect to the real axis.
6. The intersection between L+ and the real axis is the set of all real points
having to their right an overall odd number of zeros of D(s) and of N (s)
(counted with multiplicity).
6. The intersection between L− and the real axis is the set of all real points
having to their right an overall even number of zeros of D(s) and of
N (s) (counted with multiplicity).
7. s⋆ is a multiple point of L− with multiplicity µ ≥ 2 if and only if there
exists K ≤ 0 such that pK (s) and its first µ−1 derivatives (with respect
to s) vanish for s = s⋆ .
8. l := deg[D(s) − N (s)] of the branches are continuous curves in the
complex plane while the other n − l diverge to infinity for K =→ −1.
4. The points for which the Nyquist plot crosses the positive imaginary
axis correspond to the values of the frequency ω for which the Bode
phase plot crosses the horizontal lines with ordinate π2 + 2πk, k ∈ Z.
5. The points for which the Nyquist plot crosses the negative imaginary
axis correspond to the values of the frequency ω for which the Bode
phase plot crosses the horizontal lines with ordinate − π2 + 2πk, k ∈ Z.
6. If W (s) has poles on the imaginary axis then |W (jω)| diverges for some
values of the frequency ω so that the Nyquist plot is an open curve.
9. If W (s) is a proper rational function and all its poles and zeros have
strictly negative real part (minimum phase system), then the phase
arg[W (jω)] tends, for ω → ∞, to −(n − m) π2 where n and m are
the numbers (counted with multiplicity) of poles and zeros of W (s),
respectively.
10. If W (s) is a proper rational function but it is not strictly proper then
the Nyquist plot tends, for ω → ∞, to the real point of abscissa KE ,
with KE being the Evans gain of W (s).
11. Both for ω → 0 and for ω → ∞ the gradient to the Nyquist plot of a
rational function tends to an integer multiple of π2 .