Vous êtes sur la page 1sur 6

Canonical Forms

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

Controller Canonical Form:


Change the problem to
1 X= 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

Create s4X from U and its derivatives

x''''

1 s
-b3

x'''

1 s

x''

1 s

x'

1 s

-b2 -b1 -b0

Create Y from the derivatives of X:

c3 c2 c1

Y
c0

x''''

1 s
-b3

x'''
X4

1 s

x''
X3

1 s

x'
X2

1 s

x
X1

-b2 -b1 -b0

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.

Observer Canonical Form:


If you transpose controller canonical form you get observer form:

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

The block-diagram version looks like the following:

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

Observer Canonical Form

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

Treat this as four sytems cascaded:


c0 X1 = s+p 1 U 1 X2 = s+p 2 X 1 1 X3 = s+p 3 X 2 1 X4 = s+p 4 X 3

The block diagram model looks like the following:

U c0

1 s

X1

1 s

X2

1 s

X3

1 s

X4 Y

-p1

-p2

-p3

-p4

The state-space model is:

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

a1 a2 a3 a4 Y= s+p 1 + s+p 2 + s+p 3 + s+p 4 U


Treat this as four separate systems:
c1 X1 = s+p 1 U c2 X2 = s+p 2 U c3 X3 = s+p 3 U c4 X4 = s+p 4 U

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

In state-space, this looks like:

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

Vous aimerez peut-être aussi