---
title: Multiplicative Extended Kalman Filter (MEKF)
url: https://www.emergentmind.com/topics/multiplicative-extended-kalman-filter-mekf
type: topic
---

# Multiplicative Extended Kalman Filter (MEKF)

The multiplicative extended Kalman filter (MEKF) is a nonlinear stochastic filtering framework specifically tailored for state estimation on matrix Lie groups, with particular emphasis on attitude and pose estimation on SO(3) or SE(3) manifolds. Unlike the standard additive formulation, the MEKF employs a local, group-theoretic parameterization of error and updates the global state estimate via a multiplicative correction. This approach ensures consistency with the group structure, maintains constraints such as unit norm for quaternions or orthogonality for rotation matrices, and avoids the pitfalls of over-parameterization and error accumulation associated with naive additive updates. MEKF is the de facto standard in high-precision applications such as satellite attitude determination, robotic pose tracking with scan matching, and inertial navigation systems.

## 1. Mathematical Structure and State Representation

The MEKF’s fundamental principle is to separate the global state, which evolves on a nonlinear manifold (e.g., rotation group SO(3), pose group SE(3)), from a minimal, Euclidean local error state used internally by the filter’s correction step. For attitude estimation, the global state is typically given as a quaternion $q \in \mathbb{R}^4$ ($\|q\|=1$) or rotation matrix $R \in SO(3)$. The filter maintains:

- **Nominal (reference) state**: $\hat{q}$ or $\hat{R}$, representing the best current estimate.
- **Local error state**: A small-angle vector $\delta\theta \in \mathbb{R}^3$ or corresponding small error quaternion $\delta q$. The true state is related to the nominal state via
  $$
  q^\mathrm{true} = \delta q \otimes \hat{q}
  $$
  or for rotation matrices,
  $$
  R^\mathrm{true} = \hat{R} \exp S(\delta\gamma)
  $$
  where $S(\cdot)$ denotes the $3\times3$ skew-symmetric matrix mapping and $\delta\gamma$ is a small vector.

For pose estimation, the MEKF is extended to SE(3), with the state $X=(R,p)$, comprising both orientation and position, adopting multiplicative errors for orientation and additive errors for position. The error state is then stacked as $[\delta\gamma;\delta p]$ with appropriate parameterization [1503.01407].

In systems with slowly-varying instrument biases (e.g., gyroscope bias), the error state is further augmented:
$$
x = \begin{bmatrix} \delta\theta \\ \delta b \end{bmatrix}
$$

## 2. Propagation (Prediction) Step

### Continuous-Time Dynamics

MEKF propagates the global state using the system’s true nonlinear kinematics:

- For attitude: $\dot{q} = \frac{1}{2}\Omega(\omega) q$ (quaternion), $\dot{R} = R S(\omega)$ (rotation matrix).
- For pose: $\dot{R} = R S(\omega)$; $\dot{p} = R \mu$ (linear velocity in the body frame) [1503.01407].

Input measurements are modeled with additive bias and noise:
$$
\omega_{m} = \omega + b + \eta_\omega, \quad \dot{b} = \eta_b
$$
with $\eta_\omega$, $\eta_b$ being zero-mean, white Gaussian processes.

### Local Error-State Linearization

Linearization is performed about the nominal state, yielding system matrices $F$ and $G$ for the small error state. For attitude and bias estimation:
$$
\dot{\delta x} = F\delta x + G w
$$
where
$$
F = 
\begin{bmatrix}
-[\omega_m - \hat{b}]_\times & -I_3 \\
0_{3\times3} & 0_{3\times3}
\end{bmatrix}, \qquad
G = 
\begin{bmatrix}
-I_3 & 0_{3\times3} \\
0_{3\times3} & I_3
\end{bmatrix}
$$
and $w = \begin{bmatrix} \eta_\omega \\ \eta_b \end{bmatrix}$ [2111.13193, 1710.03949].

For discretization, the state transition and process-noise covariances are computed via matrix exponentiation or first-order approximations:
$$
\Phi_k = I + F\Delta t, \quad Q_k \simeq \text{discrete noise covariance}
$$
with specific formulae for bias and rate noise structures [2111.13193].

## 3. Multiplicative Measurement Update

Upon new sensor data arrival (e.g., vector observations or scan-matching pose corrections), the innovation relates measured and predicted observations. The measurement model is written in the body frame. For direction observations:
$$
y_k = A(\hat{q}_k)^\top r + v_k
$$
where $A(\hat{q}_k)$ is the rotation matrix for the estimated quaternion.

The measurement residual is linearized in terms of the local error. The sensitivity matrix (Jacobian) for small-angle error is typically $H = -[A(\hat{q}_k)^\top r]_\times$ for attitude or
$$
H_k = 
\begin{bmatrix}
2S(r_1^s) & 0_{3\times3} \\
\vdots & \vdots
\end{bmatrix}
$$
when multiple vectors are stacked [2111.13193]. For pose updates from ICP- or vision-based scan-matching, the innovation is parameterized via right-invariant errors on $SO(3)$ and additive position [1503.01407].

Crucially, the multiplicative update is realized by retraction:
- Attitude update: $\hat{q}_{k}^+ = \delta q \otimes \hat{q}_{k}^-$, with $\delta q$ constructed from the estimated correction $\delta x$.
- Matrix form: $\hat{R}_k^+ = \hat{R}_k^- \exp S(\delta\theta_k)$.
- Position and bias updates remain additive.

