How does GNSS time relate to UTC?

Every satellite you can hear is running a clock that is not UTC, and knows it. The relationship between the two comes in two parts, and confusing them is the source of a great deal of muddle.

Part one is a whole number of seconds, and it is boring. GPS Time, Galileo System Time and BeiDou Time are continuous scales that ignore leap seconds, so each sits an integer number of seconds away from UTC — 18 s for GPS and Galileo, 4 s for BeiDou, as of today. Every constellation broadcasts that count, your receiver subtracts it, and nobody thinks about it again.

GLONASS is the odd one out twice over. It is the only constellation that applies leap seconds, following UTC(SU) — and it is offset from it by a flat three hours, which is Moscow. So GLONASS system time is UTC(SU) + 3 h, and the thing that stays constant is the three hours rather than a leap-second count.

Part two is the interesting part, and it is a prediction. Underneath the integer, each constellation’s timescale is steered toward UTC — and how differs in a way worth a sentence, because it is the one place these four systems are not built alike:

  • GPS toward UTC(USNO), a single national laboratory’s realization.
  • BeiDou toward UTC(NTSC), likewise a single laboratory.
  • GLONASS toward UTC(SU), likewise.
  • Galileo is the exception: GST has no single national laboratory behind it. It is realized and aligned to UTC by the Galileo Time Service Provider, which works from an ensemble of European timing laboratories rather than one of them.

Every satellite then broadcasts its operator’s estimate of the residual offset. That estimate has to be an estimate, because UTC will not be computed for another month.

Each operator publishes what that residual is allowed to be, and all three current standards land in the same place:

committed accuracy of the broadcast UTC offset source
GPS 30 ns, 95% global statistic SPS Performance Standard, 5th Ed. 2020, Table 3.4-4
Galileo < 30 ns, 95%, over all ages of data OS-SDD v1.3, Table 13
BeiDou ≤ 20 ns, 95% BDS Open Service Performance Standard v3.0, 2021, Table 5-8

The measured reality is roughly ten times better than that. Over fourteen months of daily BIPM measurements, all three sit within a nanosecond of mean bias and a few nanoseconds at 95%. We know the real figure rather than the specified one because somebody grades it, which is the whole subject of the rest of this page.

Comparing those two rows honestly

The specifications are 95% statistics. Our measured figures are a mean and a standard deviation, and comparing a mean against a 95% would flatter us by about a factor of three.

Like for like: GPS measures +0.59 ± 1.17 ns, Galileo +0.62 ± 1.95, BeiDou −0.10 ± 1.04, with worst excursions under 5 ns across 426 days. Call that roughly 3–5 ns at 95%, against committed figures of 20–30 ns. An order of magnitude of headroom, not two — which is still a striking margin, and a more defensible sentence than the one it replaces.

Two loops, at wildly different speeds

Keeping that estimate good takes two control loops.

The fast loop is the one that keeps your clock honest: corrections computed on the ground, uploaded, broadcast, and applied in your receiver — refreshed anywhere from every five seconds to every couple of hours.

The slow loop runs through the BIPM. Laboratories compare their clocks, report to Paris, and weeks later UTC is defined for a period already past.

Both loops on one page. Red is the fast loop and closes in minutes; black is the slow loop and closes in weeks. They share the same monitoring stations at the bottom right, which is the only place the two ever touch. Bent pipe is shorthand: the correction content is computed on the ground and the satellite neither reads it nor acts on it, though the signal carrying it is generated on board like every other.

Read the figure as two circuits sharing one set of sensors. The red loop leaves the ground segment, passes through the satellite, is observed by the monitoring stations, and comes straight back to the ground segment to be uploaded again. The black loop starts from those same monitoring stations, goes to Paris, and returns as UTC defined — a value, not a correction, and a value about a period that has already ended.

The obvious thing to say about the slow loop is that you cannot steer to it, and that is true. It is also the least interesting thing about it, because the slow loop is where the fast loop’s homework gets marked. That marking is published, and it has a page of its own: the GNSS prediction scorecard.

The cadences, which are easy to conflate

Three different clocks tick here, on different axes.

Monthly is the batch size, not merely the publication schedule. BIPM’s algorithm processes one month of data at a time, because weighting each clock by its demonstrated stability requires a month of it to look at. The publication cadence follows the algorithm, not the other way round.

Five days is the sample spacing for [UTC − UTC(k)] in Section 1 of Circular T — quoted at “standard dates”, the MJDs ending in 4 and 9, at 0 h UTC. So one Circular T carries about six samples per laboratory, not one.

One day is the sample spacing for the GNSS comparison in Section 4, and for UTCr below. Anything varying faster than its sample spacing is invisible, whichever section you are reading.

And a fourth product for when a month is too long to wait:

UTCr, rapid UTC, published weekly since July 2013 with daily values. Participation is voluntary and requires labs to submit data every day. It agrees with Circular T to within a few nanoseconds.

But only Circular T confers traceability

UTCr is faster and nearly as close. It is still not the reference — Circular T remains the unique source of traceability to UTC.

Which is the distinction the traceability page turns on: being nearly as accurate and being the thing others must accept are separate properties, and only one of them is decided by measurement.

Latency, measured

Across fourteen consecutive issues of Circular T, the delay from a measurement to its publication runs:

  • newest point in an issue: 8–16 days, median 13
  • oldest point in an issue: 39–45 days, median 42

So a fresh Circular T tells you about a period that ended about two weeks ago and began about six weeks ago — during which your clock has already done whatever it was going to do.

That is the whole shape of it. The fast loop tells you what to do. The slow loop tells you how you have been doing. Neither substitutes for the other, and a timing programme that consults only the first has no way of knowing whether any of it worked.

Where to go next