You are on page 1of 86

Automatic Control And System Theory M

Part 1: System Theory

Lecture notes from the course of Prof. Lorenzo Marconi,


A.Y. 2014/2015

Edited by Luca Furieri


Chapter 1

Mathematical tools for system theory

1.1 REPRESENTATION OF DYNAMICAL SYSTEMS


We need a proper mathematical description of our systems. Several representations are
possible.

1.1.1 STATE SPACE REPRESANTION


The plant we want to control can be described as a block P, which receives a control input
vector u and produces an output vector y

u y
P

⎡ ⎤ ⎡ ⎤ ⎡ ⎤
⎢ u1 ⎥ ⎢ y1 ⎥ ⎢ x1 ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
where u = ⎢ ... ⎥, y = ⎢...⎥. By calling x = ⎢ ... ⎥ the vector of the state variables, we can
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢um ⎥ ⎢yp ⎥ ⎢xn ⎥
⎣ ⎦ ⎣ ⎦ ⎣ ⎦
build the space state model as follows:



⎪ẋ(t) = Ax(t) + Bu(t)

P ∶⎨ ,t ∈ R (1.1)


⎪ y(t) = Cx(t) + Du(t)

Given the initial condition x(t0 ) and the control input u(t), ∀ t ∈ R, we can then compute
x(t) → y(t), ∀ t ∈ R.

EXAMPLE: continuous-time model

Let us consider two masses m1 , m2 , free to move along a line with a friction constant h and
connected by an ideal spring (spring constant K). A force control input u is available on mass
m2 . We make the following choice for the state variables:

• x1 is the position of mass 1 with respect to a fixed reference.

1
2 1. Mathematical tools for system theory

• x2 is the position of mass 2 with respect to the same fixed reference.

• x3 = ẋ1 is the speed of mass 1.

• x4 = ẋ2 is the speed of mass 2.

It holds that



⎪m1 ẋ3 = −hx3 − K(x1 − x2 )

⎨ (1.2)

⎩m2 ẋ4 = −hx4 + K(x1 − x2 ) + u

hence


⎪ ⎡ ⎤ ⎡ ⎤

⎪ ⎢ 0 0 1 0 ⎥ ⎢0⎥

⎪ ⎢ ⎥ ⎢ ⎥


⎪ ⎢ ⎥ ⎢ ⎥

⎪ ⎢ 0 0 0 1 ⎥ ⎢0⎥

⎪ ⎢ ⎥ ⎢ ⎥

⎪ ẋ = ⎢ ⎥x + ⎢ ⎥u
⎪ ⎢ ⎥ ⎢ ⎥
⎨ ⎢− K K h
0 ⎥ ⎢0⎥ (1.3)
⎪ ⎢ m1 m1 − m1 ⎥ ⎢ ⎥

⎪ ⎢ ⎥ ⎢ ⎥
⎪ ⎢ K ⎥ ⎢ 1 ⎥




⎢m
⎣ 2
− mK2 0 − mh2 ⎥

⎢m ⎥
⎣ 2⎦





⎪ y = [1 −1 0 0] x


A, B, C, D do not depend on time in this case: such systems are called autonomous systems

EXAMPLE: discrete-time model. Junior School Graduation

The junior school in Italy is divided in 3 years. At the end of each year, every student may
pass to the next year or fail and repeat the same year. Let xi (t) be the number of students
attending the i-th year class during year t. Let u(t) be the number of students registering at
1st year class for the year (t + 1) and y(t) the number of students graduating at the end of
year t. Let’s also assume that students never drop out of the school and that there is a
constant rejection rate 0 < γ < 1. The resulting discrete model is:





⎪ x1 (t + 1) = u(t) + γx1 (t)





⎪x2 (t + 1) = (1 − γ)x1 (t) + γx2 (t)

⎨ (1.4)


⎪ x3 (t + 1) = (1 − γ)x2 (t) + γx3 (t)







⎪ y(t) = (1 − γ)x3 (t)

⎡ ⎤ ⎡ ⎤
⎢ γ 0 0 ⎥⎥ ⎢1⎥
⎢ ⎢ ⎥
⎢ ⎥ ⎢ ⎥
hence A = ⎢1 − γ γ 0 ⎥, B = ⎢0⎥, C = [0 0 1 − γ ], D = 0.
⎢ ⎥ ⎢ ⎥
⎢ ⎥ ⎢ ⎥
⎢ 0 1 − γ γ ⎥ ⎢0⎥
⎣ ⎦ ⎣ ⎦
1.1 REPRESENTATION OF DYNAMICAL SYSTEMS 3

1.1.2 INPUT-OUTPUT REPRESENTATION


Let us consider an object of mass m = 1 on which we apply a force F = u. If we call x1 the
position of the object and x2 the speed of the object, and consider the position as the output,
we get the following S.S. model:





⎪ ẋ1 = x2 ⎡ ⎤ ⎡ ⎤


⎪ ⎢0 1⎥ ⎢0⎥
⎨ẋ2 = u ⇒A=⎢ ⎢ ⎥ , B = ⎢⎢ ⎥⎥ , C = [1 0] (1.5)
⎪ ⎥

⎪ ⎢0 0⎥ ⎢1⎥

⎪ ⎣ ⎦ ⎣ ⎦
⎩ y = x1


By simple substitution, we can highlight the relationship between the input u(t) and the
output y(t), which is

ÿ(t) = u(t) (1.6)

We can generalize as follows

CONTINOUS-TIME SYSTEMS I/O REPRESENTATION


y (n) (t) + α1 y (n−1) (t) + ... + αn y(t) = β0 u(n) (t) + ... + βn u(t).
In our case: n = 2, α1 = 0, α2 = 0, β0 = β1 = 0.

DISCRETE-TIME SYSTEMS I/O REPRESENTATION


y(t) + α1 y(t − 1) + ... + αn y(t − n) = β0 u(t) + ... + βn u(t − n).

1.1.3 A.R.M.A. (Auto-Regressive Moving Average model) REPRE-


SENTATION
The ARMA model is a compact way to describe input-output models. We define the
polynomials with variable p:


⎪ n n−1
⎪N (p) = β0 p + β1 p + ... + βn

⎨ (1.7)
⎪ n n−1
⎩D(p) = p + α1 p + ... + αn


so that we get the ARMA equation

D(p)y(t) = N (p)u(t) (1.8)

The meaning of p is different whether we consider a continuous-time system or a discrete-


time one.

di u(t)
• C.T. System: pi u(t) = dti
(p is a derivative)

• D.T. System: pi u(t) = u(t − i) (p is a delay).


4 1. Mathematical tools for system theory

EXAMPLE

(p2 + 2) y(t) = (3p2 − p + 1) u(t)


´¹¹ ¹ ¹ ¹ ¹¸¹ ¹ ¹ ¹ ¹ ¹¶ ´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹¸¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶
D(p) N (p)

• C.T. System: y (2) (t) + 2y(t) = 3u(2) (t) − u(1) (t) + u(t)

• D.T. System: y(t − 2) + 2y(t) = 3u(t − 2) − u(t − 1) + u(t)

REMARK
In the continuous case, p is equivalent to s as in the Laplacian Transform (sy(s) = ẏ), while
in the discrete case p is equivalent to z −1 as in the Zeta Transform (z −1 u(z) = u(t − 1)).

REMARK
ARMA representation (or I/O representation) is not unique (generally). E.G: we can
equivalently consider either the model ẏ = u or ÿ = u̇. It is important to notice that both models
describe the same I/O behavior of the system, but a model with higher-order derivatives can
give us richer information. As an example, let’s consider the two equivalent I/O models just
mentioned:

• ẏ = u ⇒ if u = 0, then ẏ = 0 and y(t) =constant.

• ÿ = u̇ ⇒ if u = 0, then u̇ = 0, ÿ = 0 and y(t) = y0 + y1 t, therefore conveying potentially


richer information about the system.

q(p)
Suppose P → [N (p), D(p)] ÐÐ→ [q(p)N (p), q(p)D(p)]. We can now define
´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹¸¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶
redundant, still equivalent

Definition 1. The essential ARMA model associated with P is the ARMA model for
P which has the lowest degree of N (p), D(p), i.e. such that N (p) and D(p) are coprime. An
ARMA model is called redundant if it can be written in the form [q(p)N (p), q(p)D(p)] for
some polynomial q(p).

Can we claim: “N (p), D(p) are coprime ⇔ the model is essential”? NO. Only the left-to-
right implication is valid. In fact, we can easily show essential models whose polynomials are
not coprime.

EXAMPLE

Let’s consider a lake, whose volume of water is described by the state variable x1 (t). There’s
an incoming flow of water (u(t)) and an outcoming flow of water (y(t) = Kx1 (t)). In addition
to that, there’s an underwater pool whose volume is x2 (t), with no incoming flow. Its water
1.1 REPRESENTATION OF DYNAMICAL SYSTEMS 5

seeps into the main lake, with a rate proportional to its volume (v(t) = hx2 (t)).

STATE-SPACE REPRESENTATION





⎪ ẋ1 (t) = −Kx1 (t) + hx2 (t) +u(t)


⎪ ´¹¹ ¹ ¸¹¹ ¹ ¹¶


⎪ ⎛−K h ⎞ ⎛1⎞
v(t)
⎨ ⇒A= ,B = , C = (K 0) (1.9)


⎪ ẋ2 (t) = −hx2 (t) ⎝ 0 −h⎠ ⎝0⎠






⎩y = Kx1 (t)

A.R.M.A. REPRESENTATION d
ẏ+Ky−Ku dt
ẏ = K(−y + v + u) ⇒ v = K Ð→ ÿ = −K ẏ − h(ẏ + Ky − ku) + k u̇.

We can eventually write

(p2 + (h + K)p + hk)y(t) = (Kp + Kh)u(t) ⇐⇒ (p + K)(p + h) y(t) = (p + h) u(t) (1.10)


´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶ ´¹¹ ¹ ¹ ¸¹ ¹ ¹ ¹ ¶
N(p) D(p)

N and D have the root p = −h in common. This example shows a system whose ARMA
representation, although being essential (N (p) and D(p) are of the lowest degree possible), is
built using polynomials which are not coprime. This always happens when we have to deal
with state variables which are not influenced by any of the control inputs. In such cases, we’ll
say that the variable is observable (it influences the observed output), but not reachable.

GENERIC WAY OF WRITING AN A.R.M.A. MODEL

q(p) ⋅ r(p) ⋅ N (p) = q(p) ⋅ r(p) ⋅ D(p) (1.11)


´¸¶ ´¸¶ ´¸¶ ´¸¶
redundant internal redundant internal

N (p),D(p) are coprime.

TOOLS TO OBTAIN S.S. REPRES. FROM ARMA REPRES. AND VICEVERSA.


In the example mentioned above, we can give both the essential ARMA representation and
the I/O (transfer function) representation:

• [p2 + (h + k)p + hk, k(p + h)] → ESSENTIAL ARMA REP.

• [p + k, k] ⇒ G(s) = k
s+k → T.F. REP.

To generalize the process, let’s start from the S.S. representation of a SISO system. If we
dx
consider that dt = px, it holds:


⎪ ⎧

⎪px(t) = Ax(t) + Bu(t) ⎪x(t) = (pI − A) Bu(t)
⎪ ⎪ −1
⎨ ⇒⎨ (1.12)
⎪ ⎪
⎩y(t) = Cx(t) + Du(t) ⎩y(t) = (C(pI − A) B + D)u(t)

⎪ ⎪
⎪ −1
6 1. Mathematical tools for system theory

[G(p)]n×n
Note that (pI − A)−1 = det(pI−A) , where G(p) is the ALGEBRAIC COMPLEMENT of
(pI − A)−1 . It holds:

det(pI − A)y(t) = [CG(p)B + D det(pI − A)]u(t) = P (p)u(t) (1.13)




⎪AT MOST n − 1, if D = 0

where deg(P (p)) = ⎨

⎩AT MOST n otherwise.

This is because, if D = 0, the system is purely dynamic (the output is not directly influenced
by the input, but by the states), so there must be at least one time-derivative between the
input and the output. Conversely, if D ≠ 0, the output is directly influenced by the input and
there’s no “time-derivative difference”; we can also see that mathematically, because det pI − A
is of degree n.
So, we can write the ARMA model:

[N (p), D(p)] = [CG(p)B + D det(pI − A), det(pI − A)] (1.14)

REMARK: there exists an infinite number of quadruples (A, B, C, D) associated with (N (p), D(p))!
For example, as far as purely dynamic systems are concerned (β0 = 0), we can put the systems
in the canonical form. (controllability or observability)

1.2 STATE TRANSFORMATIONS


Let us consider the S.S. representation of a dynamical systems



⎪ẋ = Ax + Bu

⎨ (1.15)

⎩y = Cx + Du


We define a new state variable “z” such that

z= T ⋅ x ⇐⇒ x = T −1 ⋅ z (1.16)
´¸¶
non-singular

The S.S. representation becomes



⎪ż = T ẋ = T (Ax + Bu) = T AT x + T Bu = Ãz + B̃u
⎪ −1
⎨ (1.17)

⎪y = CT −1 z + Du = C̃z + Du


The underlying physical system is exactly the same as before, what we’ve changed is its
mathematical description. There are infinitely many possible S.S. mathematical represen-
tations for a given physical system, and we can switch between them if we know the change-
variable matrix T .
1.2 STATE TRANSFORMATIONS 7

REMARK: it holds that zi = ∑nj=1 tij xj .

RESULT:

(A, B, C, D) ↘
T −1 T Ô⇒ SAME A.R.M.A.: (N (p), D(p))

(Ã, B̃, C̃, D̃) ↗

The A.R.M.A. representation is strictly connected to the I/O behavior of the physical system
itself, so it is independent from the chosen state variable.

1.2.1 Geometrical interpretation

e2

x2 x e1

z1
e2

z2

x1 e1

⎡ ⎤
⎢1⎥
So, changing variable is equal to changing coordinates (different reference frame). If e1 = ⎢⎢ ⎥⎥
⎢0⎥
⎣ ⎦
⎡ ⎤
⎢0⎥
and e2 = ⎢⎢ ⎥⎥ are the versors of the original reference frame, then e1 = T e1 and e2 = T e2 are the
⎢1⎥
⎣ ⎦
versors of the new frame.

EXAMPLE
8 1. Mathematical tools for system theory

u u
2 2

x1 x2
k1 x1 k2 x2
x3 x4
k2 x3 k1 x4
+

We consider a set of 4 tanks containing water, with some holes on the bottom. xi represents
the volume of water contained in tank i. The water flows from tank to tank as indicated by
u
the arrows. There’s an input flow of water 2 entering tank 1 and 2. We consider the sum of
the water spilled from tank 3 and 4 as the output. The S.S. representation is




⎪ x˙1 = −k1 x1 + u2


⎪ ⎡ ⎤ ⎡1⎤

⎪ ⎢−k1 0 0 0 ⎥⎥ ⎢2⎥


⎪ x˙2 = −k2 x2 + u2 ⎢
⎢ ⎥
⎢ ⎥
⎢1⎥


⎪ ⎢ 0 −k2 0 0 ⎥ ⎥ ⎢2⎥
⎨x˙3 = k1 x1 − k2 x3 ⎢
⇒A=⎢ , B = ⎢ ⎥ , C = [0 0 k2 k1 ] (1.18)
⎪ ⎥ ⎢ ⎥

⎪ ⎢ k1 0 −k 2 0 ⎥ ⎢0⎥

⎪ ⎢ ⎥ ⎢ ⎥

⎪ x˙4 = k2 x2 − k1 x4 ⎢ ⎥ ⎢ ⎥

⎪ ⎢ 0 k2 0 −k 1 ⎥ ⎢0⎥

⎪ ⎣ ⎦ ⎣ ⎦


⎩y = k2 x3 + k1 x4

If we choose the transformation T as follows

⎡ ⎤
⎢ 0 0 k2 k1 ⎥⎥

⎢ ⎥
⎢k2 k1 k1 k2 −k22 −k12 ⎥

T =⎢ ⎥

⎢ 0 0 k2 −k 1⎥
⎢ ⎥
⎢ ⎥
⎢k1 k2 −k1 k2 −k22 k12 ⎥
⎣ ⎦
we get that

⎡ ⎤
⎢ 0 1 0 0 ⎥
⎢ ⎥
⎢ ⎥

⎢−k2 k 1 −(k 1 + k2 ) 0 0 ⎥
⎥ , B̃ = ..., C̃ = ...
à = T AT = ⎢
−1
⎥ (1.19)
⎢ 0 0 0 1 ⎥
⎢ ⎥
⎢ ⎥
⎢ 0 0 −k k
1 2 −(k1 + k2 ⎥
)
⎣ ⎦
and we can write





⎪ z˙1 = z2 ⎧


⎪ ⎪
⎪z˙3 = z4

⎨z˙2 = −k1 k2 z1 − (k1 + k2 )z2 + k1 k2 u ⎨ (1.20)
⎪ ⎪
⎩z˙4 = −k1 k2 z3 + (k1 + k2 )z4


⎪ ⎪


⎩y = z1


1.2 STATE TRANSFORMATIONS 9

We therefore see that with this change of variables we end up with two mathematically
separated and simpler subsystems. It is also the case that the output variable y depends only
on z1 , whose evolution is described by the first subsystem only. In case we are interested in the
output behavior only, we can solve the first 2 × 2 subsystem without worrying about the second
one (which describes the evolution of z3 and z4 ).
Chapter 2

COMPLEMENTS OF LINEAR
ALGEBRA

We start by recalling some definitions

Definition 2 (Characteristic polynomial of matrix A).

φA (λ) = det λI − A = λn + α1 λn−1 + ... + αn , αi ∈ R

Definition 3 (Characteristic equation of matrix A).

φA (λ) = 0

Definition 4 (Eigenvalues of matrix A).

λ∗ ∣φA (λ∗ ) = 0

REMARK: If aij ∈ R ∀i, ∀j, then λ∗ ∈ R or C. If complex, its conjugate is also an eigen-
value.

Theorem 1. Given à such that à = T AT −1 , then A and à have the same eigenvalues

Proof.
det λI − Ã = det λI − T AT −1
= det λT T −1 − T AT −1
= det T (λI − A)T −1
= det T det T −1 det λI − A
= det λI − A

Theorem 2 (CAYLEY-HAMILTON). Every matrix A is a solution of its characteristic poly-


nomial, i.e.

φA (A) = An + α1 An−1 + ... + αn−1 A + αn In = 0 (2.1)

10
11

Definition 5 (Minimal Polynomial). ψA (λ) is called minimal polynomial of A if

ψA (λ) = λm + β1 λm−1 + ... + βm = 0 (2.2)

where m is the minimum integer m ≤ n such that ψA (λ) exists.

Definition 6 (Algebraic Multiplicity of λ∗i ). We call ai the algebraic multiplicity of λ∗i , which
is the exponent of the term (λ − λ∗i ) in the factorized form of the characteristic polynomial of
A.

