|
From: | Håkan Johansson |
Subject: | Re: [gpsd-dev] Very basic PPS question: |
Date: | Sun, 20 Oct 2013 12:11:25 +0200 |
User-agent: | Alpine 2.00 (DEB 1167 2008-08-23) |
On Sun, 20 Oct 2013, Hal Murray wrote:
address@hidden said:It makes no sense to say that the PPS signal belongs to the previous or latter serial message. Basically, they are independent of the actual data-stream telling about location, time etc.One of us is missing something important. When you get a message on the serial port, it says something like "The time xxx 12:34.56" I think the question being discussed is whether xxx is "will be" or "was"? Does it refer to the previous or next pulse?
I agree. For practical purposes this is the question. And generally the message on the serial port tells "was".
But I still think it is a distinction between saying that the serial message belongs to (or explains) the previous pulse, and saying that a pulse belongs to the following message.
The oncore manual (http://gpsd.berlios.de/vendor-docs/motorola/ *), chapter 3, pages 3.34 - 3.37, has a good account of how this device generates the serial message. Actually from the measurement period 1 s earlier, and then forward propagated, to allow for the internal latency of calculating the solution. Giving the usual practical effect: 'at the most recent epoch/beep, the time and position was'.
* This manual seems not to have survived onto the new website? Link was from http://gpsd.berlios.de/references.html, under 'Obsolete products'.
But the PPS-then-associated-serial relationship is cut by part of one message being for the future, see below.
(If memory serves me, some GPS devices also take special care to even emit the PPS pulse at the correct time inbetween the local digital clock cycles its logic is running on. Or at least tell how off it is in that respect. In this case, it again of course matters if this (serial) information relates to the previous or next PPS signal.)There is an additional concept. Suppose the clock on your GPS device is 50 MHz or 20 nanoseconds. That means you can get a clock edge within 10 ns of any target. If you want accuracy better than that you either have to fix your clock to tick at the right time, or tell the other end how far off it is. The first requires hardware and adds to the cost of each unit. The latter is just some more software.
Yes, one example being the oncore that does this, the software way. See chapter 6, page 6.93 and 6.95, the time RAIM status message:
n negative sawtooth -128 .. 127 time error of next 1PPS pulse in nanosecondsThe device tells how far the clock edge where the _following_ PPS pulse will be emitted will be off the correct time. Implying that each PPS emission is not generated by a specific satellite solution and thus linked to a particular serial messages, but rather disciplined by the sequence of satellite measurements.
gpsd has decoding for this message, but does not use it. Only when we can observe timing offsets below 100 ns this would make a difference.
Pages 24-33 of www.gpstime.com/files/tow-time2011.ppt (warning, page 35 is horribly slow on my libreoffice) has an account of this future sawtooth correction being used to generate a good hardware PPS signal.
For gpsd practical purposes I agree: serial messages we know of are for the previous PPS, and doing the +1 s forward propagation is the natural consequence.
Cheers, Håkan
[Prev in Thread] | Current Thread | [Next in Thread] |