Signal Structure & Observables

GPS signal structure, carrier waves, PRN codes, the two fundamental observables (pseudorange and carrier phase), and modernized multi-constellation signals.

Overview#

The precision of GNSS positioning depends entirely on the quality of the measurements a receiver can extract from the satellite signals. Understanding the structure of these signals -- the carrier waves, the codes modulated onto them, and the navigation data they carry -- is essential for understanding why different positioning methods achieve different levels of accuracy.

At the most fundamental level, GNSS positioning is based on two types of measurements: pseudorange (code) observations and carrier phase observations. Pseudorange measurements are conceptually straightforward but limited in precision. Carrier phase measurements offer millimeter-level precision but introduce the challenge of integer ambiguity resolution. Every survey-grade GNSS technique exploits carrier phase observations; the distinction between methods lies in how and when the ambiguities are resolved.

"The accuracy of pseudorange measurement is on the order of a few meters. The accuracy of carrier phase measurement is on the order of a few millimeters. The difference -- three orders of magnitude -- is what makes carrier phase surveying possible." -- Van Sickle, GPS for Land Surveyors (4th Ed.), Ch. 4, p. 89

GPS Signal Structure#

Carrier Waves

GPS satellites transmit signals on multiple carrier frequencies derived from a fundamental frequency of f0=10.23 MHzf_0 = 10.23 \text{ MHz}, generated by the onboard atomic clock. The carrier frequencies are integer multiples of this fundamental:

SignalFrequencyWavelengthDerivation
L11575.42 MHz~19.05 cm154×f0154 \times f_0
L21227.60 MHz~24.45 cm120×f0120 \times f_0
L51176.45 MHz~25.48 cm115×f0115 \times f_0

The L-band frequencies (1--2 GHz) were chosen because they pass through the ionosphere with manageable delay, are minimally affected by rain and clouds, and can be generated at power levels compatible with satellite transmission. The fact that all frequencies are coherent multiples of a single fundamental is critical -- it allows the receiver to exploit the known frequency relationships for ionospheric correction and ambiguity resolution.

"All GPS carrier frequencies are coherently derived from the same fundamental oscillator frequency. This coherent relationship is what makes dual-frequency ionospheric correction possible." -- GEOG 862, GPS and GNSS for Geospatial Professionals, Penn State, Lesson 4

PRN Codes

Two pseudorandom noise (PRN) codes are modulated onto the carrier waves by binary phase-shift keying (BPSK):

C/A Code (Coarse/Acquisition Code):

  • Broadcast on L1 only (legacy GPS)
  • Chip rate: 1.023 MHz (chip length ~293 m)
  • Code length: 1023 chips, repeating every 1 millisecond
  • Available to all civilian users
  • Pseudorange precision: ~3 m (limited by chip length)

P(Y) Code (Precision Code):

  • Broadcast on both L1 and L2
  • Chip rate: 10.23 MHz (chip length ~29.3 m)
  • Code length: ~2.35×10142.35 \times 10^{14} chips, repeating approximately every 267 days
  • Encrypted under Anti-Spoofing (AS) as the Y-code; accessible to authorized (primarily military) users
  • Pseudorange precision: ~0.3 m

Each satellite transmits a unique PRN code sequence, which serves as both the satellite identifier and the basis for ranging. The receiver generates a replica of each satellite's code and correlates it with the received signal, measuring the time offset required to align the replica with the incoming signal. This time offset, multiplied by the speed of light, yields the pseudorange.

Superimposed on the PRN codes is the navigation message, broadcast at 50 bits per second. The navigation message contains:

  • Satellite ephemeris -- Keplerian orbital elements and correction terms that allow the receiver to compute the satellite's position at any given time.
  • Satellite clock corrections -- Polynomial coefficients for correcting the satellite clock to GPS system time.
  • Ionospheric model parameters -- Coefficients for the Klobuchar model, allowing single-frequency receivers to estimate ionospheric delay.
  • Almanac data -- Approximate orbital parameters for all satellites in the constellation, used for satellite acquisition and planning.
  • Health status -- Flags indicating whether each satellite is operating within specifications.