Definition 7. We call vi∗ ∈ Rn “eigenvector associated with λ∗i ” if

(λ∗i I − A)vi∗ = 0 (2.3)

This means that vi∗ belongs to the kernel of the matrix (λ∗i I − A). It holds by definition that

Avi∗ = λ∗i vi∗ (2.4)

RESULT: If A has n distinct eigenvalues (λ∗1 , ..., λ∗n ), then the n associated eigenvectors
(v1∗ , ..., vn∗ ) are linearly independent.

INTERESTING RESULT

Let’s consider the system ẋ = Ax, x ∈ Rn , where A has n different eigenvalues (associated
eigenvectors are linearly independent). If we build the matrix

T −1 = [v1∗ ∣ v2∗ ∣ .... ∣ vn∗ ] ⇐ not singular (2.5)


n×n

and compute

AT −1 = [Av1∗ ∣ Av2∗ ∣ .... ∣ Avn∗ ]

= [λ∗1 v1∗ ∣ λ∗2 v2∗ ∣ .... ∣ λ∗n vn∗ ]


⎡ ∗ ⎤
⎢λ1 0 ... 0 ⎥
⎢ ⎥
⎢ ⎥ Ô⇒ Ã = T AT −1 (2.6)
−1 ⎢
⎢ 0 λ ∗
2 ... 0 ⎥

=T ⎢ ⎥
⎢ 0 0 ... 0 ⎥
⎢ ⎥
⎢ ⎥
⎢ 0 ... 0 λ∗n ⎥
⎣ ⎦
= T −1 Ã
12 2. COMPLEMENTS OF LINEAR ALGEBRA

So, considering the change of variables z = T x we get

ż = T ẋ
= T Ax


= T AT −1 z


⎪ z˙1 = λ∗1 z1





⎪z˙2 = λ2 z2
⎪ ∗
= Ãz
Ô⇒ ⎨ (2.7)
⎡ ∗ ⎤ ⎪

⎪ ...
⎢λ1 0 ... 0 ⎥ ⎪

⎢ ⎥ ⎪


⎢ ⎥ ⎪
⎢ 0 λ∗2 ... 0 ⎥ ⎪
⎪ z˙ = λ∗n zn
=⎢⎢ ⎥z
⎥ ⎩ n
⎢ 0 0 ... 0 ⎥
⎢ ⎥
⎢ ⎥
⎢ 0 ... 0 λ∗n ⎥
⎣ ⎦

This means that we are considering completely decoupled equations, the evolution of
every state variable in the new coordinates is completely independent from the others.

Not every system can be completely decoupled through a change of variables: the best we
can do is applying the Jordan Transformation.

REMARK:

The matrix A having n distinct eigenvalues is not a necessary condition for the existence of n
linearly independent eigenvectors. It could well be that some algebraic multiplicity is higher
than 1, meaning that

a a a
φA (λ) = (λ − λ∗1 ) 1 (λ − λ∗2 ) 2 ...(λ − λ∗r ) r , r < n (2.8)

and still be possible to find linearly independent v1∗ , v2∗ , ...vn∗

EXAMPLE
n
If A = In , then φA (λ) = (λ − 1) ⇒ λ∗1 = 1, a1 = n. The space of eigenvectors associated with
the eigenvalue 1 is the kernel of the matrix (λ∗1 In − A) = (1 ⋅ In − In ) = 0, so every vector in Rn
belongs to the kernel. This means we are guaranteed to be able to find n linearly independent
eigenvectors.

2.1 Jordan Transformation


Let’s suppose we are not able to find n linearly independent eigenvectors for matrix A.

Definition 8 (Geometric Multiplicity). If λ∗i is an eigenvalue of matrix A, then we call gi the


maximum number of linearly independent eigenvectors associated with λ∗i .
2.1 Jordan Transformation 13

Theorem 3. If λ∗i is an eigenvalue of matrix A, then

gi ≤ ai (2.9)

Definition 9 (Generalized Eigenvectors). We call wi∗ “ generalized eigenvector” associated


with the eigenvalue λ∗i of matrix A if


⎪ k ∗
⎪(λi I − A) wki = 0
⎪ ∗
⎨ (2.10)
⎪(λ∗i I − A)k−1 wk∗ ≠ 0


⎩ i

Ordinary eigenvectors are obtained for k = 1.

2.1.1 Jordan Form


Let us consider a matrix A with r ≤ n distinct eigenvalues. There exists a matrix T that we
can apply to perform a change of coordinates on A and get

⎡[ ] [0] ⎤⎥
⎢ J1
⎢ ⎥
⎢ ⎥
à = T AT −1 = ⎢ ... ⎥ (2.11)
⎢ ⎥
⎢ ⎥
⎢ [0] [ Jr ⎥
]
⎣ ⎦n×n
where the [Ji ] are called Jordan blocks.
ai ×ai

Every Jordan block [Ji ] is composed as follows

⎡[ 1 ] [0] ⎤⎥
⎢ Ji
⎢ ⎥
⎢ ⎥
⎢ ... ⎥ (2.12)
⎢ ⎥
⎢ gi ⎥
⎢ [0] [Ji ⎥⎦
]

where [Jij ] are called Jordan mini-blocks. The number nji is called index of λ∗i (in
nji ×nji
the j-th Jordan mini-block). Without loss of generality, we impose that

n1i ≥ n2i ≥ .... ≥ ngi i

Eventually, the Jordan mini-block [Jij ]has the following form

⎡ ∗ ⎤
⎢λi 1 ... 0 ⎥
⎢ ⎥
⎢ ⎥
⎢ 0 λ∗i 1... 0 ⎥
⎢ ⎥
⎢ ⎥
[Jij ] = ⎢ 0 0 ... 1 ...0⎥ (2.13)
⎢ ⎥
⎢ ⎥
⎢ ... ... ... 1 ⎥
⎢ ⎥
⎢ ⎥
⎢ 0 ... 0 λi ⎥⎦ j j

⎣ ni ×ni

So it has the eigenvalue λ∗i on the main diagonal and the value 1 on the secondary diagonal.
14 2. COMPLEMENTS OF LINEAR ALGEBRA

REMARK: in case ai = 1, ∀i = 1, ..., n, then the Jordan form boils down to the standard
diagonal form.

REMARK2: the same holds if gi = ai , ∀i = 1, ..., n

CHAIN OF GENERALIZED EIGENVECTORS ORIGINATED FROM AN EIGEN-


VECTOR

Let vi∗j be an eigenvector associated with eigenvalue λ∗i of A, meaning that

vi∗j ∈ ker λ∗i I − A

If we additionally suppose that


vi∗j ∈ Im λ∗i I − A

then
∃w2∗ij ∣vi∗j = (λ∗i I − A)w1∗ij

where w2∗i is a generalized eigenvector of order 2 associated with λ∗ . We also say that w2∗i
j j
2
is generated from the eigenvector vi∗j . By definition, w2∗i ∈ ker (λ∗i I − A) and it therefore
j

holds:

2
(λ∗i I − A) w2∗ij = (λ∗i I − A)vi∗j = 0

If we now suppose that

w2∗ij ∈ Im λ∗i I − A

where
Im(A) = {v ∈ Rn ∶ v = Aw for some w ∈ Rn } (2.14)

Then
∃w3∗ij ∣w2∗ij = (λ∗i I − A)w3∗ij

where w3∗i is a generalized eigenvector of order 3 associated with λ∗i and generated by vij .
j

It therefore holds by definition that

3 2
(λ∗i I − A) w3∗ij = (λ∗i I − A) w2∗ij = (λ∗i I − A)vi∗j = 0

We can keep on computing higher order generalized eigenvector originated from vi∗j by using
the same procedure over and over. The process can go on until we reach order ngi i .
2.1 Jordan Transformation 15

λ∗1 ... ... λ∗r

v1∗1 v1∗g vr∗1 vr∗gr


1

w2∗1 w2∗1g w2∗r w2∗rg


1 1 r
1

... ... ... ...

wn∗1 wn∗g1 wn∗1 wn∗gr


111 r r1 r rgr
1 1g
1

In order to get the matrix T −1 , we just insert all the eigenvectors and generalized eigenvectors
as columns.

T −1 = [v1∗1 ∣ w2∗11 ∣ ... wn∗1 ∣ v1∗2 ∣ ...∣ vr∗gr ...∣ wn∗grr r ] (2.15)
111 gr
n×n
EXAMPLE

Let

⎡ ⎤
⎢1 2 0 1⎥⎥

⎢ ⎥
⎢0 2 0 0⎥⎥
A = ⎢⎢ ⎥
⎢0 −1 1 0⎥⎥

⎢ ⎥
⎢0 0 0 1⎥⎦

It holds

3
φA (λ) = (λ − 1) (λ − 2) Ô⇒ λ∗1 = 1, λ∗2 = 2, a1 = 3, a2 = 1 (2.16)
Let’s find the eigenvectors and generalized eigenvectors associated with eigenvalue λ∗1 . Since

⎡ ⎤
⎢0 −2 0 −1⎥
⎢ ⎥
⎢ ⎥

⎢0 −1 0 0 ⎥

(λ1 I − A) = (I − A) = ⎢


⎢0 1 0 0 ⎥
⎢ ⎥
⎢ ⎥
⎢0 0 0 0 ⎥
⎣ ⎦
⎡ ⎤ ⎡ ⎤
⎢1⎥ ⎢0⎥
⎢ ⎥ ⎢ ⎥
⎢ ⎥ ⎢ ⎥
⎢0⎥ ⎢0⎥
∗ ⎢ ⎥
then v11 = ⎢ ⎥ and v12 = ⎢⎢ ⎥⎥ are eigenvectors associated with λ∗1 . We need one additional

⎢0⎥ ⎢1⎥
⎢ ⎥ ⎢ ⎥
⎢ ⎥ ⎢ ⎥
⎢0⎥ ⎢0⎥
⎣ ⎦ ⎣ ⎦
generalized eigenvector so as to end up with three linearly independent vectors to be put in
matrix T −1 . To find the generalized eigenvector, we suppose v1∗1 ∈ Im(I − A):
16 2. COMPLEMENTS OF LINEAR ALGEBRA

⎡ ⎤
⎢0⎥
⎢ ⎥
⎢ ⎥
⎢0⎥
(I − A)w2∗1 =v11 Ô⇒ w2∗11 = ⎢⎢ ⎥⎥ (2.17)
1 ⎢0⎥
⎢ ⎥
⎢ ⎥
⎢−1⎥
⎣ ⎦
As to the eigenvalue λ∗2 = 2, it has algebraic multiplicity equal to 1 so we can look for a
single eigenvector such that

⎡ ⎤ ⎡ ⎤
⎢1 −2 0 −1⎥ ⎢2⎥
⎢ ⎥ ⎢ ⎥
⎢ ⎥ ⎢ ⎥

⎢0 0 0 0⎥ ⎥ ⎢1⎥
⎢ ⎥
v21 ∈ ker (2I − A) = ker ⎢

⎥ Ô⇒ v21 = ⎢ ⎥

⎢0 1 1 0 ⎥ ⎢−1⎥
⎢ ⎥ ⎢ ⎥
⎢ ⎥ ⎢ ⎥
⎢0 0 0 1 ⎥ ⎢0⎥
⎣ ⎦ ⎣ ⎦
To sum up:

λ∗1 ... λ∗2

v1∗1 v1∗2 v2∗1

w2∗1
1

We can now build the matrix T −1 :

⎡ ⎤
⎢1 0 0 2 ⎥⎥

⎢ ⎥
⎢0 0 0 1 ⎥⎥
T = [v11 ∣ w21 ∣ v12 ∣ v21 ] = ⎢⎢
−1 ∗ ∗ ∗ ∗

1 4×4 ⎢0 0 1 −1⎥⎥

⎢ ⎥
⎢0 −1 0 0 ⎥⎦

and obtain the matrix à which is the matrix A in its Jordan form

⎡ ∗ ⎤ ⎡ ⎤
⎢λ1 1 0 0 ⎥ ⎢1 1 0 0⎥⎥
⎢ ⎥ ⎢
⎢ ⎥ ⎢ ⎥

⎢ 0 λ ∗
1 0 0 ⎥ ⎢0
⎥=⎢ 1 0 0⎥⎥
à = T AT = ⎢
−1
⎥ ⎢ ⎥
⎢ 0 0 λ1 0 ⎥ ⎢0

0 1 0⎥⎥
⎢ ⎥ ⎢
⎢ ⎥ ⎢ ⎥
⎢ 0 0 0 λ∗2 ⎥ ⎢0 0 0 2⎥⎦
⎣ ⎦ ⎣
Notice that à can be thought of as being composed of Jordan blocks and mini blocks:

⎡[J ] 0 ⎤
⎢ 1 ⎥
à = ⎢⎢ 3×3 ⎥

⎢ 0 [J2 ] ⎥
⎣ 1×1 ⎦

where
2.2 Schur’s decomposition 17

⎡[ 1 ] 0 ⎤
⎢ J1 1 ⎥
⎢ n1 =2×n11 =2 ⎥
J1 = ⎢ ⎥ , J2 = [[J21 ]n1 =1×n1 =1 ]
⎢ 0 [ 2]
J1 2 ⎥ 2 2
⎢ ⎥
n1 =1×n21 =1 ⎦

and

⎡ ∗ ⎤ ⎡ ⎤
⎢λ1 1 ⎥ ⎢1 1⎥ 2
J11 = ⎢⎢ ⎥=⎢
⎥ ⎢
⎥ , J1 = [λ∗ ] = [1] , J21 = [λ∗ ] = [2]
⎥ 1 2
⎢ 0 λ1 ⎥ ⎢0 1⎥

⎣ ⎦ ⎣ ⎦
So, we pass from equation ẋ = Ax to equation ż = Ãz. In the z coordinates, we get 3
decoupled systems


⎪ ⎡ ⎤ ⎡ ⎤⎡ ⎤

⎪ ⎢z˙1 ⎥ ⎢1 1⎥ ⎢z1 ⎥

⎪ ⎢ ⎥ ⎢ ⎥⎢ ⎥

⎪ 1) ⎢ ⎥ = ⎢ ⎥⎢ ⎥

⎪ ⎢ ⎥ ⎢ ⎥⎢ ⎥
⎪ ⎢z˙
⎪ ⎣ 2⎦ ⎣ ⎥ ⎢0 1 ⎥ ⎢z2 ⎥
⎦⎣ ⎦
⎨ (2.18)


⎪2)z˙3 = z3







⎪ 3)z˙ = 2z4
⎩ 4
z2
z˙2 = z2 z˙1 = z1 + z2

z˙3 = z3

z˙4 = z4

Note that if A is diagonalizable, the system in the z coordinates becomes completely de-
coupled.

REMARK: λ∗i ∈ C

2.2 Schur’s decomposition


The Schur Decomposition is a procedure to bring a given matrix A in an upper-triangular
form. It is therefore less powerful than the Jordan Transformation, but we will use it sometimes
in the following parts of the course. To show the effect of the Schur Decomposition we can
write:

⎡ ⎤
⎢ ∗ {∗}⎥⎥
TSCHU R

⎢ ⎥
An×n ÐÐÐÐ→ Ã = T AT −1 = ⎢ ... ⎥
⎢ ⎥
⎢ ⎥
⎢{0} ∗ ⎥
⎣ ⎦
Let λ∗1 , ..., λ∗r be the distinct eigenvalues of A. Let v1∗ ∈ ker(λ∗1 I − A). Then create matrix
T1−1 as follows:
18 2. COMPLEMENTS OF LINEAR ALGEBRA

T1−1 = [v1∗ ∣ {∗}] (2.19)


Where {∗} is chosen so that T1−1 is non-singular. It holds

⎡ ⎤

⎢ λ∗1 Γ1(1×n−1) ⎥

⎢ ⎥
⎢ 0 ⎥

−1 ⎢

AT1 = [AV1 ∣ A{∗}] = [λ1 v1 ∣ A{∗}] = T1 ⎢
−1 ∗ ∗ ∗ ⎥ (2.20)
⎢ ... M1(n−1×n−1) ⎥

⎢ ⎥
⎢ 0 ⎥
⎢ ⎥
⎢ ⎥
⎣ ⎦
which means

⎡ ∗ ⎤
⎢ λ1 Γ 1

⎢ (1×n−1) ⎥
⎢ ⎥
⎢ 0 ⎥
⎢ ⎥
Ã1 = T1 AT1−1 = ⎢⎢ ... M ⎥

⎢ 1(n−1×n−1) ⎥
⎢ ⎥
⎢ 0 ⎥
⎢ ⎥
⎢ ⎥
⎣ ⎦
Now, take an eigenvalue of M1 , say λi (M1 ), and find an eigenvector v2∗ (M1 ) associated with

λ∗i (M1 ). Build the matrix

⎡ ⎤
⎢ 1 0 0 ... 0 ⎥⎥

⎢ ⎥
⎢ 0 ⎥
T2 = ⎢⎢
−1 ⎥ ({∗} so that the matrix is invertible)

⎢ ... v2

{*} ⎥
⎢ ⎥
⎢ 0 ⎥
⎢ ⎥
⎣ ⎦n×n
It holds that

⎡ ∗ ⎤
⎢ λ1 (A) {∗} {∗} ⎥
⎢ ⎥
⎢ ⎥
⎢ ... λ∗1 (M1 ) {∗} ⎥

−1 −1 ⎢

AT1 T2 = T1 T2 ⎢
−1 −1 ⎥ ({∗} so that the matrix is invertible)
0 ⎥
⎢ ⎥
⎢ ⎥

⎢ ... 0 M2 ⎥


⎣ ... ... ⎥
⎦n×n
We can go on with T3−1 in the same way:

⎡ ⎤
⎢ 1 0 ... 0 ⎥
⎢ ⎥
⎢ ⎥
⎢ 0 1 ... 0 ⎥
⎢ ⎥
⎢ 0 0 ⎥
T3 = ⎢
−1
⎥ ({∗} so that the matrix is invertible)
⎢ ⎥
⎢ ... ... v3 (M2 ) {*} ⎥

⎢ ⎥
⎢ ⎥
⎢ 0 0 ⎥
⎢ ⎥
⎣ ⎦n×n
and so on and so forth... In the end we get

T −1 = T1−1 T2−1 T3−1 ...Tn−1


−1
(2.21)
Chapter 3

SOLVING THE EQUATIONS


DESCRIBING DYNAMICAL
SYSTEMS

3.1 LAGRANGE’S FORMULA


The evolution of the state vector x(t) is described by

• ẋ(t) = Ax(t) + Bu(t) Ð→ CONTINOUS TIME

• x(t + 1) = Ax(t) + Bu(t) Ð→ DISCRETE TIME

In both cases we call x(0) = x0 . The goal is to find a function F such that

