Groves, Chapter 7

GNSS Processing, Errors, and Geometry

Satellite orbits, receiver hardware, signal tracking, range errors, DOP, and the navigation processor.

Prerequisites: Chapter 6 (GNSS signals, pseudo-range concept).
9
Chapters
2
Simulations
9
Quizzes

Chapter 0: Satellite Geometry

Before computing a position fix, the navigation processor must know where each satellite is. The satellite position is computed from ephemeris parameters broadcast in the navigation message — a set of 16 quasi-Keplerian orbital parameters.

A satellite orbit is an ellipse with the Earth at one focus. The key parameters:

ParameterDescribes
Semi-major axis (a)Size of the orbit
Eccentricity (eo)Shape (0 = circle, >0 = ellipse)
Inclination (i)Tilt of orbital plane to equator
Right ascension (Ω)Longitude where orbit crosses equator northbound
Argument of perigee (ω)Orientation of ellipse within the plane
Mean anomaly (M0)Satellite position at reference time

Nine additional parameters correct for Earth's non-uniform gravity, solar radiation, and other perturbations. The range from user to satellite and the line-of-sight vector are computed from the position difference.

Elevation and azimuth: The elevation is the angle above the local horizontal. Low-elevation satellites (<5–10°) are typically excluded (the "mask angle") because their signals pass through more atmosphere and are more susceptible to blockage and multipath.
Check: What information does the satellite ephemeris provide?

Chapter 1: Dilution of Precision (DOP)

Even with identical range measurement quality, the geometry of the visible satellites dramatically affects position accuracy. This effect is quantified by the dilution of precision (DOP).

Imagine two satellites close together in the sky: their range circles nearly overlap, so the intersection region is long and thin — poor geometry. Satellites spread across the sky give a tight, well-defined intersection — good geometry.

σposition = DOP × σrange

DOP is computed from the geometry matrix H (line-of-sight unit vectors plus clock column). Lower DOP = better geometry.

DOP TypeMeasuresTypical Value
GDOPOverall (position + time)2–6
PDOP3D position only1.5–4
HDOPHorizontal position1–2
VDOPVertical position1.5–4
TDOPTime (clock)1–3
Vertical is always worse: Satellites are always above you, never below. This means the vertical geometry is inherently weaker than horizontal, resulting in VDOP > HDOP. Vertical accuracy is typically 1.5–2× worse than horizontal.
Check: Why is GNSS vertical accuracy worse than horizontal?

Chapter 2: Receiver Hardware

GNSS receiver hardware forms the signal processing chain from antenna to digital baseband:

ComponentFunction
AntennaConverts RF signals to electrical. RHCP (right-hand circular polarization). Gain pattern matters for multipath rejection.
Reference oscillatorProvides the receiver's time reference. Crystal (cheap, drifty) or atomic (expensive, stable). The clock offset is solved as a navigation unknown.
Front-endAmplifies (LNA), filters (bandpass), downconverts to intermediate frequency, and digitizes (ADC) the signal.
Baseband processorCorrelates the digitized signal with local replicas of the PRN code and carrier. This is where acquisition and tracking happen.

The correlator is the heart of the receiver. It multiplies the incoming signal by a locally generated replica code at different phase offsets. When the phases match, correlation is maximized and the signal emerges from the noise.

Check: What does the baseband processor do?

Chapter 3: Signal Acquisition

Before tracking a satellite, the receiver must acquire its signal — find the correct PRN code phase and carrier Doppler frequency.

This is a 2D search problem:

DimensionSearch SpaceResolution
Code phaseFull code length (e.g., 1023 chips for GPS C/A)½ chip steps
Doppler frequency±5 kHz (satellite motion + receiver motion)~500 Hz steps

For each candidate (code phase, Doppler), the receiver correlates for a period (typically 1 ms for GPS C/A code). If the correlation exceeds a threshold, the signal is detected. The receiver then refines the estimates and transitions to tracking mode.

Cold start (no prior information): must search all satellites, all code phases, all Doppler bins. Takes 30–60 seconds.

Warm/hot start (approximate position and time known): search space is greatly reduced. Can acquire in seconds.

Assisted GNSS (A-GNSS): A server provides ephemeris and approximate position via a cellular network, enabling fast acquisition in weak-signal environments like indoors.

Check: What two dimensions must be searched during GNSS signal acquisition?

Chapter 4: Signal Tracking

Once acquired, the receiver must continuously track the signal — maintaining lock on the code phase and carrier phase/frequency as they change.