A complete navigation message frame is 1500 bits long, requiring 30 seconds to transmit. A full almanac for all satellites requires 12.5 minutes.

The Two Fundamental Observables#

Pseudorange (Code) Measurement

The pseudorange observable is the measured apparent distance from the satellite to the receiver, derived from the time delay between the transmitted and received PRN code. The observation equation is:

P=ρ+c(dtrdts)+diono+dtropo+ϵPP = \rho + c(dt_r - dt_s) + d_{\text{iono}} + d_{\text{tropo}} + \epsilon_P

where:

  • PP is the measured pseudorange (meters)
  • ρ\rho is the true geometric range
  • cc is the speed of light
  • dtrdt_r is the receiver clock error
  • dtsdt_s is the satellite clock error
  • dionod_{\text{iono}} is the ionospheric delay (positive -- signal is delayed)
  • dtropod_{\text{tropo}} is the tropospheric delay (positive)
  • ϵP\epsilon_P is noise, multipath, and unmodeled errors

The precision of pseudorange measurement is limited by the code chip length. For the C/A code with a chip length of approximately 293 meters, a receiver can typically resolve the correlation peak to about 1% of the chip length, yielding a pseudorange precision of approximately 3 meters. For the P(Y) code, the precision is approximately 0.3 meters.

Carrier Phase Measurement

The carrier phase observable is fundamentally more precise than the pseudorange. Instead of measuring the time delay of the PRN code, the receiver measures the phase of the carrier wave itself. With the L1 carrier wavelength of approximately 19 cm, a receiver can resolve the phase to about 1% of a wavelength -- approximately 1--2 millimeters.

The carrier phase observation equation is:

Φ=ρ+c(dtrdts)diono+dtropo+λN+ϵΦ\Phi = \rho + c(dt_r - dt_s) - d_{\text{iono}} + d_{\text{tropo}} + \lambda N + \epsilon_\Phi

where:

  • Φ\Phi is the measured carrier phase (expressed in distance units, meters)
  • λ\lambda is the carrier wavelength
  • NN is the integer ambiguity -- the unknown integer number of full wavelengths between satellite and receiver at the instant tracking begins
  • ϵΦ\epsilon_\Phi is carrier phase noise (typically 1--2 mm)

Note the critical difference from the pseudorange equation: the ionospheric delay enters with a negative sign for carrier phase (the ionosphere advances the carrier phase while delaying the code) and the integer ambiguity term λN\lambda N appears.

"The carrier phase measurement is inherently ambiguous by an integer number of wavelengths. Resolving this integer ambiguity is the central challenge of carrier phase positioning." -- Van Sickle, GPS for Land Surveyors (4th Ed.), Ch. 5, p. 112

The Integer Ambiguity Problem

When a receiver first locks onto a satellite signal, it can measure the fractional phase with millimeter precision, but it cannot determine how many complete wavelengths lie between the satellite and the receiver. This unknown integer NN is the integer ambiguity. It remains constant as long as the receiver maintains continuous lock on the signal. If the signal is interrupted (a cycle slip), a new ambiguity must be resolved.

Resolving the integer ambiguity -- determining the correct integer value of NN for each satellite on each frequency -- is what transforms the ambiguous carrier phase measurement into a precise range. Once ambiguities are correctly fixed, the carrier phase becomes a pseudorange with millimeter-level precision.

The process of ambiguity resolution involves:

  1. Float solution. Using the carrier phase observations with the ambiguities treated as real-valued (non-integer) parameters. The float solution typically achieves decimeter-level accuracy.
  2. Search and validation. Testing candidate integer combinations to find the set that best fits the observations. The LAMBDA (Least-squares AMBiguity Decorrelation Adjustment) method is the most widely used algorithm.
  3. Fixed solution. Once the correct integers are identified and validated (typically using the ratio test), fixing the ambiguities constrains the solution to centimeter or sub-centimeter accuracy.

