Function Reference    
canon

Compute canonical state-space realizations

Syntax

Description

canon computes a canonical state-space model for the continuous or discrete LTI system sys. Two types of canonical forms are supported.

Modal Form

csys = canon(sys,'type') returns a realization csys in modal form, that is, where the real eigenvalues appear on the diagonal of the matrix and the complex conjugate eigenvalues appear in 2-by-2 blocks on the diagonal of . For a system with eigenvalues , the modal matrix is of the form

Companion Form

csys = canon(sys,'type') produces a companion realization of sys where the characteristic polynomial of the system appears explicitly in the rightmost column of the matrix. For a system with characteristic polynomial

the corresponding companion matrix is

For state-space models sys,

also returns the state coordinate transformation T relating the original state vector and the canonical state vector .

This syntax returns T=[] when sys is not a state-space model.

Algorithm

Transfer functions or zero-pole-gain models are first converted to state space using ss.

The transformation to modal form uses the matrix of eigenvectors of the matrix. The modal form is then obtained as

The state transformation returned is the inverse of .

The reduction to companion form uses a state similarity transformation based on the controllability matrix [1].

Limitations

The modal transformation requires that the matrix be diagonalizable. A sufficient condition for diagonalizability is that has no repeated eigenvalues.

The companion transformation requires that the system be controllable from the first input. The companion form is often poorly conditioned for most state-space computations; avoid using it when possible.

See Also
ctrb        Controllability matrix

ctrbf       Controllability canonical form

ss2ss       State similarity transformation

References

[1] Kailath, T. Linear Systems, Prentice-Hall, 1980.


  c2d care