OpenGNSSLabSPP

Scientific reference · Updated 30 September 2026

GNSS terms, units and the calculations behind them

Use this glossary while working through the numerical lessons. Each definition identifies a convention or unit that matters in an implementation and links directly to the corresponding calculation. Start with the guided learning route if the terms are new.

GNSS

Global Navigation Satellite System is the general term for satellite navigation systems. GPS is one constellation; Galileo, GLONASS and BeiDou are others. A GNSS receiver estimates position and time from satellite signals, with the model depending on the observables and products used.

Units / context: System · See the worked lesson →

GPS time (GPST)

A continuous time scale counted from 6 January 1980. GPS week and seconds-of-week identify an epoch. UTC conversion requires the offset valid at that epoch; a calendar timestamp must not be assumed to use GPS time merely because it came from a GNSS file.

Units / context: Seconds; week · See the worked lesson →

RINEX

Receiver Independent Exchange Format stores GNSS observations and navigation records. Check the version, time system and observation-type order in the header before reading numerical fields. Observation files and navigation files serve different roles in the positioning chain.

Units / context: Exchange format · See the worked lesson →

Pseudorange

A code-based range observable that includes geometric distance, receiver and satellite clock effects, atmospheric delays and measurement error. It is not a direct geometric distance. A positioning model accounts for these terms before solving for the receiver state.

Units / context: Metres · See the worked lesson →

Carrier phase

The measured accumulated carrier phase contains a geometric range contribution, clock and propagation effects, and an unknown ambiguity. RINEX L observables are recorded in cycles; multiply by the signal wavelength to combine them with range terms in metres.

Units / context: Cycles; wavelength × cycles → metres · See the worked lesson →

C1C and L1C

In RINEX 3 GPS observations, C1C is code pseudorange and L1C is carrier phase on the GPS L1 C/A signal. The C or L identifies the observable, while the remaining characters identify frequency and tracking attribute. Read the satellite system and header together.

Units / context: C1C: metres; L1C: cycles · See the worked lesson →

ECEF

Earth-centered, Earth-fixed Cartesian coordinates rotate with Earth. X, Y and Z coordinates are used for satellite and receiver positions in the worked examples. Local horizontal and vertical uncertainties require transformation to ENU; the ECEF Z axis is not a station’s local up direction.

Units / context: Metres · See the worked lesson →

ENU

East, north and up form a local frame at a reference latitude and longitude. Rotating an ECEF position covariance into ENU makes horizontal and vertical uncertainty meaningful at that location. State whether coordinates are absolute positions or offsets from a local origin.

Units / context: Metres; covariance in square metres · See the worked lesson →

Broadcast ephemeris

Satellite navigation messages provide parameters for propagating an orbit and modeling the satellite clock over their validity interval. Select the record for the correct satellite, epoch and health state. The supplied orbital parameters must be propagated; they are not ready-made satellite coordinates.

Units / context: Orbit and clock parameters · See the worked lesson →

toe and toc

toe is the reference epoch for the orbital model; toc is the reference epoch for the satellite clock model. Their roles differ even when the numerical values coincide. Evaluate time differences in the proper GPS week and apply week-crossover handling.

Units / context: Seconds in the relevant time scale · See the worked lesson →

Signal transmission time

The signal left the satellite before it reached the receiver. Propagate the satellite state at transmission time using a travel-time estimate and consistent clock corrections. Reception-time coordinates alone introduce a modeling discrepancy in the computed range.

Units / context: Seconds · See the worked lesson →

Earth rotation / Sagnac correction

Earth rotates while a signal travels from satellite to receiver. Satellite coordinates at emission and receiver coordinates at reception must be expressed consistently. The tutorials use an Earth-rotation correction in the geometric range calculation; apply the chosen convention once.

Units / context: Coordinate rotation; range effect in metres · See the worked lesson →

SP3 precise orbit products

SP3 files contain sampled precise satellite positions and optional clock values. Position fields use kilometres and clock fields use microseconds in the format. Interpolate the relevant samples, interpret missing-value flags, and convert to the working units explicitly.

Units / context: Kilometres; microseconds in the file · See the worked lesson →

Klobuchar model

The GPS broadcast ionospheric model estimates a single-frequency L1 code delay from broadcast coefficients, position, elevation, azimuth and time. The standard algorithm uses semicircles and a specified empirical slant factor. Follow IS-GPS-200 conventions rather than mixing mapping functions from other ionosphere models.

Units / context: Delay in seconds or metres · See the worked lesson →

Saastamoinen model

