@@ -66,11 +66,11 @@ Both algorithms renormalize $q$ after every integration step to enforce the unit
6666
6767## Complexity Analysis
6868
69- | Case | Time | Space | Notes |
70- | -----------| ------- | -------- | ---- -----------------------------------------------------------|
71- | UpdateImu | O(1) | O(1) | Fixed multiply-add count; one inverse-sqrt normalization |
72- | UpdateMarg| O(1) | O(1) | Two objective/gradient evaluations; same asymptotic cost |
73- | Memory | — | 7 T | 4 quaternion + 3 integral bias floats; no buffers or heap |
69+ | Case | Time | Space | Notes |
70+ | ------------ | ------| -------| -----------------------------------------------------------|
71+ | UpdateImu | O(1) | O(1) | Fixed multiply-add count; one inverse-sqrt normalization |
72+ | UpdateMarg | O(1) | O(1) | Two objective/gradient evaluations; same asymptotic cost |
73+ | Memory | — | 7 T | 4 quaternion + 3 integral bias floats; no buffers or heap |
7474
7575The fixed cost makes both algorithms suitable for any loop rate the MCU can sustain, from 100 Hz audio-rate IMUs to 8 kHz flight-controller IMUs.
7676
@@ -106,14 +106,14 @@ Over time without correction this drift accumulates; with the gradient term driv
106106
107107## Variants & Generalizations
108108
109- | Variant | Key Difference |
110- | --------------------------------------| ----- -------------------------------------------------------------------------------------------------|
111- | ** 6-DOF (IMU-only)** | Accelerometer alone; roll and pitch converge, yaw is unobservable |
112- | ** 9-DOF (MARG)** | Adds magnetometer; all three angles converge given a non-disturbed field |
113- | ** Extended Kalman AHRS** | Treats noise covariances explicitly; heavier but allows systematic tuning via $Q$/$R$ matrices |
114- | ** Multiplicative EKF (MEKF)** | Kalman update on the error quaternion to preserve unit-norm; best-in-class accuracy, high cost |
115- | ** Gradient-descent with adaptive β** | Adjusts $\beta$ based on the magnitude of the gradient, reducing transient overshoot at startup |
116- | ** Second-order Runge-Kutta integration** | Reduces integration error at low update rates at the cost of one extra function evaluation |
109+ | Variant | Key Difference |
110+ | ------------------------------------------| -------------------------------------------------------------------------------------------------|
111+ | ** 6-DOF (IMU-only)** | Accelerometer alone; roll and pitch converge, yaw is unobservable |
112+ | ** 9-DOF (MARG)** | Adds magnetometer; all three angles converge given a non-disturbed field |
113+ | ** Extended Kalman AHRS** | Treats noise covariances explicitly; heavier but allows systematic tuning via $Q$/$R$ matrices |
114+ | ** Multiplicative EKF (MEKF)** | Kalman update on the error quaternion to preserve unit-norm; best-in-class accuracy, high cost |
115+ | ** Gradient-descent with adaptive β** | Adjusts $\beta$ based on the magnitude of the gradient, reducing transient overshoot at startup |
116+ | ** Second-order Runge-Kutta integration** | Reduces integration error at low update rates at the cost of one extra function evaluation |
117117
118118## Applications
119119
@@ -126,11 +126,11 @@ Over time without correction this drift accumulates; with the gradient term driv
126126
127127## Connections to Other Algorithms
128128
129- | Algorithm | Relationship |
130- | ------------------------------------------------------------------ | ------------ -------------------------------------------------------------------------------|
131- | [ Complementary Filter] ( ../ComplementaryFilter.md ) | The scalar 1-D ancestor; Madgwick/Mahony extend the idea to quaternion SO(3) |
132- | [ Extended Kalman Filter] ( ../active/ExtendedKalmanFilter.md ) | The probabilistic alternative; heavier but allows noise covariance estimation |
133- | [ Quaternion] ( ../../math/Quaternion.md ) | The state representation shared by all three-axis attitude estimators |
129+ | Algorithm | Relationship |
130+ | -------------------------------------------------------------| -------------------------------------------------------------------------------|
131+ | [ Complementary Filter] ( ../ComplementaryFilter.md ) | The scalar 1-D ancestor; Madgwick/Mahony extend the idea to quaternion SO(3) |
132+ | [ Extended Kalman Filter] ( ../active/ExtendedKalmanFilter.md ) | The probabilistic alternative; heavier but allows noise covariance estimation |
133+ | [ Quaternion] ( ../../math/Quaternion.md ) | The state representation shared by all three-axis attitude estimators |
134134
135135## References & Further Reading
136136
0 commit comments