0% found this document useful (0 votes)
82 views4 pages

State Space Models: Observability & Controllability

The document discusses state space representation, observability, and controllability. It provides an example of transforming a transfer function to a state space model using MATLAB. The state space model is then transformed to a parallel form using eigenvector decomposition to reveal that one state is not observable and another is not controllable. Observability and controllability are also evaluated using rank tests of the observability and controllability matrices. The transfer function representation loses information about the system states compared to the state space model.

Uploaded by

Haris Baig
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
82 views4 pages

State Space Models: Observability & Controllability

The document discusses state space representation, observability, and controllability. It provides an example of transforming a transfer function to a state space model using MATLAB. The state space model is then transformed to a parallel form using eigenvector decomposition to reveal that one state is not observable and another is not controllable. Observability and controllability are also evaluated using rank tests of the observability and controllability matrices. The transfer function representation loses information about the system states compared to the state space model.

Uploaded by

Haris Baig
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

State Space Representation, Observability, Controllability .

12. State Space Representation, Observability, Controllability


Using State Models an { A, b, c, d } set exhibits a Single Input/Single Output system representation with input u ,
output y and state vector x in the State Model:
x& = Ax + bu
y = cx + du
It is well known that there is an infinitely large number of Input/Output equivalent State Models associated with a
given transfer function. MATLAB offers one possible way to get a State Model. Start our discussion with a transfer
function of
1
H ( s) =
s + s +1
2

and transform it to a State Model:


» num=1;
» den=[1 1 1];
» [A,b,c,d]=tf2ss(num,den) % transform to state model
» [num1,den1]=ss2tf(A,b,c,d) % just to check, transfer back to transfer function form
To verify the equivalence plot the step responses of the two Input/Output equivalent representations:
» step(num,den);
» step(A,b,c,d);
A different representation can be generated by a coordinate transformation in the state-space. The state variables in
the new coordinate-system can be calculated by a linear transformation (called similarity transformation). In details,
assuming P as a non-singular quadratic transformation matrix and x as the state variable in the new (transformed)
system the similarity transformation can be summarized in the following set of equations:
x& = Ax + bu
y = cx + du
where
x = Px => x = P -1 x
A = PAP -1 , b = Pb, c = cP −1 , d = d
−1
Note that if P is a matrix constructed by the eigenvectors of A as its column vectors, the new form becomes a
diagonal form (also called as parallel realization).

Example:
» A=[-1 –0.5 0.5; 2 –3 0; 2 –1 –2]
» b=[2;3;1]
» c=[0 0 1]
» d=0
» H=ss(A,b,c,d)
Calculate the eigenvectors (V) and eigenvalues (ev).
» [V,ev]=eig(A)
Transfer the system to diagonal form by the eigenvectors of the system. The inverse of the transformation matrix is V.
» Pi=V; P=inv(V)
» Ap=P*a*Pi
» bp=P*b
» cp=c*Pi
» dp=d
Verify that V is diagonal.
The same calculation can be done easier by
» [Ap,bp,cp,dp]=ss2ss(A,b,c,d,inv(V))

1
State Space Representation, Observability, Controllability .

or just leaving the transformation matrix hidden:


» [Ap,bp,cp,dp]=canon(A,b,c,d,’modal’)
 x&1   −1 0 0   x1   1.73 
 x&  =  0 −3 0  ⋅  x  +  0  ⋅ u
 2    2  
 x&3   0 0 −2   x3   −2.23
 x1 
y = [ 0.57 −0.707 0] ⋅  x2  + 0 ⋅ u
 
 x3 
Draw the block diagram of the system. This is a parallel representation of the system. Notice that the gain by
b1 ⋅ c1 = 1.73 ⋅ 0.57 = 1 . It is clear that any b1 ⋅ c1 = 1 gives identical I/O equivalent state-space representations.
x&1 x1
1.73
∫ 0.57

-1

u x&2 x2 y
∫ -0.707

-3

x&3 x3
-2.23

-2

The above parallel structure allows us to directly read the observability and controllability conditions. Namely x3 is
not observable and x2 is not controllable.
The observability and controllability of the system can be determined without converting a system to a diagonal
representation. The controllability matrix of the system is Co = b Ab ... An −1 b  and can be obtained by
» Co=ctrb(a,b)
or using an LTI structure:
» Co =ctrb(H)
Then controllability can be judged by checking if Co has full rank:
» rank(Co)
The system is controllable if the rank of the controllability matrix is equal to the number of state variables (n). In our
case the system is not controllable since rank (Co ) = 2 < n .
 c 
 cA 
The observability matrix of a system is Ob =  
 ... 
 n −1 
 cA 
by MATLAB:
» Ob=obsv(A,c)
» Ob =obsv(H)
» rank(Ob)

2
State Space Representation, Observability, Controllability .

The system is observable if the rank of the observability matrix is equal to n. The system is not observable since
rank (Ob ) = 2 < n .
The output controllability matrix of the system is coy = c * Co . The system is output controllable if the rank (coy )
equals to the number of outputs.
» rank(c*Co)
Calculate the transfer function of the system:
» [num,den]=ss2tf(A,b,c,d)
Calculate the transfer function in zero-pole form.:
» Hzpk=zpk(H)
Observe, that two zeros cancel two poles:
» Hzpk=minreal(Hzpk)
Information on system states is lost in the transfer function form. The fact of zero-pole cancellation explains why
controllability and/or observability are lost..
The parallel representation can be created by partial fraction expansion, too:
» [num,den]=tfdata (H,’v’)
» [r,p,k]=residue(num,den)
0 0 1
H ( s) = + +
s + 3 s + 2 s +1
1
Remark: it is seen that the transfer function describes only a subsystem of the complete system represented by
s +1
the State Model. This particular subsystem, however, is controllable and observable.

3
4

You might also like