Combination Observables#

Dual-frequency receivers can form linear combinations of the L1 and L2 observations that have useful properties for error mitigation and ambiguity resolution.

Ionosphere-Free Combination

The ionosphere-free combination eliminates the first-order ionospheric delay by exploiting the frequency-dependent nature of the ionosphere:

ΦIF=f12Φ1f22Φ2f12f22\Phi_{\text{IF}} = \frac{f_1^2 \cdot \Phi_1 - f_2^2 \cdot \Phi_2}{f_1^2 - f_2^2}

where f1f_1 and f2f_2 are the L1 and L2 frequencies, and Φ1\Phi_1 and Φ2\Phi_2 are the L1 and L2 carrier phase observations. This combination removes more than 99.9% of the ionospheric effect but amplifies noise by a factor of approximately 3.

Wide-Lane Combination

The wide-lane combination produces an observable with a long effective wavelength:

ΦWL=Φ1Φ2\Phi_{\text{WL}} = \Phi_1 - \Phi_2

The effective wavelength is:

λWL=cf1f286.2 cm\lambda_{\text{WL}} = \frac{c}{f_1 - f_2} \approx 86.2 \text{ cm}

The long wavelength makes wide-lane ambiguity resolution much easier than for the individual L1 or L2 frequencies, because the ambiguity "spacing" is wider and candidates are more easily distinguished. Wide-lane ambiguities are often resolved first as a stepping stone to resolving the narrower L1/L2 ambiguities.

Narrow-Lane Combination

The narrow-lane combination is the sum of the L1 and L2 observations:

ΦNL=Φ1+Φ2\Phi_{\text{NL}} = \Phi_1 + \Phi_2

The effective wavelength is:

λNL=cf1+f210.7 cm\lambda_{\text{NL}} = \frac{c}{f_1 + f_2} \approx 10.7 \text{ cm}

The narrow-lane has a shorter wavelength (harder to resolve) but lower noise than the individual observations. It is used after wide-lane ambiguities are fixed, providing a second constraint for resolving the original ambiguities.

"The wide-lane combination facilitates ambiguity resolution because its long wavelength makes the correct integer easier to identify. Once the wide-lane ambiguity is fixed, the narrow-lane or individual-frequency ambiguities can be resolved with greater confidence." -- GEOG 862, GPS and GNSS for Geospatial Professionals, Penn State, Lesson 5

Modernized GPS Signals#

GPS modernization has introduced new signals that improve civilian access, precision, and robustness:

SignalFrequencyDescriptionFirst Available
L2CL2 (1227.60 MHz)Civilian code on L2; enables dual-frequency positioning without P(Y) codeBlock IIR-M (2005)
L51176.45 MHzThird civilian frequency; higher power, wider bandwidth, designed for safety-of-lifeBlock IIF (2010)
L1CL1 (1575.42 MHz)New civilian signal on L1; interoperable with Galileo E1; pilot + data channelsBlock III (2018)

The availability of three civilian frequencies (L1, L2C, L5) enables triple-frequency processing, which dramatically accelerates ambiguity resolution. Triple-frequency receivers can form extra-wide-lane combinations with wavelengths exceeding 5 meters, allowing near-instantaneous ambiguity fixing even in challenging conditions.

Multi-Constellation Signals#

GLONASS

GLONASS originally used Frequency Division Multiple Access (FDMA), with each satellite transmitting on a slightly different frequency:

f1=1602+k×0.5625 MHzf_1 = 1602 + k \times 0.5625 \text{ MHz} f2=1246+k×0.4375 MHzf_2 = 1246 + k \times 0.4375 \text{ MHz}

where kk is the satellite's frequency channel number (7-7 to +6+6). This complicates inter-channel bias calibration compared to GPS's Code Division Multiple Access (CDMA) approach. Modern GLONASS satellites (GLONASS-K series) are transitioning to CDMA signals on L1 (1600.995 MHz), L2 (1248.06 MHz), and L3 (1202.025 MHz) frequencies, improving interoperability with GPS and Galileo.

