Online Parameter Estimation
You can estimate parameters of AR, ARMA, ARX, ARMAX, OE, or BJ model coefficients using real-time data and recursive algorithms. You can also estimate models using a recursive least squares (RLS) algorithm. For details about the algorithms, see Recursive Algorithms for Online Parameter Estimation.
You can perform online parameter estimation using Simulink blocks in the Estimators sublibrary of the System Identification Toolbox™ library. You can then generate C/C++ code and Structured Text for these blocks using Simulink Coder™ and Simulink PLC Coder™, and deploy this code to an embedded target. You can also perform online estimation at the command line and deploy your code using MATLAB® Compiler™ or MATLAB Coder.
Functions
recursiveAR | Online parameter estimation of AR model |
recursiveARMA | Online parameter estimation of ARMA model |
recursiveARX | Online parameter estimation of ARX model |
recursiveARMAX | Online parameter estimation of ARMAX model |
recursiveBJ | Online parameter estimation of Box-Jenkins model |
recursiveOE | Online parameter estimation of output-error polynomial model |
recursiveLS | Online parameter estimation of least-squares model |
rpem | Estimate general input-output models using recursive prediction-error minimization method |
rplr | Estimate general input-output models using recursive pseudolinear regression method |
segment | Segment data and estimate models for each segment |
Blocks
Recursive Least Squares Estimator | Estimate model coefficients using recursive least squares (RLS) algorithm |
Recursive Polynomial Model Estimator | Estimate input-output and time-series polynomial model coefficients |
Model Type Converter | Convert polynomial model coefficients to state-space model matrices |
Topics
Online Estimation Basics
- What Is Online Estimation?
Estimate states and parameters of a system in real-time. - How Online Parameter Estimation Differs from Offline Estimation
Difference in data, algorithms, and estimation implementations. - Recursive Algorithms for Online Parameter Estimation
Forgetting factor, Kalman filter, gradient and unnormalized gradient, and finite-history algorithms for online parameter estimation.
Online Parameter Estimation in Simulink
- Preprocess Online Parameter Estimation Data in Simulink
Remove drift, offset, missing samples, seasonalities, equilibrium behavior, and outliers in your data. - Online Recursive Least Squares Estimation
This example shows how to implement an online recursive least squares estimator. - Online ARMAX Polynomial Model Estimation
This example shows how to implement an online polynomial model estimator. - Validate Online Parameter Estimation Results in Simulink
Examine estimation errors, parameter covariance, and difference between simulated and measured outputs.
Online Parameter Estimation at the Command Line
- Perform Online Parameter Estimation at the Command Line
Online parameter estimation using System Objects. - Online ARX Parameter Estimation for Tracking Time-Varying System Dynamics
Perform online parameter estimation for a time-varying ARX model at the MATLAB command line. - Line Fitting with Online Recursive Least Squares Estimation
This example shows how to perform online parameter estimation for line-fitting using recursive estimation algorithms at the MATLAB® command line. - Validate Online Parameter Estimation at the Command Line
Examine estimation errors, parameter covariance, and difference between simulated and measured outputs. - Data Segmentation
Use of data segmentation to model systems exhibiting abrupt changes.
Code Generation
- Generate Online Parameter Estimation Code in Simulink
Generate C/C++ code and Structured Text using Simulink Coder and Simulink PLC Coder products. - Generate Code for Online Parameter Estimation in MATLAB
Generate C/C++ code using MATLAB Coder software; limitations for System objects.
Troubleshooting
Troubleshoot Online Parameter Estimation
Check your model, estimation data, estimation settings, and initial parameter values.