GNSS observations: pseudorange, carrier phase and Doppler
A GNSS receiver measures signals before it computes a position. Pseudorange estimates signal travel distance, carrier phase tracks accumulated cycles, and Doppler measures frequency shift. Precise processing needs the original observations and their metadata; a latitude/longitude log cannot reconstruct them.
What the receiver actually records
| Observable | RINEX 3/4 prefix and unit | What to use it for |
|---|---|---|
| Pseudorange | C β metres | Initial position and receiver clock estimation; code-related quality checks |
| Carrier phase | L β cycles | Precise positioning and detection of tracking discontinuities |
| Doppler | D β hertz | Range-rate information and consistency checks |
| Signal strength | S β see the header for units | Signal tracking diagnostics; interpret with elevation and receiver settings |
Sources: IGS: formats and standards Β· ESA Navipedia: GNSS basic observables
Why carrier phase is precise but not an absolute range
A receiver can track a small fraction of a carrier cycle, but it does not initially know the whole number of cycles between the satellite and antenna. Processing must estimate these ambiguities along with coordinates, clocks and other parameters. Losing lock can change an ambiguity and start a new continuous phase arc.
- Keep code and phase observations together. Fine phase resolution alone does not remove clock or atmospheric errors.
- A fixed ambiguity solution is a processing result. It is not an independent certificate that the antenna height, base coordinates or output frame are correct.
- When comparing phase and code, convert cycles to length using the wavelength of the actual signal. Do not treat a phase value in cycles as metres.
Read a three-character observation code
In RINEX 3 and 4, an observation identifier combines the measurement type, a frequency-band number and a tracking attribute. For GPS, C1C identifies a code measurement on L1 C/A and L1C identifies carrier phase for that signal. The band number is constellation-dependent; it is not a universal frequency in gigahertz.
- Check SYS / # / OBS TYPES before assuming that every satellite has every measurement.
- Treat blank observation fields as missing measurements. Replacing them with zero creates artificial ranges or phase jumps.
- Keep loss-of-lock indicators when converting or merging files. They help a processor identify boundaries between phase arcs.
Sources: IGS: formats and standards
A field logging checklist
- Enable raw code and carrier-phase logging in the receiver. Verify that the particular model and firmware expose those messages.
- Record broadcast navigation data, or plan a compatible source for it. Position messages alone are insufficient.
- Record antenna model, radome, height measurement convention, marker identification and occupation times in the field log.
- For PPK, record overlapping rover and base observations and retain the source and reference frame of the base coordinates.
- Before leaving the site, convert a short sample and inspect its time span, satellite systems and phase observations.
Diagnose the missing-data problem before changing software
If a converted file contains code but no phase, check the receiver configuration and the binary message inventory first. If a file contains only NMEA position sentences, changing the RINEX output version will not recover the missing raw measurements. Preserve the original log so that a conversion issue can be distinguished from an acquisition issue.
References and methodology
Technical definitions follow the sources below. Worked examples are illustrative; product-specific thresholds are identified as PosFlow settings. For corrections, contact PosFlow with the article URL and the relevant specification.