x(t) = F (t, x0 , u[0, t) ) Ô⇒ y(t) = Cx(t) + Du(t)


´¸¶
OP EN

3.1.1 Continuos time systems


Let be by definition:

A2 A3 +∞ i
A
eA = I + A + + ... = ∑ (Taylor’s Expansion) (3.1)
2! 3! i=0 i!

the Lagrange formula states:

Theorem 4. Given a dynamical continuous-time system descripted by its S.S. model, it holds
that

t
x(t) = eAt x0 + ∫ eA(t−s) Bu(s) ds (3.2)
0

19
20 3. SOLVING THE EQUATIONS DESCRIBING DYNAMICAL SYSTEMS

Proof.
d x d eAt d t
= x0 + ∫ eA(t−s)
dt dt dt 0 (3.3)
´¹¹ ¹ ¹ ¹ ¹ ¸¹¹ ¹ ¹ ¹ ¹ ¶ ´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶
term1 term2

TERM 1:

d eAt d A2 t A3 t2
= (I + At + ... + ...) = 0 + A + 2 +3 + ... + ...
dt dt 2! 3!
A2 t2 (3.4)
= A(I + At + + ... + ...)
2!
= AeAt (the result is similar to the scalar case)
TERM 2:

d t t d
∫ f (t, s)ds = f (t, t) + ∫ f (t, s)ds
dt 0 ´¹¹ ¹¸¹ ¹ ¹¶ 0 dt
=Bu(t)
t (3.5)
= eA(t−t) Bu(t) + ∫ AeA(t−s) Bu(s)ds
´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹¸¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶ ´¹¹0¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶
=Bu(t)
=A ∫0t eA(t−s) Bu(s)ds

so

t
ẋ(t) = AeAt x0 + Bu(t) + A ∫ eA(t−s) Bu(s)ds
0
t
= A(eAt x0 + ∫ eA(t−s) Bu(s)ds) + Bu(t) (3.6)
0

= Ax(t) + Bu(t)

REMARK:

t
• x(t0 ) = x0 → x(t) = e(t−t0 ) x0 + ∫t0 eA(t−s) Bu(s)ds

• FREE EVOLUTION: eA(t−t0 ) x0


t
• FORCED EVOLUTION: ∫t e
A(t−s)
Bu(s)ds
0
´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹¶
CON V OLU T ION (eAt ,Bu(t))

The matrix eA(t−t0 ) is called TRANSITION MATRIX. Its term in position (i, j) describes
⎡ ⎤T
⎢0 0 ... 0 1 0 .. 0⎥
how xi (t) evolves when x0 = ⎢⎢ ´¸¶ ⎥ .

⎢ j−th position ⎥
⎣ ⎦

3.1.2 Discrete time systems


It holds
3.2 HOW TO COMPUTE THE EXPONENTIAL OF A MATRIX 21

t−1
x(t) = At x0 + ∑ A(t−i−1) Bu(i) (3.7)
´¸¶ i=0
FREE EVOL. ´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶
FORCED EVOL.
The transiction matrix is now: Φ = At . The convolution in the forced evolution is now much
easier to interpret: what influence does the input u(t − k) at time k have on the system at time
t?

• u(t − 1) Ð→ Bu(t − 1)

• u(t − 2) Ð→ ABu(t − 2)

• ...u(0) Ð→ At−1 Bu(0)

3.2 HOW TO COMPUTE THE EXPONENTIAL OF A


MATRIX
Let’s consider a free-to-move system (no control input): ẋ = Ax, x(0) = x0 . We know that

x(t) = eAt x0
If we change variable with the Jordan transformation (z = T x), we get

ż = T AT −1 z = Ãz
whose solution is then

z(t) = eÃt z0
−1 t
= eT AT z0
T A2 T −1 T A3 T −1
³¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ · ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ µ ³¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ · ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ µ
−1 2 2 3
(T AT ) t (T AT −1 ) t3 (3.8)
= [ I +(T AT −1 )t + + + ... + ...]z0
´¸¶ 2! 3!
TT1
A2 t2 A3 t3
= T [I + At + + + ... + ...]T −1 z0
2! 3!
= T eAt T −1 Ô⇒ eAt = T−1 eÃt T

3.2.1 Particular case: diagonalizable matrix.


If A is diagonalizable, then each of its eigenvalues has ai = gi . This also means that

⎡ ⎤
⎢λ1 ... 0 ⎥
⎢ ⎥
⎢ ⎥
∃T, Ã = ⎢ ... ⎥
⎢ ⎥
⎢ ⎥
⎢ 0 ... λn ⎥
⎣ ⎦
22 3. SOLVING THE EQUATIONS DESCRIBING DYNAMICAL SYSTEMS

and then

⎡ ⎤ ⎡ 22 ⎤
⎢λ1 t ... 0 ⎥
⎥ 1 ⎢λ1 t ... 0 ⎥
⎢ ⎥

Ãt ⎢ ⎥ ⎢ ⎥
e =I +⎢ ... ⎥+ ⎢ ... ⎥ + ... + ...
⎢ ⎥ 2! ⎢ ⎥
⎢ ⎥ ⎢ ⎥
⎢ 0 ... λn t⎥ ⎢ 0 ... λ2n t2 ⎥
⎣ ⎦ ⎣ ⎦
⎡ +∞ λi1 ti ⎤
⎢∑i=0 i! ... 0 ⎥
⎢ ⎥
⎢ ⎥
=⎢
⎢ ... ⎥

⎢ +∞ λin ti ⎥

⎣ 0 ... ∑i=0 i! ⎥⎦
⎡ λ1 t ⎤
⎢e ... 0 ⎥⎥

⎢ ⎥
=⎢
⎢ ... ⎥

⎢ ⎥
⎢ 0 ... eλn t ⎥
⎣ ⎦
then

⎡ n ⎤
⎢ ∑i=0 K11i eλi t ... ∑ni=0 K1ni eλi t ⎥
⎢ ⎥
⎢ ⎥
eAt = ⎢ ... ⎥
⎢ ⎥
⎢ n n ⎥
⎢∑i=0 Kn1i eλi t ... ∑i=0 Knni eλi t ⎥
⎣ ⎦
and

⎡ n ⎤
⎢ ∑i=0 l1i (x0 )eλi t ⎥
⎢ ⎥
⎢ ⎥
eAt x0 = ⎢ ... ⎥
⎢ ⎥
⎢ n ⎥
⎢∑i=0 lni (x0 )eλi t ⎥
⎣ ⎦
for some sets of constants {l} and {K}, meaning that the elements of the matrices are a
linear combination of the exponential terms induced by the eigenvalues of A.

If all the λi ∈ R, then I’m done. In fact, we know that real eigenvalues (and therefore poles
of the associated transfer function) generate exponentially decreasing or increasing terms in
x(t) (depending on whether the eigenvalues are smaller or greater than 0).

Figure 3.1: Modes associated with real poles/real eigenvalues


3.2 HOW TO COMPUTE THE EXPONENTIAL OF A MATRIX 23

COMPLEX EIGENVALUES

If, however, we consider COMPLEX eigenvalues (λi = σi + jωi ), they must come in couples
of complex-conjugate eigenvalues (λi = σi + jωi ⇐⇒ λi = σi − jωi ). If, for the sake of simplicity,
we assume that A has only two eigenvalues, both complex, they must be conjugate and it holds:
⎡ σt ⎤
At
⎢e (cos ωt + j sin ωt)
−1 ⎢
0 ⎥
e =T ⎥T
⎢ σt (cos ωt − j sin ωt)⎥

⎣ 0 e ⎥

We need to find a proper interpretation of the imaginary parts that appear in the terms
of the matrix eÃt . This interpretation comes natural by considering the multiplication by the
transformation matrix T . We consider an example to highlight this fact

EXAMPLE
⎡ ⎤
⎢ 1 1⎥

Let ẋ = Ax and A = ⎢ ⎥. It holds

⎢−1 1⎥
⎣ ⎦
⎡ ⎤
⎢λ − 1 −1 ⎥

pA (λ) = det λI − A = det ⎢ ⎥ = (λ − 1)2 + 1

⎢ 1 λ − 1⎥⎦

By solving pA (λ), we get λ∗1 = 1 + j, λ∗2 = 1 − j. Note that they are complex conjugates
(necessarily). Now, I find v1∗ and v2∗ by posing


⎪ ⎡ ⎤

⎪ ⎢1 + j − 1 ⎥
−1

⎪ ⎢ ⎥ ∗

⎪ ⎢ ⎥ v1 = 0

⎪ ⎢ ⎥ ⎡ ⎤ ⎡ ⎤
⎪⎢⎣ 1
⎪ 1 + j − 1⎥⎦ ⎢1⎥ ∗ ⎢ 1 ⎥
⎨⎡ ⎤ Ô⇒ v1 = ⎢ ⎥ , v2 = ⎢⎢ ⎥⎥
∗ ⎢ ⎥


⎪ ⎢1 − j − 1 −1 ⎥ ∗ ⎥ ⎢j ⎥ ⎢−j ⎥

⎪ ⎢ ⎣ ⎦ ⎣ ⎦


⎪ ⎢ ⎥ v2 = 0
⎪ ⎢ ⎥

⎪ ⎢ 1 1 − j − 1⎥⎦
⎩⎣
⎡ ⎤ ⎡ ⎤
⎢11 ⎥⎥ ⎢1 −j ⎥
1⎢
then we can build T = ⎢⎢
−1
⎥ Ô⇒ T = 2 ⎢
⎥, meaning that

⎢j
⎣1 j ⎦

−j ⎦ ⎢ ⎥

⎡ ⎤
⎢1 + j 0 ⎥⎥
à = T AT = ⎢
−1 ⎢

⎢ 0 1 − j ⎥⎦

We are ready to compute the exponential of matrix A:

eAt = T −1 eÃt T
⎡ ⎤⎡ ⎤⎡ ⎤
1 ⎢⎢1 1 ⎥⎥ ⎢⎢e(i+j)t 0 ⎥⎥ ⎢⎢1 −j ⎥⎥
= ⎢
2 ⎢j −j ⎥⎥ ⎢⎢ 0 ⎥⎢
e(1−j)t ⎥⎦ ⎢⎣1 j ⎥⎦

⎣ ⎦⎣
⎡ ⎤⎡ ⎤⎡ ⎤
1 ⎢⎢1 1 ⎥⎥ ⎢⎢et (cos t + j sin t) 0 ⎥ ⎢1 −j ⎥
⎥ ⎢ ⎥
= ⎢
2 ⎢j −j ⎥⎥ ⎢⎢ 0 e t (cos t − j sin t)⎥ ⎢
⎥ ⎢1 j ⎥

⎣ ⎦⎣ ⎦⎣ ⎦
⎡ ⎤
⎢ cos t sin t ⎥
= et ⎢⎢ ⎥

⎢− sin t cos t⎥
⎣ ⎦
Everything matches what we know from basic control theory. We were given a system like
24 3. SOLVING THE EQUATIONS DESCRIBING DYNAMICAL SYSTEMS

Figure 3.2: Modes associated with complex poles/complex eigenvalues

u y
G(s)

−1
and we called G(s) = C(sI − A) B the transfer function of the considered plant. The poles
of G(s) were the roots of its denominator and could be computed as the roots of the polynomial
det sI − A (it is therefore easy to see the correspondence between the poles of G(s) and the
eigenvalues of matrix A). We used to define the “free evolution” of the system as follows:

i−th pole

y(s) N0 (s) ³·µ


ÐÐ→ y(t) = ∑ Ki e pi t
−1 L−1
= C(sI − A) B = (3.9)
u(s) det (sI − A)
We deduce that in case a pole has positive real part, the free evolution will diverge indefi-
nitely.

3.2.2 Non-diagonalizable matrix


In this case, by applying the Jordan Transformation we get a non-trivial Jordan form (i.e.
some Jordan blocks are non-diagonal). In particular

⎡[ ] 0 ⎤
⎢ J1 ⎥
T AT −1
= ⎢⎢ ⎥

⎢ 0 [Jr ]⎥
⎣ ⎦
and it is provable that

⎡ J1 t ⎤
⎢e ... 0 ⎥⎥

⎢ ⎥
eÃt = ⎢ ... ⎥
⎢ ⎥
⎢ Jr t ⎥
⎢ 0 e ⎥
⎣ ⎦
3.2 HOW TO COMPUTE THE EXPONENTIAL OF A MATRIX 25

where

⎡ Ji1 t ⎤
⎢e ... 0 ⎥⎥

⎢ ⎥
e Ji t = ⎢ ... ⎥
⎢ ⎥
⎢ gi ⎥
Ji t ⎥
⎢ 0 e
⎣ ⎦
and

⎡ h
⎢1 t2 t3 tni −1 ⎤⎥
⎢ t 2! 3! ... (nh ⎥
⎢ i −1)! ⎥
h
⎢ t2 tni −2 ⎥
⎢0 1 t 2! ... (nh

⎢ i −2)! ⎥
⎢ h
tni −3 ⎥

Jih t

λi t ⎢ 0 0 1 t ...
e =e ⎢ (nh ⎥
i −3)! ⎥
⎢ ⎥
⎢... ... ... ... ... ... ⎥⎥

⎢ ⎥
⎢... ... ... ... ... ... ⎥⎥

⎢ ⎥
⎢0 0 0 ... .... 1 ⎥⎦ h h
⎣ [ni ×ni ]

The exponential scalar term outside the matrix dominates the evolution: even if the poly-
nomial terms inside the matrix tend to “explode”, what really matters is that Rλi < 0, so that,
h
overall, no terms of eJi t grow indefinitely.
Chapter 4

STABILITY OF DYNAMICAL
SYSTEMS

Definition 10 (REVERSIBILITY). We say that a linear system px(t) = Ax(t) + Bu(t) is


reversible if it is possible to compute its initial state x0 given the value of the state at time t
(x(t)) and the input variable u(s) in the interval s ∈ [0, t]

Theorem 5 (CLAIM). Every continuous time system is reversible

REMARK:
2 2
= e−At = I − At + A2!t − ..., so we can invert the Lagrange’s formula and obtain:
−1
(eAt )

t
x0 = e−A(t−t0 ) x(t) − e−A(t−t0 ) ∫ eA(t−s) Bu(s)ds
t0

Theorem 6 (CLAIM). A discrete-time system is not necessarily reversible. Indeed, it is re-


versible when At is not singular.

4.0.3 Sampled-Data discrete time systems


When dealing with sampled-data systems, we need to define a period T such that we are
able to modify the input and observe its state/output only at instants kT, k ∈ N. From a
continuos-time perspective, we can imagine that the input is made up of different constant
values which can change at every kT . The behavior of the associated continuos-time system is
represented in figure 4.0.3.

We need to derive the evolution equations for such a system. Keep in mind that the only
changes are that 1) we consider an initial time t0 that can be written as kT, k ∈ N and 2)u(s)
is constant in the interval [kT, (k + 1)T )(open interval). The equation has the following form:

t
x(t) = eA(t−kT ) x(kT ) + ∫ eA(t−s) B u(kT ) ds (4.1)
kT
´¹¹ ¹ ¸¹ ¹ ¹ ¶
=u(s),s∈[kT,(k+1)T )

26
27

Figure 4.1: Behaviour of a continuos-time system when the input is made of steps.

Since we are only able to observe the state at instants kT, k ∈ N, we can substitute the time
variable with the “sampling instants”, and thus we write
(k+1)T
x((k + 1)T ) = eAT x(kT ) + ∫ eA((k+1)T −s) Bds u(kT ) (4.2)
kT
´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹¸¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶ ´¹¹ ¹ ¸¹ ¹ ¹ ¶
constant
(k+1)T
=∫kT eA(kT +T −s) Bds

By introducing the new integration variable s′ = (k + 1)T − s, we can write

(k+1)T 0 ′
T ′
∫kT eA((k+1)T −s) Bds = − ∫ eAs Bds′ = ∫ eAs Bds′ (4.3)
T 0
so the evolution equation for a sampled system eventually becomes:

T ′
x(k + 1) = ASD x(k) + BSD u(k), ASD = eAT , BSD = ∫ eAs Bds′ (4.4)
0
The State Transition Matrix for the system is

Φ(kT ) = AkSD = eAT k


−1
which is always non-singular, since AkSD = e−AT k . This leads us to an important result

Theorem 7. Sampled-Data Systems are always reversible.

As a matter of fact, Sampled-Data Systems can be derived from continous-time systems,


which are always reversible, so this result makes sense.

REMARK: Not every discrete-time system is reversible. In general, Φ(k) = A(k − 1)A(k −
2)...A(0) and it will be invertible only if A(x) is invertible at every x > 0. For example, Φ is
invertible if A is constant and invertible.
28 4. STABILITY OF DYNAMICAL SYSTEMS

EXAMPLE

Let us consider a mass M , whose position/velocity are described by state variables x1 , x2 .


Let u be the force applied to the mass (control input). The evolution equations for the system
are


⎪ ⎡ ⎤ ⎡ ⎤
⎪x˙1 = x2
⎪ ⎢0 1⎥
⎢ ⎥
⎢0⎥
⎢ ⎥
⎨ Ô⇒ A = ⎢ ⎥,B = ⎢ 1 ⎥,
⎪ u ⎢0 0⎥ ⎢M ⎥
⎩x˙2 = M

⎪ ⎣ ⎦ ⎣ ⎦
⎡ ⎤ ⎡ ⎤
⎢0 0⎥ ⎢0 0⎥
and so it holds A2
=⎢⎢ ⎥ i
⎥ ...A = ⎢
⎢ ⎥ for every i greater than 2. This means that

⎢0 0⎥ ⎢0 0⎥
⎣ ⎦ ⎣ ⎦
⎡ ⎤
AT A2 T 2 ⎢1 T ⎥
⎢ ⎥ = ASD
e = I + AT + + ... + ... = I + AT = ⎢ ⎥
2! ⎢0 1 ⎥
⎣ ⎦
As to the BSD :

⎡ ⎤ ⎡ ⎤RT ⎡ ⎤ ⎡ T 2 ⎤
T
As
T ⎢1 s⎥ ⎢1 s⎥RRRR ⎢ 0 ⎥ ⎢ 2M ⎥
BDS = ∫ e Bds = ∫ ⎢ ⎥ Bds = ⎢ ⎥RR ⎢ ⎥ = ⎢ ⎥
⎢ ⎥ ⎢ ⎥RR ⎢ 1 ⎥ ⎢ T ⎥
0 0 ⎢0 1⎥ ⎢0 1⎥RR ⎢ M ⎥ ⎢ M ⎥
⎣ ⎦ ⎣ ⎦R0 ⎣ ⎦ ⎣ ⎦
The final evolution equation for this sampled-data system is then:

⎡ ⎤ ⎡ T2 ⎤
⎢1 T ⎥ ⎢ ⎥
x(k + 1) = ⎢⎢ ⎥ x(k) + ⎢ 2M ⎥ u(k)
⎥ ⎢T ⎥
⎢0 1 ⎥ ⎢M⎥
⎣ ⎦ ⎣ ⎦

