Vous êtes sur la page 1sur 7

1

State Observers
M, Sami Fadali
Professor of Electrical Engineering
University of Nevada
2
State Observers
In practice, the state variables are not all
available for measurement (impossible or
expensive).
Need estimate of the state vector for state
feedback
estimate of the state vector
3
Observer A dynamic system whose input includes
the control and the output y and whose output is
an estimate of the state vector
Open-loop Observer
obs
Fails due to modeling errors and disturbances.
Unstable for unstable plant.
State Observer/Estimator
4
Estimation Error (Open-Loop)
estimation error

At
Error Dynamics:
Unbounded error for unstable state matrix A.
Does not correct for modeling imperfections.
5
Full-Order Observer
Estimates all the state variables.
obs
obs
, L =observer gain
Choose the matrix to assign eigenvalues.
For perfect estimation, the equation reduces to the
open-loop observer.
Block Diagram of Observer
6
) ( t x
u(t)
y u x x L B A
obs
+ + =


C
y(t) x(t)
u x x B A + =

7
Theorem (Proved Earlier)
The system is observable if and only if
the dual system
1 1
is controllable.
If
1 1
is controllable then its eigenvalues
can be arbitrarily assigned (stable) using state
feedback.
1 1
1
1 1 1
1 1 1 1
same eigenvalues!
8
Procedure I
1. Check the observability (detectability) of the
system.
2. Solve the pole assignment problem for the dual
system to obtain
1
(can use MATLAB
commands acker or place). For a detectable
system, the unobservable modes must be
included in the set of eigenvalues to be assigned.
3. Transpose to obtain the observer gain matrix .
Example: Observer Design
Desired poles 9 j9
>>l=place(a',c',[-9+j*9,-9-j*9]) ' % Can use "acker"
l =
9.0000
78.0000
9 10
Observable Form
Observable forms are always observable.
Obtain observer form from controller form
by transposing and interchanging
and (similarly using phase variable form).
Easy design for observable form.
o d
11
Observer Form
n-1
1
o
1
obs o
1
obs o o o o
n-1
1
d
n-1
1
o d
n-1 n-2 0
1
Observer gain vector in terms of coefficients
vectors.
Example: Observer Form
Desired poles 9 j 9
Observer Design
o d
12
13
Calculation of the
Transformation Matrix
(i) Using the controllability matrix with replaced by
the dual
1 1
and design a controller
C C
c
-1
-1
C
c
C
-1
(later: equivalently use observability matrix of original pair)
-1
c c c c
n-1
c
1 1 1 1 n-1 1 -1
-1
n-1
-1
c
1
c
1
c
1
c
1
c
1 n-1
Observer: Bass-GuraFormula
Controller gain formula (to be used for observer)
1
d
1 -1 -1
C
c
C
-1
For observer design use the transformation
-1
c c c c
n-1
c
1 1 1 1 n-1 1 -1
Transpose the controller gain to get the
observer gain
-1
d
14
Example
>>A=[1 2 0;3 4 1;1 2 0]; C=[0 1 1];
>>pa=poly(A);
>>Ac=[-pa(2:4);eye(2),zeros(2,1)]; Bc=[1;0;0];
>>pd=poly([-10,-2+j*2,-2-j*2]);
>>pp=pd-pa;
>>lprime=pp(2:4)*ctrb(Ac,Bc)/ctrb(A',C')
>>place(A',C',[-10,-2+j*2,-2-j*2]) % sameanswer
ans =
100.3333 -54.6667 73.6667
15 16
Transformation Matrix
A system can be transformed to observable formif and
only if it is observable:
o
-1
o
Observability matrix
O
o
o
o o
o o
n-1
n-1
O
O
-1
O
o
Transpose to get the transformation of Procedure 1.
17
Direct Computation
Observable system: can transform to observable
form
o o
with
o
-1 -1 -1
o o o
True for any observable system
o
-1
o
o
O
-1
O
o d
Transpose to get the result of Procedure 1.
Recall
-1
d
-1
o
-1
n-1
-1
c
1
c
1
c
1
c
1
c
1 n-1
O
-1
O
o
Observer form is obtained from controller
form using
o c
1
o c
1
i.e. same answer as slide 17!
18
19
Example: Observer Design
Design an observer for observer poles at
Note: observable pair
>>A=[1 2 0;3 4 1;1 2 0]; C=[0 1 1];
>>rank(obsv(A,C)) % rank([C;C*A;C*A^2])
ans=
3
| | 0 1 1 0
0
1
1
0 2 1
1 4 3
0 2 1
= =
(
(
(

=
(
(
(

= D C B A
Solution
Obtain the desired characteristic polynomial.
2 3 2
d=
1
Obtain the characteristic polynomial.
3
3 2
1
Subtract to calculate the observer gain for observer
form.
o d
= 19 S2 8u
1
20
Solution
Write down the state and output matrices for observer
form
o o
Calculate the observer gain
o
O
-1
O
o d
-1
21
Ackermanns Formula
Design using the dual system.
1. Design a controller to place the eigenvalues at

d
using dual system
1 1
C=
1 n-1
1
1
and the feedback gain matrix using
1
1
C
-1
d 1
n
1 d 1
d

d
n
=1
22
Observer Gain
Transpose
1
1
C
-1
d 1
using
d 1 1 d
C
-1
C
1
-1
C
1
1 n-1
1
1
1
n-1
O
d
O
-1
d
n
n
th
column of O
-1
23
Example: Solution with Acker
Design an observer for observer poles at
Desired characteristic polynomial.
2 3 2
24
| | 0 1 1 0
0
1
1
0 2 1
1 4 3
0 2 1
= =
(
(
(

=
(
(
(

= D C B A
Solution with Acker
3 2
d
O O
-1
d
O
-1
d
n
25 26
Conclusion
Full-order observer.
Reduced-order observer (not covered).
Kalman filter (not covered).
Two options:
1. Dual system (MATLAB, place, acker).
2. Direct design.

Vous aimerez peut-être aussi