FrequencyResponseFitting
Description
The FrequencyResponseFitting
object uses frequency response
fitting to obtain low-order approximations of sparse LTI models in the frequency band of
interest. The frequency response fitting method is applicable to all types of sparse models
with fewer limitations than Balanced Truncation or POD. In particular, it is effective at
reducing models with unstable or undamped poles. Frequency response fitting is also applicable
to non-sparse models but is usually less effective than Balanced Truncation for such
models.
Additionally, this method uses the AAA interpolation algorithm rather than a least-squared fitting algorithm. Accordingly, you must not use this method to fit models to noisy data as the algorithm will tend to interpolate noise and produce poor results.
Creation
The reducespec
function creates a FrequencyResponseFitting
model order reduction object
when you use this syntax.
R = reducespec(sys,"frfit")
Here, sys
is a ordinary (nonsparse), sparse, or frequency-response data
(frd
) 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 (frfit) | Plot relative fit error between original and fitted model |
getrom (frfit) | Obtain reduced-order models when using frequency-response fitting method |
Examples
Tips
The fit can be poor between samples and outside the frequency grid used for fitting, so it is recommended to validate the fit by comparing the fitted model with the original model on a larger or denser grid. You can also provide a few points outside the range of interest to sketch the asymptotes. It is also recommended to specify the DC and feedthrough values to get the desired behavior toward
w
=0
andw
=Inf
.
Algorithms
The software performs frequency response fitting as follows:
Computes the frequency response of the model at specified frequency grid.
Uses the AAA algorithm with the barycentric form ([1], [2]) to fit the computed data to a rational approximation
Here, zj are the interpolation points, fj are the corresponding values for f(zj), wj are the scalar-valued weights, and f∞ is the feedthrough value (if specified).
The barycentric form for r-by-s MIMO models with matrix-weights is given by:
Here, Wj are square matrices of size s. This software uses this form when
R.Options.Algorithm
is set to"blockAAA"
when fitting a MIMO model.Obtains a state-space realization from the rational approximation.
References
[1] Nakatsukasa, Yuji, Olivier Sète, and Lloyd N. Trefethen. “The AAA Algorithm for Rational Approximation.” SIAM Journal on Scientific Computing 40, no. 3 (January 2018): A1494–1522. https://doi.org/10.1137/16M1106122.
[2] Gosea, Ion Victor, and Stefan Güttel. “Algorithms for the Rational Approximation of Matrix-Valued Functions.” SIAM Journal on Scientific Computing 43, no. 5 (January 2021): A3033–54. https://doi.org/10.1137/20M1324727.
Version History
Introduced in R2025a