You are on page 1of 7

1

State-Space Canonical Forms

For any given system, there are essentially an innite number of possible state space models that will give the identical input/output dynamics. Thus, it is desirable to have certain standardized state space model structures: these are the so-called canonical forms. Given a system transfer function, it is possible to obtain each of the canonical models. And, given any particular canonical form it is possible to transform it to another form. Consider the system dened by
(n)

y + a1 y + . . . + an1 y + an y = b0 u + b1 u + . . . + bn1 u + bn u
(n)

(n1)

(n)

(n1)

where u is the input, y is the output and y represents the nth derivative of y with respect to time. Taking the Laplace transform of both sides we get: Y (s) sn + a1 sn1 + . . . + an1 s + an = U(s) b0 sn + b1 sn1 + . . . + bn1 s + bn which yields the transfer function: b0 sn + b1 sn1 + . . . + bn1 s + bn Y (s) = n U(s) s + a1 sn1 + . . . + an1 s + an (1)

Given the a system having transfer function as dened in (1) above, we will dene the controllable canonical and observable canonical forms.

1.1

Controllable Canonical Form

The controllable canonical form arranges the coecients of the transfer function denominator across one row of the A matrix: x1 0 1 0 ... 0 x1 0 x2 0 x2 0 0 1 ... 0 . . . . . . + . u .. . . . . . . = . . . . . . . . . xn1 0 0 0 . . . 1 xn1 0 xn an an1 an2 . . . a1 xn 1 x1 x2 . bn an b0 bn1 an1 b0 . . . b1 a1 b0 . + b0 u y = . xn1 xn 1

The controllable canonical from is useful for the pole placement controller design technique. Example 1.1. Consider the system given by U(s) s+3 = 2 Y (s) s + 3s + 2 Obtain a state space representation in controllable canonical form. By inspection, n = 2 (the highest exponent of s), therefore a1 = 3, a2 = 2, b0 = 0, b1 = 1 and b2 = 3. Therefore, we can simply write the state space model as follows: x1 0 1 x1 0 = + u x2 2 3 x2 1 y = 3 1 x1 x2

1.2

Observable Canonical Form

Note the relationship between the observable and controllable forms: Aobs Bobs Cobs Dobs = = = = 2 AT cont T Ccont T Bcont Dcont

The observable canonical form is dened in terms of the transfer function coecients of (1) as follows: x1 x1 0 0 . . . 0 an bn an b0 x2 1 0 . . . 0 an1 x2 bn1 an1 b0 . . . = . . . + u . . . . . . . . . . . . . . . xn1 xn1 0 0 . . . 1 a1 b1 a1 b0 xn xn x1 x2 . . + b0 u 0 0 ... 0 1 . y = xn1 xn

Example 1.2. Given the system transfer function of example 1.1, nd the observable canonical form state space model. Recall that by inspection, we have n = 2 (the highest exponent of s), and therfore a1 = 3, a2 = 2, b0 = 0, b1 = 1 and b2 = 3. Thus, we can write the observable canonical form model as follows: x1 x2 = y = 0 2 1 3 0 1 x1 x2 x1 x2 + 3 1 u

1.3

Diagonal Canonical Form

The diagonal canonical form is a state space model in which the poles of the transfer function are arranged diagonally in the A matrix. Given the system transfer function having a denominator polynomial that can be factored into distinct (p1 = p2 = . . . = pn ) roots as follows: Y (s) b0 sn + b1 sn1 + . . . + bn1 s + bn = U(s) (s + p1 )(s + p2 ) . . . (s + pn ) The denominator polynomial can be rewritten by partial fraction expansion as follows: c1 c2 cn b0 + + + ...+ s + p1 s + p2 s + pn Then the diagonal canonical form state space model can be written as follows: 1 x1 p1 0 x1 x2 x2 1 p2 . = . + . u .. . . . . . . . xn 1 xn 0 pn x1 x2 c1 c2 . . . cn . + b0 u y = . . xn Example 1.3. Given the system transfer function of example 1.1, nd the diagonal canonical form state space model. 3

The transfer function of the system can be re-written with the denominator factored as follows: s+3 s+3 U(s) = 2 = Y (s) s + 3s + 2 (s + 1)(s + 2) therefore p1 = 1 and p2 = 2. Trivially, the partial fraction expansion of the denominator gives c1 = 2 and c2 = 1 and the diagonal from model can be written as: x1 x2 = y = 1.3.1 1 0 0 2 2 1 x1 x2 x1 x2 + 1 1 u

Time Domain Solution of Diagonal Form

A useful result of the diagonal form model is that the state transition matrix (t) = eAt is easily evaluated without resorting to involved calculations: p1 ... 0 p2 . . . 0 A = .. . 0 pn ep1 t 0 ep2 t eAt = .. . 0 epn This greatly simplies the task of computing the analytical solution to the response to initial conditions.

1.4

Jordan Form

The Jordan form is a type of diagonal form canonical model in which the poles of the transfer function are arranged diagonally in the A matrix. Consider the case in which the denominator polynomial of the transfer function involves multiple repeated roots: Y (s) b0 sn + b1 sn1 + . . . + bn1 s + bn = U(s) (s + p1 )3 (s + p4 )(s + p5 ) . . . (s + pn ) 4

The denominator polynomial can be rewritten by partial fraction expansion as follows: b0 + c1 c1 c1 c2 cn + + + + ...+ 3 2 (s + p1 ) (s + p1 ) s + p1 s + p2 s + pn

Then the Jordan canonical form state space model can be written as follows: 0 ... 0 p1 1 0 x1 0 x1 . . x 0 x2 . . 2 . . 0 p1 1 x3 0 p1 0 . . . 0 x3 1 0 + u x4 = ... 0 p4 0 x4 1 0 . . . . . .. . . . . . . . . . . . xn 1 xn 0 pn 0 ... 0 x1 x2 c1 c2 . . . cn . + b0 u y = . . xn

1.5

State-Space Modeling with MATLAB

MATLAB uses the controllable canonical form by default when converting from a state space model to a transfer function. Referring to the rst example problem, we use MATLAB to create a transfer function model and then convert it to nd the state space model matrices: >>num = [1 3]; % numerator polynomial >>den = [1 3 2]; % denominator polynomial >> [A,B,C,D] = tf2ss(num,den) % Matrices of SS model A = -3 1 B = 1 0 5 -2 0

C = 1 D = 0 Note that this does not match the result we obtained in the rst example. See below for further explanation. No we create an LTI state space model of the system using the matrices found above: >> ctrb_sys = ss(A,B,C,D) a = x1 x2 b = x1 x2 c = y1 d = y1 u1 0 x1 1 x2 3 u1 1 0 x1 -3 1 x2 -2 0 3

Continuous-time model. NOTE: MATLAB uses a diering controllable canonical format to ours when it derives the model from the transfer function. The state order is reversed from our denition, thus they are not directly comparable. If we use our own denition of the controllable form from Example 1.1, 6

we can generate the observable and controllable models as follows: >>A >>B >>C >>D = = = = [0 1; -2 -3]; [0;1]; [3 1]; 0; % our controllable form

>>csys = ss(A,B,C,D); >>osys = ss(A,C,B,D);

% create the controllable canonical model % create the observable canonical model

Caution should be taken when using the MATLAB canon() command, which is a method for converting amongst the canonical forms. MATLAB produces valid alternative canonical forms, but they are not the same as the denitions used in our textbook. In MATLAB the companion form is similar to the observable canonical form, and the modal form is similar to the diagonal form. They will all produce exactly the same input to output dynamics, but the model structures and states are dierent.

You might also like