Skip to content

Global Positioning System: Theory and Applications, Volume I

Citation

  • Parkinson, B. W. & Spilker, J. J. (eds.) (1996). Global Positioning System: Theory and Applications, Volume I. American Institute of Aeronautics and Astronautics.

Relevance to Hifuku

Geometric dilution of precision (GDOP) is a scalar from satellite navigation that measures how strongly a position estimate is constrained by the geometry of the range measurements, separate from the accuracy of the ranges themselves. A receiver that sees its satellites clustered in one part of the sky is poorly constrained across the line of sight, and GDOP is large; a well-spread configuration gives a small GDOP.

Hifuku places a query tree by trilateration from its three anchor distances (see The Three-Anchor 2D Chart). The same geometric weakness applies: when the query sees the three anchors at a poor spread of angles, its in-plane position is weakly constrained. Hifuku reports GDOP as the in-plane companion to the out-of-plane residual \( z \). Both are measure-only diagnostics, computed offline from the stored coordinates. No decision in the sampling loop reads either.

Reasoning step: the dilution factor

With unit line-of-sight vectors \( u_i = (X - P_i)/\lVert X - P_i \rVert \) stacked as the rows of \( H \) (shape \( 3 \times 2 \)),

\[\mathrm{GDOP} = \sqrt{\operatorname{trace}\big((H^\top H)^{-1}\big)}.\]

For the \( 2 \times 2 \) normal matrix \( H^\top H \) with diagonal entries \( a, c \) and off-diagonal \( b \), the quantity under the square root is \( (a + c)/(ac - b^2) \), which is exactly the determinant and cofactor computation in the code. At the centroid of an equilateral anchor triangle the three lines of sight are \( 120^\circ \) apart, so \( H^\top H = \tfrac{3}{2} I \) and \( \mathrm{GDOP} = 2/\sqrt{3} \approx 1.155 \), the minimum. The value grows without bound as the query leaves the triangle and the lines of sight become near-parallel. The trace identity, the centroid value, and the growth are checked in parkinson1996gdop-dilution.py.