OpenGNSSLabSPP

Module 9 - Geometry and quality

DOP Calculation

Turn satellite geometry into GDOP, PDOP, HDOP, VDOP, and TDOP.

Difficulty

Intermediate

Estimated time

18 minutes

Series position

9 of 10

Dilution of precision, in brief

DOP describes how satellite geometry amplifies a normalized observation uncertainty. PDOP concerns three-dimensional position; HDOP and VDOP require the spatial covariance in local east, north and up axes. DOP is not a measured position error or a standalone accuracy guarantee.

Prepared by OpenGNSSLabUpdated Sources, reproducibility and corrections

Learning objectives

  • Connect DOP to the inverse normal matrix.
  • Read DOP values from covariance diagonal terms.
  • Interpret good and poor geometry numerically.

DOP is geometry amplification

Measurement noise is not the only driver of final position accuracy. Satellite geometry determines how strongly that noise is amplified into the estimated position and receiver clock.

In least squares, that amplification appears in the covariance-like matrix obtained from the design matrix.

Core definition

Qxx=(ATA)−1Q_{xx}=(A^TA)^{-1}
Classical DOP assumes independent observations with equal variance and clock error expressed in range units. Relative weights produce weighted geometry factors; absolute measurement precision belongs in the formal covariance.

Horizontal and vertical require a local frame

If the design matrix uses ECEF X, Y, Z, rotate its 3 × 3 position block into local east, north, up before computing HDOP or VDOP. ECEF Z is not the receiver's local vertical. PDOP is unchanged by this orthogonal rotation.

Let E contain local east, north, up unit vectors as rows expressed in ECEF. Then Q_ENU = E Q_XYZ Eᵀ. For a design matrix already in ENU, no additional rotation is needed.

DOP formulas

GDOP=qxx+qyy+qzz+qttPDOP=qxx+qyy+qzzHDOP=qee+qnnVDOP=quuTDOP=qtt\begin{aligned} GDOP &= \sqrt{q_{xx}+q_{yy}+q_{zz}+q_{tt}}\\ PDOP &= \sqrt{q_{xx}+q_{yy}+q_{zz}}\\ HDOP &= \sqrt{q_{ee}+q_{nn}}\\ VDOP &= \sqrt{q_{uu}}\\ TDOP &= \sqrt{q_{tt}} \end{aligned}

Step 1

Read a covariance diagonal

For a compact illustrative example, assume the geometry matrix is already expressed in local east, north, up and clock range, with the following diagonal entries in its inverse normal matrix. These numbers are supplied teaching inputs rather than a satellite-derived epoch trace.

diag⁡(QENU,t)=[1.44, 1.96, 4.00, 0.81]\operatorname{diag}(Q_{ENU,t})=[1.44,\ 1.96,\ 4.00,\ 0.81]

Step 2

Compute the DOP values

Use the square root of the relevant diagonal sums.

HDOP=1.44+1.96=1.84HDOP=\sqrt{1.44+1.96}=1.84
VDOP=4.00=2.00VDOP=\sqrt{4.00}=2.00
PDOP=1.44+1.96+4.00=2.72PDOP=\sqrt{1.44+1.96+4.00}=2.72
TDOP=0.81=0.90TDOP=\sqrt{0.81}=0.90
GDOP=1.44+1.96+4.00+0.81=2.87GDOP=\sqrt{1.44+1.96+4.00+0.81}=2.87

Interpreting values

DOP rangeGeometry qualityMeaning
1 to 2ExcellentSatellites are well spread.
2 to 5GoodUsable for most routine positioning.
5 to 10ModerateErrors are visibly amplified.
10 to 20PoorPosition quality warning.
> 20Very poorPositioning is unreliable.

Common mistake

DOP is dimensionless. If your pseudorange standard deviation is 1.5 m and PDOP is 2.72, the rough 3D position precision estimate is 4.08 m, not 2.72 m.

What you should understand now

  • DOP comes from geometry, not from atmospheric modeling.
  • The same design matrix used in SPP also gives DOP after convergence.
  • Good satellite spread lowers the diagonal terms of the inverse normal matrix.

Related tutorials

Help improve this tutorial

Point out numerical ambiguity, missing prerequisites, or a step that needs a fuller derivation.

Primary sources and further reading

The specifications and research below support the model and terminology. Numerical exports and teaching assumptions are documented in the lesson itself.

Browse the scientific reference library →

Continue with the numbers

GNSS terms and units · Report a correction