[Top][All Lists]

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

Re: [gpsd-dev] Very basic PPS question:

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 ( *), 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, 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 nanoseconds

The 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 (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.


reply via email to

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