4.1 STABILITY
Dynamical systems are often affected by perturbations of some nature. We call xo (t), uo (t), y o (t)
the nominal, unperturbed trajectories for the state, control input and output, while we call
xp (t), up (t), y p (t) the perturbed trajectories.

There are different scenarios as to the possible perturbation applied to the system:

• perturbation on the initial state (δx)

• perturbation on the input (δu)

4.1.1 Notion of stability to initial state perturbartions


In case we apply a perturbartion on the nominal initial state x0 , it is not sure whether we’ll
end up with a stable or unstable motion. We therefore need to define the notion of simple and
asymptotical stability in case of initial state perturbartion δx0
4.1 STABILITY 29

Definition 11 (Simple Stability). The nominal xo (t) is simple stable when a perturbartion on
the initial state is applied if

∀ > 0, ∃δ > 0 s.t. ∀∣∣δx0 ∣∣ ≤ δ ⇒ ∣∣xp (t) − xo (t)∣∣ ≤ , ∀t ≥ 0.

Definition 12 (Asymptotical Stability). The nominal xo (t) is asymptotically stable when a


perturbartion on the initial state is applied if it is simple stable and

lim ∣∣xp (t) − xo (t)∣∣ = 0


t→∞

Figure 4.2: nominal and perturbed trajectories (asympt. stable) in a 2D plane.

Definition 13 (Instability). A nominal motion is unstable when a perturbartion on the initial


state is applied if it’s not simple stable.

4.1.2 Notion of stability to input perturbartions


In case we apply a perturbartion on the nominal input variable, it is not sure whether we’ll
end up with a bounded or unbounded motion of the states/outputs. We therefore need to define
the notion of Bounded-Input-Bounded-State and Bounded-Input-Bounded-Output motions in
case of input perturbation δu(t).

Definition 14 (BIBS motion). A nominal motion is said to be BIBS if

∀ > 0, ∃δ > 0∣ ∀∣∣δu(t)∣∣ ≤ δ , ∀t ≥ 0 ⇒ ∣∣x(t) − xo (t)∣∣ ≤  ∀t ≥ 0 (4.5)


30 4. STABILITY OF DYNAMICAL SYSTEMS

Definition 15 (BIBO motion). A nominal motion is said to be BIBO if

∀ > 0, ∃δ > 0∣ ∀∣∣δu(t)∣∣ ≤ δ , ∀t ≥ 0 ⇒ ∣∣y(t) − y o (t)∣∣ ≤  ∀t ≥ 0 (4.6)

The notions of stability/boundedness of motions are summarised in the table below.

δx0 δu(t)
x(t) State Stability BIBS
⇑̸ ⇓ ⇑̸ ⇓
y(t) Output Stability BIBO

REMARK: Please note that, in general, the stability/boundedness of the output doesn’t
imply the stability/boundedness of the state! There may well be case in which we observe
a bounded output, while the internal state are diverging. However, if the state motions are
bounded/stable we can deduce that the output motions are bounded/stable as well.

REMARK: The notion of stability/boundedness is associated with the system itself and
not with the nature of the perturbartions. We’ll see this more clearly later on.

4.2 COMPACT LAGRANGE FORMULA AND STA-


BILITY
We can write the Lagrange’s Formula in the following form:

x(t) = Φ(t)x0 + Ψ(t)u[0,t) (4.7)

where


⎪ At
⎪e
⎪ (C.T. Systems)
Φ(t) = ⎨ (4.8)

⎪At (D.T. Systems)



⎪ t A(t−s)
⎪∫0 e
⎪ Bu(s)ds (C.T. Systems)
Ψ(t) = ⎨ (4.9)

⎪∑t−1 t−i−1 Bu(i) (S.D. Systems)
⎩ i=0 A

We want now to show that the stability of a motion is entirely related to the nature of the
systems (free evolution) and has nothing to do with the nature of the input (forced evolution).
In fact:
4.3 THE LYAPUNOV’S APPROACH FOR THE BOUNDING OF Φ(t) 31


⎪ o
⎪x (t) = Φ(t)x0 + Ψ(t)uo (t)[0,t)

⎨ ⇒ x(t) − xo (t) = Φ(t)δx0 (4.10)

⎩x(t) = Φ(t)(x0 + δx0 ) + Ψ(t)uo (t)[0,t)


The question we have to ask ourselves is: “∀, ∃δ such that the difference between the
perturbed state motion and the nominal state motion stays below , given the fact that the
perturbation is lower than δ ?”. So as to answer, we observe that:

∣∣x(t) − xo (t)∣∣ = ∣∣Φ(t)δx0 ∣∣ ≤ ∣∣Φ(t)∣∣ ∣∣δx0 ∣∣ ≤  (4.11)


´¸¶
must be

Thus, we conclude that

• Stability holds IFF the transition matrix is bounded, in other words IFF


∣∣Φ(t)∣∣ ≤ M ∀t ≥ 0 (δ = is a working choice) (4.12)
M
• Asymptotical stability holds IFF

∣∣Φ(t)∣∣ ≤ M ∀t ≥ 0 and lim Φ(t) = 0 (4.13)


t→∞

BOTTOM LINE

Necessary and sufficient condition so that the system is stable is that the State-Transition
Matrix

⎪ At
⎪e

Φ(t) = ⎨ is bounded. (4.14)
⎪ t
⎩A

4.3 THE LYAPUNOV’S APPROACH FOR THE BOUND-


ING OF Φ(t)
Firstly, we need to analyse the spectral properties of Φ(t) in both the continuos and discrete
time case.

CONTINUOS TIME. The transition matrix Φ(t) = eAt is a matrix in which each element
is

• A linear combination of terms in the form eλi t if: ∀λi , ai = gi and ∀i, λi ∈ R

• A linear combination of terms in the form eR(λi )t cos (I(λi )t + φ) if: ∀λi , ai = gi and
∀i, λi ∈ C
32 4. STABILITY OF DYNAMICAL SYSTEMS

2
• A linear combination of terms in the form eR(λi )t cos (I(λi )t + φ)(1+t+ t2! +...) if: ∃ i∣ gi < ai
(A is non-diagonalizable).

We can easily understand that no matter which is the case, what dominates the boundedness
of the elements in the transition matrix is the real part of the eigenvalues of A. In particolar,
we have the following theorem:

Theorem 8. A continuos-time system is simply stable IFF all the eigenvalues of its matrix A
have R(λi ) ≤ 0 and the eigenvalues with null real part are such that ai = gi .

A continuos-time system is asymptotically stable IFF all the eigenvalues of its matrix A
have R(λi ) < 0.

As to the first part of the theorem, we remark the fact that if an eigenvalue has null real part
t2
and g < a, the transition matrix will have a non-bounded term in the form cos (I(λi )t + φ) (1 + t + + ...)
2!
´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶
grows indefinitely

DISCRETE TIME. It is possible to show that the following theorem holds

Theorem 9. A discrete-time system is simply stable IFF all the eigenvalues of its matrix A
have ∣∣λi ∣∣ ≤ 1

A discrete-time system is asymptotically stable IFF all the eigenvalues of its matrix A have
∣∣λi ∣∣ < 1

4.3.1 Lyapunov’s theorem for stability


Firstly, we need to define what is a quadratic form.

Definition 16 (Quadratic form). The function V ∶ Rn → R is a Quadratic Form, if

V (x) = xT P x (4.15)

where P is n × n matrix which is called Kernel of the Quadratic Form.

REMARK: The Kernel P of a quadratic form can be always considered symmetric (P T =


P ). In fact, we can say w.l.o.g. that

P= PS + PA (4.16)
´¸¶ ´¸¶
symmetric anti-symmetric

and therefore
4.3 THE LYAPUNOV’S APPROACH FOR THE BOUNDING OF Φ(t) 33

P + PT P − PT
PS = , PA = (4.17)
2 2
So it follows:

xT P x = xT (PS + PA )x
(4.18)
= x T PS x + x T PA x
Furthermore

xT PA x = (xT PA x)T
= x T PA T x Ô⇒ xT PA x = 0 (4.19)
= −xT PA x
So xT P x = xT PS x and P is indeed symmetric.

Definition 17 (POSITIVE SEMI-DEFINITE MATRIX). P is said positive semi-definite if

∀x ∈ Rn , xT P x ≥ 0 (4.20)

Definition 18 (POSITIVE DEFINITE MATRIX). P is said positive definite if

∀x ∈ Rn ∖ {0}, xT P x > 0 (4.21)

The same definitions hold for negative (semi)definite matrices.

RESULT

If P = P T > 0 (positive definite) then

• All the λi are real and greater than 0.

• P is diagonalizable.

• All eigenvectors are mutually ortogonal

Definition 19 (LEVEL SETS of a Q.F.). The level set with value c of a quadratic form is the
set

Ωc = {x ∈ Rn ∶ xT P x = c} (4.22)

Since the eigenvectors of P are mutually orthogonal, the graphical representation of a level
set is the surface of a n-dimensional ellipsoid, as much larger as c is bigger. The eigenvectors are
the different semi-axis of this ellipsoid. Thus, the orientation of the ellipsoid entirely depends
on the eigenvectors themselves.
It holds that

c→0
c1 < c2 → Ωc1 ⊂ Ωc2 , Ωc ÐÐ→= {0} (4.23)
34 4. STABILITY OF DYNAMICAL SYSTEMS

Figure 4.3: Level set with value c in the 2D case

CONTINUOS TIME SYSTEM We consider a continuos-time system whose evolution is


described by ẋ = Ax, x(0) = x0 .
We define the quadratic form V (x) = xT P x. The set of variables such that V (x) = c is the
level set with value c. We can visualise the level sets by referring to the figure below.
If V̇ < 0 ∀x(t) ∈ Rn ∖ {0}, then we get lower and lower values for the level sets and we end
up in the origin. If V̇ = 0 the value of the level set remains constant. We show this algebrically
in what follows

d(xT (t)P x(t))


V̇ (x(t)) =
dt
d(xT P x) dx
=
dx dt
Ô⇒ V̇ (x(t)) = xT (t)[P A + AT P T ]x(t) (4.24)
= 2xT (t)P Ax(t)
= xT P Ax(t) + xT (t)P Ax(t)
= xT (t)P Ax(t) + xT (t)AT P T x(t)

We want to impose that V̇ < 0, ∀x ∈ Rn /{0}: how can we do that?

Following the definition of a negative (semi)definite matrix, we deduce that it sufficient that
P A + AT P T is negative (semi)definite. This is equal to stating that:

∃Q = QT > 0 ∶ P A + AT P T = −Q (4.25)

RESULT
4.4 LYAPUNOV’S THEOREM FOR LINEAR SYSTEMS 35

Figure 4.4: Plotting of the quadratic form (n=2) and level sets.

If there exists a matrix P = P T > 0 and a matrix Q = QT > 0 such that

P A + AT P T = −Q (4.26)

then

t→∞
x(t) ÐÐ→ 0 (4.27)

This means that the quadratic form gets smaller and smaller and that the state variables
lie on increasingly smaller level sets.

Let’s formalize these notions with an important theorem

4.4 LYAPUNOV’S THEOREM FOR LINEAR SYSTEMS

4.4.1 Continuos time systems


Theorem 10 (Lyapunov’s theorem for linear systems).

• A linear system (continuos time) is asymptotically stable IFF there exists a quadratic
function V = xT P x, P > 0 that is decreasing everywhere in Rn /{0}.
36 4. STABILITY OF DYNAMICAL SYSTEMS

• Moreover, such a V exists IFF ∃Q > 0, P > 0, solution of

P A + AT P = −Q (4.28)

• Finally, if such a solution exists, there exist infinite other solutions, one for each Q > 0

Proof. We start by proving that if there exist a quadratic form V which is decreasing every-
where, then the system described by ẋ = Ax is asymptotically stable. (The opposite implication
is intuitive)

We will exploit the notion of Lyapunov’s stability, i.e. a system is simple stable if:

∀ > 0∃δ > o ∶ ∣δx0 ∣ ≤ δ ⇒ ∣x(t) − xo (t)∣ ≤ , ∀t ≥ 0 (4.29)

In fact, for every , we can build the ball B of radius  in Rn . Let

ΩC1 ⊆ B (4.30)

the largest level set that can be found inside B . If x0 is inside the largest ball inside ΩC1
(we will call this ball Bδ ), we know by hypothesis that we won’t ever fall out of ΩC1 (V̇ is
decreasing). Since ΩC1 is inside B , we deduce that we won’t ever fall outside ball B as well.
To sum up:

∀x0 ∈ Bδ ⇒ x0 ∈ ΩC1 ⇒ x(t) ∈ B , ∀t (4.31)

This is equal to the following fact: for every ball B , if I have a quadratic form V in hand
I am able to build Ωc1 ⊆ B and find the ball Bδ such that if x0 ∈ Bδ then x(t) ∈ B , ∀t. This
proves (partially, simple stability only) the first part of the theorem.
4.4 LYAPUNOV’S THEOREM FOR LINEAR SYSTEMS 37

2) “If the system is asymptotically stable, there exists a solution P > 0 of equation P A +
AT P = −Q, Q > 0”

∞ T
CLAIM: P = ∫0 [eA s QeAs ]ds solves the equation. In fact:
∞ T T
P A + AT P = ∫ [AT eA s QeAs + eA s Q eAs A ]ds
0 ´¸¶
commutable!
T
∞ d eA s QeAs (4.32)
=∫ ds
0 ds

AT s
= [e QeAs ]
0
It holds


⎪ T


⎪eA s QeAs ∣s=0 = Q

⎪ T
⎨eA s QeAs ∣ = 0 (4.33)
⎪ s=∞


⎪ ´¸¶

⎪ a.stability

and therefore:

P A + AT P = 0 − Q = −Q (4.34)

We still need to prove that P is definite positive. Indeed, the provided solution for P is the
kernel of a quadratic form for all choices of Q:
∞ T
xT P x = xT ∫ eA s QeAs ds x
0

=∫ (eAs x)T Q(eAs x)ds
0 (4.35)

=∫ z T (s)Qz(s) ds > 0
0
´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶
>0

This concludes this part of the proof. As to the opposite proposition:

“If there exists P > 0 solution of P A + AT P = −Q, the system is asymptotically stable”
In this hypotheses we know for sure that there exists a quadratic form V = xT P x which is
decreasing in time. (This holds by definition, since to obtain the equation we derived V = xT P X
w.r.t time). This directly corresponds to the asymptotical stability.

This concludes the proof.

In the end, we have two criteria to find out if a system ẋ = Ax is (asymptotically) stable:

1. Check the eigenvalues of A: the system is asymptotically stable if the real part of each
eigenvalue is negative.
38 4. STABILITY OF DYNAMICAL SYSTEMS

2. Solve in P the equation P A + AT P = −Q, where Q is an arbitrary definite positive matrix.


n(n+1) n(n+1)
P, Q must be symmetric, so we have 2 equations in 2 variables. If the solution
is a definite positive matrix (P > 0), the system is asymptotically stable.

4.4.2 Discrete time systems


When dealing with discrete time systems, we have the following equation:

x(t + 1) = Ax(t) (4.36)

If we define the quadratic form V (x(t)) = xT P x, P > 0, then imposing that it is decreasing
in time corresponds to considering the difference between its values in consecutive instants:

∆V (x(t)) = V (x(t + 1)) − V (x(t))


= xT (t + 1)P x(t + 1) − xT (t)P x(t)
T
= (Ax(t)) P Ax(t) − xT (t)P x(t) (4.37)
= xT (t)AT P Ax(t) − xT (t)P x(t)
= xT (t)(AT P A − P )x(t)
which is a quadratic form itself. As in the case of continuos time systems, it is therefore
sufficient to impose that the kernel is negative definite (AT P A − P = −Q, Q > 0).

4.4.3 Examples
CONTINUOS TIME SYSTEM

It may seem natural to choose the energy of the system as a quadratic form to analyse the
stability. However, it is not always the case that is a good choice. We see an example of this
fact in the following problem

Mechanical system

Let’s consider an object of mass M , connected to the chassis by a spring (constant k) and
a damping element (constant b). By choosing x1 the position of the object and x2 its speed,
the equations of this systems are:



⎪ẋ1 = x2
⎪ ⎛ 0 1 ⎞
⎨ Ô⇒ A = (4.38)
⎪ ⎝− Mk − Mb ⎠
⎩M ẋ2 = −kx1 − bx2


Is the system asymptotically stable? We try to choose the energy of the system as a
quadratic form and see if it is always decreasing in time.
4.4 LYAPUNOV’S THEOREM FOR LINEAR SYSTEMS 39

M x22 kx21
ET OT = +
2 2
⎡K ⎤⎡ ⎤
⎢ 2 0 ⎥ ⎢x1 ⎥ (4.39)

= [ x1 x2 ] ⎢ ⎥⎢ ⎥
⎥⎢ ⎥
⎢ 0 M2 ⎥ ⎢x2 ⎥
⎣ ⎦⎣ ⎦
T
= x P x = V (x(t)), P > 0
We have that

V̇ (x(t)) = M x2 ẋ2 + kx1 ẋ1


= x2 (−bx2 − kx1 ) + kx1 x2
(4.40)
= −bx22 ≤0
´¸¶
positive SEMI-definite

Whenever x2 (t) = 0, we can’t say anything about the asymptotic stability of the system, i.e.
the quadratic form is NOT strictly decreasing in time. This means the total energy is NOT a
good choice as a Lyapunov’s function.

Electrical system

In this case, the energy of the system is a good choice for the Lyapunov’s function.

It holds that iC1 = C1 ẋ1 and iC2 = C2 ẋ2 . Then


40 4. STABILITY OF DYNAMICAL SYSTEMS

i1 = iC1 + iC2
x1
R1 i1 = −x1 Ð→ i1 = −
R1
x 1 − x2
x1 − i2 − x2 = 0 Ð→ i2 = (4.41)
R2
x1
iC1 = −
R1
iC2 = i2
Combining the equations, we get

⎡1 1 ⎤
⎢ ( + 1 ) R21C1 ⎥
A = ⎢⎢ C1 R11 R2 1 ⎥
⎥ (4.42)
⎢ R2 C2 − ⎥
R2 C2 ⎦

Ci x2i
The energy of the system is contained in the capacitors: ECi = 2 , so we choose as a
candidate Lyapunov’s function:

⎡ C1 ⎤
⎢2 0⎥ T

V (x(t)) = x ⎢ ⎥x (4.43)

⎢ 0 C22 ⎥
⎣ ⎦
´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶
P
By computing the derivative w.r.t. time we get:

⎡1 ⎤
⎢ R1 + R12 − R12 ⎥ T

