Note: This page has been translated by MathWorks. Click here to see

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Gramian-based input/output balancing of state-space realizations

`[`

* sysb*,

`g`

`sys`

[

`sysb`

`g`

`T`

`Ti`

`sys`

[___] = balreal(

`sys`

`opts`

`[`

computes a
balanced realization * sysb*,

`g`

`sys`

`sysb`

for the stable portion
of the LTI model `sys`

. `balreal`

handles
both continuous and discrete systems. If `sys`

is
not a state-space model, it is first and automatically converted to
state space using `ss`

.For stable systems, `sysb`

is an equivalent
realization for which the controllability and observability Gramians
are equal and diagonal, their diagonal entries forming the vector `g`

of
Hankel singular values. Small entries in `g`

indicate
states that can be removed to simplify the model (use `modred`

to reduce the model order).

If `sys`

has unstable poles, its stable part
is isolated, balanced, and added back to its unstable part to form `sysb`

.
The entries of `g`

corresponding to unstable modes
are set to `Inf`

.

`[`

also
returns the vector * sysb*,

`g`

`T`

`Ti`

`sys`

`g`

containing the diagonal of
the balanced Gramian, the state similarity transformation `sys`

to `sysb`

, and
the inverse transformation If the system is normalized properly, the diagonal `g`

of
the joint Gramian can be used to reduce the model order. Because `g`

reflects
the combined controllability and observability of individual states
of the balanced model, you can delete those states with a small `g(i)`

while
retaining the most important input-output characteristics of the original
system. Use `modred`

to perform
the state elimination.

`[___] = balreal(`

computes
the balanced realization using options that you specify using * sys*,

`opts`

`hsvdOptions`

. Options include offset
and tolerance options for computing the stable-unstable decompositions.
The options also allow you to limit the Gramian computation to particular
time and frequency intervals. See `hsvdOptions`

for
details. Consider the model

$$\begin{array}{l}\dot{x}=Ax+Bu\\ y=Cx+Du\end{array}$$

with controllability and observability Gramians *W _{c}* and

$$\begin{array}{l}\dot{\overline{x}}=TA{T}^{-1}\overline{x}+TBu\\ y=C{T}^{-1}\overline{x}+Du\end{array}$$

and transforms the Gramians to

$$\begin{array}{cc}{\overline{W}}_{c}=T{W}_{c}{T}^{T},& {\overline{W}}_{o}={T}^{-T}{W}_{o}\end{array}{T}^{-1}$$

The function `balreal`

computes a particular
similarity transformation *T* such that

$${\overline{W}}_{c}={\overline{W}}_{o}=diag(g)$$

See [1], [2] for details on the algorithm.

If you use the `TimeIntervals`

or `FreqIntervals`

options
of `hsvdOptions`

, then `balreal`

bases
the balanced realization on time-limited or frequency-limited controllability
and observability Gramians. For information about calculating time-limited
and frequency-limited Gramians, see `gram`

and [4].

[1] Laub, A.J., M.T. Heath, C.C. Paige, and
R.C. Ward, "Computation of System Balancing Transformations and Other
Applications of Simultaneous Diagonalization Algorithms," *IEEE ^{®} Trans.
Automatic Control*, AC-32 (1987), pp. 115-122.

[2] Moore, B., "Principal Component Analysis
in Linear Systems: Controllability, Observability, and Model Reduction," *IEEE Transactions
on Automatic Control*, AC-26 (1981), pp. 17-31.

[3] Laub, A.J., "Computation of Balancing Transformations," *Proc.
ACC*, San Francisco, Vol.1, paper FA8-E, 1980.

[4] Gawronski, W. and J.N. Juang. “Model
Reduction in Limited Time and Frequency Intervals.” *International
Journal of Systems Science*. Vol. 21, Number 2, 1990, pp.
349–376.

`balred`

| `gram`

| `hsvd`

| `hsvdOptions`

| `modred`