Main Content

State-Space Realizations

A state-space realization is an implementation of a given input-output behavior. If a system is modeled by a transfer matrix H(s), then a realization is a set of matrices A, B, C, D such that H(s)=C(sIA)1B+D. In other words, if the system has state vector x, the system behavior can be described by the state equations

x˙=Ax+Buy=Cx+Du.

There are an infinite number of possible realizations of any system. A minimal realization is any realization in which A has the smallest possible dimension. That is, a given realization A, B, C, D is minimal if there is no other realization A', B', C', D' where A' has smaller dimensions than A.

A state transformation is a rotation of the state vector by an invertible matrix T such that x^=Tx. State transformation yields an equivalent state-space representation of the system, with

A^=TAT1B^=TBC^=CT1D^=D.

Certain minimal realizations known as canonical forms can be useful for some types of dynamic-system theory and analysis. This topic summarizes some of these canonical forms and related transformations.

Modal Form

Modal form is a diagonalized form that separates the system eigenvalues. 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 instance, for a system with eigenvalues (λ1,σ±jω,λ2), the modal A matrix is of the form

Am=[λ10000σω00ωσ0000λ2].

Obtaining Modal Form

Modal form is the default form returned by the canon command, Hmod = canon(H).

When performing system identification using ssest (System Identification Toolbox), obtain modal form by setting Form to modal.

Controllable Companion Form

In companion realizations, the characteristic polynomial of the system appears explicitly in the A matrix. For a SISO system with characteristic polynomial

P(s)=sn+αn1sn1+αn2sn2++α1s+α0,

the corresponding controllable companion form has

Accom=[01000001000001000001α0α1α2α3  αn1],Bccom=[100].

For multi-input systems, Accom has the same form, and the first column of Bccom is as shown. This form does not impose a particular structure on the rest of Bccom or on Cccom and Dccom.

Obtaining Controllable Companion Form

The command canon(H,"companion") computes a controllable companion-form realization of H by using the state transformation T = ctrb(H.A,H.B) to put the A matrix into companion form.

When performing system identification using commands such as ssest (System Identification Toolbox) or n4sid (System Identification Toolbox), obtain companion form by setting Form to companion.

The companion transformation requires that the system be 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.

Observable Companion Form

A related form is obtained using the observability state transformation T = obsv(H.A,H.B) instead of T = ctrb(H.A,H.B). This form is the dual (transpose) of controllable companion form, as follows:

Aocom=AccomTBocom=CccomTCocom=BccomTDocom=DccomT.

In particular,

Aocom=[0000α01000α10100α20010α30001αn1],Cocom=[100].

This form is sometimes known as observability canonical form [1], but it is different from observable canonical form.

Obtaining Observable Companion Form

When performing system identification using commands such as ssest (System Identification Toolbox) or n4sid (System Identification Toolbox), obtain this form by setting Form to canonical.

When using the canon command, you can obtain observable companion form from the controllable companion form by performing the transpositions yourself. For example, for a state-space (ss) model H:

Hccom = canon(H,"companion");
Hocom = ss;
Hocom.A = Hccom.A';
Hocom.B = Hccom.C';
Hocom.C = Hccom.B';
Hocom.D = Hccom.D';

Controllable Canonical Form

For a strictly proper system with the transfer function

H(s)=βn1sn1++β1s+β0sn+αn1sn1++α1s+α0+d0,

the controllable canonical form [2] is given by:

Acont=[0000α01000α10100α20010α30001αn1],Bcont=[0001],Ccont=[β0β1βn1],Dcont=d0.

In this form, the coefficients of the characteristic polynomial appear in the last row of Acont. Controllable canonical form is a minimal realization in which all model states are controllable. Like companion form and observable canonical form, it can be ill-conditioned for computation.

Obtaining Controllable Canonical Form

There is no MATLAB® command for directly computing controllable canonical form. However, if you can obtain the system in the transfer-function form H(s), then you can use the coefficients ɑ0,…,ɑn–1, β0,…,βn–1, and d0 to construct the controllable canonical-form matrices in MATLAB. Then, create the system with the ss command..

Observable Canonical Form

The observable canonical form of a system is the dual (transpose) of its controllable canonical form. In this form, the characteristic polynomial of the system appears explicitly in the last column of the A matrix. Observable canonical form can be obtained from the controllable canonical form as follows:

Aobs=AcontTBobs=CcontTCobs=BcontTDobs=DcontT.

Thus, for the system with transfer function

H(s)=βn1sn1++β1s+β0sn+αn1sn1++α1s+α0+d0,

the observable canonical form [2] is given by:

Aobs=[01000001000001000001α0α1α2α3  αn1],Bobs=[β0β1β2βn1],Cobs=[0001],Dobs=d0.

Like the companion form, in this form, the coefficients of the characteristic polynomial appear in the last column of Aobs. Observable canonical form is a minimal realization in which all model states are observable.

Obtaining Observable Canonical Form

As with controllable canonical form, there is no MATLAB command for directly computing observable canonical form. However, if you can obtain the system in the transfer-function form H(s), then you can use the coefficients ɑ0,…,ɑn–1, β0,…,βn–1, and d0 to construct the observable canonical-form matrices in MATLAB. Then, create the system with the ss command.

References

[1] Baillieul, John, "Observability Canonical Form and the Theory of Observers," lecture notes, November 15, 2012, accessed June 10, 2022, https://people.bu.edu/johnb/501Lecture19.pdf.

[2] Gillis, James T., "State Space." In Control System Fundamentals., edited by William S. Levine, 2d ed. The Electrical Engineering Handbook Series. Boca Raton: CRC Press, 2011.

See Also

| | (System Identification Toolbox) | (System Identification Toolbox)

Related Topics