File Formats for Global Navigation Satellite Systems (GNSS): An Introduction to RINEX Version 3.04 (Receiver Independent Exchange Format).
Figure 1. The Astronomer (Dutch: De astronoom) is a painting finished in about 1668 by the Dutch Golden Age painter Johannes Vermeer.

File Formats for Global Navigation Satellite Systems (GNSS): An Introduction to RINEX Version 3.04 (Receiver Independent Exchange Format).

RINEX Version 3.02, 3.03 and 3.04 are based on RINEX Version 3.01, which was developed by: Werner Gurtner, Astronomical Institute of the University of Bern, Switzerland and Lou Estey, UNAVCO, Boulder, Colorado, USA.

This article is based on content from the document published by the International GNSS Service (IGS), specifically the RINEX Working Group and the Radio Technical Commission for Maritime Services Special Committee 104 (RTCM-SC104), on November 23, 2018. The document, identified by the reference "RINEX 3.04.IGS.RTCM.doc", is publicly available for download at the IGS server. The IGS website provides detailed information on the products of the International GNSS Service. Currently, the IGS offers three primary product lines for GNSS satellite orbits and clocks: the IGS Final, IGS Rapid, and IGS Ultra-rapid products.

1. Introduction.

The Receiver Independent Exchange Format (RINEX) is a standardized data format used for the exchange of Global Navigation Satellite Systems (GNSS) data. It plays a crucial role in facilitating data interoperability among different GNSS receivers, regardless of their manufacturer, making it indispensable in the geodetic and navigation communities. RINEX has become the de facto standard for exchanging GNSS observation data in scientific and engineering projects, enabling researchers and practitioners to utilize consistent datasets across a variety of applications.

Figure 2. Screenshot of Observation RINEX 3.04 Format interactive website, maintained by The Research group of Astronomy and Geomatics (gAGE/UPC).

2. Development and Evolution of RINEX.

The RINEX format was first developed in 1989 by the Astronomical Institute of the University of Bern, Switzerland, to support the European GPS campaign EUREF 89. This initiative involved more than 60 GPS receivers from four different manufacturers. The primary motivation behind RINEX was to enable the exchange of GPS data without relying on proprietary formats from different receiver manufacturers, thus fostering the use of independent geodetic processing software.

The format was designed to store the essential geodetic observables required for GNSS data processing:

  • Carrier-phase measurements: Capture the phase of the radio signal's carrier wave (i.e.: in this case, the distance, measured in periods of the carrier signal, between the phase center of the satellite's antenna and the phase center of the receiver's antenna). Note that, while this measurement provides highly precise distance measurements between the receiver and the satellite, it contains a term of ambiguity.

  • Pseudorange measurements (also known as Code(s)): Measure the time delay between the satellite signal transmission and its reception by the receiver, providing an estimate of the distance based on the speed of light. Please, note that some considerations in relation with frames of reference could be added at this point.

  • Observation time.

The original RINEX format underwent significant revisions to accommodate emerging GNSS technologies and systems. Two key versions have been developed:

  • RINEX Version 1: Presented in 1989, the initial format focused on GPS data exchange.

  • RINEX Version 2: Introduced in 1990, extended the format to support additional satellite systems such as GLONASS and SBAS (Satellite-Based Augmentation Systems).

Several subversions of RINEX Version 2 were released to address the evolving needs of the GNSS community:

  • Version 2.10: Introduced support for non-integer sampling rates and raw signal strength.

  • Version 2.11: Added codes for tracking L2C signals and modifications for geostationary satellite messages.

  • Version 2.20: An unofficial version used for spaceborne receiver data in the IGS LEO pilot project [Note 1].

3. Observation Types and Tracking Modes.

As GNSS technology evolved, new observation types and tracking modes were introduced to accommodate the growing variety of signals and satellites.

Observation types refer to the specific measurements made by GNSS receivers, which include: carrier-phase measurements, pseudorange measurements and Doppler shift.

Tracking modes describe the methods by which GNSS receivers follow and record signals from satellites. Tracking modes vary depending on the signal frequency, signal type (e.g., L1, L2, L5 for GPS), and the constellation being tracked (GPS, GLONASS, Galileo, BeiDou, etc.). With the advent of modern GNSS signals that use multiple frequencies and advanced modulation techniques (e.g., GPS L2C, Galileo E1, BeiDou B1), receivers need the flexibility to switch between different tracking modes to optimize performance for specific applications.

