What is Iterated Extended Kalman Filter?
An Iterated Extended Kalman Filter is an Extended Kalman Filter variant that repeatedly relinearizes a nonlinear measurement model within one update to refine the posterior state estimate.
Quick Facts
| Specification | Official Specification |
|---|
How It Works
Interpret the update as nonlinear least squares
For a Gaussian prior and measurement z = h(x) + v, the update minimizes the prior-weighted displacement plus the measurement residual weighted by R^-1. At iterate x_i, the Jacobian H_i defines a Gauss-Newton step. The correction must retain the original predicted mean, including the term that compensates for linearizing around x_i rather than around that prior.
Bell and Cathey's 1993 paper establishes the iterated update as a Gauss-Newton method for approximating a maximum-likelihood estimate. Reapplying a standard EKF update while replacing the prior with each intermediate state can double-count the same measurement and is not the same algorithm.
Relinearize one measurement with explicit controls
Initialize the inner loop at the predicted state, evaluate h and its Jacobian, solve the weighted correction, and repeat until the state increment or objective change is small. Implementations need a maximum iteration count, a scale-aware tolerance, finite-value checks, and often damping or line search when the local quadratic model is unreliable.
The time prediction normally runs once per observation. Iterating the transition and adding process noise repeatedly would invent extra elapsed time. The final covariance must follow a documented convention based on the final linearization; it is not automatically a full nonlinear posterior covariance.
Treat convergence as evidence, not a guarantee
A 2025 GNSS reconciliation study writes the IEKF update as nonlinear least squares and demonstrates its use with multiple information sources and constraints. Its task results do not imply that every nonlinear measurement will converge from every initialization.
Log iteration count, objective reduction, final step norm, innovation statistics, damping events, and rejected updates. Compare one-pass EKF, IEKF, and a trusted batch optimizer from the same prior. Multiple starts or a broader posterior method may be necessary when the objective is non-convex, ambiguous, discontinuous, or multimodal.
Key Characteristics
- Repeats the measurement linearization within a single filtering update
- Uses the same predicted prior and observation throughout the inner loop
- Corresponds locally to a Gauss-Newton posterior-mode calculation
- Reduces to an ordinary EKF update after one iteration
- Requires stopping, damping, divergence, and iteration-budget policies
- Still represents uncertainty with a local Gaussian approximation
Common Use Cases
- Range, bearing, and pseudorange updates with strong local curvature
- Map-constrained localization with nonlinear measurement residuals
- Sensor fusion where one-pass EKF linearization is visibly biased
- Real-time approximation to a small nonlinear least-squares update
- Benchmarking filter updates against batch MAP optimization
Example
Loading code...Frequently Asked Questions
How is an Iterated EKF different from a standard EKF?
A standard EKF linearizes the measurement once at the predicted state. An Iterated EKF repeatedly linearizes the same measurement around improved intermediate estimates while keeping the predicted prior fixed, trading extra computation for a potentially better local posterior mode.
Is IEKF the Iterated or Invariant Extended Kalman Filter?
Both names are abbreviated IEKF in published work. The iterated filter repeats a nonlinear measurement update; the invariant filter defines errors on a Lie Group and exploits symmetry. Code, documentation, and experiments should spell out the intended method.
Does the iterated update always converge?
No. Gauss-Newton is local and can oscillate, diverge, or settle at an undesirable stationary point under poor initialization, weak geometry, outliers, or strong nonlinearity. Use iteration limits, tolerances, objective checks, and damping when appropriate.
Does each IEKF iteration reuse the measurement?
It relinearizes the same posterior objective rather than treating the measurement as newly independent data. The prior mean and covariance remain those from prediction. Sequentially updating the prior with the same observation would incorrectly count that evidence multiple times.
When is a batch optimizer preferable?
A batch or sliding-window optimizer is preferable when many states and constraints must be jointly relinearized, delayed measurements matter, or the local update needs robust losses and richer convergence control. IEKF remains attractive when one bounded recursive update meets latency needs.