As described above in section , the Kalman filter addresses the general problem of trying to estimate the state of a discrete-time controlled process that is governed by a linear stochastic difference equation. But what happens if the process to be estimated and (or) the measurement relationship to the process is non-linear? Some of the most interesting and successful applications of Kalman filtering have been such situations. A Kalman filter that linearizes about the current mean and covariance is referred to as an extended Kalman filter or EKF 1 .

In something akin to a Taylor series, we can linearize the estimation around the current estimate using the partial derivatives of the process and measurement functions to compute estimates even in the face of non-linear relationships. To do so, we must begin by modifying some of the material presented in section . Let us assume that our process again has a state vector , but that the process is now governed by the non-linear stochastic difference equation

where the random variables and again represent the process and measurement noise as in (1.3) and (1.4) . In this case the non-linear function f(·) in the difference equation (2.1) relates the state at time step k to the state at step k+1. It includes as parameters any driving function uk and the zero-mean process noise wk. The non-linear function h(·) in the measurement equation (2.2) relates the state to the measurement .

In practice of course one does not know the individual values of the noise and at each time step. However, one can approximate the state and measurement vector without them as

To estimate a process with non-linear difference and measurement relationships, we begin by writing new governing equations that linearize an estimate about (2.3) and (2.4) ,

Note that for simplicity in the notation we do not use the time step subscript with the Jacobians , , , and , even though they are in fact different at each time step.

Remember that in practice one does not have access to in (2.7) , it is the actual state vector, i.e. the quantity one is trying to estimate. On the other hand, one does have access to in (2.8) , it is the actual measurement that one is using to estimate . Using (2.7) and (2.8) we can write governing equations for an error process as

where and represent new independent random variables having zero mean and covariance matrices and , with and as in (1.3) and (1.4) respectively.

Notice that the equations (2.9) and (2.10) are linear, and that they closely resemble the difference and measurement equations (1.1) and (1.2) from the discrete Kalman filter. This motivates us to use the actual measurement residual in (2.8) and a second (hypothetical) Kalman filter to estimate the prediction error given by (2.9) . This estimate, call it , could then be used along with (2.7) to obtain the a posteriori state estimates for the original non-linear process as

The random variables of (2.9) and (2.10) have approximately the following probability distributions (see the previous footnote):

Given these approximations and letting the predicted value of be zero, the Kalman filter equation used to estimate is

By substituting (2.12) back into (2.11) and making use of (2.8) we see that we do not actually need the second (hypothetical) Kalman filter:

Equation (2.13) can now be used for the measurement update in the extended Kalman filter, with and coming from (2.3) and (2.4) , and the Kalman gain coming from (1.11) with the appropriate substitution for the measurement error covariance.

The complete set of EKF equations is shown below in Table 2-1 and Table 2-2 . Note that we have substituted for to remain consistent with the earlier "super minus" notation, and that we now attach the subscript to the Jacobians , , , and , to reinforce the notion that they are different at (and therefore must be recomputed at) each time step.

## (2.14) |

## (2.15) |

As with the basic discrete Kalman filter, the time update equations in Table 2-1 project the state and covariance estimates from time step k to step k+1. Again f(·) in (2.14) comes from (2.3) , and W are the process Jacobians at step k, and is the process noise covariance (1.3) at step k.

## (2.16) |

## (2.17) |

## (2.18) |

As with the basic discrete Kalman filter, the measurement update equations in
Table 2-2
correct the state and covariance estimates with the measurement
. Again h(·) in
(2.17)
comes from
(2.4)
,
and V are the measurement Jacobians at step k, and
is the measurement noise covariance
(1.4)
at step k.
[CVonline Ed. note:
While I'm not a KF expert, the Measurement Update equations seem
to have incremented the time variable *t*, so *t* in the Measurement Update equations is the
same as *t+1* in the Time Update equations.]

The basic operation of the EKF is the same as the linear discrete Kalman filter as shown in Figure 1-1 . Figure 2-1 below offers a complete picture of the operation of the EKF, combining the high-level diagram of Figure 1-1 with the equations from Table 2-1 and Table 2-2 .

Figure 2-1. A complete picture of the operation of the extended Kalman filter, combining the high-level diagram of Figure 1-1 with the equations from Table 2-1 and Table 2-2 .

An important feature of the EKF is that the Jacobian in the equation for the Kalman gain serves to correctly propagate or "magnify" only the relevant component of the measurement information. For example, if there is not a one-to-one mapping between the measurement and the state via h(·), the Jacobian affects the Kalman gain so that it only magnifies the portion of the residual that does affect the state. Of course if over all measurements there is not a one-to-one mapping between the measurement and the state via h(·), then as you might expect the filter will quickly diverge. The control theory term to describe this situation is unobservable.