An Introduction to the Extended Kalman Filter

 

An Introduction to the Extended Kalman Filter

Kalman Filters are a form of predictor-corrector used extensively in control systems engineering for estimating the unobservable states of a process. The estimated states may then be used as part of a strategy (i.e. control law) for controlling one or more of the unobservable states.

This tutorial discusses the Extended Kalman Filter which was developed for non-linear discrete-time processes (or at least processes that may be modeled with sufficient accuracy as a non-linear discrete-time process). Other tutorials discuss other types of Kalman filters: the original Kalman Filter (for linear processes); the Kalman-Bucy Filter (for continuous-time systems); and the Unscented Kalman Filter (which is an extension of the Extended Kalman Filter).

Non-linear discrete-time process with input and measurement noise.

Figure 1: Non-linear discrete-time process with input and measurement noise.

Consider the non-linear discrete-time process shown in Figure 1 which may be written in the standard state-space form,

Equations for a linear discrete-time process with input and measurement noise.

Here

  • k denotes a discrete point in time (with k-1 being the immediate past time point).
  • uk is a vector of inputs
  • xk is a vector of the actual states, some of which may be unobservable.
  • yk is a vector of the actual process outputs.
  • Math character y_tilde_sub_k is a vector of the measured process outputs.
  • wk and vk are process and output noise respectively. They are assumed to be zero mean Gaussian with covarianceQk andRk respectively.
  • f(.) and h(.) are generic non-linear functions relating the past state, current input, and current time to the next state and current output respectively.

The purpose of the Extended Kalman Filter is to estimate the unobservable states and the actual process outputs given the input, measured output and assumptions on the process and output noise. This is shown inFigure 2 where the estimated states are Math character x_hat_sub_k , andMath character y_hat_sub_k are the estimated measured outputs.

Input-output of the Kalman Filter.

Figure 2: Input-output of the Extended-Kalman Filter.

As with the original Kalman Filter, the Extended Kalman Filter uses a 2 step predictor-corrector algorithm. The first step involves projecting both the most recent state estimate and an estimate of the error covariance (from the previous time period) forwards in time to compute a predicted (or a-priori) estimate of the states at the current time. The second step involves correcting the predicted state estimate calculated in the first step by incorporating the most recent process measurement to generate an updated (ora-posteriori)state estimate.

However, due to the non-linear nature of the process being estimated the covariance prediction and update equations cannot usef andh directly. Rather they use the Jacobian of f andh. The Jacobians are defined as

Equations for a linear discrete-time process with input and measurement noise.

For the Extended-Kalman Filter, mathematically, the predictor step is given by

Equations for Extended-Kalman Filter prediction step.

And the corrector step is given by,

Equations for Kalman filter corrector step.

In the above equations Pk is an estimate of the covariance of the measurement error andKk is called the Kalman gain. After both the prediction and correction steps have been performed thenMath character x_hat_sub_k is the current estimate of the states andMath character y_hat_sub_k can be calculated directly from it. BothMath character x_hat_sub_k andPk are stored and used in the predictor step of the next time period.

If the process is linear then the above equations collapse to the equations of the original (i.e. linear) Kalman Filter. However, unlike theKalman Filter, the Extended-Kalman Filter is not optimal in any sense. And further, if the process model is inaccurate then due to the use of the Jacobians -- which essentially represent a linearization of the model -- the Extended-Kalman Filter will likely diverge leading to very poor estimates.

However, in practise, and when used carefully, the Extended-Kalman Filter can lead to very reliable state estimation. This is particularly the case when the process being estimated can be accurately linearized at each point along the trajectory of the states.

A simple example demonstrating how to implement an Extended Kalman Filter in Simulink can be foundhere.

Back To Top|Kalman Filters

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值