Categories &

Functions List

Function Reference: bstmodred

Function File: [Gr, info] = bstmodred (G, …)
Function File: [Gr, info] = bstmodred (G, nr, …)
Function File: [Gr, info] = bstmodred (G, opt, …)
Function File: [Gr, info] = bstmodred (G, nr, opt, …)

Model order reduction by Balanced Stochastic Truncation (BST) 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.

BST is a relative error method which tries to minimize

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 of the phase system corresponding to 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 NU and the number of Hankel singular values greater than MAX(TOL1,NS*EPS); nr can be further reduced to ensure that HSV(NR-NU) > HSV(NR+1-NU).

’method’

Approximation method for the H-infinity norm. Valid values corresponding to this key are:

’sr-bta’, ’b’

Use the square-root Balance & Truncate method.

’bfsr-bta’, ’f’

Use the balancing-free square-root Balance & Truncate method. Default method.

’sr-spa’, ’s’

Use the square-root Singular Perturbation Approximation method.

’bfsr-spa’, ’p’

Use the balancing-free square-root Singular Perturbation Approximation method.

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

’beta’

Use [G, beta*I] as new system G to combine absolute and relative error methods. BETA > 0 specifies the absolute/relative error weighting parameter. A large positive value of BETA favours the minimization of the absolute approximation error, while a small value of BETA is appropriate for the minimization of the relative error. BETA = 0 means a pure relative error method and can be used only if rank(G.D) = rows(G.D) which means that the feedthrough matrice must not be rank-deficient. Default value is 0.

’tol1’

If ’order’ is not specified, tol1 contains the tolerance for determining the order of reduced system. For model reduction, the recommended value of tol1 lies in the interval [0.00001, 0.001]. tol1 < 1. If tol1 <= 0 on entry, the used default value is tol1 = NS*EPS, where NS is the number of ALPHA-stable eigenvalues of A and EPS is the machine precision. If ’order’ is specified, the value of tol1 is ignored.

’tol2’

The tolerance for determining the order of a minimal realization of the phase system (see METHOD) corresponding to the ALPHA-stable part of the given system. The recommended value is TOL2 = NS*EPS. TOL2 <= TOL1 < 1. This value is used by default if ’tol2’ is not specified or if TOL2 <= 0 on entry.

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

BST is often suitable to perform model reduction in order to obtain low order design models for controller synthesis.

Approximation Properties:

  • Guaranteed stability of reduced models
  • Approximates simultaneously gain and phase
  • Preserves non-minimum phase zeros
  • Guaranteed a priori error bound

Algorithm
Uses SLICOT AB09HD, Copyright (c) 2020, SLICOT, available under the BSD 3-Clause (License and Disclaimer).

Source Code: bstmodred