Main Content

System Identification Workflow

System identification is an iterative process, where you identify models with different structures from data and compare model performance. Ultimately, you choose the simplest model that best describes the dynamics of your system.

Because this toolbox lets you estimate different model structures quickly, you should try as many different structures as possible to see which one produces the best results.

A system identification workflow might include the following tasks:

  1. Process data for system identification by:

    • Importing data into the MATLAB® workspace.

    • Representing data in the System Identification app or as an iddata or idfrd object in the MATLAB workspace.

    • Plotting data to examine both time- and frequency-domain behavior.

      To analyze the data for the presence of constant offsets and trends, delay, feedback, and signal excitation levels, you can also use the advice command.

    • Preprocessing data by removing offsets and linear trends, interpolating missing values, filtering to emphasize a specific frequency range, or resampling (interpolating or decimating) using a different time interval.

  2. Identify linear or nonlinear models:

  3. Validate models.

    When you do not achieve a satisfactory model, try a different model structure and order or try another identification algorithm. In some cases, you can improve results by including a noise model.

    You might need to preprocess your data before doing further estimation. For example, if there is too much high-frequency noise in your data, you might need to filter or decimate (resample) the data before modeling.

  4. Postprocess models:

  5. Use identified models for:

For online applications, you can perform online estimation.