Skip to content

Commit 9b4b90f

Browse files
Apply suggestions from code review
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1 parent 4f067a7 commit 9b4b90f

1 file changed

Lines changed: 18 additions & 18 deletions

File tree

doc/filters/active/AhrsMadgwickMahony.md

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -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

7575
The 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

Comments
 (0)