Forward-Backward Map Matching for Airborne Magnetic Anomaly Navigation
Authors: Joseph O'Leary, Tapio Simula, Tom Kimpson, Corey Davey, Wenchao Li, Andrew D. Greentree, Allison Kealy
Organizations: Innovative Planet Research Institute, Swinburne University of Technology, Melbourne, Australia · School of Physics, University of Melbourne, Melbourne, Australia · Optical Sciences Centre, Swinburne University of Technology, Melbourne, Australia · School of Mathematics and Statistics, The University of Melbourne, Melbourne, Australia · ARC Centre of Excellence for the Mathematical Analysis of Cellular Systems (MACSYS), The University of Melbourne, Melbourne, Australia · Department of Physics, School of Science, RMIT University, Melbourne, Australia
Airborne magnetic anomaly navigation provides a passive, unjammable alternative to Global Navigation Satellite Systems positioning by matching magnetometer measurements against a lithospheric magnetic anomaly map. Existing map-matching algorithms either assume a Gaussian posterior (extended Kalman filter), require Monte Carlo sampling (particle filter), or discard posterior uncertainty in favour of a single optimal path (Viterbi algorithm). Here we formulate map matching as inference on a chain-structured factor graph and solve it segment by segment using the forward-backward algorithm, which yields a discrete posterior over candidate positions and its Shannon entropy Ht at time t. Over the Renfrew\_395 map, 103 synthetic trials yield a median position error of 32.7 m, 91% below the median inertial drift of 362 m. On these trials and 103 flight paths, the median error is 43% below the extended Kalman filter and particle filter. Across these paths, a threshold on segment-level entropy detects 47% of segments with errors above two map cells and 94% of those above three, at a 10% false-alarm rate. The foregoing results indicate that Ht provides a truth-free diagnostic of map-conditioned navigation ambiguity.
Figures & tables
Figure 1: A chain-structured factor graph with prior f0 , measurement fm(ℓ) , and transition fτ factors. Hidden states st1,…,stT (solid circles) are connected by transition factors fτ (filled squares). Two families of measurement factors, fm(1) and fm(2) (dashed open squares), link each hidden state to corresponding observations zt(1) and zt(2) (dashed circles). A prior factor f0 (open square with solid border) is attached to the initial state
Figure 2: Forward and backward sweeps on the chain of Figure 1 , with one measurement factor per timestep. The forward variable αtk collects the prior factor f0 and the factors up to tk (blue), and the backward variable βtk collects the factors after tk (orange). The forward sweep computes αt1,…,αtk by Equations ( 4 ) and ( 5 ), and the backward sweep computes βtT,…,βtk by Equations ( 6 ) and ( 7 ). The normalised product of αtk and βtk at stk (shaded) is the marginal posterior γtk of Equation ( 3 )
Figure 3: Schematic of the candidate set Stk on a 5×5 grid at three successive timesteps t1 , t2 , and t3 . Each grid is centred on the map node nearest to s^tkINS+Δs^ (grey points, dashed curve), the INS position plus the correction carried from the previous segment [Equations ( 12 ) and ( 13 )]. The shading is the marginal posterior density p(stk∣zT) , and γtk(j) [Equation ( 3 )] is its value at the cell centres, normalised over the grid. The marginal MAP estimate s^tkMAP [Equation ( 9 ); blue squares, solid curve] is the cell of highest γtk at each timestep. The Viterbi path of Appendix A , the most probable sequence of cells over the whole segment, does not in general pass through these cells. The MMSE estimate s^tkMMSE [Equation ( 8 ); orange points, solid curve] is the posterior-weighted average over the candidate set. The 5×5 grid is presented as a visual aid; the results in Sections 4 and 5 adopt n=101
Figure 4: The Renfrew_395 aeromagnetic anomaly map Banom(ϕ,λ) (units: nT), overplotted with the ground-truth trajectory stk (black, solid curve) and the INS position estimate s^tkINS (red, dashed curve). The start and finish positions are marked with a white circle and yellow diamond, respectively. Geodetic longitude λ (units: degrees) is reported on the horizontal axis and geodetic latitude ϕ (units: degrees) on the vertical axis. The colour bar spans the anomaly field at the flight altitude h=1000 m over the plotted region, from its smallest to its largest map value
Parameter
Symbol
Value
Units
Initial position uncertainty
σpos,0
100
m
Initial velocity uncertainty
σvel,0
0.01
m s -1
Initial attitude uncertainty
σatt,0
0.01
deg
Velocity random walk
σVRW
2.38×10−4
m s -3/2
Angular random walk
σARW
5.81×10−7
rad s -1/2
Accelerometer bias
σa
2.45×10−4
m s -2
Table 1: INS error model parameters for the representative realisation.
Parameter
Symbol
Value
Units
White measurement noise variance
σmeas2
1.0
nT 2
FOGM amplitude
σS
1.0
nT
FOGM correlation time
τS
600
s
Table 2: Magnetic measurement model parameters.
Parameter
Symbol
Value
Units
Measurement noise (evidence maximum)
σmag
0.82
nT
Velocity uncertainty (evidence maximum)
σv
3.26
m s -1
Grid dimension
n
101
–
Map grid spacing
Δcell
29.3
m
Segment length (derived)
T
40
–
Sampling interval
ΔtFG
5.0
s
Table 3: Factor graph parameters for the representative test case.
Figure 5: Position error epos(t) (units: m) versus time t (units: min) for the representative test case of Section 4.2 . The error of the INS position estimate is plotted as a red, dashed curve and that of the forward-backward MMSE estimate (Equation 8 ) as a cyan, solid curve. The errors of the forward-only PMF (orange, solid curve), the bootstrap particle filter with 105 particles (green, dotted curve), and the Viterbi path (purple, solid curve) of Appendix A are overplotted for comparison. The M=NFG/T=6 segment boundaries (Section 3.7 ) are overplotted as grey, dashed, vertical lines. The vertical axis is plotted on a logarithmic scale and the horizontal axis on a linear scale. The factor graph parameters adopted in this section are listed in Table 3
Figure 6: Shannon posterior entropy Ht [Equation ( 10 ); units: nats] for the representative test case of Section 4.2 . Left panel: Ht versus the per-timestep Fisher trace tr(Jt) (units: km -2 ) on a logarithmic horizontal axis, with one point per timestep ( NFG=240 ). Middle panel: segment-level median entropy Hmed(m)=mediant∈T(m)Ht versus the segment-level minimum eigenvalue of the accumulated Fisher information λmin[J(m)] (units: km -2 ) on a logarithmic horizontal axis, with one point per segment ( M=6 ). The vertical bars denote the 16th to 84th percentile of Ht within each segment. Right panel: Ht versus position error epos(t) (units: m) on a linear horizontal axis, with one point per timestep ( NFG=240 )
Figure 7: Per-trial median posterior entropy Hmed=mediantHt [Equation ( 10 ); units: nats] versus per-trial median position error emed=mediantepos,t (units: m) for 103 independent realisations of the INS and magnetometer error processes on a fixed flight path (Section 4.2 ). Each point corresponds to a single sensor-error realisation, with the medians taken over all NFG=240 timesteps within each trial. Points are coloured by percentile bands of emed across trials: green points denote trials below the 84th percentile ( emed≤40.9 m), yellow points denote trials between the 84th and 97.5th percentiles ( 40.9 – 50.6 m), orange points denote trials between the 97.5th and 99.85th percentiles ( 50.6 – 64.6 m), and red points denote trials above the 99.85th percentile ( >64.6 m). Both axes are plotted on linear scales. The factor graph configuration ( n=101 , T=40 , M=6 ) is identical across all trials
Figure 8: Within-segment median position error emed(m)=mediant∈T(m)epos,t (units: m) for 103 distinct flight paths over the Renfrew_395 map with a common sensor-error realisation. Each trajectory contributes M=6 segments, yielding 6×103 segment-level samples in total. In both panels, individual segment observations are overlaid as faint markers, the solid black curve traces the binwise conditional median, and the shaded band spans the 16th to 84th percentile range within each bin. Left panel: the horizontal axis is the segment-level minimum eigenvalue of the accumulated Fisher information λmin[J(m)] (units: km -2 ), plotted on a logarithmic scale. Right panel: the horizontal axis is the within-segment median posterior entropy Hmed(m)=mediant∈T(m)Ht [Equation ( 10 ); units: nats], plotted on a linear scale. The factor graph configuration ( n=101 , T=40 , M=6 ) is identical across all trials; see Table 3
Median error (m)
Estimator
Sensor-error realisations
Flight paths
Run time (s)
Factor graph, MMSE
32.8
23.8
0.022–0.032
Factor graph, marginal MAP
35.5
27.0
0.022–0.032
Viterbi path
38.3
30.5
0.019–0.022
PMF (forward only)
57.7
41.9
0.013–0.020
EKF
57.9
41.6
<10−4
Table 4: Median position error of each estimator, pooled over all timesteps and trials, for the 103 sensor-error realisations of Section 5.1 and the 103 flight paths of Section 5.2 , and run time per timestep on one core. The EKF and the particle filter use the same two-dimensional model, parameters, and measurements as the factor graph. The PMF, the Viterbi path, and the factor graph use the same grids and pruning.
Figure 9: Detection rate PD(κ) versus false-alarm rate PFA(κ) of a threshold κ on the within-segment median posterior entropy Hmed(m)=mediant∈T(m)Ht [Equation ( 10 ); units: nats], for the 6×103 segments of the 103 sensor-error realisations of Section 5.1 (left panel) and the 103 flight paths of Section 5.2 (right panel). A segment has a large error when its median position error emed(m) exceeds 40.9 m (orange curves), two cells, i.e. 58.5 m (blue curves), or three cells, i.e. 87.8 m (black curves). Solid curves: entropy of the posterior γtk of the factor graph. Dotted curves: entropy of the normalised forward variable αtk . The grey, dashed diagonal corresponds to a flag independent of the error
Appendix figures & tables3 assets
Supplementary material from the paper’s appendix.
Appendix
Figure 10: Effect of the pruning threshold αprune on 102 sensor-error realisations of the representative test case of Section 4 . Left panel: exclusion rate Pexcl , the percentage of timesteps at which the cell nearest the true position is excluded from the active set Atk . Middle panel: entropy bias ΔH (units: nats), the change in the flight-mean entropy relative to the unpruned run. Right panel: change in the median position error Δepos (units: m) relative to the unpruned run. Points mark the median over the realisations, and bars span the 16th to 84th percentiles. The dashed vertical line marks αprune=10−2 , the setting adopted in this paper. The horizontal axes are plotted on a logarithmic scale
Figure 11: Sensitivity of the median position error epos (units: m) to the noise parameters for the representative test case of Section 4 . Left panel: median error versus σv (units: m s -1 ) at σ^mag=0.82 nT. Middle panel: median error versus σmag (units: nT) at σ^v=3.26 m s -1 . Right panel: logarithm of the evidence of Equation ( 37 ) (units: nats) on the 5×5 grid of Appendix C.2 , relative to its maximum; values below −100 nats are shown at −100 nats. The orange circle marks the evidence maximum in each panel. The left and middle panels share the vertical axis. The axes carrying σv and σmag are plotted on a logarithmic scale
Case
δBrms (nT)
Median error (m)
Change (m)
No mismatch
0
33.2
–
Measurements from Renfrew_555
0.11
33.4
0.0 ( −1.5 , +1.7 )
Map continued to h+50 m
1.96
80.9
+45.7 ( +31.8 , +69.9 )
Map continued to h+100 m
3.82
128.5
+90.9 ( +73.7 , +132.4 )
Appendix
Table 5: Magnetic map mismatch on the first 102 trials of Section 5.1 , each paired with the run without mismatch. δBrms is the root-mean-square map error along the true track at the flight altitude. The median error is pooled over all timesteps and trials. The change is the per-trial median error minus that of the paired run: median over trials, with the 16th and 84th percentiles in brackets. The median INS error on these trials is 341 m.
Aerospace Information Research Institute, Chinese Academy of Sciences, Beijing 100094, China · School of Electronic Engineering, Beijing University of Posts and Telecommunications, Beijing 100876, China