Main Content
Online State Estimation
Estimate model parameters using linear and nonlinear Kalman filters at the command line and in Simulink®
You can estimate the states of your system using real-time data and linear, extended, or unscented Kalman filter algorithms. You can perform online state estimation using the Simulink blocks in the Estimators sublibrary of the System Identification Toolbox™ library. You can then generate C/C++ code for these blocks using Simulink Coder™, and deploy this code to an embedded target. You can also perform online state estimation at the command line, and deploy your code using MATLAB® Compiler™ or MATLAB Coder.
Functions
extendedKalmanFilter | Create extended Kalman filter object for online state estimation |
unscentedKalmanFilter | Create unscented Kalman filter object for online state estimation |
particleFilter | Particle filter object for online state estimation |
correct | Correct state and state estimation error covariance using extended or unscented Kalman filter, or particle filter and measurements |
residual | Return measurement residual and residual covariance when using extended or unscented Kalman filter |
predict | Predict state and state estimation error covariance at next time step using extended or unscented Kalman filter, or particle filter |
initialize | Initialize the state of the particle filter |
clone | Copy online state estimation object |
generateJacobianFcn | Generate MATLAB Jacobian functions for extended Kalman filter using automatic differentiation (Since R2023a) |
Blocks
Kalman Filter | Estimate states of discrete-time or continuous-time linear system |
Extended Kalman Filter | Estimate states of discrete-time nonlinear system using extended Kalman filter |
Particle Filter | Estimate states of discrete-time nonlinear system using particle filter |
Unscented Kalman Filter | Estimate states of discrete-time nonlinear system using unscented Kalman filter |
Topics
Online Estimation Basics
- What Is Online Estimation?
Estimate states and parameters of a system in real-time. - Extended and Unscented Kalman Filter Algorithms for Online State Estimation
Description of the underlying algorithms for state estimation of nonlinear systems.
Online State Estimation in Simulink
- State Estimation Using Time-Varying Kalman Filter
Estimate states of linear systems using time-varying Kalman filters in Simulink. - Estimate States of Nonlinear System with Multiple, Multirate Sensors
Use an Extended Kalman Filter block to estimate the states of a system with multiple sensors that are operating at different sampling rates. - Validate Online State Estimation in Simulink
Validate online state estimation that is performed using Extended Kalman Filter and Unscented Kalman Filter blocks. - Parameter and State Estimation in Simulink Using Particle Filter Block
This example demonstrates the use of the Particle Filter block in System Identification Toolbox™. - State Estimation with Wrapped Measurements Using Extended Kalman Filter
This example shows how to use the extended Kalman filter algorithm for nonlinear state estimation for 3D tracking involving circularly wrapped angle measurements.
Online State Estimation at the Command Line
- Nonlinear State Estimation Using Unscented Kalman Filter and Particle Filter
Use the unscented Kalman filter algorithm for nonlinear state estimation for the van der Pol oscillator. - Validate Online State Estimation at the Command Line
Validate online state estimation that is performed using extended and unscented Kalman filter algorithms. - Generate Code for Online State Estimation in MATLAB
Deploy extended or unscented Kalman filters, or particle filters using MATLAB Coder software.
Troubleshooting
Troubleshoot Online State Estimation
Troubleshoot online state estimation performed using extended and unscented Kalman filter algorithms.