Galileo

Galileo uses CDMA and broadcasts on multiple frequencies designed for interoperability:

SignalFrequencyNotes
E11575.42 MHzSame center frequency as GPS L1
E5a1176.45 MHzSame center frequency as GPS L5
E5b1207.14 MHzAdditional signal for integrity
E5 AltBOC1191.795 MHzWideband combination of E5a + E5b
E61278.75 MHzCommercial/high-accuracy service

The shared frequencies between GPS L1/Galileo E1 and GPS L5/Galileo E5a simplify receiver design and enable tighter integration of observations from both constellations.

BeiDou

BeiDou (BDS-3, the global system) transmits CDMA signals on:

SignalFrequencyNotes
B1C1575.42 MHzSame as GPS L1 / Galileo E1
B2a1176.45 MHzSame as GPS L5 / Galileo E5a
B2b1207.14 MHzSame as Galileo E5b
B3I1268.52 MHzLegacy open service

The convergence of center frequencies across GPS, Galileo, and BeiDou is a deliberate design choice that facilitates multi-constellation processing in a single receiver architecture.

Summary of Measurement Precision#

ObservableTypical PrecisionPrimary Limitation
C/A code pseudorange~3 mChip length (~293 m), multipath
P(Y) code pseudorange~0.3 mChip length (~29.3 m), encryption
L2C pseudorange~0.3 mImproved chip rate, civilian access
L5 pseudorange~0.1 mWider bandwidth (10× C/A code)
Carrier phase (L1)~1--2 mmInteger ambiguity resolution
Carrier phase (L2)~1--2 mmInteger ambiguity resolution
Carrier phase (L5)~1--2 mmInteger ambiguity resolution

Key Takeaways#

  • GPS signals are built from carrier waves (L1, L2, L5) onto which PRN codes (C/A, P(Y)) and the navigation message are modulated. All frequencies are coherent multiples of a single fundamental oscillator.
  • The two fundamental GNSS observables are the pseudorange (code measurement, meter-level precision) and the carrier phase (millimeter-level precision but ambiguous by an integer number of wavelengths).
  • Integer ambiguity resolution is the central challenge of carrier phase positioning. A "fixed" solution (correct integers determined) achieves centimeter accuracy; a "float" solution is limited to decimeters.
  • Combination observables (ionosphere-free, wide-lane, narrow-lane) exploit dual-frequency measurements to remove ionospheric error and facilitate ambiguity resolution.
  • GPS modernization (L2C, L5, L1C) provides three full civilian frequencies, enabling triple-frequency processing that dramatically accelerates ambiguity resolution.
  • Multi-constellation signals from GLONASS, Galileo, and BeiDou share common frequencies with GPS, enabling integrated multi-constellation processing with improved availability and geometry.
  • The precision advantage of carrier phase over pseudorange is approximately three orders of magnitude -- this is what makes survey-grade GNSS possible.

References#

  1. Van Sickle, J. GPS for Land Surveyors (4th Ed.). CRC Press, 2015. Chapters 4--6.
  2. Ghilani, C.D. & Wolf, P.R. Elementary Surveying: An Introduction to Geomatics (13th Ed.). Pearson, 2012. Chapter 14.
  3. GEOG 862: GPS and GNSS for Geospatial Professionals. Penn State College of Earth and Mineral Sciences. Lessons 4--5.
  4. IS-GPS-200: Interface Specification for GPS Space Segment / Navigation User Segment Interfaces. U.S. Space Force, 2022.
  5. European Union. Galileo Open Service Signal-In-Space Interface Control Document (OS SIS ICD). Issue 2.1, 2023.
  6. Teunissen, P.J.G. & Montenbruck, O. (Eds.). Springer Handbook of Global Navigation Satellite Systems. Springer, 2017. Chapters 2--4.