State estimation techniques let you estimate state values in systems with process noise and measurement noise. Control System Toolbox™ tools let you design linear steady-state and time-varying Kalman filters. You can also estimate states of nonlinear systems using extended Kalman filters, unscented Kalman filters, or particle filters.
Online state estimation algorithms update state estimates of your system when new data is available. You can estimate the states of your system using real-time data and linear and nonlinear Kalman filter algorithms. You can perform online state estimation using Simulink® blocks, 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.
Kalman Filter Design
Online State Estimation
|Create extended Kalman filter object for online state estimation|
|Create unscented Kalman filter object for online state estimation|
|Particle filter object for online state estimation|
|Correct state and state estimation error covariance using extended or unscented Kalman filter, or particle filter and measurements|
|Predict state and state estimation error covariance at next time step using extended or unscented Kalman filter, or particle filter|
|Return measurement residual and residual covariance when using extended or unscented Kalman filter (Since R2019b)|
|Initialize the state of the particle filter|
|Copy online state estimation object|
|Generate MATLAB Jacobian functions for extended Kalman filter using automatic differentiation (Since R2023a)|
State Estimation in Simulink
|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|
State Estimation Basics
- Kalman Filtering
Perform Kalman filtering and simulate the system to show how the filter reduces measurement error for both steady-state and time-varying filters.
- Nonlinear State Estimation Using Unscented Kalman Filter and Particle Filter
Estimate nonlinear states of a van der Pol oscillator using the unscented Kalman filter algorithm.
- 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.
- Extended and Unscented Kalman Filter Algorithms for Online State Estimation
Description of the underlying algorithms for state estimation of nonlinear systems.
State Estimation in Simulink
- State Estimation Using Time-Varying Kalman Filter
Estimate the 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.
- Parameter and State Estimation in Simulink Using Particle Filter Block
This example demonstrates the use of Particle Filter block in Control System 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.
- Nonlinear State Estimation of a Degrading Battery System
Estimate the states of a nonlinear system using an unscented Kalman filter in Simulink.
- Validate Online State Estimation in Simulink
Validate online state estimation that is performed using Extended Kalman Filter and Unscented Kalman Filter blocks.
Troubleshoot online state estimation performed using extended and unscented Kalman filter algorithms.