V̇ (x(t)) = −x ⎢ ⎥x (4.44)
⎢ − R1 1 ⎥ ⎥
⎣ 2 R2 ⎦
´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶
M
If the kernel of the derivative of V is definite positive, the system is asymptotically stable.
We can use the following general result so as to understand if the matrix is definite positive
T
Sylvester’s criterion:. An Hermitian matrix M ∈ C × C (such that M = M ∗ , M ∗ being
the complex conjugate of M ) is definite positive IFF all prime minors are positive, i.e. IFF the
determinant of:

• The upper left 1 × 1 corner

• The upper left 2 × 2 corner

• ...

• The upper left n × n corner (the matrix itself)

are positive.
If the entries of M are real, M is Hermitian if it is symmetric.

We can apply the Sylvester’s criterion in our problem, since our M is symmetric. It turns out
(trivially) that M > 0, so V̇ (x(t)) is strictly decreasing in time, thus the system is asymptotically
stable.
4.4 LYAPUNOV’S THEOREM FOR LINEAR SYSTEMS 41

DISCRETE TIME SYSTEM

The survival of Pacific salmons

Salmons are known for generating newborns when they reach a certain age n. After spawn-
ing, they die.
Let’s call xi (t) the number of salmons of age i at time t, where i = 1, 2, ..., n. Let us also call
sj the percentage of salmons of age j which survive at least one more year. Let f (fertility) be
the average number of newborns generated by each salmon (at age n).

Will the salmons survive or go extinct? We need to analyse the stability of this discrete-
time system. If the system turns out to be asymptotically stable, the variables xi will go to 0
meaning that salmons will indeed go extinct.

x1 (t + 1) = s0 f xn (t)
´¹¹ ¹ ¹ ¸¹¹ ¹ ¹ ¶
number of newborns at time t

x2 (t + 1) = s1 x1 (t) (4.45)
...
xn (t + 1) = sn−1 xn−1 (t)
The matrix A for the system is then

⎡ ⎤
⎢ 0 0 ... 0 s0 f ⎥
⎢ ⎥
⎢ ⎥
⎢s1 0 ... 0 0 ⎥
A=⎢ ⎢ ⎥ (4.46)

⎢ 0 s2 ... 0 0 ⎥
⎢ ⎥
⎢ ⎥
⎢ 0 0 ... 0 sn−1 ⎥
⎣ ⎦
We have to find out if A is Hurwitz (each eigenvalue has non-negative real part). This will
be the case if we are able to find a P > 0 such that AT P A − P = −Q, Q > 0. We choose Q = I,
so we have to solve

n(n + 1)
AT P A = P − I ←Ð equations and variables (4.47)
2
The system of equations becomes:




⎪ P11 = s21 P22 + 1







⎪ P22 = s22 P33 + 1 ⎧


⎪ ⎪
⎪Pij = si sj P i + 1, j + 1, ∀1 ≤ i < j < n

⎨... and ⎨ (4.48)
⎪ ⎪
⎩Pin = s0 si f P11 + 1


⎪ ⎪



⎪ Pn−1,n−1 = s2n−1 Pnn + 1





⎪ 2
⎩Pn,n = s0 f P11 + 1

42 4. STABILITY OF DYNAMICAL SYSTEMS

It is therefore enough to find that P11 > 0 to conclude that Pjj > 0 ∀j, and that Pij = 0
solve the equations on the right. The solution is a diagonal matrix, which is positive definite
if P11 > 0 (Sylvester’s criterion combined with the observations above). Substituting the left
equations one into the other, we get

P11 = s20 s21 ...s2n−1 f 2 P11 + 1 + s21 + s21 s22 + s21 s22 s23 + ... + s21 s22 s23 ...s2n−1 f 2
´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶
positive quantity (4.49)
P11 (1 − s20 s21 ...s2n−1 f 2 ) = positive quantity
So, if s20 s21 ...s2n−1 f 2 < 1, P11 > 0 and salmons will surely go extinct!
Chapter 5

QUALITATIVE ANALYSIS OF
BEHAVIOURS

5.1 Real eigenvalues


Let’s consider, as usual, a system described by equation ẋ = Ax, x(0) = x0 . Suppose that
n = 3 and that λ1 ≠ λ2 ≠ λ3 , λi ∈ R. Also suppose that v1 , v2 , v3 are three linearly independent
eigenvectors. Suppose that x0 = vi . Since

Avi = λi vi (5.1)

we get that

x(t) = eAt x0
= eAt vi
λ2i vi t2
= (vi + λi vi t + + ...)
2! (5.2)
λ2 t2
= vi (I + λi t + i + ...)
2!
λi t
= e vi Ð→ if λi > 0, it “explodes”.
´¸¶
scalar

This means x(t) will always remain on the same line on which vi lies. By calling this line

S = {x ∈ Rn ∶ x = αvi , α ∈ R} (5.3)

we say that “S is invariant for system ẋ = Ax”, meaning that x0 ∈ S ⇒ x(t) ∈ S, ∀t. We
see that in figure 5.1

In case we consider x0 lying on the plane induced by two linearly independent eigenvectors,
say vi and vj , we obtain the invariant set

43
44 5. QUALITATIVE ANALYSIS OF BEHAVIOURS

Figure 5.1: Real eigenvalues, initial position aligned with eigenvector.

S = {x ∈ R2 ∶ x = αvi + βvj , α, β ∈ R} (5.4)


If λi and λj are both negative, then x(t) will converge to 0, being tangent to the line on
which lies the eigenvector associated with the lowest absolute value (this is because its time
constant is higher and therefore it takes more time to its associated exponential term to go to
zero).
If we excite a positive eigenvalue (meaning that x0 has a component along the line on which
the eigenvector associated with this eignevalue lies), then x(t) will diverge along its direction.
This results are shown in figure 5.2

The effect of a null eigenvalue, say λi = 0, is not to modify the value of x(t) along its
direction. We can see this fact in figure 6.3.

5.2 Complex eigenvalues


We now consider complex eingevalues, in the form λi = a + ib. As λi is an eigenvalues, also
its conjugate λi = a − ib must be an eigenvalue. The same goes for eivegenvectors: if vi = v1′ + iv2′
is eigenvector associated with λi , then vi = v1′ − iv2′ must be an eigenvector associated with λi .
That said, we make a claim:

CLAIM
5.2 Complex eigenvalues 45

Figure 5.2: Real eigenvalues, several initial positions.

Figure 5.3: Effect of a null eigenvalue, different initial positions


46 5. QUALITATIVE ANALYSIS OF BEHAVIOURS

The set:
S = {x ∈ Rn ∶ x = αv1′ + βv2′ } (5.5)
is invariant. (Show this claim as an exercise)

The next few figures(5.4,5.5,5.6) will show the qualitative behaviour of excited complex
eigenvalues. These results can be understood by combining the notions that we already have
about modes associated with complex eigenvalues (see section 3.2.1).

Figure 5.4:

As to figure 5.6, we notice that the state do not diverge if we choose x0 lying along v3 . This
is because in such case we do not excite unstable modes (associated with λ1 and λ2 = λ1 ).
More generally, we can slice Rn into three regions:

• SA , the set of possible initial states which originate asymptotically stable state motions.
It holds dim(SA ) = # of eigenvalues with negative real part.

• SS , the set of possible initial states which originate stable (non asymptotically) state
motions. It holds dim(SA ) = # of eigenvalues with null real part.

• SU , the set of possible initial states which originate unstable state motions. It holds
dim(SU ) = # of eigenvalues with positive real part.

so we can say Rn = SA ⊕ SS ⊕ SU .

Definition 20 (Hyperbolic system). A system is said to be hyperbolic if SS = {0}


5.2 Complex eigenvalues 47

Figure 5.5:

Figure 5.6:
48 5. QUALITATIVE ANALYSIS OF BEHAVIOURS

5.3 Discrete time systems


As to discrete time systems, it is possible to have oscillations even without complex eigen-
values. A negative eigenvalue, infact, always generates oscillating motions. If we take as an
example the system

x(t + 1) = −0.5x(t) (5.6)

we end up with the motion in figure 5.7, which is oscillating forwards and backwards.
(λ = −0.5 < 0).

Figure 5.7:

We show in figures 5.8, 5.9, 5.10 the behaviour with various combinations of positive/negative
real eigenvalues.
5.3 Discrete time systems 49

Figure 5.8:

Figure 5.9:
50 5. QUALITATIVE ANALYSIS OF BEHAVIOURS

Figure 5.10:
Chapter 6

REACHABILITY AND
CONTROLLABILITY

Analysing the reachability of a continuos or discrete time system with n state variables:


⎪ẋ(t)

⎨ = Ax(t) + Bu(t) (6.1)


⎪ x(t + 1)

means answering the question: “which set of states can we reach by applying an appropriate
arbitrary input u(t), if we start from x(0) = 0?” For some systems, it is possible to reach
every x ∈ Rn given an appropriate input. For other systems, this is not the case. To actually
understand which is the case, let’s consider the Lagrange’s formula:

x(t) = Φ(t) x0 + Ψ(t) ∗ u[0,t) (6.2)


´¸¶ ´¸¶ ´¸¶
eAt or At =0 by hypothesis Forced Evolution
and let’s define the set of states that can be reached at time t1 :

R+ (t1) = {x ∈ Rn ∶ x = Ψ(t) ∗ u[0,t) , for some u[0,t) ∈ Rn , ∀t ≤ t1 }. (6.3)


Quite trivially, if t1 ≤ t2 then R+ (t1 ) ⊆ R+ (t2 ) (If I choose u[t1 ,t2 ) = 0, then x(t1 ) = x(t2 ) and
x ∈ R+ (t1 ) ⇒ x ∈ R+ (t2 ) for every x ∈ R+ (t1 )).

RESULT: R+ (t1 ) is a subspace of Rn . If x1 , x2 ∈ R+ (t1 ) then

(αx1 + βx2 ) ∈ R+ (t1 ), ∀α, β ∈ R. (6.4)

Definition 21. We define the reachable set of (A, B) as

R+ = lim R+ (t1 ) (6.5)


t1 →∞

We are now ready to formulate a VERY IMPORTANT THEOREM.

51
52 6. REACHABILITY AND CONTROLLABILITY

Figure 6.1:

6.1 The Reachability Set Theorem


Theorem 11. Let A be the state matrix of a dynamic system and B its input-to-states matrix.
Let x ∈ Rn . x(0) = 0 and u ∈ Rm . We define the reachability matrix as follows:

R = [B ∣ AB ∣ A2 B ∣ ... ∣ An−1 B ] (6.6)


n×mn

By recalling that R+ = limt1 →∞ R+ (t1 ) is the reachable set of (A, B), it holds:

R+ = Im(R) (6.7)

where Im(R) = Span(R) = {x ∈ Rn ∶ x = Rv, ∀v ∈ Rmn }

Proof. For discrete time systems, it holds

t−1
x(t) = ∑ At−i−1 Bu(i)
i=0

= At−1 Bu(0) + At−2 Bu(1) + ... + ABu(t − 2) + Bu(t − 1)


⎡ ⎤
⎢u(t − 1)⎥
⎢ ⎥
⎢ ⎥
⎢u(t − 2)⎥ (6.8)
= [B ∣ AB ∣ A B ∣ ... ∣ A B ] ∗ ⎢ 2 t−1 ⎢ ⎥

⎢ ... ⎥
´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶ ⎢⎢ ⎥

Rt ⎢ u(0) ⎥
⎣ ⎦
´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹¶
ut−1
0

= Rt ∗ ut−1
0

This shows that Im Rt is the set of reachable states at time t.


6.1 The Reachability Set Theorem 53

⎡⎛ u (t − 1) ⎞⎤
⎢ 1 ⎥
⎢⎜ ⎟⎥⎥
⎢⎜
⎢⎜ ... ⎟⎥
⎟⎥

⎢⎝ ⎥
⎢ um (t − 1)⎠⎥
⎢ ⎥
⎢ ⎥
Note that Rn = R and ut−10 = ⎢ ... ⎥ . If we are able tho show that Im Rn =
⎢ ⎥
⎢ ⎥
⎢ ⎛ u1 (0) ⎞ ⎥
⎢ ⎥
⎢ ⎜ ⎥
⎢ ⎜ ... ⎟ ⎟ ⎥
⎢ ⎜ ⎟ ⎥
⎢ ⎥
⎢ ⎝um (0)⎠ ⎥
⎣ ⎦tm×1
Im Rn+1 we are done. Let’s continue the proof.
CLAIM: The set of states at a generic time t which can be reached by “playing” with the
input is given by Im Rt . Furthermore, if t2 = t1 + 1, then

⎡ ⎤
⎢Rt1 ∣
⎢ At1 B ⎥

Rt2 = ⎢ ´¸¶ ⎥
⎢ ⎥
m extra columns⎦ (6.9)

= [A AB ... At1 −1 B At1 B ]
and then it must hold that Im Rt1 ⊆ Im Rt2 . This fact leads us to the following result

RESULT:

Im R0 ⊆ Im R1 ⊆ Im R2 ⊆ Im Rn−1 ⊆ Im Rn = Im Rn+1 = .... = ... (6.10)


´¹¹ ¹ ¸¹ ¹ ¹¶ ´¹¹ ¹ ¸ ¹ ¹ ¹ ¶
=B =Im R=R+

This means that if a state of Rn can actually be reached, that state can be reached within
n sample times, or we are sure it won’t ever be reached with any control input.

To show this result algebrically, let’s recall the CAYLEY-HAMILTON theorem (theorem
2), which stated λ = A is a solution of the characteristic polynomial of matrix A, in other words

det (AI − A) = An + αn−1 An−1 + ... + α1 A + α0 I = 0 (6.11)

By post-multiplying by matrix B we also get

[An + αn−1 An−1 + ... + α1 A + α0 I]B = 0


(6.12)
⇒ An B = −αn−1 An−1 B − ... − α1 AB − α0 B
meaning that An B is a linear combination of An−1 B, An−2 B, ..., AB, B. This actually means
that

Im R = Im Rn = Im Rn+1 (6.13)
´¸¶
=[Rn ∣ An B ]

This fact concludes the proof that R+ = Im R discrete time systems.


54 6. REACHABILITY AND CONTROLLABILITY

REMARK:
Im R ⊆ Rn , dim Im R = rank (R) ≤ n (6.14)

As to continuos time systems, we get similar results as far as derivatives are concerned.
Since

ẋ = Ax + Bu, x(0) = 0 (6.15)

then
ẋ(0) = Bu(0)
⎡ ⎤
⎢u̇(0)⎥
ẍ(0) = Aẋ(0) + B u̇(0) = ABu(0) + B u̇(0) = [B ⎢
AB ] ⎢ ⎥ (6.16)

⎢u(0)⎥
⎣ ⎦
...
x (0) = ...
and by generalizing:
⎡ (i−1) ⎤
⎢u (0)⎥⎥

⎢ (i−2) ⎥
⎢u (0)⎥⎥
x(i) (0) = [B AB ... A(i−1) B ] ⎢⎢ ⎥ (6.17)
⎢ ... ⎥
´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶ ⎢⎢ ⎥

Ri ⎢ u(0) ⎥
⎣ ⎦
The derivatives of x(0) after the order n are a linear combination of the lower order ones.
We can consider the Taylor’s expansion of x(t) centered in t = 0:

ẍ(0)t2
x(t) = x(0) + ẋ(0)t + + ... + ... (6.18)
2
so x(t) ∈ Im R for very small values of t.

REMARK: If a state x of a continuos-time system belongs to R+ , then it can always be


reached in an arbitrarily small amount of time

6.2 Examples
Let’s consider a system made of tanks as in the figure. We consider as state variables xi the
volume of water in each tank. The model of the system is then


⎪ ⎡ ⎤ ⎡ ⎤


⎪ ẋ1 = u1 − kx1 ⎢−k 0 0 ⎥ ⎢1 0 ⎥ ⎡ ⎤


⎪ ⎢ ⎥ ⎢ ⎥ ⎢u1 ⎥
⎢k ⎥ ⎢ ⎥
⎨ẋ2 = kx2 1 − kx2 − u2 ⇒ A = ⎢ 2 −k 0 ⎥ B = ⎢0 −1⎥ u = ⎢⎢ ⎥⎥ (6.19)

⎪ ⎢ ⎥ ⎢ ⎥ ⎢u2 ⎥

⎪ ⎢k ⎥ ⎢ ⎥ ⎣ ⎦
⎪ kx1 ⎢2 0 −k ⎥ ⎢0 1 ⎥
⎩ẋ3 = 2 − kx3 + u2

⎪ ⎣ ⎦ ⎣ ⎦
then
6.3 How to compute the right steering input 55

Figure 6.2:

⎡ ⎤
⎢1 0 ∣ −k ∗ ∗ ∣ ∗∗ ∗∗⎥
⎢ ⎥
⎢ ⎥
R = [B ∣ AB ∣ A2 B ] = ⎢0 −1∣ k2 ∗ ∗ ∣ ∗∗ ∗∗⎥ (6.20)
⎢ ⎥
⎢ ⎥
⎢0 1 ∣ k2 ∗ ∗ ∣ ∗∗ ∗∗⎥
⎣ ⎦
´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶
only 3 linearly independent!

In this case, rank R = dim Im R = dim R+ = 3, so we can claim that it is possible to reach
any state (x1 , x2 , x3 ) in an arbitrarily small amount of time, given the right u(t).

⎡ ⎤
⎢1⎥
⎢ ⎥
⎢ ⎥
If the pump u2 wasn’t working, we would have B = ⎢0⎥ and u = u1 , so
⎢ ⎥
⎢ ⎥
⎢0⎥
⎣ ⎦
⎡ 2 ⎤ ⎡ ⎤
⎢1 −k k ⎥ ⎢1 −k ⎥
⎢ ⎥ ⎢ ⎥
⎢ ⎥ ⎢ ⎥
R = ⎢0 k2 −k 2 ⎥ ⇒ rank R = 2 ⇒ R+ = Im ⎢0 k2 ⎥ ⊂ R3 (6.21)
⎢ ⎥ ⎢ ⎥
⎢ ⎥ ⎢ ⎥
⎢0 k2 −k 2 ⎥ ⎢0 k2 ⎥
⎣ ⎦ ⎣ ⎦

6.3 How to compute the right steering input


How can I compute the input u(.) that can steer the state variables from x(0) = 0 to x?

6.3.1 Discrete-time systems


Let’s consider the simplest case, where m = 1 (u(.) ∈ R).
We know that x(t) = Rt ut−1
0 . If t ≥ n, then dim Im Rt = n and Rt is squared and invertible,
so we can compute un−1
0 = R−1 x.

If t < n, Rt is not square anymore. However we can simply choose


56 6. REACHABILITY AND CONTROLLABILITY

−1
= RtT (Rt RtT )
(t−1)
u0 x (6.22)
´¹¹ ¹ ¹ ¹ ¹¸¹ ¹ ¹ ¹ ¹ ¶
n× non singular

With this choice for u(.), it holds indeed that

