-
Generate robust IIR Zero-Pole-Gain filter models to match the measured transfer functions.
-
What's New!
- Added support for AAA Algorithm for Rational Approximation - Simplied SysID via guided workflow. - Improved fitting algorithm - Option to generate MINIMUM_PHASE models without any right-half plane zeros. - Option to account for input-output delays - One click install
-
Compatibility
- MATLAB R2023b+ (check older releases for older MATLAB R2022a+ versions) -
Toolboxes Required
- Control System Toolbox - System Identification Toolbox - Global Optimization Toolbox - Curve Fitting - RF Toolbox (else unselect rationalfit & AAA) -
Other Features
- Uses the chosen optimizer to find the best parameters (see below) that maximizes the goodness of fit. - filter order - fitting algorithm - weighting filter - Frequency limits - System identification is done using - Subspace identification (N4SID) - Vector fitting - Complex-curve fitting algorithms - Adaptive Antoulas–Anderson (AAA) Algorithm (Y. Nakatsukasa, O. Sète, and L. N. Trefethen)`
- Calculates the associated uncertainties & the full covariance matrix. - Options to estimate the noise floor & dampen sharp resonances via smoothing the complex transfer function. -
To Install
- Click & install using the mlappinstall file -
To Launch App
- Launch from the Apps toolbar - Or type RIFF from the command line -
Input data format
- Text-files (.txt,.csv) - Valid formats: {f a b}, {w a b}, {f a ib}, {w a ib}, {f a+ib}, {w a+ib} - Workspace Variables - {Frequency,Complex TransferFunction} - {Frequency Response Data (FRD) Model} - HP-Agilent-Keysight Spectrum Analyzer measurements - {SDF .DAT files} - Input & Output time series and their sampling frequencies - LISA Technology Package Data Analysis (LTPDA) Analysis Object (AO) -
Output
- FIT_RESULT Structure containing - Identified ZPK with the associated uncertainties (FIT_RESULT.ZPK) - Goodness of fit (FIT_RESULT.gof) - Full covariance matrix. (FIT_RESULT.ZPK.parameterCovarianceMatrix) - Results from the intermediate stages (FIT_RESULT.intermediate) - FRD model & filtered transfer functions - Optimization details (FIT_RESULT.options.Optimization) - LIGO FOTON Compatible Second-Order-Section filters (when saved to file) -
For command-line use (+finer control)
- use fitTF.m -
Developed to aid
- Design of control & calibration filters at gravitational wave (GW) observatories. - Design of feedforward & feedback filters for platform stabilization & seismic noise isolation. - Time domain subtraction of the noise sources that linearly/bi-linearly couple to the GW strain data. -
Related Publication
Bilinear noise subtraction at the GEO 600 observatory
N. Mukund et al. Phys. Rev. D 101 102006, May 2020 -
License
RIFF is released under the terms of the GNU General Public License v3.0.
-
Acknowledgements
Evgeny Pr (2021). INI Config, MATLAB Central File Exchange. Retrieved February 12, 2021.
Acerbi, L. & Ma, W. J. (2017). Practical Bayesian Optimization for Model Fitting with Bayesian Adaptive Direct Search In Advances in Neural Information Processing Systems 30, pages 1834-1844. arXiv preprint
Martin Hewitson et al. LTPDA Toolbox V3.0.13
Justin Dinale (2021). SDF Importer, MATLAB Central File Exchange. Retrieved February 12, 2021.
-
Notes
To use the Bayesian Adaptive Direct Search (BADS) optimizer, install it from BADS-GitHub and add the folder to MATLAB search path. The app will automatically try to install it from the web, if it's not available.
-
Alternatives







