BalancedTruncation
Description
The BalancedTruncation
object stores model order reduction (MOR)
specifications for the balanced truncation of ordinary (nonsparse) linear time-invariant (LTI)
models.
Creation
The reducespec
function creates a balanced truncation MOR object when you use this syntax.
R = reducespec(sys,"balanced")
Here, sys
is any nonsparse LTI model. The workflow uses this object to
set up MOR tasks and store results. For the full workflow, see Task-Based Model Order Reduction Workflow.
Properties
Object Functions
process | Run model order reduction algorithm |
view (balanced) | Plot state contributions when using balanced truncation method |
getrom
(balanced) | Obtain reduced-order models when using balanced truncation method |
Examples
Algorithms
Balanced truncation first decomposes the system G into its stable and unstable parts:
When you specify R.Options.Algorithm
as "absolute"
,
the software uses the balanced truncation method of [1] to reduce
Gs. This computes the HSVs
σj based on the controllability and
observability Gramians. For order r, the absolute error is bounded by . Here, n is the number of states in
Gs.
When you specify R.Options.Algorithm
as "relative"
,
the software uses the balanced stochastic truncation method of [2] to reduce
Gs. For square
Gs, this computes the HSVs
σj of the phase matrix , where W(s) is a stable, minimum-phase spectral factor of
GG’:
For order r, the relative error is bounded by
where .
References
[1] Varga, A., "Balancing-Free Square-Root Algorithm for Computing Singular Perturbation Approximations," Proc. of 30th IEEE CDC, Brighton, UK (1991), pp. 1062-1065.
[2] Green, M., "A Relative Error Bound for Balanced Stochastic Truncation", IEEE Transactions on Automatic Control, Vol. 33, No. 10, 1988