[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [gpsd-users] Determining when the time has been corrected

From: Simon Haines
Subject: Re: [gpsd-users] Determining when the time has been corrected
Date: Wed, 17 Oct 2018 11:12:01 +1100

Thanks David,

The values I'm using all come from gpsd through the gpsmm library, and not directly from the device itself. I'm opening the gpsd socket with 'WATCH_ENABLE|WATCH_TIMING', and reading the fix.time property (as well as the fix.ept and dop.tdop properties which don't help). The fix.time property is approximately UTC + 3s before a correction, and exactly UTC after a correction. It's not a caching issue, when a correction comes, successive messages wind back the time. As far as I can tell the uncompensated GPS time is not available through gpsd? Do I need to step around gpsd and read the raw messages to get GPS time?

Because the corrections usually come within 7 minutes of boot, sometimes within 1 minute, I don't think the device is waiting for a full almanac download before issuing a correction as this can take 12 or so minutes (I believe)? One possibility is that the device is applying an offset pre-programmed in its firmware until it can somehow determine the correct one, and a +3s figure would put the date of the firmware between 2009 and 2011. I guess I'll have to follow up with uBlox on this theory.


On Tue, 16 Oct 2018 at 18:27, David J Taylor <address@hidden> wrote:
My uBlox NEO-6M device always corrects its timestamp after boot. After a
warm start, for example, it is approximately 3 seconds ahead of UTC but will
start issuing the correct timestamp in about 1-7 minutes. I'd like to get a
'confidence' value that indicates whether the timestamp is accurate or will
be corrected sometime in the future (there is often more than one

I've looked at the values 'fix.ept' (estimated time uncertainty) and
'dop.tdop' (time dilution of precision), but these remain stable before and
after a correction at 0.005 and ~1.26 respectively, and I'm receiving PPS
signals minutes before the timestamp is corrected.

I'm not really looking for a Chrony/NTPD solution--I don't want to slew the
system clock or resort to statistical techniques to determine precision. I'd
like to know if there is any way to determine if the GPS timestamp is
accurate as quickly as possible in an isolated, non-networked environment.
Possible, or a pipe dream?



Having a 3-second offset sounds strange to me.  However, if you can look at
the (GPS-time - UTC) offset value, and determine that it's 18 seconds or
greater, I think that would be a good check.  Unless that offset value is
being held across reboots!

You did know that the GPS timescale is offset from UTC, I suppose, and that
the GPS device will only output the correct time once it knows the offset.
How individual devices handle this across reboots will be different, of

There are those more expert than I here, but I recall something like that
the shared memory value isn't set until the time is considered correct.
Correction appreciated.

SatSignal Software - Quality software for you
Email: address@hidden
Twitter: @gm8arv

reply via email to

[Prev in Thread] Current Thread [Next in Thread]