[time-nuts] Re: Why Jan 6th?
Tom Van Baak
tvb at LeapSecond.com
Wed Mar 23 02:25:51 UTC 2022
> Why is it 0UTC Jan 6, 1980
Short answer: GPS time is based on week numbers. The week number
increments at midnight between Saturday and Sunday. Thus for the
timescale to start at 0 seconds, in the year 1980, you have to pick
January 6th (Sunday) not January 1st (Tuesday) as the starting day.
See also:
https://en.wikipedia.org/wiki/Epoch_(computing)
https://gssc.esa.int/navipedia/index.php/Time_References_in_GNSS
----
Long answer: GPS time is kept as two continuous counters. One is a
binary wrapping count of weeks and the other is a count of seconds
within the week, which starts at 0 and resets at 604800 (7 * 24 * 60 *
60). Timing in GPS is based on this {week, seconds} tuple.
The week number increments at midnight between Saturday and Sunday. In
the US, Sunday is considered the first day of the week and civil
calendars show weeks going from Sunday to Saturday so a GPS week starts
at 0h Sunday and ends 24h Saturday. Note this is GPS midnight and not
UTC midnight. The two were equal in 1980 but now close yet unequal due
to leap seconds in UTC.
To create what we call "time of day" from this tuple some sort of
starting point must be defined. That's because fundamentally time is
relative and the SI unit of time is interval. So the time "now" must be
represented as as interval, such as now minus then, where "then" is some
agreed upon origin point (aka epoch). There are many different timing
systems and for practical or historical reasons each one gets to borrow
or define its epoch. Some examples:
01-Jan-1601Â Windows NT
17-Nov-1858Â VMS
01-Jan-1900Â NTP
01-Jan-1958Â Loran-C
01-Jan-1970Â UNIX
01-Jan-1980Â DOS
06-Jan-1980Â GPS
22-Aug-1999Â Galileo
01-Jan-2006Â BeiDou
These choices are an interesting mix of history, convenience, round
numbers, and math. The main difference is that astronomical or computer
epochs tend to count seconds or days and thus have no week alignment
requirement. By contrast all three GNSS systems mentioned above are
based on week numbers. So if you want the timescale to start at {0,0}
the starting day needs to be a Sunday. Type cal 1 1980; cal 8 1999; cal
1 2006 to verify for the above 3 GNSS systems.
You'll recognize many of these numbers. The VMS epoch is MJD 0, which is
JD 2400000.5 and the Loran-C epoch is the de facto beginning of atomic
time. UNIX and DOS chose round decade numbers; NTP chose a round century
number; Windows NT chose a four century number (recall 4-100-400 leap
year rule). Many more examples are found in the wikipedia page I linked
above.
/tvb
On 3/22/2022 5:15 PM, Lux, Jim wrote:
> I've been hunting around for the origin of GPS zero - Why is it 0UTC
> Jan 6, 1980?  Is it a subtle joke about "Twelfth Night"? Does it have
> some useful properties that "end of year" does not?
More information about the Time-nuts_lists.febo.com
mailing list