What is Extended Kalman Filter?

An Extended Kalman Filter is a nonlinear state estimator that propagates a mean through nonlinear dynamics and uses local first-order Jacobians to approximate covariance and measurement updates.

Quick Facts

SpecificationOfficial Specification

How It Works

Linearize nonlinear dynamics around the estimate

For x_k = f(x_(k-1), u_k) + w_k, the EKF predicts the mean with f but approximates covariance using the Jacobian F_k = df/dx evaluated at the current estimate: P_k^- = F_k P_(k-1) F_k^T + Q. A nonlinear noise mapping needs its own Jacobian and transformed covariance; silently assuming additive noise changes the model.

Särkkä and Svensson's treatment derives EKF as a local Gaussian approximation. The Taylor expansion is trustworthy only near its expansion point, so broad, curved, discontinuous, or multimodal uncertainty can be represented badly.

Update with a linearized measurement model

For y_k = h(x_k) + v_k, compute the predicted measurement h(m_k^-), measurement Jacobian H_k = dh/dx, innovation y_k - h(m_k^-), and S_k = H_k P_k^- H_k^T + R. The gain then uses the same algebra as a linear Kalman update.

Jacobians must match units, coordinate conventions, angle wrapping, and the exact point used by the mean prediction. Automatic differentiation removes manual derivative errors but not a poor parameterization. Orientation and other manifold-valued states often need an error-state or manifold-aware formulation rather than subtracting coordinates naively.

Detect inconsistency before the filter diverges

NASA's Artemis-1 EKF report illustrates that production filters combine dynamics, IMU propagation, multiple measurement types, covariance tracking, and explicit sensor-error states. That engineering context is much richer than inserting a Jacobian into textbook equations.

Monitor innovation whiteness, normalized innovation squared, state-error consistency when truth exists, covariance eigenvalues, rejected measurements, Jacobian conditioning, and sensitivity to initialization and Q/R. Compare against a linear Kalman special case, an Unscented Kalman Filter, and a Particle Filter on the same simulated model. Repeated covariance collapse or innovation bias is evidence to revise the model, not merely inflate noise until plots look smooth.

Key Characteristics

  • Propagates the state mean through nonlinear transition functions
  • Uses first-order Jacobians to approximate covariance propagation
  • Linearizes nonlinear observation functions at the predicted estimate
  • Retains a single Gaussian approximation at each time step
  • Supports recursive real-time state estimation
  • Can become inconsistent or diverge under severe nonlinearity

Common Use Cases

  1. Robot localization with nonlinear motion or range-bearing sensors
  2. Inertial and satellite navigation sensor fusion
  3. Online parameter and bias estimation in dynamic systems
  4. Tracking with differentiable nonlinear measurement models
  5. Embedded estimation under constrained compute budgets

Example

loading...
Loading code...

Frequently Asked Questions

Is an Extended Kalman Filter exact for nonlinear systems?

No. It propagates one Gaussian approximation and keeps only first-order terms around the current estimate. It becomes the ordinary exact Kalman recursion in the linear Gaussian special case, but nonlinear accuracy is model- and state-dependent.

Where should EKF Jacobians be evaluated?

The transition Jacobian is normally evaluated at the previous filtered estimate used for prediction, while the measurement Jacobian is evaluated at the predicted estimate. The equations must remain consistent with the chosen additive or non-additive noise model.

Why can an EKF diverge?

Poor initialization, strong curvature, unobservable states, wrong noise covariances, timing or frame errors, outliers, and numerical loss of covariance validity can make the filter overconfident. Once covariance shrinks incorrectly, later measurements may receive too little weight to recover.

When should an Unscented Kalman Filter replace an EKF?

A UKF is worth testing when reliable Jacobians are difficult or local first-order propagation distorts the mean and covariance. It still assumes a Gaussian summary and introduces sigma-point scaling and matrix-factorization costs, so it is not universally superior.

How should an EKF implementation be tested?

Verify analytic Jacobians against finite differences or automatic differentiation, reduce the model to a linear case with a known Kalman result, run Monte Carlo truth simulations, and inspect innovation consistency, state error, covariance validity, and sensitivity to initialization.

Related Terms

Related Articles