Académique Documents
Professionnel Documents
Culture Documents
Objective:
Give a block-diagram representation for a transfer function in various canonical forms Give a state-space representation for a transfer function in various canonical forms State-space is the way MATLAB and other programs represent transfer functions. One feature of state-space is there are an infinite number of ways to represent the same transfer function. Some forms have standard names these are termed 'canonical forms.' Problem: Place the following system in state-space form
a 3 s 3 +a 2 s 2 +a 1 s+a 0 Y= s 4 +b 3 s 3 +b 2 s 2 +b 1 s+b 0 U
Y = (a 3 s 3 + a 2 s 2 + a 1 s + a 0 )X
Solve for the highest derivative of X:
s 4 X = U b 3 s 3 X + b 2 s 2 X + b 1 sX + b 0 X
Integrate s4X four tiems to get X: (note: x' means
dx ) dt
x''''
1 s
x'''
1 s
x''
1 s
x'
1 s
x''''
1 s
-b3
x'''
1 s
x''
1 s
x'
1 s
c3 c2 c1
Y
c0
x''''
1 s
-b3
x'''
X4
1 s
x''
X3
1 s
x'
X2
1 s
x
X1
Controller Canonical Form State Space Form: Define a state to be the output of each integrator (shown in red above). This gives
sX 1 = X 2 sX 2 = X 3 sX 3 = X 4 sX 4 = U b 3 X 4 + b 2 X 3 + b 1 X 2 + b 0 X 1
or in matrix form:
X1 X2 X3 X4
0 1 0 0 0 0 1 0 = 0 0 0 1 b 0 b 1 b 2 b 3 X1 X2 X3 X4
X1 X2 X3 X4
0 0 0 1
Y= c0 c1 c2 c3
+ [0]U
Note that you can write this state-space model by inspection from the transfer function:
a 3 s 3 +a 2 s 2 +a 1 s+a 0 Y= s 4 +b 3 s 3 +b 2 s 2 +b 1 s+b 0 U
This is what MATLAB uses to store transfer functions since it's so easy to determine once you know the transfer function. It's also easy to convert from controller canonical form to the transfer function. This form is called 'controller form' since the input, U, can set the states at will. For example, if
u(t) = (t)
the output of the first integrator jumps to 1 at t=0+. If
d u(t) = dt ((t))
(termed a doublet), the output of the second integrator jumps to 1 at t=0+. This form also has some of the worst numerical properties. Nothing is free.
A o = (A c ) T B o = (C c ) T C o = (B c ) T
or
X1 X2 X3 X4
0 1 = 0 0
0 0 1 0
0 0 0 1
b 0 b 1 b 2 b 3 X1 X2 X3 X4
X1 X2 X3 X4
c0 c1 c2 c3
Y= 0 0 0 1
+ [0]U
sX 1 = b 0 X 4 + c 0 U
etc.
c0 1 s -b0 X1
c1 1 s -b1 X2
c2 1 s -b2 X3
c3 1 s -b3 X4 Y
The nice thing about observer canonical form is you can determine all four states by measuring the output, Y, and its derivatives.
Cascade Form:
Assume the transfer function factors as
c0 Y= (s+p 1 )(s+p 2 )(s+p 3 )(s+p 4 ) U
U c0
1 s
X1
1 s
X2
1 s
X3
1 s
X4 Y
-p1
-p2
-p3
-p4
X1 X2 X3 X4
p 1 1 0 0 0 p 1 0 2 = 0 0 p 3 1 0 0 p 4 0 X1 X2 X3 X4 + [0]U
X1 X2 X3 X4
c0 0 0 0
Y= 0 0 0 1
The nice thing about cascade form is it has very good numerical properties. You can also determine the poles of the system by inspection: they're the values on the diagonal.
Jordan Form:
Assume the transfer function can be expressed using partial fractions as
Y is then the sum of these four. In block diagram form, Jordan form looks like the following:
c1
1 s
X1
-p1 1 s Y X3 X2
c2
-p2 1 s
c3
-p3 1 s X4
c4
-p4
X1 X2 X3 X4
p 1 0 0 0 0 p 0 0 2 = 0 0 p 3 0 0 0 p 4 0 X1 X2 X3 X4 + [0]U
X1 X2 X3 X4
c1 c2 c3 c4
Y= 1 1 1 1