Code tracking uses a delay lock loop (DLL). Three correlators (early, prompt, late) straddle the correlation peak. The difference between early and late power steers the code phase to stay centered.

Carrier tracking uses a phase lock loop (PLL) or frequency lock loop (FLL). PLL tracks the carrier phase (most accurate but sensitive to dynamics). FLL tracks frequency (more robust to dynamics, less accurate). Carrier tracking gives very precise range-rate measurements.

Carrier-phase measurements: Tracking the carrier phase gives pseudo-range measurements with millimeter-level noise (vs. meter-level for code). But there is an unknown integer number of carrier wavelengths in the range — the integer ambiguity — which must be resolved for absolute positioning.

Key insight: Code tracking gives absolute range (meters accuracy). Carrier tracking gives range change (millimeters accuracy). Combining them: code for absolute, carrier for precision — this is the basis of advanced GNSS positioning.
Check: What is the integer ambiguity in carrier-phase measurements?

Chapter 5: Range Error Sources

The pseudo-range measurement is corrupted by multiple error sources:

Error SourceTypical MagnitudeMitigation
Satellite clock & ephemeris1–3 mControl segment corrections, differential GNSS
Ionosphere delay2–30 mDual-frequency measurements, models (Klobuchar)
Troposphere delay2–10 mAtmospheric models (Saastamoinen, Hopfield)
Tracking noise0.1–1 m (code)Narrow correlator, longer integration
Multipath0.5–100+ mAntenna design, receiver techniques, mapping

Ionosphere: Free electrons in the ionosphere (60–1,000 km altitude) slow the signal's code but advance its carrier phase. The delay depends on total electron content (TEC) and is proportional to 1/f², so dual-frequency receivers can measure and remove it.

Troposphere: The neutral atmosphere (0–50 km) delays the signal independently of frequency. Cannot be removed by dual-frequency, only modeled. Worse at low elevation angles.

Multipath: Signals reflected off buildings, terrain, or the vehicle arrive later than the direct signal, distorting the correlation peak and biasing the range measurement. This is the hardest error to mitigate and often the dominant residual error in urban environments.

Error budget: After corrections, the position error is approximately DOP × UERE (user equivalent range error). With single-frequency, uncorrected ionosphere: UERE ≈ 6–8 m, so position accuracy ≈ 10–15 m. With dual-frequency and models: UERE ≈ 1–2 m, position ≈ 2–4 m.
Check: Why can dual-frequency receivers remove the ionospheric delay?

Chapter 6: Navigation Processor

The navigation processor takes the corrected pseudo-ranges and computes the user's position, velocity, and time (PVT).

Single-point solution: With 4+ satellites, solve the nonlinear system of pseudo-range equations. Linearize around an approximate position and iterate using least squares:

δx = (HTH)−1 HT δz

where H is the geometry matrix (line-of-sight unit vectors + clock column), δz is the measurement residual vector, and δx is the correction to [position, clock offset].

Weighted least squares: If measurement quality varies (different elevations, different SNR), weight by inverse variance: δx = (HTWH)−1 HTW δz.

Filtered solution: A Kalman filter tracks the position, velocity, and clock states across time, using a dynamic model for prediction. This smooths out noise and can coast through brief signal outages.

Velocity: Computed from pseudo-range-rate (Doppler) measurements using the same geometry matrix structure but with range-rate equations.

Check: What method does a GNSS navigation processor typically use to solve for position?

Chapter 7: DOP Geometry Simulation

Drag the satellites to see how geometry affects position accuracy. Spread satellites apart for low DOP (good); cluster them for high DOP (bad).

Dilution of Precision (2D)
HDOP: --
Check: How does satellite geometry affect GNSS accuracy?

Chapter 8: Summary

Key takeaways:
• Satellite position computed from 16 Keplerian ephemeris parameters
• DOP quantifies the amplification of range errors into position errors; lower is better
• Vertical accuracy always worse than horizontal (VDOP > HDOP)
• Receiver chain: antenna → front-end → baseband correlator → navigation processor
• Acquisition: 2D search over code phase and Doppler
• Tracking: DLL for code (meter-level), PLL/FLL for carrier (millimeter-level)
• Error sources: satellite clock/ephemeris, ionosphere (1/f²), troposphere, tracking noise, multipath
• Dual-frequency removes ionosphere; differential GNSS removes spatially correlated errors
• Navigation processor uses iterative least squares or Kalman filter
• Position error ≈ DOP × UERE
Check: What is UERE?