Canonicals

7
1 State-Space Canonical Forms For any given system, there are essentially an infinite 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 defined by (n) y + a 1 (n-1) y + ... + a n-1 ˙ y + a n y = b 0 (n) u + b 1 (n-1) u + ... + b n-1 ˙ u + b n u where u is the input, y is the output and (n) y represents the n th derivative of y with respect to time. Taking the Laplace transform of both sides we get: Y (s) ( s n + a 1 s n-1 + ... + a n-1 s + a n ) = U (s) ( b 0 s n + b 1 s n-1 + ... + b n-1 s + b n ) which yields the transfer function: Y (s) U (s) = b 0 s n + b 1 s n-1 + ... + b n-1 s + b n s n + a 1 s n-1 + ... + a n-1 s + a n (1) Given the a system having transfer function as defined in (1) above, we will define the controllable canonical and observable canonical forms. 1.1 Controllable Canonical Form The controllable canonical form arranges the coefficients of the transfer func- tion denominator across one row of the A matrix: ˙ x 1 ˙ x 2 . . . ˙ x n-1 ˙ x n = 0 1 0 ... 0 0 0 1 ... 0 . . . . . . . . . . . . . . . 0 0 0 ... 1 a n a n-1 a n-2 ... a 1 x 1 x 2 . . . x n-1 x n + 0 0 . . . 0 1 u y = b n a n b 0 b n-1 a n-1 b 0 ... b 1 a 1 b 0 x 1 x 2 . . . x n-1 x n + b 0 u 1

Transcript of Canonicals

Page 1: Canonicals

1 State-Space Canonical Forms

For any given system, there are essentially an infinite number of possible statespace models that will give the identical input/output dynamics. Thus, itis desirable to have certain standardized state space model structures: theseare the so-called canonical forms. Given a system transfer function, it ispossible to obtain each of the canonical models. And, given any particularcanonical form it is possible to transform it to another form. Consider thesystem defined by

(n)y + a1

(n−1)y + . . . + an−1y + any = b0

(n)u + b1

(n−1)u + . . . + bn−1u + bnu

where u is the input, y is the output and(n)y represents the nth derivative of

y with respect to time. Taking the Laplace transform of both sides we get:

Y (s)(

sn + a1sn−1 + . . . + an−1s + an

)

= U(s)(

b0sn + b1s

n−1 + . . . + bn−1s + bn

)

which yields the transfer function:

Y (s)

U(s)=

b0sn + b1s

n−1 + . . . + bn−1s + bn

sn + a1sn−1 + . . . + an−1s + an

(1)

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

1.1 Controllable Canonical Form

The controllable canonical form arranges the coefficients of the transfer func-tion denominator across one row of the A matrix:

x1

x2...˙xn−1

xn

=

0 1 0 . . . 00 0 1 . . . 0...

......

. . ....

0 0 0 . . . 1−an −an−1 −an−2 . . . −a1

x1

x2...

xn−1

xn

+

00...01

u

y =[

bn − anb0 bn−1 − an−1b0 . . . b1 − a1b0

]

x1

x2...

xn−1

xn

+ b0u

1

Page 2: Canonicals

The controllable canonical from is useful for the pole placement controllerdesign technique.

Example 1.1. Consider the system given by

U(s)

Y (s)=

s + 3

s2 + 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 spacemodel as follows:

[

x1

x2

]

=

[

0 1−2 −3

] [

x1

x2

]

+

[

01

]

u

y =[

3 1]

[

x1

x2

]

1.2 Observable Canonical Form

The observable canonical form is defined in terms of the transfer functioncoefficients of (1) as follows:

x1

x2...˙xn−1

xn

=

0 0 . . . 0 −an

1 0 . . . 0 −an−1...

......

...0 0 . . . 1 −a1

x1

x2...

xn−1

xn

+

bn − anb0

bn−1 − an−1b0...

b1 − a1b0

u

y =[

0 0 . . . 0 1]

x1

x2...

xn−1

xn

+ b0u

Note the relationship between the observable and controllable forms:

Aobs = ATcont

Bobs = CTcont

Cobs = BTcont

Dobs = Dcont

2

Page 3: Canonicals

Example 1.2. Given the system transfer function of example 1.1, find the

observable canonical form state space model.

Recall that by inspection, we have n = 2 (the highest exponent of s), andtherfore a1 = 3, a2 = 2, b0 = 0, b1 = 1 and b2 = 3. Thus, we can write theobservable canonical form model as follows:

[

x1

x2

]

=

[

0 −21 −3

] [

x1

x2

]

+

[

31

]

