Skip to content

Unscented Kalman Filter

meganlim edited this page Aug 8, 2018 · 8 revisions

Description

The Unscented Kalman filter (UKF) is a Bayesian filtering algorithm for nonlinear dynamic systems. Given a system model, along with measured input and output data, the algorithm estimates the internal system state.

The UKF is an improvement over the Extended Kalman Filter (EKF), especially when the system is highly nonlinear. While the EKF is accurate only to the first order Taylor series expansion for linear approximation of a nonlinear system, UKF is accurate to the third order. It accomplishes this by selecting sample points with corresponding weights that represent the true mean and covariance.

For optional review on Kalman Filters, click here.

Use

A UKF is created by specifying the system model to use, the process noise covariance matrix values, and the sensor noise covariance matrix values. Once instantiated, it must be initialized using the current time, the initial state, and the initial inputs.

Some helpful functions are the step function and getStateEstimate member function. The step function updates the state estimate of the UKF with the current time, the current system inputs, and the current measured system outputs. The getStateEstimate member function delivers the current state estimate.

Configuration

Parameter Description
Observer.Q [Required] The process noise covariance matrix for the model. These must be specified in the order that is consistent with the model. It is represented as a comma-separated list of values, going row by row.
Observer.R [Required] The sensor noise covariance matrix for the model. These must be specified in the order that is consistent with the model. It is represented as a comma-separated list of values, going row by row.