Introduction
Collecting and processing GNSS data is only valuable if the data is of adequate quality. Poor-quality GNSS data - contaminated by cycle slips, multipath, signal outages, or systematic receiver artefacts - will produce poor positioning results regardless of the sophistication of the processing algorithm. A systematic quality control (QC) workflow applied to GNSS data before processing is not optional for precision applications; it is essential. This lesson covers the key indicators of GNSS data quality and the tools used to assess them.
Observation Residuals and What They Indicate
After processing GNSS data through a positioning algorithm, the residuals - the differences between the measured pseudoranges or carrier phases and the values predicted from the computed position - are the most revealing diagnostic available. Large residuals indicate that the measured range to a satellite is inconsistent with the computed position, pointing to multipath, satellite malfunction, cycle slips, or atmospheric anomalies.
In a well-functioning RTK or PPP solution, post-fit carrier phase residuals should be at the few-millimetre level. Residuals exceeding 1–2 cm for a given satellite at a given epoch indicate a problem with that satellite''s signal. A systematic pattern - elevated residuals for low-elevation satellites, or residuals that oscillate with a period matching the satellite geometry repeat - is a strong indicator of multipath.
Multipath Detection in Residuals
Multipath has a distinctive signature in carrier phase and code residuals. Because multipath path length changes as the satellite moves across the sky, multipath-induced residuals oscillate with a characteristic period related to the satellite''s elevation rate. This creates slowly varying sinusoidal patterns in the residual time series, easily distinguished from random noise.
The multipath combination observable - a linear combination of code and carrier phase measurements on two frequencies - provides a clean multipath estimate for dual-frequency receivers. TEQC computes multipath RMS statistics (MP1, MP2) from this combination; values below 0.3 m indicate a high-quality observation environment, while values above 0.8 m indicate significant multipath contamination.
Cycle Slip Detection
A cycle slip is a sudden jump in the carrier phase measurement caused by a temporary loss of satellite tracking. Because the integer ambiguity changes at the slip, the carrier phase measurement becomes inconsistent with previous and subsequent epochs. Undetected cycle slips cause jumps in the position solution and, in RTK processing, cause loss of the fixed integer solution.
Detection methods include:
- Loss of Lock Indicator (LLI): The RINEX observation file includes an LLI flag for each carrier phase measurement; a set bit indicates a potential cycle slip at that epoch.
- Geometry-free (ionospheric) combination: The difference between carrier phases on two frequencies removes geometric terms and isolates ionospheric and ambiguity terms. A sudden jump in this combination indicates a cycle slip on one or both frequencies.
- TurboEdit algorithm: Combines the geometry-free combination with the Melbourne-W??bbena linear combination to detect and repair cycle slips on both frequencies independently.
- Time-differenced carrier phase: Computing epoch-to-epoch differences in carrier phase removes the integer ambiguity; sudden large differences indicate cycle slips.
The cycle slip ratio - the number of observations divided by the number of detected slips - is a key quality metric. A ratio above 1000 (fewer than 1 slip per 1000 observations) indicates very good data; a ratio below 100 indicates significant data quality problems.
Consistency Checks
Beyond residual analysis, several consistency checks flag problematic data:
- Position jump detection: Sudden position changes inconsistent with the platform''s known dynamics indicate either cycle slips or a dramatic satellite geometry change. For a static receiver, any position change greater than a few centimetres between epochs warrants investigation.
- Velocity discontinuities: Doppler-derived velocity should be smooth for a smooth trajectory. Abrupt velocity changes in static or smoothly-moving platforms indicate measurement problems.
- Fix type transitions: Frequent transitions between RTK fixed, float, and standalone solutions indicate an unstable tracking environment and should be logged and investigated.
PDOP and HDOP Time Series Analysis
The Dilution of Precision values - particularly PDOP (position) and HDOP (horizontal) - quantify the effect of satellite geometry on accuracy. A PDOP time series over the data collection period reveals periods of poor geometry (PDOP > 4) where accuracy is degraded. Correlating PDOP spikes with position error spikes confirms geometry as a cause; if large errors occur without elevated DOP, multipath or other signal-level problems are likely.
SNR Analysis Per Satellite
Plotting carrier-to-noise density (C/Nâ‚€) for each satellite over time reveals signal quality issues at the satellite level. Sudden drops in C/Nâ‚€ for a specific satellite indicate obstruction or interference affecting that satellite''s signal. A consistent pattern of low C/Nâ‚€ for low-elevation satellites is normal and expected; unexpected low C/Nâ‚€ for high-elevation satellites indicates local signal obstruction or receiver problems.
| Quality Metric | Good Value | Marginal | Poor | Tool |
|---|---|---|---|---|
| Carrier phase residuals (RTK) | < 5 mm | 5–20 mm | > 20 mm | RTKLIB, Bernese |
| MP1/MP2 (TEQC) | < 0.3 m | 0.3–0.8 m | > 0.8 m | TEQC, Anubis |
| Cycle slip ratio | > 1000 | 100–1000 | < 100 | TEQC, Anubis |
| Observation completeness | > 95% | 80–95% | < 80% | Anubis, TEQC |
| C/Nâ‚€ (open sky, L1) | > 40 dB-Hz | 30–40 dB-Hz | < 30 dB-Hz | Receiver output |
Automated QC Tools
UNAVCO''s TEQC remains widely used for RINEX 2 data quality checking despite its age and RINEX 3 limitations. Anubis, developed by the Geodetic Observatory Pecny (GOP) in the Czech Republic and maintained by the European Space Agency, is the modern successor - it fully supports RINEX 3, all GNSS constellations, multi-frequency signals, and provides an interactive visualisation interface. For programmatic QC in Python, the georinex and gnss-analysis libraries provide the building blocks for custom automated quality pipelines.