u

y =[

0 1]

[

x1

x2

]

1.3 Diagonal Canonical Form

The diagonal canonical form is a state space model in which the poles of thetransfer function are arranged diagonally in the A matrix. Given the systemtransfer function having a denominator polynomial that can be factored intodistinct (p1 6= p2 6= . . . 6= pn) roots as follows:

Y (s)

U(s)=

b0sn + b1s

n−1 + . . . + bn−1s + bn

(s + p1)(s + p2) . . . (s + pn)

The denominator polynomial can be rewritten by partial fraction expansionas follows:

b0 +c1

s + p1+

c2

s + p2+ . . . +

cn

s + pn

Then the diagonal canonical form state space model can be written as follows:

x1

x2...

xn

=

−p1 0−p2

. . .

0 −pn

x1

x2...

xn

+

11...1

u

y =[

c1 c2 . . . cn

]

x1

x2...

xn

+ b0u

Example 1.3. Given the system transfer function of example 1.1, find the

diagonal canonical form state space model.

3

Page 4: Canonicals

The transfer function of the system can be re-written with the denomi-nator factored as follows:

U(s)

Y (s)=

s + 3

s2 + 3s + 2=

s + 3

(s + 1)(s + 2)

therefore p1 = 1 and p2 = 2. Trivially, the partial fraction expansion of thedenominator gives c1 = 2 and c2 = 1 and the diagonal from model can bewritten as:

[

x1

x2

]

=

[

−1 00 −2

] [

x1

x2

]

+

[

11

]

u

y =[

2 1]

[

x1

x2

]

1.3.1 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:

A =

−p1 . . . 0−p2 . . . 0

. . .

0 −pn

eAt =

e−p1t 0e−p2t

. . .

0 e−pn

This greatly simplifies the task of computing the analytical solution to theresponse to initial conditions.

1.4 Jordan Form

The Jordan form is a type of diagonal form canonical model in which the polesof the transfer function are arranged diagonally in the A matrix. Consider thecase in which the denominator polynomial of the transfer function involvesmultiple repeated roots:

Y (s)

U(s)=

b0sn + b1s

n−1 + . . . + bn−1s + bn

(s + p1)3(s + p4)(s + p5) . . . (s + pn)

4

Page 5: Canonicals

The denominator polynomial can be rewritten by partial fraction expansionas follows:

b0 +c1

(s + p1)3+

c1

(s + p1)2+

c1

s + p1+

c2

s + p2+ . . . +

cn

s + pn

Then the Jordan canonical form state space model can be written as follows:

x1

x2

x3

x4...

xn

=

−p1 1 0 0 . . . 0

0 −p1 1...

...0 0 −p1 0 . . . 00 . . . 0 −p4 0...

.... . .

0 . . . 0 0 −pn

x1

x2

x3

x4...

xn

+

0011...1

u

y =[

c1 c2 . . . cn

]

x1

x2...

xn

+ b0u

1.5 State-Space Modeling with MATLAB

MATLAB uses the controllable canonical form by default when convertingfrom a state space model to a transfer function. Referring to the first exam-ple problem, we use MATLAB to create a transfer function model and thenconvert it to find 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 -2

1 0

B =

1

0

5

Page 6: Canonicals

C =

1 3

D =

0

Note that this does not match the result we obtained in the first exam-ple. See below for further explanation. No we create an LTI state spacemodel of the system using the matrices found above:

>> ctrb_sys = ss(A,B,C,D)

a =

x1 x2

x1 -3 -2

x2 1 0

b =

u1

x1 1

x2 0

c =

x1 x2

y1 1 3

d =

u1

y1 0

Continuous-time model.

NOTE: MATLAB uses a differing controllable canonical format to ours when

it derives the model from the transfer function. The state order is reversed

from our definition, thus they are not directly comparable.

If we use our own definition of the controllable form from Example 1.1,

6

Page 7: Canonicals

we can generate the observable and controllable models as follows:

>>A = [0 1; -2 -3]; % our controllable form

>>B = [0;1];

>>C = [3 1];

>>D = 0;

>>csys = ss(A,B,C,D); % create the controllable canonical model

>>osys = ss(A’,C’,B’,D); % create the observable canonical model

Caution should be taken when using the MATLAB canon() command, whichis a method for converting amongst the canonical forms. MATLAB producesvalid alternative canonical forms, but they are not the same as the defini-tions used in our textbook. In MATLAB the companion form is similar tothe observable canonical form, and the modal form is similar to the diagonalform. They will all produce exactly the same input to output dynamics, butthe model structures and states are different.

7