Skip to content

Nikhil-Mukund/RIFF

Repository files navigation

RIFF: Robust IIR Fitting & Filtering

  • 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
    

Alt text

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

How to use RIFF WorkFlow

Fit a text-file measurement

Alt text

Improve Fit using Bayesian Adaptive Direct Search

Alt text

Account for possible Input-Output Delay

Alt text

Fit Multiple HP/Agilent/Keysight Spectrum Analyzer Measurements (SDF .DAT Format)

Use a Minimim Phase Design

Alt text

Implement Higher Order Fitting for systems with complex TFs

Alt text

Fit workspace variables

Note: tutorial was made using an older app version

Alt text

Filter TimeSeries using the modeled the transfer function

Note: tutorial was made using an older app version

Alt text

About

Robust IIR Fitting and Filtering. Generate stable IIR Zero-Pole-Gain filter models to match the measured transfer functions.

Resources

License

Stars

5 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors

Languages