14.3 · Intermediate

GNSS Data Analysis: Visualising and Interpreting Position Quality

Introduction

Collecting GNSS data is only the beginning. The true value lies in analysing that data - understanding what the receiver actually observed, how accurately it performed, and where errors originated. Systematic GNSS data analysis reveals performance characteristics that are invisible from a single-position snapshot, enabling informed decisions about receiver selection, deployment methodology, and data quality. This lesson covers the key methods and metrics for rigorous GNSS performance analysis.

Key Concept: Analysis reveals true system performance. Statistical metrics must be chosen carefully to represent what the application actually requires. Visualisation aids understanding and communicates results to non-specialists.

Position Time Series Analysis

The most fundamental analysis technique is plotting position error as a time series - the sequence of position estimates over time compared to a known reference. For a receiver stationary at a known survey point, each position epoch can be compared to the ground truth, revealing:

  • The magnitude and distribution of positioning errors over time
  • Systematic biases that persist over time (e.g., a consistent northward offset indicating an unresolved multipath effect)
  • Short-period oscillations related to multipath from specific satellites passing through their orbits
  • Sudden jumps indicating cycle slips, satellite changes, or fix-type transitions (RTK float to fixed)
  • Correlation between error magnitude and time of day (ionospheric activity, satellite geometry changes)

East-North-Up Decomposition

Position errors are best analysed in a local coordinate frame decomposed into East, North, and Up components. This decomposition separates horizontal from vertical errors, which have different physical causes and different application impacts. Horizontal errors are dominated by satellite geometry and multipath; vertical errors are additionally affected by tropospheric modelling errors.

Scatter Plots and Error Ellipses

A horizontal scatter plot shows the distribution of position estimates (or errors) in the East-North plane. From this distribution, an error ellipse can be fitted - an ellipse that encloses a specified fraction (typically 95%) of the observations. The ellipse orientation reveals the direction of maximum uncertainty, which is typically aligned with the direction of weakest satellite geometry (often north-south at mid-latitudes due to the inclination of GPS satellite orbits).

Fixed-Point Testing Methodology

Reliable fixed-point testing - testing a stationary receiver at a precisely surveyed point - is the gold standard for evaluating GNSS performance. The protocol requires:

  1. Establishing a reference position using a long-occupation RTK session (several hours) or published survey control coordinates
  2. Collecting test data at the same point for a representative duration - at minimum several hours, ideally 24 hours to capture a full satellite geometry repeat cycle
  3. Comparing each position epoch to the reference using an appropriate processing method (standalone, DGNSS, RTK, or PPP)
  4. Computing statistical performance metrics from the resulting error series

Statistical Metrics: RMS vs 95th Percentile

The choice of statistical metric profoundly affects how performance is characterised and compared:

MetricDefinitionWhen to UseLimitation
RMS (Root Mean Square)√(mean of squared errors)General performance characterisationSensitive to outliers; not intuitive for non-specialists
CEP (Circular Error Probable)Radius enclosing 50% of positionsMilitary and aviation specificationsIgnores the worst 50% of errors
95th percentile (R95)Radius enclosing 95% of positionsSafety-critical accuracy requirements5% of errors may be much larger
Mean ± 2σMean plus two standard deviationsGaussian error assumption testingGNSS errors are often non-Gaussian
Max errorLargest single error observedWorst-case analysis, integrityHighly sensitive to test duration
Note: GNSS errors are rarely Gaussian. Heavy tails from multipath and cycle slips mean that a metric like RMS or 1σ can give a misleadingly optimistic picture of worst-case performance. For safety-critical applications, 95th percentile or 99th percentile metrics are more appropriate.

Comparing GNSS Solution Types

A well-designed analysis compares the same raw data processed by different methods - standalone, DGNSS, RTK float, RTK fixed, and PPP - to quantify the accuracy gain from each technique. RTKLIB''s RTKPOST application supports all of these processing modes and can process RINEX observation files against reference station data or precise products to produce position solutions for comparison.

Analysis with Python and MATLAB

Python has become the dominant language for GNSS data analysis. The georinex library reads RINEX files into xarray DataArrays. pandas DataFrames handle time series manipulation. matplotlib and plotly create publication-quality error plots, scatter plots, and error ellipses. numpy and scipy provide the statistical functions needed for RMS, percentile, and ellipse fitting calculations. MATLAB provides similar capabilities through its Navigation Toolbox and Satellite Communications Toolbox.

Benchmark Testing Against Known Coordinates

Where published survey control points exist - national geodetic network marks, IGS reference station coordinates, or independently surveyed control - they provide ideal reference positions for benchmark testing. The horizontal position of an IGS reference station is typically known to the sub-millimetre level, making it an almost perfect reference for evaluating even the highest-precision GNSS receivers.