![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
>There was some flamage on comp.protocols.time.ntp not too long ago >saying that NTP should have been designed to tick TAI, and leave it up >to the end users to figure out whether they want to observe TAI, TAI >plus a fixed offset, or UTC. (Of course, the POSIX botch strikes >again.) Right. TAI = international atomic time. There's a fixed 19-second difference between TAI and GPS time; this was the difference between TAI (no leap seconds) and UTC (with leap seconds) on the GPS epoch date of January 6, 1980. So it really doesn't matter whether you use TAI or GPS time, as both are monotonically increasing scales without leap seconds making it trivial to convert between the two. Actually, if you want submicrosecond accuracy things get slightly more complicated. Due to clock drift, the GPS-UTC (and GPS-TAI) difference is not *exactly* an integral number of seconds. But the residual is always less than a microsecond, and the GPS navigation messages give you the current residual that will get you within 50 ns or so. And yes, time fields in protocols should have better than 1 sec resolution. I sometimes use 64-bit doubles to represent GPS time, but I estimate this has a current LSB resolution of about 63 ns -- plenty adequate for file timestamping, but too coarse for some GPS work. A 64-bit integer count of nanoseconds has a period of 585 years, which isn't *too* short. Phil
Note Well: Messages sent to this mailing list are the opinions of the senders and do not imply endorsement by the IETF.