After each update, the error state is reset and covariance is optionally “re-projected” to account for nonlinear coordinate changes [1710.03949].

## 4. Covariance and Algorithmic Details

The error-state covariance evolves according to the standard or Joseph-form EKF recursion:
$$
P_k^+ = (I - K_k H_k)P_k^-(I - K_k H_k)^\top + K_k R_k K_k^\top
$$
where $K_k$ is the Kalman gain, $R_k$ the measurement noise, and $H_k$ the current Jacobian.

When the state is reset multiplicatively, the covariance requires a congruence transformation to maintain consistency with the new error-state basis:
$$
P_k^{++} = M P_k^+ M^\top
$$
where $M$ is a function of the applied correction and is derived analytically [1710.03949].

Algorithmic steps, as implemented in practice, follow the cycle:
1. Read noisy sensor inputs (gyro, odometry, etc.).
2. Propagate the nominal global state.
3. Propagate the error-state covariance.
4. Upon new observation:
   - Compute measurement residual and innovation.
   - Form and apply the Kalman gain.
   - Retract the correction multiplicatively to the global state.
   - Reset error state; update covariance.

Explicit pseudocode and practical steps for satellite attitude (with bias), including quaternion propagation, matrix assembly, and in-place renormalization, are detailed in [2111.13193].

## 5. Extensions: Trajectory-Independent and Geometric MEKF

The trajectory-dependence (i.e., dependence on the nominal state) in traditional MEKF measurement models can induce inconsistency for large initial errors. Recent approaches establish **trajectory-independent linearizations** by fully exploiting the group-affine property of the attitude kinematics:
- Traditional: $H_k = [(\hat{A}_k r_k)\times,\, 0_{3\times3}]$.
- Trajectory-independent: $H_k = [b_k\times,\,0_{3\times3}]$, with $b_k$ the measured vector [2110.13666].

This adjustment yields first-order error dynamics that are exact irrespective of estimation errors, significantly improving convergence under poor initialization and large misalignment scenarios. Monte Carlo and field-testing demonstrate robust convergence and sub-degree accuracy, even in adversarial conditions [2110.13666].

The equivalence of the MEKF and the geometric EKF (GEKF) has been rigorously established when covariance resets after multiplicative correction are performed consistently [1710.03949]. Thus, “geometric MEKF” (GMEKF) refers to this fully consistent, geometry-respecting formulation.

## 6. Performance Analysis and Practical Outcomes

Performance assessments across satellite and robotic domains consistently show that MEKF achieves superior estimation accuracy and uncertainty quantification compared to the additive EKF (AEKF). Metrics such as attitude RMSE (root-mean-square error), $\|P\|$ (covariance norm), and real-time cycle cost have been benchmarked:

| Parameter                 | MEKF    | AEKF   |
|---------------------------|---------|--------|
| Attitude RMSE [deg]       | 0.12    | 0.75   |
| Covariance norm $\|P\|$   | 0.010   | 1.000  |
| Update time [s]           | 0.012   | 0.002  |

The MEKF’s computational cost is only marginally higher and generally negligible for practical embedded systems. In satellite attitude scenarios, MEKF maintains sub-degree accuracy with low drift, and experiments confirm rapid recovery after periods of degraded observation (e.g., Sun occultation) [2307.06300, 2111.13193].

Scan-matching-aided localization experiments show MEKF delivers sub-5 cm RMS error and ≈1° heading accuracy on straight-line tests. However, its performance degrades with highly nonlinear trajectories (e.g., circular motion), motivating further developments such as the invariant EKF (IEKF) which better handles nonlinearity in the presence of large attitude error [1503.01407].

## 7. Generalizations and Geometric Stability

The Generalized $SO(3)$-MEKF introduces curvature correction terms to the filter’s gain and Riccati equations, thereby ensuring almost global uniform asymptotic stability (AGUAS) except at singular initializations (i.e., 180° misalignment) [2503.08255]. Specifically, the gain and covariance evolution include error-state dependent matrices reflecting $SO(3)$ curvature:
$$
[G_q\ G_b] = \tfrac12[\tr[M]I - M + e_Me_M^\top,\ \sqrt{1+\tr[M]}I]P\begin{bmatrix}I\ 0\end{bmatrix}Q_3^{-1}
$$
and the Riccati equation scales the process and measurement noise by geometric terms. For small errors, these reduce to the standard MEKF equations; for large errors, they guarantee global convergence in the absence of measurement singularity.

Simulation studies show that the generalized MEKF matches standard MEKF performance in both transient and steady-state regimes but benefits from global stability guarantees [2503.08255].

---

## References

- [1503.01407] Invariant EKF Design for Scan Matching-aided Localization
- [2111.13193] Attitude determination for nano-satellites—II. Dead reckoning with a multiplicative extended Kalman filter
- [2110.13666] MEKF Ignoring Initial Conditions for Attitude Estimation Using Vector Observations
- [1710.03949] Alternate Derivation of Geometric Extended Kalman Filter by MEKF Approach
- [2503.08255] Geometric Nonlinear Filtering with Almost Global Convergence for Attitude and Bias Estimation on the Special Orthogonal Group
- [2307.06300] A Comparative Analysis Between the Additive and the Multiplicative Extended Kalman Filter for Satellite Attitude Determination

Source: https://www.emergentmind.com/topics/multiplicative-extended-kalman-filter-mekf