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 . In other words, if the system has state vector x, the system behavior can be described by the following state equations:
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 . State transformation yields an equivalent state-space representation of the system, with
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 or (A,E) are block-diagonal. 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 , the modal A matrix is of the form
Obtaining Modal Form
To obtain the modal form, use the modalreal
command, [msys,blks] =
modalreal(sys)
.
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
the corresponding controllable companion form has
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 csys = compreal(H,"c")
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:
In particular,
This form is sometimes known as observability canonical form [1], but it is different from observable canonical form.
Obtaining Observable Companion Form
The command csys = compreal(H,"o")
computes an observable
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 this form by setting
Form
to canonical
.
Controllable Canonical Form
For a strictly proper system with the transfer function
the controllable canonical form [2] is given by:
This form is also known as phase-variable canonical form. 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:
Thus, for the system with transfer function
the observable canonical form [2] is given by:
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
modalreal
| compreal
| ss
| ssest
(System Identification Toolbox) | n4sid
(System Identification Toolbox)