Introduction
Precision GNSS depends on two categories of data format: the formats used to record and exchange raw GNSS observations, and the formats used to transmit real-time differential corrections. RINEX (Receiver Independent Exchange Format) is the universal standard for the first. RTCM (Radio Technical Commission for Maritime Services) is the standard for the second. Every GNSS engineer working with raw data, correction services, or reference network infrastructure encounters both formats regularly. Understanding their structure and purpose is foundational knowledge for precision GNSS work.
RINEX: The Archive Format for GNSS Observations
RINEX was originally developed by the Astronomical Institute of the University of Berne in 1989 and has since become the universal standard for exchanging GNSS observation data between different receiver types and software tools. A RINEX file contains the raw observations recorded by a receiver - pseudoranges, carrier phases, Doppler values, and signal strength - along with navigation data (satellite ephemeris and clock parameters), all in a human-readable ASCII text format.
RINEX File Types
- Observation file (.yyO or .rnx): Contains the receiver's time-stamped observations: pseudorange, carrier phase, Doppler, and C/Nâ‚€ for each satellite and signal tracked. This is the primary file used in post-processing software (PPK, PPP, static baseline processing).
- Navigation file (.yyN, .yyG, .yyL etc.): Contains satellite broadcast ephemeris and clock parameters - the data that allows software to compute satellite positions at any epoch. Separate navigation files exist for each constellation.
- Mixed navigation file (.yyP or RINEX 3 .rnx MN): Combines navigation data from all constellations in a single file - the preferred format for multi-GNSS post-processing.
RINEX Versions
RINEX 2.11 was the long-dominant version, supporting GPS, GLONASS, and Galileo with single-constellation navigation files. RINEX 3.x, introduced to support full multi-GNSS multi-frequency observations, is now the standard for professional and scientific work. RINEX 4 is the current version, adding enhanced support for new signals and navigation message types. Most modern post-processing software supports RINEX 2.11, 3.x, and 4.
RTCM: The Correction Stream Format
RTCM standards define the binary message formats used to transmit differential GNSS corrections from a base station to a rover in real time. Unlike RINEX, RTCM messages are compact binary structures designed for efficient transmission over bandwidth-limited links such as UHF radio and internet-based NTRIP streams.
RTCM 3.x and MSM Messages
RTCM 3.x introduced the Multiple Signal Message (MSM) family, which is now the dominant correction message format for modern multi-constellation RTK systems. MSM messages encode full observation data - pseudoranges, carrier phases, Doppler, lock time indicators, and signal strength - for all satellites of a given constellation in a single compact message.
| Message Type | Description | Content |
|---|---|---|
| MSM4 | Full pseudoranges and carrier phases | Code + phase, no Doppler |
| MSM5 | MSM4 + Doppler | Code + phase + Doppler |
| MSM7 | High-resolution MSM | Full precision code + phase + Doppler + signal strength |
| 1005 / 1006 | Base station position | Reference station ECEF coordinates |
| 1033 | Receiver and antenna descriptor | Hardware identification |
A typical RTCM stream for a multi-constellation RTK base station includes one MSM message per constellation per epoch (GPS MSM7, GLONASS MSM7, Galileo MSM7, BeiDou MSM7), a station position message (1005 or 1006) every few seconds, and optionally antenna and receiver descriptor messages. The rover's RTK engine reads this stream, uses the satellite observations to compute differential corrections, and processes carrier-phase ambiguities.
Data Flow in a Precision GNSS System
- The base station receiver tracks satellites and generates raw observations every epoch.
- In real-time mode, these observations are encoded as RTCM messages and transmitted to the rover via NTRIP or radio. The rover's RTK engine uses them to correct its own measurements and resolve carrier-phase ambiguities.
- Simultaneously, the base station logs the same observations in RINEX format for post-processing archival and quality checking.
- The rover also logs its own observations in RINEX format. In PPK workflows, both files are brought together in post-processing software after the field session.
RTCM is the real-time channel; RINEX is the permanent record. Both formats contain fundamentally the same information - satellite observations and metadata - encoded differently for their respective purposes.
Vital Points
- RINEX is the universal exchange format for raw GNSS observations - it enables interoperability between receiver brands and post-processing software tools.
- RTCM is the binary correction format used for real-time differential GNSS - it carries the base station observations that the rover uses to compute differential corrections and resolve ambiguities.
- MSM messages (MSM4, MSM5, MSM7) are the modern RTCM standard for multi-constellation observations, replacing the legacy per-constellation message types.
- Base station and rover must be configured to use compatible RTCM message types; mismatches can silently degrade correction uptake.