−1
x(t) = Rt ut−1 T T
0 = Rt Rt ∗ (Rt Rt ) x = x (6.23)

EXAMPLE(Taxi Company)

Let u(t) be the number of taxi-cars introduced in year t in the company. Let x1 (t) the
number of cars which are exactly 1-year-old and x2 (t) the number of cars which are older than
1-year-old. Let p be the probability that a car “survives” this year and will be available next
year. The equations of the system are


⎪ ⎡ ⎤ ⎡ ⎤
⎪x1 (t + 1) = pu(t)
⎪ ⎢0 0⎥
⎢ ⎥
⎢p⎥
⎢ ⎥
⎨ ⇒A=⎢ ⎥, B = ⎢ ⎥ (6.24)
⎪ ⎢p p⎥ ⎢0⎥
⎩x2 (t + 1) = p(x1 (t) + x2 (t))

⎪ ⎣ ⎦ ⎣ ⎦
The reachability matrix is

⎡ ⎤
⎢p 0 ⎥
R=⎢ ⎢ ⎥ (6.25)

⎢ 0 p2 ⎥
⎣ ⎦
which is full rank, so the system is completely reachable. How many cars should be inserted
⎡ ⎤
⎢20⎥
in the company each year, if we want that x(2) = ⎢⎢ ⎥⎥? Since R is square and invertible, we
⎢80⎥
⎣ ⎦
can compute

⎡1 ⎤ ⎡ ⎤ ⎡ ⎤
⎢ 0 ⎥⎥ ⎢⎢20⎥⎥ ⎢⎢ 80 ⎥
p2 ⎥
u10 = R−1 x(2) = ⎢⎢ p ⎥ ∗
1 ⎥ ⎢ ⎥⎢ ⎥ = ⎢ ⎥ (6.26)
⎢0 p2 ⎦ ⎣80⎦
⎢ 20 ⎥
⎣ ⎣ p2 ⎦

6.3.2 Continuos-time systems


Let ẋ = Ax + Bu with x(0) = 0 a completely reachable system (rank(R) = n). We have that

t
x(t) = ∫ eA(t−τ ) Bu(τ )dτ (6.27)
0
Given a goal state x, which control input u[0,t) is such that x(t) = x?

Suppose for the sake of simplicity that m = 1 (only one control input variable): the idea is to
create a square matrix inside the integral, which we will prove to be invertible when integrated
between 0 and an arbitrarily small time t. The square matrix we wish to create is

T T
(eA(t−τ ) B) (eA(t−τ ) B) = eA(t−τ ) BB T eA (t−τ ) (6.28)
´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹¶ ´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹¸¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶ ´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹¶
n×m m×n n×n
6.3 How to compute the right steering input 57

so we choose

T (t−τ )
u(t) = B T eA W −1 (t)x (6.29)
t T (t−τ )
where W (t) = ∫0 [eA(t−τ ) BB T eA dτ ] is the controllability Gramian, and we obtain
that

t T (t−τ )
x(t) = ∫ [eA(t−τ ) BB T eA dτ ] W −1 (t) x=x (6.30)
0
´¹¹ ¹ ¹ ¹ ¸¹ ¹ ¹ ¹ ¹ ¶
´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹¸¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹¶ independent of τ
=W (t)

If W (t) is invertible, we have then solved the problem.

Theorem 12. The controllability Gramian is invertible ∀t ≥ 0 IFF the system (A,B) is com-
pletely reachable. Note that this also means that if the system is completely reachable, even
T (t−τ )
if the matrix eA(t−τ ) BB T eA is singular, its integral between 0 and an arbitrarily small t
will be not singular.

Proof. This proof works by contradiction. Suppose that the claim of the theorem is not true,
i.e.
det (W (t)) = 0 Ô⇒ ∃x ≠ 0 ∶ x ∈ ker W (t) ⇒ W (t)x = 0 (6.31)

So

0 = xT W (t)x
t T
=∫ xT eA(t−τ ) B B T eA (t−τ ) x dτ
0 ´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶ ´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶ (6.32)
LT =scalar L=scalar
t T (t−τ ) 2 T (t−τ )
=∫ ∣B T eA x∣ dτ ⇒ B T eA = 0, τ ∈ [0, t]
0

Since I know by hypothesis that (A,B) is completely reachable, then i can claim that it
t
exists an u(τ ) defined in [0, t) such that x = ∫0 eA(t−τ ) Bu(τ ), and thus I can write

t
xT x = xT ∫ eA(t−τ ) Bu(τ ) dτ
0
t
=∫ xT eA(t−τ ) B u(τ ) dτ
0 ´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶
scalar (6.33)
T T (t−τ )
=∫ B T eA xu(τ ) dτ
0

= 0!!! (as showed before)

Since xT x =< x, x >= x21 + x22 + ... + x2n = 0, this means that x = 0, yielding a contradiction
with respect to the fact that x ≠ 0. This shows that the starting point (det (W (t)) = 0) must
be false, hence W (t) is invertible.
58 6. REACHABILITY AND CONTROLLABILITY

6.4 PBH Test


The PBH (Popov-Belevith-Hautus) test is an alternative procedure to determine whether a
system (A,B) is completely reachable:

rank [A − λI ∣ B] = #ROW S , ∀λ Ô⇒ (A,B) is completely reachable (6.34)


´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶ ´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹¸¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶
n×(m+n) =n

We immediately observe that if λ is not an eigenvalue of matrix A, then det (A − λI) ≠ 0


and those λs can’t be critical values for the test. We therefore can express a refined version of
the test.

REFINEMENT OF THE PBH TEST:

rank [A − λI ∣ B] = #ROW S , ∀λ eigenvalue of A Ô⇒ (A,B) is completely reachable (6.35)


´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶ ´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹¸¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶
n×(m+n) =n

6.5 Controllability
The property of controllability is somewhat a dual notion of that of reachability. We are
know interested in determining those states starting from which it is possible to steer the system
variables to 0 at some time t. We call this set of states R− (t) :

R− (t1 ) = {x ∈ Rn ∶ 0 = Φ(t1 )x + Ψ(t1 )u[0,t1 ) for some u[0,t1 ) } (6.36)

Figure 6.3: Graphical representation of a controllability set.


6.5 Controllability 59

The set R− (t1 ) is called controllable set at time t1 . Similarly to the case of reachability, we
can also define:

R− = lim R− (t1 ) (6.37)


t1 →∞

It turns out that R− is a subspace of Rn :

x1 , x2 ∈ R− Ð→ αx1 + βx2 ∈ R− (6.38)

What’s the relationship between the sets R− and R+ ?


RESULT:

R+ ⊆ R− In general
(6.39)
R− = R+ If it is REVERSIBLE
REMARK: Since all continuos-time systems and sampled-data systems are reversible, their
reachability sets corresponds to their controllability sets.

REMARK: If a system is completely reachable, it must be also completely controllable


(and vice-versa)
R− = R+ (6.40)

6.5.1 Canonical controllability form


We know that we can associate a reachability matrix R with every system (A, B) with state
variables x. We have also seen that if we apply a change of variables z = T x, we end up with
a new mathematical description of the system (Ã, B̃) = (T AT −1 , T B). What happens to the
new reachability matrix? Do its properties change?

R̃ = [B̃ ÃB̃ ... Ãn−1 B̃ ]


= [T B T AT −1 T B ... T AT −1 n T B ] (6.41)

= [T B T AB ... T An−1 B ]

In the end, the first m colums of R̃ are a linear combination (through matrix T) of the firt
m colums of R and the same goes for the second/third...n-th set of m colums. We can therefore
conclude that

rank(R̃) = rank(R) (6.42)

COROLLARY: If (A, B) is completely reachable,, then (Ã, B̃) is completely reachable.

CONCLUSION
60 6. REACHABILITY AND CONTROLLABILITY

We can think of reachability and controllability of a dynamical system as being intrinsic


properties belonging to the system itself: they do not depend on the mathematical repre-
sentation of the system (namely they are independent on the choice of variables). They are
structural properties.

Theorem 13 (m = 1, single input). (A, B) is completely reachable and controllable IFF there
exists a matrix Tc such that

⎡ ⎤
⎢ 0 1 0 ... 0⎥ ⎡ ⎤
⎢ ⎥ ⎢0⎥
⎢ ⎥ ⎢ ⎥
⎢ 0 0 1 ... 0 ⎥⎥ ⎢ ⎥
⎢ ⎢0⎥
⎢ ⎥
Ac = Tc ATc = ⎢ ...
−1
⎢ ... ... ... ... ⎥⎥ Bc = Tc B = ⎢⎢ ⎥⎥ (6.43)
⎢ ⎥ ⎢...⎥
⎢ 0 0 0 ... 1 ⎥⎥ ⎢ ⎥
⎢ ⎢ ⎥
⎢ ⎥ ⎢1⎥
⎢−αn αn−1 αn−2 ... α1 ⎥⎦ ⎣ ⎦

where αi are the coefficient appearing in the expanded form of the characteristic polynomial of
A which is p(λ) = det (λI − A) = λn + α1 λn−1 + ... + αn−1 λ + αn .

We have that Tc = Rc R−1

6.6 Eigenvalues assignment


The importance of the notion of reachability of a system (A, B) becomes much clearer
whenever we are interested in modifying the behaviour of the system by means of a retroaction
of state x(t) so as to build a control law.
Let’s consider the scheme below: the states of system (A, B) are brought back, multiplied by
a costant gain K and summed to an input variable v: basically, we are building up a closed-loop
configuration with a gain on the feedback branch (see figure).
v u x
+ (A,B)
+
Kx
K

The resulting input for (A, B) is u = Kx + v . Then it holds


´¸¶
new input

ẋ = Ax + B(Kx + v) = (A + BK)x + Bv (6.44)

The system is described, on the whole, by matrices (A + BK, B): this means that thanks
to the closed-loop configuration I’m able to modify the eigenvalues of the system (namely its
behaviour) simply by working on an arbitrarily chosen costant matrix K. This naturally holds
6.6 Eigenvalues assignment 61

also for discrete time systems

The following theorem states that if the initial system (A, B) is completely reachable, than
I’m able to arbitrarily choose its new dynamics when I bring back the state variables and choose
an appropriate matrix K. It’s surprising to notice that, given the complete reachability, I’m
also able to stabilize instable systems.
Theorem 14. (A, B) is completely reachable IFF it is possible to find a constant matrix K ∗
such that

det (λI − (A + BK ∗ )) = p∗ (λ) (6.45)


for any arbitrarily chosen polynomial = p∗ (λ) = λn + α1∗ λn−1 + ... + α0∗

Proof of sufficiency. Let p∗ (λ) = λn + α1∗ λn−1 + ... + αn−1



λ + α0∗ . If we apply the change of
variables z = Tc x to the system described by equation ẋ = Ax+Bu we end up with the canonical
controllability equation

ż = Ac z + Bc u
⎡ ⎤ ⎡ ⎤
⎛⎢⎢ 0 1 0 ... 0 ⎥ ⎢0⎥ ⎞
⎥ ⎢ ⎥
⎜⎢ ⎥ ⎢ ⎥ ⎟
⎜⎢ 0 0 1 ... 0 ⎥⎥ ⎢⎢ 0 ⎥⎥ ⎟
⎜⎢
⎜⎢ ⎥ ⎢ ⎥ ⎟
⎟ (6.46)
= ⎜⎢ ...
⎜⎢ ... ... ... ... ⎥⎥ + ⎢⎢ 0 ⎥⎥ K ∗ ⎟

z + Bc v
⎜⎢ ⎥ ⎢ ⎥ ⎟
⎜⎢ 0 0 0 ... 1 ⎥⎥ ⎢⎢...⎥⎥ ⎟
⎜⎢ ⎟
⎢ ⎥ ⎢ ⎥
⎝⎢−αn −αn−1 −αn−2
⎣ ... −α1 ⎥⎦ ⎢⎣ 1 ⎥⎦ ⎠
By choosing

K ∗ = [(αn − αn∗ ) (αn−1 − αn−1



) ... (α1 − α1∗ )] (6.47)
I get

⎡ ⎤
⎢ 0 1 0 ... 0 ⎥
⎢ ⎥
⎢ ⎥
⎢ 0 0 1 ... 0 ⎥
⎢ ⎥
⎢ ⎥
ż = ⎢ ... ... ... ... ... ⎥⎥ z + Bc v (6.48)

⎢ ⎥
⎢ 0 0 0 ... 1 ⎥⎥

⎢ ∗ ⎥
⎢−αn −αn−1


−αn−2 ∗
... −α1∗ ⎥⎦
´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶
Ac +Bc K ∗
Since det (λI − (Ac + Bc K ∗ )) = p∗ (λ), I was able to assign the set of arbitrarily chosen
eigenvalues ({λ∗ ∶ p∗ (λ∗ ) = 0}) to the controlled system, by choosing a proper K ∗ . Note that
the resulting control law is:

u = K ∗ Tc x + v (6.49)
62 6. REACHABILITY AND CONTROLLABILITY

6.7 The general case: steering from x1 ≠ 0 to x2

Until now we have considered the reachability and controllability of systems starting from
a null initial condition: this assumption was made for the sake of simplicity. We want now to
address the general case in which x1 ≠ 0.

In general, thanks to the Lagrange’s formula, I can say:

x2 (t) = Φ(t)x1 + Ψ(t)u[0,t) (6.50)

If x1 ≠ 0, I can trivially say:

x2 − Φ(t)x1 = Ψ(t)u[0,t) (6.51)


´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹¶
∈R+ ?

We have therefore recast the problem into a reachability one and all the results obtained
until now continue to be valid. Note that if R+ = Rn than it always holds that x2 − Φ(t)x1 ∈ R+ .

For continuos time systems, since they are reversible, it holds R+ = R− , so if we make the
assumption that the system is completely controllable (R− = Rn ) we can compute the steering
input as
T (t−τ )
u(τ ) = B T eA W −1 (t)[x2 − Φ(t)x1 ], for τ ∈ [0, t], ∀t (6.52)

6.8 Kalman’s decomposition (controllability)

Suppose that rank(R) = nr < n, so that R∗ ⊂ Rn . Let v1 , ..., vnr be a base of R+ and
vnr +1 , ..., vn a base of R⊥+ , R⊥+ being the subspace of Rn perpendicular to R+ . Since R+ ∪ R⊥+ = Rn
and R+ ∩ R⊥+ = {0} , all the vectors vi , i = 1, ..., nr are orthogonal to every other vector
vi , i = nr + 1, ..., n.

Let’s now choose a transformation matrix

⎡v ... v ⎤
⎢ 1 nr vnr +1 ... vn ⎥
T −1
= ⎢´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹¸¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶ ´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹¸ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶⎥⎥
⎢ (6.53)
⎢ base of R+ base of R⊥+ ⎦


´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶
base of Rn

By applying the change of variables z = T x, I get that


6.9 Stabilizability 63


⎪ ⎡ ⎤

⎪ ⎢zR (t)⎥

⎪ ⎢ ⎥

⎪ x ∈ R ⇒ z(t) = ⎢
+ ⎥

⎪ ⎢ ⎥

⎪ ⎢
⎣ 0 ⎥

⎨ ⎡ ⎤ (6.54)


⎪ ⎢ 0 ⎥

⎪ ⎢ ⎥


⎪ x ∈ R+ ⊥ ⇒ z(t) = ⎢ ⎥
⎪ ⎢ ⎥

⎪ ⎢zN R (t)⎥
⎩ ⎣ ⎦
where zR (t) ∈ Rnr and 0 ∈ R r in the first case, zN R (t) ∈ RnnR and 0 ∈ Rnr in the second
n−n

one. The whole systems in the new variables becomes

⎡ ⎤
⎢ AR AJ ⎥⎥ ⎡ ⎤

⎡ ⎤ ⎢´¸¶ ´¸¶⎥ ⎡ ⎤ ⎢⎢ BR ⎥⎥
⎢ z˙R ⎥ ⎢ nr n−nr ⎥ ⎢ zR ⎥ ⎢´¸¶⎥
⎥⎢ ⎥
⎢ ⎥=⎢ ⎥u (6.55)
⎢ ⎥ ⎢ ⎥⎢ ⎥+⎢
⎢zN˙ R ⎥ ⎢ 0 A N R ⎥ ⎢zN R ⎥ ⎢⎢ nr ⎥⎥
⎣ ⎦ ⎢ ⎥⎣ ⎦ ⎢ 0 ⎥
⎢ ´¸¶⎥⎥ ⎣ ⎦
⎢ n−nr ⎦

where (AR , BR ) is completely reachable. I can therefore isolate the unreachable part of the
system. It is useful to highlight the dependencies between variables



⎪z˙R = AR zR + AJ zN R + BR u

⎨ (6.56)


⎪ z ˙ = A z
⎩ NR NR NR

This means that if I initialize the system in R+ , then zN R (t) = 0 and the system will be
described by equation z˙R = AR zR + BR u which has dimension nr (instead of n). I can forget
about the other n − nr since they will have null value forever.

REMARK: These equations point out the fact that R+ is an invariant subspace of Rn .
Indeed, if I initialize the system in R+ then zN R will be permanently 0 and z(t) ∈ R+ , ∀t.
Moreover, given this inizialition, I can control the dynamics as seen before with the eigenvalues
assignment technique (if zN R ≠ 0 then I have no control over the dynamics zN˙ R = AN R zN R ).

Note that R+ is invariant and R⊥+ isn’t: this is because even if I start with zR (0) = 0 and
zN R ≠ 0, I will end up developing components along zR as time goes on. (See equation 6.56)

6.9 Stabilizability
If (A, B) is completely reachable, then I can assign every set of eigenvalues to the closed-loop
system (A + BK, B) and I therefore can always make (A + BK) a Hurwitz matrix (eigenvalues
with negative real parts). What about the case in which dim(R+ ) < n? Under which conditions
can I find a matrix K such that (A + BK) is Hurwitz?

Lemma 1 (Stabilizability). The system (A, B) is stabilizable IFF the matrix AN R (which
appears after having applied the Kalman’s transformation) is Hurwitz
64 6. REACHABILITY AND CONTROLLABILITY

To understand why this lemma is valid, just recall equation 6.56: since I have no control
over the evolution of zN R , the only case I can find a u(t) = Kx(t) so as to steer all the variables
to 0 is when zN R evolves to 0 on its own, i.e. when AN R is Hurwitz.

6.9.1 Computation of matrix K


After having applied Kalman’s transformation to the system ẋ = Ax + B Kx I get:
´¸¶
=u
⎡ ⎤ ⎡ ⎤⎡ ⎤ ⎡ ⎤
⎢ z˙R ⎥ ⎢AR AJ ⎥ ⎢ zR ⎥ ⎢BR ⎥
⎢ ⎥=⎢ ⎥⎢ ⎥ + ⎢ ⎥u (6.57)
⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥
⎢zN˙ R ⎥ ⎢ 0 AN R ⎥ ⎢zN R ⎥ ⎢ 0 ⎥
⎣ ⎦ ⎣ ⎦⎣ ⎦ ⎣ ⎦
I choose w.l.o.g.

