OpenGNSSLabSPP

Module 2 - Observations and files

RINEX Observation Basics

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

Difficulty

Fundamentals

Estimated time

16 minutes

Series position

2 of 10

RINEX observations, in brief

RINEX is an exchange format for GNSS observations and navigation data. An observation record identifies the satellite, signal and epoch: C1C is a code pseudorange in metres, while L1C is carrier phase in cycles. The header's observation order and time system determine how the numerical fields must be interpreted.

Prepared by OpenGNSSLabUpdated Sources, reproducibility and corrections

Learning objectives

  • Identify the RINEX header and observation section.
  • Decode common observation type labels.
  • Map epoch rows to satellite measurements.

What a RINEX observation file stores

RINEX is a receiver-independent text format for GNSS observations. Observation files store measurement epochs, receiver and antenna metadata, observation type definitions, and per-satellite measurements.

The same file can contain GPS, GLONASS, Galileo, BeiDou, and other systems.

Raw data excerpt

Annotated RINEX observation excerpt

sample.obs
1     3.02           OBSERVATION DATA    M (MIXED)           RINEX VERSION / TYPE5ch151                                                       MARKER NAME11  3246374.5864  4052665.3939  3693176.0609                  APPROX POSITION XYZ13G   16 C1C L1C D1C S1C C2W L2W D2W S2W C2S L2S D2S S2S C5Q  SYS / # / OBS TYPES22     1.000                                                  INTERVAL23  2024    11    14    08    42   39.0000000     GPS         TIME OF FIRST OBS50                                                            END OF HEADER51> 2024 11 14 08 42 39.0000000  0 35       0.00000000000053G04  21026994.340 8 110497599.986 8     -1326.004 8        48.422 8  21026999.531 9  86102041.976 9     -1033.281 9        56.226 9  21026999.777 8  86102046.973 8     -1033.223 8        53.109 8

Excerpted from a real RINEX observation file. Only the educational snippet is embedded; the full raw file is not published as a site asset.

Observation type codes

CodeMeaning
CCode pseudorange
LCarrier phase
SSignal strength
1, 2, 5, 6, 7, 8Frequency band
C, P, W, X, I, Q, ZSignal tracking/channel type

Epoch and satellite rows

> 2024 01 01 00 00  0.0000000  0 34        .000000015974
G01  20888756.039   109771298.977 8        48.750    20888756.369 ...
G02  23201822.669   121926668.150 7        43.250    23201822.179 ...

How to read the epoch

The epoch line starts with `>` and gives the timestamp, event flag, number of satellites, and optional receiver clock offset.

Each following satellite row begins with a system letter and PRN, then measurement values in the exact order declared by that system's header observation-type line.

Example measurement columns

SatelliteC1CL1CS1CC1WL1WS1W
G0120888756.039109771298.97748.75020888756.369109771289.96843.000
G0223201822.669121926668.15043.25023201822.179121926528.15434.750

Common mistake

Do not assume every satellite row has the same columns across constellations. GPS, GLONASS, Galileo, and BeiDou can each declare a different observation-type list.

What you should understand now

  • The header tells you how to interpret every numeric row.
  • Epoch rows organize observations by time.
  • SPP usually begins by selecting code measurements such as C1C for enough satellites at one epoch.

References

Related tutorials

Help improve this tutorial

Point out numerical ambiguity, missing prerequisites, or a step that needs a fuller derivation.

Primary sources and further reading

The specifications and research below support the model and terminology. Numerical exports and teaching assumptions are documented in the lesson itself.

Browse the scientific reference library →

Continue with the numbers

GNSS terms and units · Report a correction