GPS ground segment

How the control segment keeps GPS accurate: monitor stations measure every satellite, the master control station estimates each one's orbit and clock errors, and ground antennas upload corrections.

–Broadcast error, RMS
–Flagged unhealthy
–In contact now

What is modelled. Site locations are the publicly listed ones, placed at city level. Each satellite's true orbit and clock drift away from what it broadcasts through random unmodelled forces and clock noise. The master control station runs a standard 8-state Kalman filter per satellite, and uploads follow a fixed interval. The real operational estimator, noise levels and schedules are not public, so those parts are a model, tuned to broadcast errors of the size GPS publicly reports (about 0.6 m typical).

1

The ground segment

A master control station in Colorado with a backup in California, monitor stations around the world, and ground antennas that can transmit to the satellites. Dashed lines are live tracking links from monitor stations to the selected satellite. An S-band upload link lights up when it passes over a ground antenna.

2

Monitor stations, –

Each monitor station has a precise clock and a known position. It tracks every satellite in view and records its pseudorange (code) and carrier phase. The residual is what the station measures minus what the satellite's current broadcast message predicts. That difference is the error the master control station has to estimate.

StationElevationPseudorangeCarrier phaseResidual vs broadcast

Carrier phase is far more precise than the code, but it's ambiguous by a whole number of cycles (19 cm each at L1). Stations smooth the code with the carrier, and the filter uses the smoothed ranges.

3

Master control station estimation, –

Every five minutes the master control station folds the new residuals into a Kalman filter per satellite. Its state is the error of the current broadcast: position error in radial, along-track and cross-track, their rates, and the clock's bias and drift. From the estimate it builds corrected ephemeris and clock terms for the next upload.

1Collected measurements

2Kalman filter state

ErrorEstimate ± 1σTruth

3Last generated corrections

TermCorrection

Ground stations sit almost directly under each satellite, so radial orbit error and clock error look alike: both mostly change the range. The filter pins down their difference well, which is what users feel (the radial and clock part of the signal-in-space range error). It resolves them individually only loosely.

4

Upload, –

A satellite can only receive new navigation data while a ground antenna can see it. When one is due for an upload (here, once every upload interval, or right away after a fault), the next ground antenna it passes over sends the new ephemeris, clock terms and health over the S-band link, and a new issue of data (IODE) starts.

Contact windows, next 24 hours

5

Error growth between uploads

Right after an upload the broadcast is as good as the estimate. From then on the satellite keeps transmitting the same prediction while the real orbit and clock wander away, so the error grows until the next upload resets it.

Signal-in-space range error

Selected satellite, broadcast errorFilter's estimate of it (1σ)Other satellitesUpload

Clock error of the broadcast, selected satellite ns

6

Faults and the health flag

Inject a fault on the selected satellite. A clock jump shows up as a burst of large residuals at every monitor station. The master control station flags the satellite and uploads an unhealthy flag at the next contact. Receivers read the 6-bit health field in subframe 1 and stop using the satellite. The flag is cleared after the clock has been re-estimated and verified.

7

Contact timeline

For every satellite: when it was last uploaded, and when it next passes over a ground antenna in the next 24 hours. Select a row to select that satellite.

Last upload and upcoming contacts

Last uploadContact windowBroadcasting unhealthy