⎡ ⎤
⎢ zR ⎥
u = K ′ z = [KR′ KN′ R ] ⎢⎢ ⎥
⎥ (6.58)
⎢zN R ⎥
⎣ ⎦
so

⎡ ⎤ ⎡ ⎤⎡ ⎤
⎢ z˙R ⎥ ⎢AR + BR KR′ AJ + BR KN′ R ⎥ ⎢ zR ⎥
⎢ ⎥=⎢ ⎥⎢ ⎥ (6.59)
⎢ ⎥ ⎢ ⎥⎢ ⎥
⎢zN˙ R ⎥ ⎢ 0 A N R ⎥ ⎢zN R ⎥
⎣ ⎦ ⎣ ⎦⎣ ⎦
´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶
(A+BK) in the new coordinates

Since the new (A+BK) is a triangular matrix, by using the symbol σ to denote the spectrum
of a matrix (set of its eigenvalues) it holds:

⎡ ⎤
⎢AR + BR KR′ ∗ ⎥⎥

σ⎢ σ(AR + BR KR′ ) σ(AN R (6.60)
⎥= ∪

⎣ 0 AN R ⎥
⎦ ´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹¸¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹¶ ´¹¹ ¹ ¹ ¹¸¹ ¹ ¹ ¹ ¶
′ to assign these eig.
I can design KR unchangeable

so we have that u = [KR′ ∗] T x


´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹¶
=K
I’m able to assign all the reachable eigenvalues, so I must be assured that AN R is Hurwitz.
We sum up these results in the following sentence:

“When can I choose K so that (A + BK) is Hurwitz?”Ð→ When (A, B) is stabilizable, i.e.
when AN R is Hurwitz.

6.9.2 External stability


δu(t) + uo (t) x(t)
(A, B)

We consider BIBS stability, whose definition is

∀, ∃δ ∶ ∀∣∣δu(t)∣∣ ≤ δ ⇒ ∣∣x(t) − xo (t)∣∣ ≤  ∀t ≥ 0 (6.61)


6.10 Controllability of a cascade 65

RESULT

(A, B) is BIBS IFF AR is Hurwitz. This means that it is not necessary that all the matrix
is Hurwitz, but just its reachable part.

This is because

δ żR (t) = AR zR (t) + AJ zN R (t) + BR (u(t) + δu(t)) − AR zRo (t) − AJ zN R (t) − BR u(t)
(6.62)
= AR δzR (t) + BR δu(t)

and so the BIBS condition is satisfied when AR is Hurwitz.

6.10 Controllability of a cascade


Consider the following cascade of two systems:



⎪ẋ = Ax + Bu
u ⎪ y z
⎨ ż = F z + Gy

⎪y = Cx

Suppose (A, B) and (F, G) are completely reachable: is the complete cascaded system com-
pletely reachable?

Firstly, we write a compact form for the equations describing the cascaded system

⎡ ⎤ ⎡ ⎤⎡ ⎤ ⎡ ⎤
⎢ẋ⎥ ⎢ A 0 ⎥ ⎢x⎥ ⎢B ⎥
⎢ ⎥=⎢ ⎥⎢ ⎥ + ⎢ ⎥ u (6.63)
⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥
⎢ż ⎥ ⎢GC F ⎥ ⎢z ⎥ ⎢ 0 ⎥
⎣ ⎦ ⎣ ⎦⎣ ⎦ ⎣ ⎦
´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶ ´¸¶
ACa BCa

We then perform the PBH test: if rank(ACa − λI ∣ BCa ) = #ROW S for every λ ∈ σACa ,
then (ACa , BCa ) is completely reachable.

In order to do that, we need to put ACa in a more convenient form: since (F, G) is completely
reachable by hypothesis, it is possible to find a matrix TC such that

⎡ ⎤
⎢ 0 1 0 ... 0 ⎥ ⎡ ⎤
⎢ ⎥ ⎢0⎥
⎢ ⎥ ⎢ ⎥
⎢ 0 0 1 ... 0 ⎥ ⎢ ⎥
⎢ ⎥ ⎢0⎥
⎢ ⎥
Tc F Tc = Fc = ⎢ ...
−1
... ... ... ... ⎥ , Tc G = Gc = ⎢⎢ ⎥⎥ (6.64)
⎢ ⎥ ⎢...⎥
⎢ ⎥ ⎢ ⎥
⎢ 0 0 0 ... 1 ⎥ ⎢ ⎥
⎢ ⎥ ⎢1⎥
⎢ ⎥ ⎣ ⎦
⎢−αn −αn−1 ... ... −α1 ⎥
⎣ ⎦
66 6. REACHABILITY AND CONTROLLABILITY

where det(F − λI) = λn + α1 λn−1 + ... + αn .


6.10 Controllability of a cascade 67

Then, by supposing that (A, B) has a single output (and C is a row-vector as a consequence),
we get that
⎡ (A − λI) 0 B ⎤⎥

⎢ ⎥
⎢ ⎡ ⎤ ⎥
⎢⎡
⎢⎢ 0 ... 0 ⎤⎥ ⎢ −λ 1 0 ... 0 ⎥ ⎥

⎢⎢ ⎢ ⎥ ⎥
⎥ ⎢ ⎥
⎢ ⎢ 0 −λ 1 ... 0 ⎥ ⎥
rank[ACa − λI ∣ BCa ] = rank ⎢⎢⎢⎢ 0 ... 0 ⎥⎥ ⎢





⎢⎢⎢ ⎥ ⎢ ... ... ... ... ... ⎥ 0 ⎥⎥
⎢⎢ ... ... ... ⎥⎥ ⎢ ⎥
⎢⎢ ⎥ ⎢ ⎥ ⎥
⎢⎢
⎢⎢C ... C ⎥⎥ ⎢ 0 0 0 ... 1 ⎥⎥ ⎥

⎢⎣ 1 ⎢ ⎥
n⎦ ⎢ ⎥

⎣ ⎢−αn −αn−1 ... ... −α1 − λ⎥ ⎥

⎣ ⎦
⎡ (A − λI) 0 B ⎤⎥

⎢ ⎥
⎢ ⎡ ⎤ ⎥
⎢⎡
⎢⎢ 0 ... 0 ⎤⎥ ⎢ 0 1 0 ... 0 ⎥ ⎥

⎢⎢ ⎢ ⎥ ⎥
⎥ ⎢ 2 ⎥
⎢ ⎢ −λ −λ 1 ... 0 ⎥ ⎥
= rank ⎢⎢⎢⎢ 0 ... 0 ⎥⎥ ⎢





⎢⎢⎢ ⎥ ⎢ ... ... ... ... ... ⎥ 0 ⎥⎥
⎢⎢ ... ... ... ⎥⎥ ⎢ ⎥
⎢⎢ ⎥ ⎢ ⎥ ⎥
⎢⎢
⎢⎢C ... C ⎥⎥ ⎢
⎢ 0 0 0 ... 1 ⎥



⎢⎣ 1 n⎦ ⎢ ⎥ ⎥

⎣ ⎢−αn − λαn−1 −αn−1 ... ... −α1 − λ⎥ ⎥

⎣ ⎦
⎡ (A − λI) 0 B ⎤⎥

⎢ ⎥
⎢ ⎡ ⎤ ⎥

⎢ ⎢ 0 1 0 ... 0 ⎥ ⎥

⎢⎡ ⎢ ⎥ ⎥
⎢⎢ 0 ... 0 ⎤⎥ ⎢
⎢ 0 −λ 1 ... 0

⎥ ⎥
⎢⎢ ⎥ ⎢ ⎥ ⎥
⎢ ⎥
= rank ⎢⎢⎢ 0 ... 0 ⎥⎥ ⎢
⎢ −λ 3 ... ... ... ...

⎥ ⎥
⎢⎢ ⎥ ⎢ ⎥ 0 ⎥⎥
⎢⎢
⎢⎢ ... ... ... ⎥⎥ ⎢
⎢ ... ... ... ... ...

⎥ ⎥
⎢⎢ ⎥ ⎢ ⎥ ⎥
⎢⎢ ⎥
⎢⎢C1 ... Cn ⎥⎥ ⎢
⎢ 0 0 0 ... 1 ⎥⎥
⎥ ⎥
⎢⎣ ⎦ ⎢ ⎥
⎢ ⎢ ⎥ ⎥

⎣ ⎢−αn − λαn−1 − λ2 αn−2 −αn−1 ... ... −α1 − λ⎥ ⎥

⎣ ⎦
...the goal is to make the λk terms disappear
by means of linear combinations of columns...
...many steps later...
⎡ (A − λI) 0 0 B ⎤⎥

⎢ ⎡ ⎤ ⎥
⎢ ⎢1 0 0 ... 0 ⎥ ⎥
⎢ ⎡ ⎤ ⎢ ⎥ ⎥
⎢ ⎢0⎥ ⎢ ⎥ ⎥
⎢ ⎢ ⎥ ⎥
⎢ 0 ... 0 ⎢ ⎥ ⎢0
⎢ 1 0 ... 0 ⎥⎥ ⎥
⎢ ⎢ 0 ⎥ ⎢ ⎥ ⎥
⎢ ⎢ ⎥ I 0 ⎥⎥
= rank ⎢ 0 ... 0 ⎢ ⎥ = ⎢0
⎢ 0 1 ... 0 ⎥⎥
⎢ ⎢...⎥ ⎢ ⎥ ⎥
⎢ ⎢ ⎥ ⎥
⎢ ... ... ... ⎢ ⎥ ⎢...
⎢ ... ... ... ...⎥⎥ ⎥
⎢ ⎢ 0 ⎥ ⎢ ⎥ ⎥
⎢ ⎣ ⎦ ⎢0 ⎥

⎢ ⎣ 0 0 ... 1 ⎥⎦ ⎥

⎢ ⎥
⎢C1 ... Cn p(λ) = det(λI − F ) ∗ 0 ⎥⎦

...so as to get rid of the “*” terms, we linearly combine rows of the identity
and add them to the segment which contains the “*” terms...
...We then swap rows conveniently...
⎡ ⎤
⎢ A − λI B 0 0⎥
⎢ ⎥
⎢ ⎥
= rank ⎢C1 ...Cn 0 p(λ) 0⎥⎥

⎢ ⎥
⎢ 0 0 0 I ⎥⎦

(6.65)
68 6. REACHABILITY AND CONTROLLABILITY

The green rows are mutually linearly independent by construction, the same goes for the
red lines since (A, B) is completely reachable (PBH test on (A, B)). The blue row is a single
one. As to the linear independence between defferently coloured rows, there could be a loss of
rank between the red rows and the blue one when p(λ) = 0, i.e. when λ ∈ σ(F ). We therefore
need to impose the so called NON-RESONANCE CONDITION:

⎡ ⎤
⎢ A − λI B ⎥

rank ⎢ ⎥ = #ROW S, ∀λ ∈ σ(F ) (6.66)

⎢C1 ...Cn 0 ⎥
⎣ ⎦
This is the same as imposing that the zeros of the transfer function induced by (A, B, C)
are different from the poles of the transfer function induced by (F, G).
Chapter 7

Observability and Detectability

Observers are dynamical systems whose aim is to reconstruct the state x(t) of a given sys-
tem (A, B, C) (either a continuos-time or a discrete-time one) by looking at its outputs y(t).
So as to construct observers, we need some basic definitions and notions about observabil-
ity/detectability, which are specular to those given for reachability.

7.1 Non-observability
Definition 22 (Non-observability set). Given a dynamical system with state x(t), we call
non-observability set at time t1 the following set of states:

+N O (t1 ) = {x ∈ Rn ∶ CΦ(t)x = 0, ∀t ∈ [0, t1 )} (7.1)

RESULTS

• t2 ≥ t1 ⇒ N O (t1 ) ≥ N O (t2 )

• N O (t) is a subspace of Rn for all times t

Definition 23 (non-observability subspace).

+N O = lim +N O (t) (7.2)


t→∞

Theorem 15.
+N O = Ker O (7.3)
where O is called the observability matrix and is defined as follows:
⎡ ⎤
⎢ C ⎥
⎢ ⎥
⎢ ⎥
⎢ CA ⎥
⎢ ⎥
⎢ ⎥
O = ⎢ CA2 ⎥ (7.4)
⎢ ⎥
⎢ ⎥
⎢ ... ⎥
⎢ ⎥
⎢ ⎥
⎢CAn−1 ⎥
⎣ ⎦
´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹¶
pn×n

69
70 7. Observability and Detectability

Proof. DISCRETE TIME CASE ONLY

Given x(0), then y(0) = Cx(0), y(1) = Cx(1) = CAx(0).... Then, it holds

⎡ ⎤ ⎡ ⎤
⎢y(0)⎥ ⎢ C ⎥
⎢ ⎥ ⎢ ⎥
⎢ ⎥ ⎢ ⎥
⎢y(1)⎥ ⎢ CA ⎥
⎢ ⎥=⎢ ⎥ x(0) = Ot x0 (7.5)
⎢ ⎥ ⎢ ⎥
⎢ ... ⎥ ⎢ ... ⎥
⎢ ⎥ ⎢ ⎥
⎢ ⎥ ⎢ ⎥
⎢ y(t) ⎥ ⎢CAt ⎥
⎣ ⎦ ⎣ ⎦
If x(0) ∈ Ker(Ot ), then y(0) = y(1) = ... = y(t) = 0. It is possible that states belonging to
Ker(O0 ) do not belong to O1 as well: that is to say, states that do not have an effect on y(0)
could well have some effect on y(1). It therefore holds

Ker(O0 ) ⊇ Ker(O1 ) ⊇ Ker(O2 ) ⊇ ... ⊇ Ker(On−1 ) = On = On+1 ... ∀t ≥ n (7.6)

Proof of the previous fact comes from the Cayley-Hamilton theorem. This fact means in
words that “either a system is observable in n steps, or it won’t ever be observable”. Since
On = O, this also concludes the proof.

7.2 Observability
Note that for any matrix M , it holds


Ker(M ) = [Im(M T )] (7.7)

We can therefore give the following definition

Definition 24 (Observability set).

+ ⊥
+O = (+N O ) = (Ker(O) ) = Im(OT )

(7.8)

which leads to the following IMPORTANT definition:

Definition 25 (Completely observable system). The system (A, C) is called completely ob-
servable IFF
+N O = {∅} i.e. +O = Rn (7.9)

RESULT

(A, C) is completely observable IFF rank(O) = n. This means I’m able to build a recon-
structor of the state by looking at its outputs.
7.3 Observers: discrete-time case 71

7.2.1 PBH test for observability


As in the case of reachability, a PBH test of observability is available. If:

⎛λI − A⎞
rank = n ∀λ ∈ σ(A) (7.10)
⎝ C ⎠
´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹¶
np×n

then the system (A, C) is completely observable.

7.3 Observers: discrete-time case


We consider a discrete-time system



⎪x(t + 1) = Ax(t)

⎨ (7.11)

⎩y(t) = Cx(t)


How do we get x(0) by looking at y(0), y(1), ..., y(t)? We need some hypotheses:

• (A, C) is completely observable, otherwise it is generally not possible to find the observer.
⎡ ⎤
⎢ C ⎥
⎢ ⎥
⎢ ⎥
⎢ CA ⎥
This means rank ⎢⎢ ⎥ = n.

⎢ ... ⎥
⎢ ⎥
⎢ ⎥
⎢CAt ⎥
⎣ ⎦
• t ≥ n.
⎡ ⎤
⎢y(0)⎥
⎢ ⎥
⎢ ⎥
⎢y(1) ⎥
We call yt0 = ⎢⎢ ⎥ = Ot x0 . It holds that OT y 0 =
⎥ t t OtT Ot x(0) and so
⎢ ... ⎥ ´¹¹ ¸ ¹ ¶
⎢ ⎥
⎢ ⎥ n×n,not singular if full rank
⎢ y(t) ⎥
⎣ ⎦
−1
x(0) = [OtT Ot ] OtT yt0 (7.12)
The discrete observer is the entity which performs this computation on y0t .

REMARK

If the system is controlled and we know u(t), we can get rid of the forced response in the
way showed in picture 7.1
This is to say, I create a virtual twin system with variable z, described by the same matrixes
(A, B, C) but initialized at z(0) = 0. By doing this, the free response of the virtual system will
be null and as a result we isolate the forced response of the system, which can then be subtracted
to the overall response of the real system: we have hence identified the free response of the
system that can be used to compute x(0) in the way showed before.
72 7. Observability and Detectability

Figure 7.1:

7.4 Observers: continous-time case (Observability Gramian)


In case we are dealing with continuos-time systems, we can reconstruct x(0) in an arbitrarily
small amount time by means of the observability Gramian.
Since

T T
eA t C T y(t) = eA t C T CeAt x(0) (7.13)
´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹¸¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶
n×n

then, ∀T > 0

T T
T T
∫0 eA t C T y(t)dt = ∫ eA t C T CeAt dt ∗x(0) (7.14)
0
´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶
=V (T )

where V (T ) is the observability Gramian. It holds that

T T
x(0) = V (T )−1 ∫ eA t C T y(t)dt (7.15)
0

and
V (T ) is invertible ∀T > 0 ⇔ (A, C) is completely observable (7.16)

Since T can be arbitrarily small, x(0) can be reconstructed in an arbitrarily small amount
of time. A scheme representing this approach is in figure 7.2

7.4.1 Sketch of the proof


let xa be an arbitrary vector ≠ 0. Then

T T
xTa V (T )xa = ∫ xTa eA t C T CeAt xa dt
0
T
(7.17)
T
AT t AT t
=∫ (Ce xa ) (Ce xa )dt
0
7.5 Reconstructability 73

Figure 7.2:

T T
If (A, C) is completely observable, then CeA t xa ≠ 0 (whenever eA t xa ≠ 0). By taking this
in mind, let’s continue the previous computation

T
... = ∫ y(t)2 dt > 0 ∀T, ∀ xa ≠ 0 (7.18)
0
This means that V (T ) is definite positive ∀ T , and so it must also be invertible.

7.5 Reconstructability
As for the case of REACHABILITY versus CONTROLLABILITY, there exists a similar
notion to observability which may turn out to be useful. This notion is “RECONSTRUCTABIL-
ITY”
Definition 26 (Non-Reconstructability set).

−N R (t1 ) = {x ∈ Rn ∶ CΦ(t)z = 0, x = Φ(t1 )z, ∀t ∈ [0, t1 )} (7.19)

RESULT

+N O ⊇ −N R (7.20)


Moreover, if the system is reversible, then

+N O = −N R (7.21)

COROLLARY

If the system is completely observable, i.e. +N O = {0}, then it’s also completely recon-
structable, i.e. −N R = {0}.

Reconstructability is more intuitive than Observability, and for a large class of systems
(reversible systems) it’s actually the same.
74 7. Observability and Detectability

Figure 7.3: Notion of non-reconstructability

7.6 Canonical Observability Form


Is observability dependent on the chosen coordinates? Let’s find it out.
Given a standard dynamical system (A, B, C) with state variable x, choose z = T x. If the
system in the original coordinates is completely observable, then

⎡ ⎤
⎢ C ⎥
⎢ ⎥
⎢ ⎥
⎢ CA ⎥

rank(O) = rank ⎢ ⎥=n (7.22)

⎢ ... ⎥
⎢ ⎥
⎢ ⎥
⎢CAn−1 ⎥
⎣ ⎦
The system in the new coordinates is



⎪ż = T AT z
⎪ −1
⎨ (7.23)

⎩y(t) = CT z

⎪ −1

and so its Observability matrix is

⎡ ⎤ ⎡ ⎤

⎢ CT −1 ⎥ ⎢ CT −1 ⎥
⎥ ⎢ ⎥
⎢ −1 T AT −1 ⎥ ⎢ −1 ⎥
⎢ CT ⎥ ⎢ CAT ⎥
O′ = ⎢⎢ ⎥=⎢
⎥ ⎢
⎥ = OT −1
⎥ (7.24)

⎢ ... ⎥ ⎢
⎥ ⎢ ... ⎥

⎢ −1 n−1 −1 ⎥ ⎢ n−1 ⎥
⎢CT T A T ⎥ ⎢CA T ⎥ −1
⎣ ⎦ ⎣ ⎦
Since the row rank of a matrix is invariant to post-multiplication by a non singular matrix,
we have that

rank(O) = rank(O′ ) (7.25)

independently from the choice of the the transformation of coordinates ”T”. This means
that observability is a structural property of the system, not a mathematical one, and it’s not
linked to the coordinate settings.
7.7 OBSERVERS (asymptotic) 75

RESULT (p=1)

(A, C) is completely observable IFF there exists T such that

⎡ ⎤
⎢0 0 0 ... −αn ⎥
⎢ ⎥
⎢ ⎥
⎢1 0 0 ... −αn−1 ⎥⎥

⎢ ⎥
A0 = T0 AT0 = ⎢ 0
−1
1 0 ... −αn−2 ⎥⎥ , C0 = CT0−1 = [0 0 ... 1] (7.26)

⎢ ⎥
⎢... ... ... ... ... ⎥⎥

⎢ ⎥
⎢0 0 ... 1 −α1 ⎥⎦

Since O is a square matrix (p = 1) it holds:

T0 = O′ −1 O (7.27)

7.7 OBSERVERS (asymptotic)


Dynamical entities that can asymptotically track the internal state of the model by looking
at its outputs and receiving the same control input. The scheme is in figure ??. This observer
is usually called “Identity observer” or “Luenberger observer”

Figure 7.4: Setting of the asymptotic observer Σ.

With this setting, the result is that

lim x(t) − x̂(t) = 0 (7.28)


t→∞

where x̂(t) is the internal variable of the observer. The term L(y − C x̂) is called “innovation
term”, since that term is what really drives the observer to eventually track the state, by a
proper choice of L.

RESULT
76 7. Observability and Detectability

Let (A, C) be completely observable. Let l∗ (t) > 0 be an arbitrary number. Then


∃L, ∣x(t) − x̂(t)∣ ≤ e−l t ∣x(0) − x̂(0)∣ (7.29)
i.e. the state is tracked with exponential speed.

CONSTRUCTION

Let x(0) and x̂(0) be arbitrary initial states for the system and for the observer. Then





⎪ ẋ = Ax + Bu



⎨ẋˆ = (A − LC)x̂ + Bu + LCx (Identity observer) (7.30)





⎩e = x − x̂


it holds

⎡ ⎤ ⎡ ⎤⎡ ⎤
⎢ẋ⎥ ⎢I 0 ⎥ ⎢x⎥
⎢ ⎥=⎢ ⎥⎢ ⎥ (7.31)
⎢ ˙⎥ ⎢ ⎥⎢ ⎥
⎢x̂⎥ ⎢I −I ⎥ ⎢x̂⎥
⎣ ⎦ ⎣ ⎦⎣ ⎦
Then

ė = Ax + Bu − [(A − LC)x̂ + Bu + LCx] = (A − LC)e (7.32)


Since

⎡ ⎤ ⎡ ⎤⎡ ⎤ ⎡ ⎤
⎢ẋ⎥ ⎢A 0 ⎥⎥ ⎢⎢x⎥⎥ ⎢⎢B ⎥⎥
⎢ ⎥=⎢
⎢ ⎥ ⎢ ⎥⎢ ⎥ + ⎢ ⎥u (7.33)
⎢ ė ⎥ ⎢ 0 A − LC ⎥ ⎢ e ⎥ ⎢ 0 ⎥
⎣ ⎦ ⎣ ⎦⎣ ⎦ ⎣ ⎦
the two systems “state” and “error” are completely decoupled! The question now is: is it
possible to choose L so that (A − LC) is Hurwitz?

RESULT

Let p∗ (λ) = λn + α1∗ λn−1 + ... + αn∗ be an arbitrary polynomial. Then there exists a matrix L
such that det [(A − LC) − λI] = p∗ (λ) IFF (A, C) is completely observable.

⎡ ⎤
⎢0 0 ... ... −αn ⎥
⎢ ⎥
⎢ ⎥
⎢1 0 ... ... −αn−1 ⎥⎥

⎢ ⎥
A − LC = ⎢ 0 1 ... ... ... ⎥⎥ − L [0 0 ... 1]

⎢ ⎥
⎢... ... ... ... ... ⎥⎥

⎢ ⎥
⎢0 0 ... 1 −α1 ⎥⎦

⎡ ⎤ (7.34)
⎢0 0 ... ... −αn − l1 ⎥
⎢ ⎥
⎢ ⎥
⎢1 0 ... ... −αn−1 − l2 ⎥⎥

⎢ ⎥
= ⎢0 1 ... ... ... ⎥
⎢ ⎥
⎢ ⎥
⎢... ... ... ... ... ⎥
⎢ ⎥
⎢ ⎥
⎢0 0 ... 1 −α1 − ln ⎥⎦

7.8 KALMAN DECOMPOSITION (Observability) 77

By choosing l1 = αn − αn∗ ect ect I can therefore assign the eigenvalues of (A − LC) according
to p∗ (λ), which is choosed arbitrarily.
Definition 27 (DETECTABILITY). The pair (A, C) is said to be detectable if there exists L
such that
(A − LC) is Hurwitz (7.35)
Another definition of detectability comes from the Kalman decomposition for observability.

7.8 KALMAN DECOMPOSITION (Observability)


⊥ ⊥
Remember that +O = ImOT = (KerO) = (+N O ) . Suppose that dim(+O ) = nO ≥ n (O + N O =
Rn ).

Let
[v1 ... vnO ] (7.36)
be a base of+O , and
[vnO +1 ... vn ] (7.37)
be a base of +N O . Then define the transformation

T −1 = [v1 ... vnO vnO +1 ... vn ] (7.38)


Consider the dyamical system (A, B, C) with variable x and perform the change of variable

⎡ ⎤
⎢ zO ⎥
⎢ ⎥
⎢´¸¶⎥
⎢ nO ⎥
z = T x = ⎢⎢ ⎥
⎥ (7.39)
⎢ zN O ⎥
⎢ ⎥
⎢´¸¶⎥
⎢ n−nO ⎥
⎣ ⎦
so that
⎡ ⎤
⎢ 0 ⎥
p∈ +N O ⇒z=⎢ ⎢ ⎥

⎢zN O ⎥
⎣ ⎦ (7.40)
⎡ ⎤
⎢zO ⎥
p ∈ +O ⇒ z = ⎢⎢ ⎥⎥
⎢0⎥
⎣ ⎦
In the new coordinates, we get

⎡ ⎤
⎢ AOnO ×nO
−1 ⎢
{0}nO ×(n−nO ) ⎥⎥
A = T AT ⎢ ⎥
⎢AJ (n−nO )×nO AN O(n−nO )×(n−nO ) ⎥
⎣ ⎦n×n
⎡ ⎤
⎢ BO ⎥
B = T B = ⎢⎢ ⎥
⎥ (7.41)
⎢BN O ⎥
⎣ ⎦
⎡ ⎤
⎢ CO {0} ⎥
C = CT = ⎢⎢´¸¶ ´¸¶⎥⎥
−1
⎢ no ⎥
n−no ⎦

78 7. Observability and Detectability

where (Ao , Co ) is completely observable. So, we get two separate subsystems: the observable
subsystem and the unobservable subsystem, as it turns out from the equations



⎪żo = Ao zo
⎪ zo
⎨ Ð→ żN O = AN O zN O + AJ zo (7.42)

⎩y = Co zo

As we can see, the observable subsystem is independent from the unobservable one: this
means that

⎡ ⎤
⎢ 0 ⎥ zo
x(0) ∈ +N O ⎢
⇒ z(0) = ⎢ ⎥ → zNO (t) = eANO t zNO (0)
⎥ ⇒ zo (t) = 0 ∀t Ð (7.43)
⎢zN O (0)⎥
⎣ ⎦

so +NO is invariant. Conversely

⎡ ⎤ ⎧
⎪ A t
⎢zo (0)⎥
⎢ ⎥ ⇒ zN O (t) = 0 ∀t → ⎪żo (t) = e o zo (0)

x(0) ∈ o ⇒ z(0) = ⎢
+
⎥ ⎨ (7.44)
⎢ 0 ⎥ ⎪
⎪żNO (t) = AJ zo (t)

⎣ ⎦ ⎩
meaning that in this case z has a component along zN O , so +o is not invariant.

7.8.1 BACK TO THE DETECTABILITY

We had showed that (A, C) is detectable IFF I can find a matrix L such that (A − LC)
is Hurwitz. Now, we are asking ourselves: when is this the case? Let’s use the Kalman de-
composition for observability. We can bring the system in the Kalman coordinates by applying
Kalman’s transformation: if I can reconstruct z, I can reconstruct x by using the relationship
z = To x



⎧ ⎪

⎪ żo = Ao zo + Bo u

⎪ẋ = Ax + Bu
⎪ ⎪
z=To x ⎪

⎨ ÐÐÐ→ ⎨żN O = AN O zN O + AJ zo + BN O u (7.45)
⎪ ⎪
⎩y = Cx

⎪ ⎪



⎩y = Co zo

By recalling the structure of the identity (or Luenberger) observer, we can write the equa-
tions for the estimated state ẑ

⎡ ˙ ⎤ ⎡ ⎤⎡ ⎤ ⎡ ⎤ ⎡ ⎤
⎢ ẑo ⎥ ⎢ Ao 0 ⎥⎥ ⎢⎢ ẑ ⎥⎥ ⎢⎢ Bo ⎥⎥ ⎢⎢ Lo ⎥⎥
⎢ ⎥=⎢
⎢˙ ⎥ ⎢ ⎥⎢ ⎥+⎢ ⎥+⎢ ⎥ (y − C ẑ) (7.46)
⎢ẑN O ⎥ ⎢AJ AN O ⎥ ⎢zNˆO ⎥ ⎢BN O u⎥ ⎢LN O ⎥
⎣ ⎦ ⎣ ⎦⎣ ⎦ ⎣ ⎦ ⎣ ⎦
⎡ ⎤
⎢Co ⎥
Note that LN O has no role, sinze C = ⎢⎢ ⎥⎥. The estimation error dynamic is
⎢0⎥
⎣ ⎦
7.9 State-Output stability 79

⎡ ⎤ ⎡ ⎤
⎢ Ao 0 ⎥⎥ ⎢ Lo ⎥
ė = ż − dotẑ = ⎢ ⎢ ⎢ ⎥ [Co 0] e
⎥e − ⎢ ⎥
⎢AJ AN O ⎥ ⎢LN O⎥
⎣ ⎦ ⎣ ⎦
⎡ ⎤ (7.47)
⎢ Ao − Lo Co 0 ⎥⎥
= ⎢⎢ ⎥e
⎢AJ − LN O Co AN O ⎥
⎣ ⎦
´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹¶
M

As to the spectrum of matrix M , we can say

σ(M ) = σ(Ao − Lo Co ) ∪ σ(AN O ) (7.48)


´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹¶ ´¹¹ ¹ ¹ ¹ ¹ ¹¸¹ ¹ ¹ ¹ ¹ ¹ ¶
arbitrarily assignable no control over it

Since detectability is about the possibility of asymptotically tracking the internal state of
the system, we want matrix M to be Hurwitz: however, we have no control over AN O , which
then has to be Hurwitz on its own in order to have detectability.

CONCLUSION ABOUT DETECTABILITY

(A, C) is detectable IFF AN O is Hurwitz.

7.9 State-Output stability


x0 + δx y(t) ≠ yo (t)
(A, B, C)

Definition 28 (State-Output stability). The system is S.O. stable IFF

∀ ∃δ > 0∣ ∣δx∣ ≤ δ , ∣y(t) − y o (t)∣ ≤  ∀ t ≥ 0 (7.49)

It turns out that Ao is the only matrix which affects the S.O. stability, so we have the
following result

RESULT

The system is S.O. stable IFF Ao is “stable”. It’s S.O. asymptotically stable IFF Ao is
Hurwitz.

7.10 Observability of a cascade


Do it as an exercise.
80 7. Observability and Detectability

7.11 Separation principle


Let’s consider a system (A, B, C) which is completely controllable and completely observ-
able. This means that

• ∃K ∶ (A + BK) is Hurwitz (Controllability)

• ∃L ∶ (A − LC) is Hurwitz (Observability)

So as to control the system, I need to generate the dynamic feedback input, which in turns
implies the knowledge of the state (u = Kx). However, we don’t generally know the state, but
we can observe the output. The idea is to generate the input law by using the estimated state
x̂, which is in turn generated by an identity observer of the output. Let’s see if this approach
can work.

Figure 7.5: Observer+Controller: Separation Principle structure

So, by setting u = K x̂, it holds



⎪ẋ = Ax + BK x̂ = Ax + BK(x − e)

⎨ (7.50)

⎩ė = Ax + Bu − (Ax̂ + BU + LC(x − x̂)) = (A − LC)e


and so

⎡ ⎤ ⎡ ⎤⎡ ⎤
⎢ẋ⎥ ⎢A + BK −BK ⎥⎥ ⎢⎢x⎥⎥
⎢ ⎥=⎢ (7.51)
⎢ ⎥ ⎢ ⎥⎢ ⎥
⎢ ė ⎥ ⎢ 0 (A − LC)⎥⎦ ⎢⎣ e ⎥⎦
⎣ ⎦ ⎣
´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹¶
M

This means

σ(M ) = σ(A + BK) ∪ σ(A − LC) (7.52)

so I can make M Hurwitz!


7.12 Final Kalman Decomposition 81

lim (x(t), e(t)) = 0 (7.53)


t→∞

This means that the approach fully works, in the hypothesis that (A, B, C) is completely
controllable and observable.

A problem is that since the system is not completely decoupled, it holds

ẋ = (A + BK)x − BKe (7.54)

so by choosing K so that (A + BK) is really fast, we slow ẋ down because of the term in e.
A minimization of this problem is given by optimal control

7.12 Final Kalman Decomposition


We can apply the final Kalman decomposition to identify the (non-)observable/reachable
parts of a dynamical system. The transformation T brings the system (A, B, C) in the form

⎡ ⎤
⎢AR ∗ ∗ ∗ ⎥⎥

⎢ ⎥
⎢ 0 ARO 0 ∗ ⎥⎥
T AT = Ã = ⎢
−1 ⎢

⎢ 0 0 AN ∗ ⎥⎥

⎢ ⎥
⎢ 0 0 0 Ao ⎥⎦

⎡ ⎤
⎢ BR ⎥
⎢ ⎥ (7.55)
⎢ ⎥
⎢BRO ⎥
T B = B̃ = ⎢⎢ ⎥

⎢ 0 ⎥
⎢ ⎥
⎢ ⎥
⎢ 0 ⎥
⎣ ⎦
CT −1 = C̃ = [0 CR0 0 Co ]
where the following systems are completely controllable

• (AR , BR )

• (ARO , BRO )
⎡ ⎤ ⎡ ⎤
⎢AR ∗ ⎥⎥ ⎢⎢ BR ⎥⎥
• ⎢

⎥,⎢ ⎥
⎢ 0 ARO ⎥ ⎢BRO ⎥
⎣ ⎦ ⎣ ⎦
and the following systems are completely observable

• (Ao , Co )

• (A − RO, CRO )
⎡ ⎤⎡ ⎤
⎢ARO ∗ ⎥ ⎢CRO ⎥
• ⎢⎢ ⎥⎢
⎥⎢


⎢ 0 Ao ⎥ ⎢ Co ⎥
⎣ ⎦⎣ ⎦
82 7. Observability and Detectability

The matrix T −1 which brings the system in this form is

⎡ + + +⎤
⎢R ∩ N O ∣ R+ ∩ +o ∣ RN +
R ∩ N O
+
∣ RN +
R ∩ o ⎥

T = ⎢´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶
−1 ⎥ (7.56)
⎢ base of ´¹¹ ¹ ¹ ¹ ¹ ¸¹¹ ¹ ¹ ¹ ¹ ¶ ´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶ ´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹¶⎥⎥
⎣ base of base of base of ⎦

the new variable z = T x will be divided into four components

⎡ ⎤
⎢ zR ⎥
⎢ ⎥
⎢ ⎥
⎢zRO ⎥

z=⎢ ⎥ (7.57)

⎢ zN ⎥
⎢ ⎥
⎢ ⎥
⎢ zO ⎥
⎣ ⎦
and by looking at the structure of matrix à we can deduce that
⎡ ⎤
⎢ zR ⎥
⎢ ⎥
⎢ ⎥
⎢zRO ⎥
• z∈R ⇒z=⎢
+ ⎢ ⎥. So

⎢ 0 ⎥
⎢ ⎥
⎢ ⎥
⎢ 0 ⎥
⎣ ⎦
zN (0) = 0, zo (0) ⇒ the * terms give null contribution ⇒ z(t) ∈ R+ ∀ t (7.58)

Hence R+ is invariant
⎡ ⎤
⎢ zR ⎥
⎢ ⎥
⎢ ⎥
⎢zRO ⎥
• z ∈ R ∩ N O ⇒ z = ⎢
+ + ⎢ ⎥. So

⎢ zN ⎥
⎢ ⎥
⎢ ⎥
⎢ 0 ⎥
⎣ ⎦
zo (0) ⇒ the * terms give null contribution ⇒ z(t) ∈ R+ ∩ +N O ∀ t (7.59)

Hence R+ is invariant
Bibliography

83
BIBLIOGRAPHY 85

These notes were written by Luca Furieri.

You might also like