Fall 2001 16.31 10–1
Topic #10
16.31 Feedback Control
State-Space Systems
? What are the basic properties of a state-space model, and how do
we analyze these?
? Time Domain Interpretations
? System Modes
Copyright 2001 by Jonathan How.
Fall 2001 16.31 10–1
? Forced Solution
– Consider a scalar case:
˙x = ax + bu, x(0) given
? x(t)=e
at
x(0) +
integraldisplay
t
0
e
a(t?τ)
bu(τ)dτ
where did this come from?
1. ˙x ? ax = bu
2. e
?at
[˙x ? ax]=
d
dt
(e
?at
x(t)) = e
?at
bu(t)
3.
integraltext
t
0
d
dτ
e
?aτ
x(τ)dτ = e
?at
x(t) ? x(0) =
integraltext
t
0
e
?aτ
bu(τ)dτ
? Forced Solution – Matrix case:
˙x = Ax + Bu
where x is an n-vector and u is a m-vector
? Just follow the same steps as above to get
x(t)=e
At
x(0) +
integraldisplay
t
0
e
A(t?τ)
Bu(τ)dτ
and if y = Cx+ Du,then
y(t)=Ce
At
x(0) +
integraldisplay
t
0
Ce
A(t?τ)
Bu(τ)dτ + Du(t)
– Ce
At
x(0) is the initial response
– Ce
A(t)
B is the impulse response of the system.
Fall 2001 16.31 10–2
? Have seen the key role of e
At
in the solution for x(t)
– Determines the system time response
– But would like to get more insight!
? Consider what happens if the matrix A is diagonalizable, i.e. there exists a
T such that
T
?1
AT = Λ which is diagonal Λ =
?
?
λ
1
.
.
.
λ
n
?
?
Then
e
At
= Te
Λt
T
?1
where
e
Λt
=
?
?
e
λ
1
t
.
.
.
e
λ
n
t
?
?
? Follows since e
At
= I + At +
1
2!
(At)
2
+ ...and that A = TΛT
?1
,sowecan
show that
e
At
= I + At +
1
2!
(At)
2
+ ...
= I + TΛT
?1
t +
1
2!
(TΛT
?1
t)
2
+ ...
= Te
Λt
T
?1
? This is a simpler way to get the matrix exponential, but how find T and λ?
– Eigenvalues and Eigenvectors
Fall 2001 16.31 10–3
Eigenvalues and Eigenvectors
? Recall that the eigenvalues of A are the same as the roots of the characteristic
equation (page 9–1)
? λ is an eigenvalue of A if
det(λI ? A)=0
which is true i? there exists a nonzero v (eigenvector)forwhich
(λI ? A)v =0 ? Av = λv
? Repeat the process to find all of the eigenvectors. Assuming that the n
eigenvectors are linearly independent
Av
i
= λ
i
v
i
i =1,...,n
A
bracketleftbig
v
1
··· v
n
bracketrightbig
=
bracketleftbig
v
1
··· v
n
bracketrightbig
?
?
λ
1
.
.
.
λ
n
?
?
AT = TΛ ? T
?1
AT =Λ
? One word of caution: Not all matrices are diagonalizable
A =
bracketleftbigg
01
00
bracketrightbigg
det(sI ? A)=s
2
only one eigenvalue s = 0 (repeated twice). The eigenvectors solve
bracketleftbigg
01
00
bracketrightbiggbracketleftbigg
r
1
r
2
bracketrightbigg
=0
eigenvectors are of the form
bracketleftbigg
r
1
0
bracketrightbigg
, r
1
negationslash=0→ would only be one.
? Need the Jordan Normal Form to handle this case (section 3.7.3)
Fall 2001 16.31 10–4
Mechanics
? Consider A =
?
?
?11
?85
?
?
(sI ? A)=
?
?
s +1 ?1
8 s ? 5
?
?
det(sI ? A)=(s +1)(s? 5) + 8 = s
2
? 4s +3=0
so the eigenvalues are s
1
=1ands
2
=3
? Eigenvectors (sI ? A)v =0
(s
1
I ? A)v
1
=
?
?
s +1 ?1
8 s ? 5
?
?
s=1
bracketleftbigg
v
11
v
21
bracketrightbigg
=0
?
?
2 ?1
8 ?4
?
?
bracketleftbigg
v
11
v
21
bracketrightbigg
=0 2v
11
? v
21
=0,? v
21
=2v
11
v
11
is then arbitrary (negationslash= 0), so set v
11
=1
v
1
=
bracketleftbigg
1
2
bracketrightbigg
(s
2
I ? A)v
2
=
?
?
4 ?1
8 ?2
?
?
bracketleftbigg
v
12
v
22
bracketrightbigg
=0 4v
12
? v
22
=0,? v
22
=4v
12
v
2
=
bracketleftbigg
1
4
bracketrightbigg
? Confirm that Av
i
= λ
i
v
i
Fall 2001 16.31 10–5
Dynamic Interpretation
? Since A = TΛT
?1
,then
e
At
= Te
Λt
T
?1
=
?
?
||
v
1
··· v
n
||
?
?
?
?
e
λ
1
t
.
.
.
e
λ
n
t
?
?
?
?
? w
T
1
?
.
.
.
? w
T
n
?
?
?
where we have written
T
?1
=
?
?
? w
T
1
?
.
.
.
? w
T
n
?
?
?
which is a column of rows.
? Multiply this expression out and we get that
e
At
=
n
summationdisplay
i=1
e
λ
i
t
v
i
w
T
i
? Assume A diagonalizable, then ˙x = Ax, x(0) given, has solution
x(t)=e
At
x(0) = Te
Λt
T
?1
x(0)
=
n
summationdisplay
i=1
e
λ
i
t
v
i
{w
T
i
x(0)}
=
n
summationdisplay
i=1
e
λ
i
t
v
i
β
i
? State solution is a linear combination of the system modes v
i
e
λ
i
e
λ
i
t
– Determines the nature of the time response
v
i
– Determines extent to which each state contributes to that mode
β
i
– Determines extent to which the initial condition excites the mode
Fall 2001 16.31 10–6
? Note that the v
i
give the relative sizing of the response of each part of the
state vector to the response.
v
1
(t)=
bracketleftbigg
1
0
bracketrightbigg
e
?t
mode 1
v
2
(t)=
bracketleftbigg
0.5
0.5
bracketrightbigg
e
?3t
mode 2
? Clearly e
λ
i
t
gives the time modulation
– λ
i
real – growing/decaying exponential response
– λ
i
complex – growing/decaying exponential damped sinusoidal
? Bottom line: The locations of the eigenvalues determine the pole locations
for the system, thus:
– They determine the stability and/or performance & transient behavior
of the system.
– It is their locations that we will want to modify when we start
the control work
Fall 2001 16.31 10–7
Zeros in State Space Models
? Roots of the transfer function numerator are called the system zeros.
– Need to develop a similar way of defining/computing them using a state
space model.
? Zero: is a generalized frequency s
0
for which the system can have a non-zero
input u(t)=u
0
e
s
0
t
, but exactly zero output y(t) ≡ 0 ?t
– Note that there is a specific initial condition associated with this response
x
0
, so the state response is of the form x(t)=x
0
e
s
0
t
u(t)=u
0
e
s
0
t
? x(t)=x
0
e
s
0
t
? y(t) ≡ 0
? Given ˙x = Ax + Bu, substitute the above to get:
x
0
s
0
e
s
0
t
= Ax
0
e
s
0
t
+ Bu
0
e
s
0
t
?
bracketleftbig
s
0
I ? A ?B
bracketrightbig
bracketleftbigg
x
0
u
0
bracketrightbigg
=0
? Also have that y = Cx+ Du = 0 which gives:
Cx
0
e
s
0
t
+ Du
0
e
s
0
t
=0 →
bracketleftbig
CD
bracketrightbig
bracketleftbigg
x
0
u
0
bracketrightbigg
=0
? So we must solve for the s
0
that solves: or
bracketleftbigg
s
0
I ? A ?B
CD
bracketrightbiggbracketleftbigg
x
0
u
0
bracketrightbigg
=0
– This is a generalized eigenvalue problem that can be solved in
MATLAB
r?
using eig.m or tzero.m
2
2
MATLAB
r?
is a trademark of the Mathworks Inc.
Fall 2001 16.31 10–8
? Is a zero at the frequency s
0
if there exists a non-trivial solution of
det
bracketleftbigg
s
0
I ? A ? B
CD
bracketrightbigg
=0
– Compare with equation on page 9–1
? Key Point: Zeros have both a direction
bracketleftbigg
x
0
u
0
bracketrightbigg
and a frequency s
0
– Just as we would associate a direction (eigenvector) with each pole (fre-
quency λ
i
)
? Example: G(s)=
s+2
s
2
+7s+12
A =
?
?
?7 ?12
10
?
?
B =
bracketleftbigg
1
0
bracketrightbigg
C =
bracketleftbig
12
bracketrightbig
D =0
det
bracketleftbigg
s
0
I ? A ?B
CD
bracketrightbigg
=det
?
?
s
0
+7 12 ?1
?1 s
0
0
120
?
?
=(s
0
+ 7)(0) + 1(2) + 1(s
0
)=s
0
+2=0
so there is clearly a zero at s
0
= ?2, as we expected. For the directions,
solve:
?
?
s
0
+7 12 ?1
?1 s
0
0
120
?
?
s
0
=?2
?
?
x
01
x
02
u
0
?
?
=
?
?
512?1
?1 ?20
120
?
?
?
?
x
01
x
02
u
0
?
?
=0?
gives x
01
= ?2x
02
and u
0
=2x
02
so that with x
02
=1
x
0
=
bracketleftbigg
?2
1
bracketrightbigg
and u =2e
?2t
Fall 2001 16.31 10–9
? Further observations: apply the specified control input in the frequency
domain, so that
Y
1
(s)=G(s)U(s)
where u =2e
?2t
,sothatU(s)=
2
s+2
Y
1
(s)=
s +2
s
2
+7s +12
·
2
s +2
=
2
s
2
+7s +12
Say that s = ?2isablocking zero or a transmission zero.
? The response Y (s) is clearly non-zero, but it does not contain a component
at the input frequency s = ?2. That input has been “blocked”.
? Note that the output response left in Y
1
(s) is of a very special form – it
corresponds to the (negative of the) response you would see from the system
with u(t)=0andx
0
=
bracketleftbig
?21
bracketrightbig
T
Y
2
(s)=C(sI ? A)
?1
x
0
=
bracketleftbig
1 ?2
bracketrightbig
bracketleftbigg
s +7 12
?1 s
bracketrightbigg
?1
bracketleftbigg
?2
1
bracketrightbigg
=
bracketleftbig
1 ?2
bracketrightbig
bracketleftbigg
s ?12
1 s +7
bracketrightbiggbracketleftbigg
?2
1
bracketrightbigg
1
s
2
+7s +12
=
?2
s
2
+7s +12
? So then the total output is Y (s)=Y
1
(s)+Y
2
(s) showing that Y (s)=0→
y(t) = 0, as expected.
Fall 2001 16.31 10–10
? Summary of Zeros: Great feature of solving for zeros using the generalized
eigenvalue matrix condition is that it can be used to find MIMO zeros of
a system with multiple inputs/outputs.
det
bracketleftbigg
s
0
I ? A ? B
CD
bracketrightbigg
=0
? Need to be very careful when we find MIMO zeros that have the same fre-
quency as the poles of the system, because it is not obvious that a pole/zero
cancellation will occur (for MIMO systems).
– The zeros have a directionality associated with them, and that must
“agree” as well, or else you do not get cancellation
– More on this topic later.
? Relationship to transfer function matrix:
– If z is a zero with (right) direction [ζ
T
, ?u
T
]
T
,then
bracketleftbigg
zI ? A ? B
CD
bracketrightbiggbracketleftbigg
ζ
?u
bracketrightbigg
=0
– If z not an eigenvalue of A,thenζ =(zI ? A)
?1
B?u,whichgives
bracketleftbig
C(zI ? A)
?1
B + D
bracketrightbig
?u = G(z)?u =0
– Which implies that G(s) loses rank at s = z
– If G(s) is square, can test: det G(s)=0
– If any of the resulting roots are also eigenvalues of A, need to re-check
the generalized eigenvalue matrix condition.
Fall 2001 16.31 10–11
? Note that the transfer function matrix (TFM) notion is a MIMO general-
ization of the SISO transfer function
– It is a matrix of transfer functions
G(s)=
?
?
g
11
(s) ··· g
1m
(s)
.
.
.
g
p1
(s) ··· g
pm
(s)
?
?
– where g
ij
(s) relates the input of actuator j to the output of sensor i.
? Example:
G(s)=
?
?
?
?
?
1
s +1
0
1
s ? 2
s ? 2
s +2
?
?
?
?
?
? It is relatively easy to go from a state-space model to a TFM, but not
obvious how to go back the other way.
? Note: we have to be careful how to analyze these TFM’s.
– Just looking at the individual transfer functions is not useful.
– Need to look at the system as a whole – will develop a new tool based
on the singular values of G(s)