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

`[`

* sysb*,

`g`

`sys`

[

`sysb`

`g`

`sys`

`ATOL`

`RTOL`

`ALPHA`

[

`sysb`

`g`

`sys`

`condmax`

`[``sysb`

, `g`

, `T`

, `Ti`

]
= balreal(`sys`

)

[

`sysb`

`g`

`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`

.

`[`

specifies
additional options for the stable/unstable decomposition. See the * sysb*,

`g`

`sys`

`ATOL`

`RTOL`

`ALPHA`

`stabsep`

reference page for more information
about these options. The default values are `ATOL = 0`

, ```
RTOL
= 1e-8
```

, and `ALPHA = 1e-8`

. `[`

controls
the condition number of the stable/unstable decomposition. Increasing * sysb*,

`g`

`sys`

`condmax`

`condmax`

helps
separate close by stable and unstable modes at the expense of accuracy.
By default `condmax=1e8`

.

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.

`[`

computes
the balanced realization using the options specified in the * sysb*,

`g`

`sys`

`opts`

`hsvdOptions`

object `opts`

.Consider the following zero-pole-gain model, with near-canceling pole-zero pairs:

sys = zpk([-10 -20.01],[-5 -9.9 -20.1],1)

sys = (s+10) (s+20.01) ---------------------- (s+5) (s+9.9) (s+20.1) Continuous-time zero/pole/gain model.

A state-space realization with balanced gramians is obtained by

[sysb,g] = balreal(sys);

The diagonal entries of the joint gramian are

g'

ans = 0.1006 0.0001 0.0000

This indicates that the last two states of `sysb`

are weakly coupled to the input and output. You can then delete these states by

```
sysr = modred(sysb,[2 3],'del');
```

This yields the following first-order approximation of the original system.

zpk(sysr)

ans = 1.0001 -------- (s+4.97) Continuous-time zero/pole/gain model.

Compare the Bode responses of the original and reduced-order models.

```
bodeplot(sys,sysr,'r--')
```

The plots shows that removing the second and third states does not have much effect on system dynamics.

Create this unstable system:

sys1=tf(1,[1 0 -1]) Transfer function: 1 ------- s^2 - 1

Apply `balreal`

to create a balanced gramian
realization.

[sysb,g]=balreal(sys1) a = x1 x2 x1 1 0 x2 0 -1 b = u1 x1 0.7071 x2 0.7071 c = x1 x2 y1 0.7071 -0.7071 d = u1 y1 0 Continuous-time model. g = Inf 0.2500

The unstable pole shows up as `Inf`

in vector
g.

[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.

`gram`

| `hsvdOptions`

| `modred`

| `ss`

Was this topic helpful?