Main Content

BalancedTruncationOptions

Options for model order reduction with balanced truncation

Since R2023b

    Description

    This object contains model order reduction options of ordinary (nonsparse) linear time-invariant models, and is contained in the Options property of a BalancedTruncation object R created using reducespec. To configure these options, use dot notation, for example, R.Options.Algorithm = "relative".

    For the full workflow, see Task-Based Model Order Reduction Workflow.

    Properties

    expand all

    Input weight for input scaling and frequency weighting, specified as a matrix or dynamic system model.

    Set the InputWeight and OutputWeight properties to control the frequency-weighted error WL(GGr)WR, where G and Gr are the full-order and reduced-order models, respectively. WL (output weight) and WR (input weight) must be linear time-invariant models of compatible size and have high gain in frequency bands of interest and low gain elsewhere. Doing so emphasizes the accuracy of the reduced-order model in a particular frequency band.

    This property is ignored when R.Options.Algorithm is "relative", which corresponds to WL = inv(G) and WR = [].

    Output weight for output scaling and frequency weighting, specified as a matrix or a dynamic system model.

    Set the InputWeight and OutputWeight properties to control the frequency-weighted error WL(GGr)WR, where G and Gr are the full-order and reduced-order models, respectively. WL (output weight) and WR (input weight) must be linear time-invariant models of compatible size and have high gain in frequency bands of interest and low gain elsewhere. Doing so emphasizes the accuracy of the reduced-order model in a particular frequency band.

    This property is ignored when R.Options.Algorithm is "relative", which corresponds to WL = inv(G) and WR = [].

    Model reduction algorithm, specified as either "absolute"' or "relative". Use this option to select the balancing algorithm and control the type of reduced-order model Gr.

    • "absolute" — Minimize the absolute error GGr.

    • "relative" — Minimize the relative error G1(GGr).

    Relative error gives a better match across frequencies while absolute error emphasizes areas with most gain.

    Regularization level, specified as "auto" or a nonnegative scalar value. When you set Algorithm to "relative", the software balances the model [sys,α*I] instead of sys. Set this option to "auto" to let the algorithm pick a suitable regularization level α value. Specify a value α ≥ 0 to override this default.

    This regularization value helps provide a well-defined relative error at all frequencies.

    Frequency intervals for computing frequency-limited Hankel singular values, specified as a matrix with two columns. Each row specifies a frequency interval [fmin,fmax], where fmin and fmax are nonnegative frequencies, expressed in the frequency unit of the model. When identifying low-energy states to truncate, the software computes state contributions to system behavior in these frequency ranges only. For example:

    • To restrict the computation to the range between 3 rad/s and 15 rad/s, assuming the frequency unit of the model is rad/s, set FreqIntervals to [3,15].

    • To restrict the computation to two frequency intervals, 3–15 rad/s and 40–60 rad/s, use [3,15;40,60].

    • To specify all frequencies below a cutoff frequency fcut, use [0,fcut].

    • To specify all frequencies above the cutoff, use [fcut,Inf] in continuous time, or [fcut,pi/Ts] in discrete time, where Ts is the sample time of the model.

    The default value, [], imposes no frequency limitation and is equivalent to [0,Inf] in continuous time or [0,pi/Ts] in discrete time. However, if you specify a TimeIntervals value other than [], then this limit overrides FreqIntervals = []. If you specify both a TimeIntervals value and a FreqIntervals value, then the computation uses the union of these intervals.

    When the Method input argument in getrom is set to "matchDC" (the default value), then the balanced truncation algorithm attempts to match the DC gain of the original and reduced models, even if the specified frequency intervals exclude 0. This behavior might reduce the quality of the match in the specified intervals. To improve the match within frequency intervals that exclude 0, set Method to "truncate".

    If both the frequency and time intervals do include DC, you can still set Method to "truncate" to improve the match at other frequencies and times.

    Time intervals for computing time-limited Hankel singular values, specified as a matrix with two columns. Each row specifies a time interval [tmin,tmax], where tmin and tmax are nonnegative times, expressed in the time unit of the model. When identifying low-energy states to truncate, the software computes state contributions to the system’s impulse response in these time intervals only. For example:

    • To restrict the computation to the range between 3 s and 15 s, assuming the time unit of the model is seconds, set TimeIntervals to [3,15].

    • To restrict the computation to two time intervals, 3–15 s and 40–60 s, use [3,15; 40,60].

    • To specify all times from zero up to a cutoff time tcut, use [0,tcut]. To specify all times after the cutoff, use [tcut,Inf].

    The default value, [], imposes no time limitation and is equivalent to [0,Inf]. However, if you specify a FreqIntervals value other than [], then this limit overrides Timeintervals = []. If you specify both a TimeIntervals value and a FreqIntervals value, then the computation uses the union of these intervals.

    When the Method input argument in getrom is set to "matchDC" (the default value), then the balanced truncation algorithm attempts to match the DC gain of the original and reduced models, even if the specified frequency intervals exclude 0. This behavior might reduce the quality of the match in the specified intervals. To improve the match within frequency intervals that exclude 0, set Method to "truncate".

    If both the frequency and time intervals do include DC, you can still set Method to "truncate" to improve the match at other frequencies and times.

    Offset for the stable/unstable boundary, specified as a positive scalar value. In the stable/unstable decomposition, the stable term includes only poles satisfying

    • Re(s) < -Offset × max(1,|Im(s)|) (continuous time)

    • |z| < 1 - Offset (discrete time)

    Increase the value of Offset to treat poles close to the stability boundary as unstable.

    Maximum accuracy loss factor in stable and unstable decomposition, specified as a positive scalar. For models with unstable poles, the algorithm first extracts the stable dynamics using the transformations TL, TR. Use SepTol to control the decomposition accuracy. Increasing SepTol helps separate nearby stable and unstable modes at the expense of accuracy. For more information, see stabsep.

    Version History

    Introduced in R2023b

    expand all