Appunti pg8 1 PDF
Appunti pg8 1 PDF
Appunti pg8 1 PDF
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.
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:
1
2 1. Mathematical tools for system theory
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
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 = 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
⎧
⎪ 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
di u(t)
• C.T. System: pi u(t) = dti
(p is a derivative)
EXAMPLE
• C.T. System: y (2) (t) + 2y(t) = 3u(2) (t) − u(1) (t) + 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:
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̇.
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.
• [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:
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:
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)
⎧
⎪
⎪ẋ = 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
⎧
⎪
⎪ż = 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
RESULT:
(A, B, C, D) ↘
T −1 T Ô⇒ SAME A.R.M.A.: (N (p), D(p))
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.
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
⎪
⎡ ⎤
⎢ 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
φA (λ) = 0
λ∗ ∣φ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
10
11
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.
This means that vi∗ belongs to the kernel of the matrix (λ∗i I − A). It holds by definition that
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
and compute
ż = 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)
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.
gi ≤ ai (2.9)
⎧
⎪ k ∗
⎪(λi I − A) wki = 0
⎪ ∗
⎨ (2.10)
⎪(λ∗i I − A)k−1 wk∗ ≠ 0
⎪
⎪
⎩ i
⎡[ ] [0] ⎤⎥
⎢ J1
⎢ ⎥
⎢ ⎥
à = T AT −1 = ⎢ ... ⎥ (2.11)
⎢ ⎥
⎢ ⎥
⎢ [0] [ Jr ⎥
]
⎣ ⎦n×n
where the [Ji ] are called Jordan blocks.
ai ×ai
⎡[ 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
⎡ ∗ ⎤
⎢λ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.
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
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
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
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:
w2∗1
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
⎡ ⎤
⎢ ∗ {∗}⎥⎥
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
⎡ ⎤
⎢
⎢ λ∗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
∗
⎡ ⎤
⎢ 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
In both cases we call x(0) = x0 . The goal is to find a function F such that
A2 A3 +∞ i
A
eA = I + A + + ... = ∑ (Taylor’s Expansion) (3.1)
2! 3! i=0 i!
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
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 ⎥
⎣ ⎦
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)
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
⎡ ⎤
⎢λ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).
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
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
⎡[ ] 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
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
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
(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
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
⎧
⎪ ⎡ ⎤ ⎡ ⎤
⎪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:
Definition 11 (Simple Stability). The nominal xo (t) is simple stable when a perturbartion on
the initial state is applied if
δ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.
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:
• 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
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
⎪
⎪
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
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
V (x) = xT P x (4.15)
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.
∀x ∈ Rn , xT P x ≥ 0 (4.20)
RESULT
• P is diagonalizable.
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
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.
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.
• 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
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:
Ω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:
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
“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.
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
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:
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
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.
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:
• ...
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
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
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
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.
CLAIM
5.2 Complex eigenvalues 45
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 .
Figure 5.5:
Figure 5.6:
48 5. QUALITATIVE ANALYSIS OF BEHAVIOURS
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:
51
52 6. REACHABILITY AND CONTROLLABILITY
Figure 6.1:
By recalling that R+ = limt1 →∞ R+ (t1 ) is the reachable set of (A, B), it holds:
R+ = Im(R) (6.7)
t−1
x(t) = ∑ At−i−1 Bu(i)
i=0
= Rt ∗ ut−1
0
⎡⎛ 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:
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
Im R = Im Rn = Im Rn+1 (6.13)
´¸¶
=[Rn ∣ An B ]
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
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.
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 ⎥
⎣ ⎦ ⎣ ⎦
−1
= RtT (Rt RtT )
(t−1)
u0 x (6.22)
´¹¹ ¹ ¹ ¹ ¹¸¹ ¹ ¹ ¹ ¹ ¶
n× non singular
−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 ⎦
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)
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
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.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) :
The set R− (t1 ) is called controllable set at time t1 . Similarly to the case of reachability, we
can also define:
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.
= [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
CONCLUSION
60 6. REACHABILITY AND CONTROLLABILITY
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 .
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
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
ż = 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
⎡ ⎤
⎢ 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
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.
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)
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.
⎡v ... v ⎤
⎢ 1 nr vnr +1 ... vn ⎥
T −1
= ⎢´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹¸¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶ ´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹¸ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶⎥⎥
⎢ (6.53)
⎢ base of R+ base of R⊥+ ⎦
⎥
⎣
´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶
base of Rn
⎧
⎪ ⎡ ⎤
⎪
⎪ ⎢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
⎡ ⎤
⎢ 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.
⎡ ⎤
⎢ 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
“When can I choose K so that (A + BK) is Hurwitz?”Ð→ When (A, B) is stabilizable, i.e.
when AN R is Hurwitz.
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)
⎧
⎪
⎪ẋ = 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
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
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:
RESULTS
• t2 ≥ t1 ⇒ N O (t1 ) ≥ N O (t2 )
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
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
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)
+ ⊥
+O = (+N O ) = (Ker(O) ) = Im(OT )
⊥
(7.8)
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
⎛λI − A⎞
rank = n ∀λ ∈ σ(A) (7.10)
⎝ C ⎠
´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹¶
np×n
⎧
⎪
⎪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:
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 )
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
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).
RESULT
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
⎡ ⎤
⎢ 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
⎡ ⎤ ⎡ ⎤
⎢
⎢ 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
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)
⎡ ⎤
⎢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)
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
⎡ ⎤ ⎡ ⎤⎡ ⎤ ⎡ ⎤
⎢ẋ⎥ ⎢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.
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
⎡ ⎤
⎢ 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)⎥
⎣ ⎦
⎡ ⎤ ⎧
⎪ 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.
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
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.
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.
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.
⎧
⎪
⎪ẋ = 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
This means that the approach fully works, in the hypothesis that (A, B, C) is completely
controllable and observable.
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
⎡ ⎤
⎢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
⎡ + + +⎤
⎢R ∩ N O ∣ R+ ∩ +o ∣ RN +
R ∩ N O
+
∣ RN +
R ∩ o ⎥
⎢
T = ⎢´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶
−1 ⎥ (7.56)
⎢ base of ´¹¹ ¹ ¹ ¹ ¹ ¸¹¹ ¹ ¹ ¹ ¹ ¶ ´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶ ´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹¶⎥⎥
⎣ base of base of base of ⎦
⎡ ⎤
⎢ 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