Canonical State-Space Realizations

State-space models can be realized in the following standard forms:

  • Modal Canonical Form

  • Companion Canonical Form

  • Observable Canonical Form

  • Controllable Canonical Form

Modal Canonical Form

In modal form, A is a block-diagonal matrix. The block size is typically 1-by-1 for real eigenvalues and 2-by-2 for complex eigenvalues. However, if there are repeated eigenvalues or clusters of nearby eigenvalues, the block size can be larger.

For example, for a system with eigenvalues (λ1,σ±jω,λ2), the modal A matrix is of the form

[λ10000σω00ωσ0000λ2]

Companion Canonical Form

In the companion realization, the characteristic polynomial of the system appears explicitly in the rightmost column of the A matrix. You can obtain the companion canonical form of your system by using the canon command in the following way:

csys = canon(sys,'companion')

For a system with characteristic polynomial

P(s)=sn+α1sn1++αn1s+αn

the corresponding companion A matrix is

A=[01000001000001000001αnαn1αn2αn3  α1]

The companion transformation requires that the system is controllable from the first input. The transformation to companion form is based on the controllability matrix which is almost always numerically singular for mid-range orders. Hence, avoid using it for computation when possible. The companion canonical form is that same as the observable canonical form.

Observable Canonical Form

The observable canonical form is the same as the companion canonical form where the characteristic polynomial of the system appears explicitly in the rightmost column of the A matrix. You can obtain the observable canonical form of your system by using the canon command in the following way:

csys = canon(sys,'companion')

For a system with defined by the transfer function

Q(s)P(s) = b0sn+b1sn1++bn1s+bnsn+α1sn1++αn1s+αn

the corresponding matrices are:

Ao=[01000001000001000001αnαn1αn2αn3  α1]

Bo=[   bnanb0bn1an1b0bn2an2b0             b1a1b0]

Co=[0001]

Do=b0

The observable canonical form which is the same as the companion form is poorly conditioned for most state-space computation. The transformation of the system to companion form is based on the controllability matrix which is almost always numerically singular for mid-range orders. Hence, avoid using it for computation when possible.

Controllable Canonical Form

The controllable canonical form of a system is the transpose of its observable canonical form where the characteristic polynomial of the system appears explicitly in the last row of the A matrix.

For a system with defined by the transfer function

Q(s)P(s) = b0sn+b1sn1++bn1s+bnsn+α1sn1++αn1s+αn

the corresponding matrices are:

Ac=[  0  0    0αn    1    0        0αn1    0    1        0αn2  0  0    1α1]

Bc=[0001]

Cc=[bnanb0   bn1an1b0bn2an2b0b1a1b0]

Dc=b0

The relationship between the observable and controllable canonical realizations are as follows:

Ac=AoTBc=CoTCc=BoTDc=Do

The controllable canonical form is useful for controller design using pole placement method. However, the transformation of the system to companion form is based on the controllability matrix which is almost always numerically singular for mid-range orders. Hence, avoid using the controllable form for computation when possible.

See Also