OpenGNSSLabSPP

Learning path

A guided sequence from raw observations to positioning.

Follow the prerequisite chain from time, raw observations, satellite orbits, corrections and geometry to SPP. Then learn integer ambiguity resolution with LAMBDA before applying it to a relative baseline in Double Difference.

Module 1

Foundations

Time tags and the minimum coordinate context needed before reading GNSS files.

  1. Step 1 - Fundamentals

    GPS Time Conversion

    Convert a GPS-time calendar timestamp into Julian Date and GPS seconds-of-week.

Coordinate systemsDirections, azimuth, and elevation

Module 2

Observations and Files

RINEX observation rows, navigation records, and precise orbit file anatomy.

  1. Step 2 - Fundamentals

    RINEX Observation Basics

    Read the header, observation types, epoch lines, and satellite measurement rows.

RINEX Navigation BasicsSP3 File Basics

Module 3

Satellite Orbits and Ephemerides

The orbit side of SPP: Keplerian elements, broadcast propagation, and SP3 interpolation.

  1. Step 3 - Fundamentals

    Keplerian Elements in GPS Navigation Messages

    Read broadcast ephemeris parameters before using them in satellite position computation.

  2. Step 4 - Intermediate

    Satellite Position from Broadcast Ephemeris

    Propagate a GPS navigation record to an ECEF satellite coordinate.

  3. Step 5 - Intermediate

    SP3 Interpolation

    Read precise orbit files and interpolate satellite coordinates to observation time.

Satellite position from multiple PRNs

Module 4

Corrections

Atmospheric and hardware corrections that turn raw code ranges into a cleaner model.

  1. Step 6 - Intermediate

    Klobuchar Ionospheric Correction

    Compute the GPS L1 ionospheric slant delay from broadcast alpha and beta coefficients.

  2. Step 7 - Intermediate

    Saastamoinen Tropospheric Delay

    Compute hydrostatic and wet neutral-atmosphere delay for a GNSS signal path.

Collins tropospheric model

Module 5

Geometry and Quality

Satellite geometry, error amplification, covariance, and practical accuracy interpretation.

  1. Step 8 - Intermediate

    ECEF to ENU: Coordinates and Covariance

    Rotate a position offset and its full covariance into local east, north and up.

  2. Step 9 - Intermediate

    DOP Calculation

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

GPS accuracy and error sourcesMultipath

Module 6

Positioning Algorithms

The complete numerical path from observations and navigation data to a receiver solution.

  1. Step 10 - Intermediate

    SPP from Scratch

    Assemble the complete GPS single point positioning chain from C1C observations.

Module 7

Advanced Positioning

Carrier-phase ambiguity resolution and precise positioning after the SPP foundation.

  1. Advanced tutorial - Published

    LAMBDA Method

    Integer ambiguity decorrelation and search for high-precision carrier-phase GNSS.

  2. Advanced tutorial - Published

    Double Difference from Scratch

    Trace real RINEX observations through single and double differences, covariance, QR weighted least squares, LAMBDA and a candidate-fixed baseline.

PPPPPP-ARCycle Slip Detection