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:
Process data for system identification by:
Importing data into the MATLAB® workspace.
Representing data in the System Identification app or as an
iddata
oridfrd
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.
Identify linear or nonlinear 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.
Use identified models for:
Control design for the estimated plant using other MathWorks® products.
You can import an estimated linear model into Control System Toolbox™, Model Predictive Control Toolbox™, Robust Control Toolbox™, or Simulink® software.
For online applications, you can perform online estimation.