Function File: [Gr, info] = hnamodred (G, …)
Function File: [Gr, info] = hnamodred (G, nr, …)
Function File: [Gr, info] = hnamodred (G, opt, …)
Function File: [Gr, info] = hnamodred (G, nr, opt, …)
Model order reduction by frequency weighted optimal Hankel-norm (HNA) method.
The aim of model reduction is to find an LTI system Gr of order
nr (nr < n) such that the input-output behaviour of Gr
approximates the one from original system G.
HNA is an absolute error method which tries to minimize
$$ || G - G_r ||_H = \min $$$$ || V \ (G - G_r) \ W ||_H = \min $$
where V and W denote output and input weightings.
Inputs
- G
- LTI model to be reduced.
- nr
- The desired order of the resulting reduced order system Gr.
If not specified, nr is chosen automatically according
to the description of key "order".
- …
- Optional pairs of keys and values.
"key1", value1, "key2", value2.
- opt
- Optional struct with keys as field names.
Struct opt can be created directly or
by function
options. opt.key1 = value1, opt.key2 = value2.
Outputs
- Gr
- Reduced order state-space model.
- info
- Struct containing additional information.
- info.n
- The order of the original system G.
- info.ns
- The order of the alpha-stable subsystem of the original system G.
- info.hsv
- The Hankel singular values corresponding to the projection
op(V)*G1*op(W),
where G1 denotes the alpha-stable part of the original system G.
The ns Hankel singular values are ordered decreasingly.
- info.nu
- The order of the alpha-unstable subsystem of both the original
system G and the reduced-order system Gr.
- info.nr
- The order of the obtained reduced order system Gr.
Option Keys and Values
- ’order’, ’nr’
- The desired order of the resulting reduced order system Gr.
If not specified, nr is the sum of info.nu and the number of
Hankel singular values greater than
max(tol1, ns*eps*info.hsv(1);
- ’method’
- Specifies the computational approach to be used.
Valid values corresponding to this key are:
- ’descriptor’
- Use the inverse free descriptor system approach.
- ’standard’
- Use the inversion based standard approach.
- ’auto’
- Switch automatically to the inverse free
descriptor approach in case of badly conditioned
feedthrough matrices in V or W. Default method.
- ’left’, ’v’
- LTI model of the left/output frequency weighting.
The weighting must be antistable.
\(|| V \ (G-G_r) \dots ||_H = \min\)
- ’right’, ’w’
- LTI model of the right/input frequency weighting.
The weighting must be antistable.
\(|| \dots (G-G_r) \ W ||_H = \min\)
- ’left-inv’, ’inv-v’
- LTI model of the left/output frequency weighting.
The weighting must have only antistable zeros.
\(|| V^{-1}(G-G_r) \dots ||_H = \min\)
- ’right-inv’, ’inv-w’
- LTI model of the right/input frequency weighting.
The weighting must have only antistable zeros.
\(|| \dots (G-G_r)\,W^{-1} ||_H = \min\)
- ’left-conj’, ’conj-v’
- LTI model of the left/output frequency weighting.
The weighting must be stable.
\(|| conj(V)\,(G-G_r) \dots ||_H = \min\)
- ’right-conj’, ’conj-w’
- LTI model of the right/input frequency weighting.
The weighting must be stable.
\(|| \dots (G-G_r) \ conj(W) ||_H = \min\)
- ’left-conj-inv’, ’conj-inv-v’
- LTI model of the left/output frequency weighting.
The weighting must be minimum-phase.
\(|| conj(V^{-1}) \, (G-G_r) \dots ||_H = \min\)
- ’right-conj-inv’, ’conj-inv-w’
- LTI model of the right/input frequency weighting.
The weighting must be minimum-phase.
\(|| \dots (G-G_r) \ conj(W^{-1}) ||_H = \min\)
- ’alpha’
- Specifies the ALPHA-stability boundary for the eigenvalues
of the state dynamics matrix G.A. For a continuous-time
system, ALPHA <= 0 is the boundary value for
the real parts of eigenvalues, while for a discrete-time
system, 0 <= ALPHA <= 1 represents the
boundary value for the moduli of eigenvalues.
The ALPHA-stability domain does not include the boundary.
Default value is 0 for continuous-time systems and
1 for discrete-time systems.
- ’tol1’
- If ’order’ is not specified, tol1 contains the tolerance for
determining the order of the reduced model.
For model reduction, the recommended value of tol1 is
c*info.hsv(1), where c lies in the interval [0.00001, 0.001].
tol1 < 1.
If ’order’ is specified, the value of tol1 is ignored.
- ’tol2’
- The tolerance for determining the order of a minimal
realization of the ALPHA-stable part of the given
model. tol2 <= tol1 < 1.
If not specified, ns*eps*info.hsv(1) is chosen.
- ’equil’, ’scale’
- Boolean indicating whether equilibration (scaling) should be
performed on system G prior to order reduction.
Default value is true if
G.scaled == false and
false if G.scaled == true.
Note that for MIMO models, proper scaling of both inputs and outputs
is of utmost importance. The input and output scaling can not
be done by the equilibration option or the prescale function
because these functions perform state transformations only.
Furthermore, signals should not be scaled simply to a certain range.
For all inputs (or outputs), a certain change should be of the same
importance for the model.
Approximation Properties:
-
Guaranteed stability of reduced models
-
Lower guaranteed error bound
-
Guaranteed a priori error bound
$$ \sigma_{r+1} \leq || (G-G_r) ||_{\infty} \leq 2 \sum_{j=r+1}^{n} \sigma_j $$
Algorithm
Uses SLICOT AB09JD,
Copyright (c) 1996-2025, SLICOT, available under the BSD 3-Clause
(License and Disclaimer).
Source Code:
hnamodred