These advancements in observation types and tracking modes have allowed GNSS receivers to achieve higher precision and reliability, particularly in challenging environments such as urban canyons or spaceborne applications.

4. Core Structure of the RINEX Format.

RINEX 3.xx consists indeed of three primary ASCII file types:

  1. Observation Data File: Contains observational data from GNSS receivers, including phase, pseudorange, and time measurements.

  2. Navigation Message File: Stores the navigation data broadcast by the satellites, including ephemeris and clock information.

  3. Meteorological Data File: Includes meteorological data relevant to GNSS signal processing, such as temperature, pressure, and humidity.

Each RINEX file consists of two sections: a header and a data section.

The header provides global information for the entire file, such as the type of data included, the GNSS systems tracked, and the type of receiver used.

The data section includes the actual observations or navigation messages. RINEX files are structured to minimize space requirements by allowing variable record lengths and removing unnecessary trailing blanks [Note 2].

5. RINEX File Exchange and Compression.

RINEX was originally designed in the era of MS-DOS, where filenames were limited to 8 characters for the file name itself and 3 characters for the extension. However, modern file naming conventions in RINEX 3.02 and later versions expect the use of up to 255 characters, providing a more descriptive and flexible naming system. Each element of the filename must use uppercase ASCII letters or numbers, with components separated by underscores (_), and file types indicated with periods (e.g., .rnx for uncompressed observation files).

To optimize file storage and transmission, Yuki Hatanaka developed a compression scheme specifically for RINEX observation data.

6. Subsequent Developments in RINEX Versions.

The following information is based on data published by the International GNSS Service (IGS) on its "IGS Formats and Standards" webpage. It outlines the most recent updates and enhancements in the RINEX format, reflecting the evolution of GNSS technology and the growing complexity of satellite constellations and signals.

Figure 3. Screenshot of Formats and Standards, International GNSS Service website.

RINEX Version 3.04 (2018) supported all publicly available signals from the major GNSS constellations, including GPS (U.S.), GLONASS (Russia), Galileo (Europe), BeiDou (China), QZSS (Japan), and IRNSS (India). It also introduced updates to support the planned GLONASS CDMA signals and new signals from BeiDou III and QZSS II. Additionally, RINEX 3.04 featured improved descriptions of messages and fields for enhanced readability and clarity.

RINEX Version 3.05 (2020) was a major restructuring and revision of the format to improve its readability and clarity. This version introduced support for BeiDou signals and tracking codes for BDS-2 and BDS-3 constellations, as well as added missing flags and values to the GLONASS navigation messages.

RINEX Version 4.00 (2021) represents a significant revision aimed at modernizing the format for navigation message files. This version accommodates new navigation messages from all GNSS constellations and includes system-related data, such as ionospheric corrections, Earth orientation parameters, and system time offsets. The observation file format remains largely unchanged, except for the addition of QZSS signals and tracking codes to fully support the upcoming L1 C/B signal. Similarly, the meteorological file format is retained. Furthermore, RINEX 4.00 introduces new optional header lines across all file types to support FAIR data principles, ensuring data is Findable, Accessible, Interoperable, and Reusable.

RINEX Version 4.01 (2022) introduces new observation codes for GPS signals on L1 and L2, particularly in preparation for the future Block IIIF satellites, which will transmit navigation signals using the M-code and RMP antenna technology. Additionally, this version adds L1 observation codes for the NavIC constellation and includes several editorial improvements to enhance the clarity of the document.

7. Conclusion.

The RINEX format has evolved to meet the expanding requirements of GNSS technology, ensuring compatibility across different satellite systems and receiver types. Its ability to standardize GNSS data exchange has made it a cornerstone in the fields of geodesy, navigation, and space-based applications. As GNSS technology continues to advance with new satellite constellations and signals, RINEX will remain a critical format for facilitating accurate, reliable, and interoperable GNSS data exchange.

8. Notes.

[Note 1]: The IGS LEO (Low Earth Orbit) pilot project was initiated to expand the capabilities of GNSS technology to track signals from spaceborne receivers, particularly those placed on satellites in low Earth orbit.

[Note 2]: Trailing space is all whitespace located at the end of a line, without any other characters following it. This includes spaces (what you called a blank) as well as tabs \t, carriage returns \r, etc. There are 25 unicode characters that are considered whitespace, which are listed on Wikipedia (please, see "Unicode characters with property White_Space=yes").

To view or add a comment, sign in

Insights from the community

Others also viewed

Explore topics