System Identification Toolbox
Create linear and nonlinear dynamic system models from measured input-output data
System Identification Toolbox™ provides MATLAB® functions, Simulink® blocks, and an app for constructing mathematical models of dynamic systems from measured input-output data. It lets you create and use models of dynamic systems not easily modeled from first principles or specifications. You can use time-domain and frequency-domain input-output data to identify continuous-time and discrete-time transfer functions, process models, and state-space models. The toolbox also provides algorithms for embedded online parameter estimation.
The toolbox provides identification techniques such as maximum likelihood, prediction-error minimization (PEM), and subspace system identification. To represent nonlinear system dynamics, you can estimate Hammerstein-Wiener models and nonlinear ARX models with wavelet network, tree-partition, and sigmoid network nonlinearities. The toolbox performs grey-box system identification for estimating parameters of a user-defined model. You can use the identified model for system response prediction and plant modeling in Simulink. The toolbox also supports time-series data modeling and time-series forecasting.
Get Started:
Data Import & Preprocessing
Import measured time-domain and frequency-domain data. You can preprocess the data by performing operations such as detrending, filtering, resampling, and also reconstruct missing data.
Model Estimation and Validation
Identify linear and nonlinear models from measured input-output data. You can compare identified models, analyze their properties, calculate their confidence bounds, and validate them against test datasets.
Transfer Functions and Process Models
Estimate multi-input multi-output continuous or discrete-time transfer functions with a specified number of poles and zeros. You can specify the transport delay or let the toolbox determine it automatically.
State Space and Polynomial Models
Determine optimal model order and estimate state-space models of your system. You can also estimate ARX, ARMAX, Box-Jenkins, and Output-Error polynomial models.
Frequency & Impulse Response Models
Use spectral and correlation analysis to estimate models of your system from frequency and time-domain data. Frequency response data can also be obtained from a Simulink model using Simulink Control Design.
Parameter Estimation with Recursive Models
Estimate a model of your system in real-time using recursive models that update their parameters as new data comes in. You can implement these models using built-in Simulink blocks. Generate C/C++ code from the blocks using Simulink Coder™ to target embedded devices.
State Estimation with Kalman Filters
Estimate system states from real-time data using linear, extended, or unscented Kalman filters as well as particle filters. You can implement these algorithms using built-in Simulink blocks. Generate C/C++ code from the blocks using Simulink Coder™ to target embedded devices.
Integration with Simulink
Implement estimated models, state estimators, and recursive models in Simulink using built-in blocks. You can perform system analysis and control design tasks using these blocks.
Controller Design
Use the models you have estimated for designing and tuning controllers with Control System Toolbox. Use system identification functionality in the PID Tuner app to estimate linear plant dynamics from measured data or Simulink models with discontinuities.
Nonlinear ARX Models
Model your systems by combining autoregressive models with nonlinearities represented by wavelet networks, tree partitioning, sigmoid networks, and neural networks (with Deep Learning Toolbox™).
Hammerstein-Wiener Models
Estimate static nonlinear distortions present at the input and output of an otherwise linear system. For example, you can estimate the saturation levels affecting the input current running a DC motor.
Linear Grey-Box Models
Model your linear system using differential equations, difference equations, or a state-space system. Estimate specified model parameters such as pendulum mass and length or motor resistance and back-EMF constant from measured input-output data.
Nonlinear Grey-Box Models
Model your system using nonlinear differential equations or difference equations. Estimate specified model parameters from measured input-output data.
Time Series Models
Estimate time series models to fit measured data from your system. You can then forecast future values of the time series model to predict how your system will behave.
Initial Conditions
Apply initial conditions when estimating and simulating transfer function, state-space, and polynomial models
Live Editor Tasks
Interactively perform state-space and process model identification tasks and generate MATLAB code in a live script
See release notes for details on any of these features and corresponding functions.