A neutral-atmosphere delay model separates hydrostatic and wet contributions using atmospheric conditions and station geometry. Zenith delays require a mapping function for the slant path. A simple inverse-sine mapping is a teaching approximation, especially limited at low elevation.

Units / context: Metres · See the worked lesson →

Single point positioning (SPP)

SPP estimates an absolute receiver position and clock offset from code observations and satellite states. The worked GPS example includes orbit, clock, Earth rotation and atmosphere modeling before iterative weighted least squares. The result’s reliability depends on the observations, geometry and model.

Units / context: Position and clock range in metres · See the worked lesson →

Single difference

Subtracting same-satellite observations between two receivers cancels the common satellite-clock term under consistent modeling. Receiver-clock differences remain. Nearby receivers also share some propagation errors, although atmospheric and other effects do not cancel perfectly.

Units / context: Metres or cycles, consistently · See the worked lesson →

Double difference

Subtract a reference-satellite single difference from another satellite’s single difference. This removes the common receiver-clock difference. Observations that share the reference become correlated; differencing does not eliminate the carrier-phase ambiguities or every propagation error.

Units / context: Metres or cycles, with explicit convention · See the worked lesson →

Baseline vector

A baseline is the coordinate difference between the two stations. This lesson defines b = base − rover, so its vector points from rover to base and rover = base − b. Other software may use the opposite sign; verify it before comparing results.

Units / context: Metres; ECEF or a declared local frame · See the worked lesson →

Reference satellite

The common satellite chosen for forming between-satellite differences. Reusing it couples the double-difference observations through its measurement error. A change of reference also changes the ambiguity basis, so ambiguity vectors cannot be compared without transforming their convention.

Units / context: Satellite identifier · See the worked lesson →

Design matrix

The design matrix contains derivatives of modeled observations with respect to the estimated parameters. In SPP it connects line-of-sight geometry to position and clock updates. In the relative model it also includes ambiguity columns; column units and parameter order matter.

Units / context: Units depend on the parameter · See the worked lesson →

Weighted least squares (WLS)

WLS estimates parameters by minimizing a residual quadratic form with the inverse observation covariance. Correlated double differences require a full covariance model. Whitening followed by QR solves the equivalent least-squares system without explicitly forming and inverting the normal matrix.

Units / context: Parameters follow the declared state units · See the worked lesson →

Covariance and correlation

Covariance describes model-based variances and dependencies. For observations transformed by D, propagate R_DD = D R_UD Dᵀ. A small formal covariance does not prove small actual error: unmodeled biases or incorrect weights may produce an overconfident estimate.

Units / context: Squared units; correlation is dimensionless · See the worked lesson →

Residual

The difference between an observed quantity and its modeled value under the stated sign convention. Residual plots reveal inconsistency after estimation, but small residuals alone do not validate an ambiguity fix or detect every systematic error. Check the model, weights and independent diagnostics together.

Units / context: Observation units; normalized residuals dimensionless · See the worked lesson →

DOP, PDOP, HDOP and VDOP

Dilution of precision describes geometry amplification under an assumed observation model. PDOP combines three position directions; HDOP and VDOP use local horizontal and up components. Classical DOP is dimensionless and cannot be read as a position error in metres without an observation-noise scale.

Units / context: Dimensionless · See the worked lesson →

Float ambiguity

A real-valued estimate of a carrier-phase ambiguity before imposing the integer constraint. Float ambiguities and their joint covariance are inputs to integer least squares. Individual rounding ignores those correlations and may select the wrong joint candidate.

Units / context: Cycles · See the worked lesson →

LAMBDA

Least-squares AMBiguity Decorrelation Adjustment transforms the ambiguity lattice with an integer-preserving unimodular transformation and searches for integer least-squares candidates. The original ambiguity basis and the transformed basis must use consistent vector and covariance conventions.

Units / context: Integer candidates; objective dimensionless · See the worked lesson →

Ambiguity ratio test

A comparison of candidate objective values, often expressed as the second-best divided by the best value. Define that convention explicitly. A large separation favors one candidate in the assumed model, but the threshold is not a universal guarantee of a correct fix or accurate position.

Units / context: Dimensionless · See the worked lesson →

RTK and PPP

RTK uses carrier-phase observations with a reference station or network to support relative precise positioning. PPP uses precise satellite products and an undifferenced absolute model. The published double-difference example is a single-epoch teaching computation, not a complete operational RTK service or a PPP implementation.

Units / context: Positioning approaches · See the worked lesson →

Check a definition against its source

The reference library links the GPS interface specification, IGS file formats, ESA explanations and ambiguity-resolution research. Our methodology explains the teaching assumptions and validation limits. Suggest a correction with the term and the convention you are using.