time-nuts@lists.febo.com

Discussion of precise time and frequency measurement

View all threads

How does sawtooth compensation work?

NS
Nick Sayer
Mon, Jul 18, 2016 10:31 PM

I've read Tom's page about sawtooth PPS jitter and I believe I understand where it comes from.    My current GPSDOs ignore the phenomenon. Certainly at the moment, I'm satisfied with that.  The systems gravitate towards PLL time constants that average it all away.

What I'd like to understand is how sawtooth compensation works with receivers that support it. Is it that I expect an NMEA sentence with a nanosecond offset value that I add to any phase difference observation that I get?

Sent from my iPhone

I've read Tom's page about sawtooth PPS jitter and I believe I understand where it comes from. My current GPSDOs ignore the phenomenon. Certainly at the moment, I'm satisfied with that. The systems gravitate towards PLL time constants that average it all away. What I'd like to understand is how sawtooth compensation works with receivers that support it. Is it that I expect an NMEA sentence with a nanosecond offset value that I add to any phase difference observation that I get? Sent from my iPhone
BC
Bob Camp
Mon, Jul 18, 2016 11:20 PM

Hi

The sawtooth process “picks” the closest clock edge and spits out the PPS based on it.

If the internal TCXO is off of a point that divides to 1Hz, the edge guess changes fairly often
and you can average it out. A drifting TCXO will (effectively) never be at a modulo 1 Hz
frequency long enough to matter.

If the TCXO happens to hit a modulo 1 Hz point and remain fairly stable, the pick process
will always pick the same edge of the clock. Now the averaging process stops working. The
edge guess is no longer bouncing back and forth. If you graph what happens, it is a parabolic
looking structure in the data between two triangle waves. The normal term for this is a hanging
bridge.

The gotcha is that depending on the TCXO, the temperature, and the guess process, the bridge
can “hang in there” for quite a while. If it hangs on one edge of the clock for a few hundred seconds,
the offset will likely chug right through your filter.

======

On a receiver with sawtooth correction, you have a manufacturer specific message that gives
you information on the state of the receiver. It is defined as either applying to the next pps
or to the pps that just came out. There is a field that may give you picosecond resolution
(as opposed to accuracy) data on the proper location of the PPS edge. Depending on how
you evaluate the correction, it can get the jitter down below 1 ns (again, jitter as opposed
to accuracy).

A device that uses the sawtooth data shoves it into the control loop along with the measured
early / late information on the PPS.

Bob

On Jul 18, 2016, at 6:31 PM, Nick Sayer via time-nuts time-nuts@febo.com wrote:

I've read Tom's page about sawtooth PPS jitter and I believe I understand where it comes from.    My current GPSDOs ignore the phenomenon. Certainly at the moment, I'm satisfied with that.  The systems gravitate towards PLL time constants that average it all away.

What I'd like to understand is how sawtooth compensation works with receivers that support it. Is it that I expect an NMEA sentence with a nanosecond offset value that I add to any phase difference observation that I get?

Sent from my iPhone


time-nuts mailing list -- time-nuts@febo.com
To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
and follow the instructions there.

Hi The sawtooth process “picks” the closest clock edge and spits out the PPS based on it. If the internal TCXO is off of a point that divides to 1Hz, the edge guess changes fairly often and you can average it out. A drifting TCXO will (effectively) never be at a modulo 1 Hz frequency long enough to matter. If the TCXO happens to hit a modulo 1 Hz point *and* remain fairly stable, the pick process will always pick the same edge of the clock. Now the averaging process stops working. The edge guess is no longer bouncing back and forth. If you graph what happens, it is a parabolic looking structure in the data between two triangle waves. The normal term for this is a hanging bridge. The gotcha is that depending on the TCXO, the temperature, and the guess process, the bridge can “hang in there” for quite a while. If it hangs on one edge of the clock for a few hundred seconds, the offset will likely chug right through your filter. ====== On a receiver with sawtooth correction, you have a manufacturer specific message that gives you information on the state of the receiver. It is defined as either applying to the next pps or to the pps that just came out. There is a field that may give you picosecond resolution (as opposed to accuracy) data on the proper location of the PPS edge. Depending on how you evaluate the correction, it can get the jitter down below 1 ns (again, jitter as opposed to accuracy). A device that uses the sawtooth data shoves it into the control loop along with the measured early / late information on the PPS. Bob > On Jul 18, 2016, at 6:31 PM, Nick Sayer via time-nuts <time-nuts@febo.com> wrote: > > I've read Tom's page about sawtooth PPS jitter and I believe I understand where it comes from. My current GPSDOs ignore the phenomenon. Certainly at the moment, I'm satisfied with that. The systems gravitate towards PLL time constants that average it all away. > > What I'd like to understand is how sawtooth compensation works with receivers that support it. Is it that I expect an NMEA sentence with a nanosecond offset value that I add to any phase difference observation that I get? > > Sent from my iPhone > _______________________________________________ > time-nuts mailing list -- time-nuts@febo.com > To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts > and follow the instructions there.
BS
Bob Stewart
Mon, Jul 18, 2016 11:25 PM

Hi Nick,

Let's use the example of a Ublox timing receiver.  In the TIM-TP data package, there is a qErr value, which is the quantization error of the next PPS pulse output by the receiver.  At the next PPS, you would subtract that from the unwrapped phase measurement your GPSDO makes and that would give you the actual phase difference between your OCXO (or generated PPS) and what Tom has called "The PPS", which is the pulse occurring exactly at the top of the second --- give or take coax length, etc.
Bob
 -----------------------------------------------------------------
AE6RV.com

GFS GPSDO list:
groups.yahoo.com/neo/groups/GFS-GPSDOs/info

  From: Nick Sayer via time-nuts <time-nuts@febo.com>

To: Chris Arnold via time-nuts time-nuts@febo.com
Sent: Monday, July 18, 2016 5:31 PM
Subject: [time-nuts] How does sawtooth compensation work?

I've read Tom's page about sawtooth PPS jitter and I believe I understand where it comes from.    My current GPSDOs ignore the phenomenon. Certainly at the moment, I'm satisfied with that.  The systems gravitate towards PLL time constants that average it all away.

What I'd like to understand is how sawtooth compensation works with receivers that support it. Is it that I expect an NMEA sentence with a nanosecond offset value that I add to any phase difference observation that I get?

Sent from my iPhone


time-nuts mailing list -- time-nuts@febo.com
To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
and follow the instructions there.

Hi Nick, Let's use the example of a Ublox timing receiver.  In the TIM-TP data package, there is a qErr value, which is the quantization error of the *next* PPS pulse output by the receiver.  At the next PPS, you would subtract that from the unwrapped phase measurement your GPSDO makes and that would give you the actual phase difference between your OCXO (or generated PPS) and what Tom has called "The PPS", which is the pulse occurring exactly at the top of the second --- give or take coax length, etc. Bob  ----------------------------------------------------------------- AE6RV.com GFS GPSDO list: groups.yahoo.com/neo/groups/GFS-GPSDOs/info From: Nick Sayer via time-nuts <time-nuts@febo.com> To: Chris Arnold via time-nuts <time-nuts@febo.com> Sent: Monday, July 18, 2016 5:31 PM Subject: [time-nuts] How does sawtooth compensation work? I've read Tom's page about sawtooth PPS jitter and I believe I understand where it comes from.    My current GPSDOs ignore the phenomenon. Certainly at the moment, I'm satisfied with that.  The systems gravitate towards PLL time constants that average it all away. What I'd like to understand is how sawtooth compensation works with receivers that support it. Is it that I expect an NMEA sentence with a nanosecond offset value that I add to any phase difference observation that I get? Sent from my iPhone _______________________________________________ time-nuts mailing list -- time-nuts@febo.com To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts and follow the instructions there.
TV
Tom Van Baak
Mon, Jul 18, 2016 11:29 PM

I've read Tom's page about sawtooth PPS jitter and I believe I understand where it comes from.

A GPS timing receiver solves a bunch of equations at least once a second and it ends up with a pretty good idea, numerically speaking, of what the time is internally, relative to its local oscillator.

It conveys this precise time to the user through a 1PPS signal. That pulse has to come from somewhere, and in practice the chip uses a gated edge of its LO clock to create the 1PPS edge. That means the 1PPS has some granularity. For example, if the LO is 25 MHz then the period is 40 ns which means the physical 1PPS will be somewhere between -20 ns and +20 ns of the numerical ideal. Similarly, if a mythical GPS receiver had a 500 MHz LO, then the 1PPS could be +/- 1 ns of ideal.

So does that make sense so far? These GPS boards do not have a way to electronically generate an electrical pulse that has arbitrary sub-ns phase from a periodic clock edge. They just "cheat" and pick the closest LO clock edge and call that the 1PPS. Some receivers get 2x advantage by using either clock edge. So this is the jitter part of 1PPS.

Now the other factors are 1) the solutions of the equations tend to wander due to changing reception and changing SV positions. 2) the LO is likely not on-frequency or even deliberately off-frequency, so you get a modulus or beat-node effect, 3) the LO tends wander in frequency, especially since they are usually just cheap XO or TCXO. This is the wander part of 1PPS.

Combine all effects and you get a sawtooth pattern. It varies in look & feel quite a bit. I have some weird and wonderful plots at http://leapsecond.com/pages/MG1613S/ that show how the character of the sawtooth varies. The direction and pitch and

What I'd like to understand is how sawtooth compensation works with receivers that support it. Is it that I expect an NMEA sentence with a nanosecond offset value that I add to

The compensation is simple. The receiver knows the time internally. The receiver picks the closest edge that it can. It knows why it picked the edge it did and thus how far that edge is from the ideal. So it just outputs that number to the user in some binary message.

The user then, uses a TIC to compare the GPS/1PPS against the OCXO/1PPS, reads the binary quantization correction, and applies that to the TIC reading. With this scheme there is no need for the 1PPS to be electrically right as long as the GPS receiver also tells you numerically how far from right it is.

Does that help?

There are some tangents we could go down:

  1. There are cases where the inherent dithering you get from sawtooth error is actually hugely beneficial to the design of a GPSDO.
  2. One GPSDO design (Trimble Thunderbolt) is unique in that is has no sawtooth problem or TIC or XO or TCXO at all. Instead it directly uses the high-quality OCXO as the receiver's LO. They get away with this clean solution because they are a company that makes their own receiver h/w.
  3. Carrier phase receivers with external clock input.

/tvb

----- Original Message -----
From: "Nick Sayer via time-nuts" time-nuts@febo.com
To: "Chris Arnold via time-nuts" time-nuts@febo.com
Sent: Monday, July 18, 2016 3:31 PM
Subject: [time-nuts] How does sawtooth compensation work?

I've read Tom's page about sawtooth PPS jitter and I believe I understand where it comes from.    My current GPSDOs ignore the phenomenon. Certainly at the moment, I'm satisfied with that.  The systems gravitate towards PLL time constants that average it all away.

What I'd like to understand is how sawtooth compensation works with receivers that support it. Is it that I expect an NMEA sentence with a nanosecond offset value that I add to any phase difference observation that I get?

Sent from my iPhone

> I've read Tom's page about sawtooth PPS jitter and I believe I understand where it comes from. A GPS timing receiver solves a bunch of equations at least once a second and it ends up with a pretty good idea, numerically speaking, of what the time is internally, relative to its local oscillator. It conveys this precise time to the user through a 1PPS signal. That pulse has to come from somewhere, and in practice the chip uses a gated edge of its LO clock to create the 1PPS edge. That means the 1PPS has some granularity. For example, if the LO is 25 MHz then the period is 40 ns which means the physical 1PPS will be somewhere between -20 ns and +20 ns of the numerical ideal. Similarly, if a mythical GPS receiver had a 500 MHz LO, then the 1PPS could be +/- 1 ns of ideal. So does that make sense so far? These GPS boards do not have a way to electronically generate an electrical pulse that has arbitrary sub-ns phase from a periodic clock edge. They just "cheat" and pick the closest LO clock edge and call that the 1PPS. Some receivers get 2x advantage by using either clock edge. So this is the jitter part of 1PPS. Now the other factors are 1) the solutions of the equations tend to wander due to changing reception and changing SV positions. 2) the LO is likely not on-frequency or even deliberately off-frequency, so you get a modulus or beat-node effect, 3) the LO tends wander in frequency, especially since they are usually just cheap XO or TCXO. This is the wander part of 1PPS. Combine all effects and you get a sawtooth pattern. It varies in look & feel quite a bit. I have some weird and wonderful plots at http://leapsecond.com/pages/MG1613S/ that show how the character of the sawtooth varies. The direction and pitch and > What I'd like to understand is how sawtooth compensation works with receivers that support it. Is it that I expect an NMEA sentence with a nanosecond offset value that I add to The compensation is simple. The receiver knows the time internally. The receiver picks the closest edge that it can. It knows why it picked the edge it did and thus how far that edge is from the ideal. So it just outputs that number to the user in some binary message. The user then, uses a TIC to compare the GPS/1PPS against the OCXO/1PPS, reads the binary quantization correction, and applies that to the TIC reading. With this scheme there is no need for the 1PPS to be *electrically* right as long as the GPS receiver also tells you *numerically* how far from right it is. Does that help? There are some tangents we could go down: 1) There are cases where the inherent dithering you get from sawtooth error is actually hugely beneficial to the design of a GPSDO. 2) One GPSDO design (Trimble Thunderbolt) is unique in that is has no sawtooth problem or TIC or XO or TCXO at all. Instead it directly uses the high-quality OCXO as the receiver's LO. They get away with this clean solution because they are a company that makes their own receiver h/w. 3) Carrier phase receivers with external clock input. /tvb ----- Original Message ----- From: "Nick Sayer via time-nuts" <time-nuts@febo.com> To: "Chris Arnold via time-nuts" <time-nuts@febo.com> Sent: Monday, July 18, 2016 3:31 PM Subject: [time-nuts] How does sawtooth compensation work? > I've read Tom's page about sawtooth PPS jitter and I believe I understand where it comes from. My current GPSDOs ignore the phenomenon. Certainly at the moment, I'm satisfied with that. The systems gravitate towards PLL time constants that average it all away. > > What I'd like to understand is how sawtooth compensation works with receivers that support it. Is it that I expect an NMEA sentence with a nanosecond offset value that I add to any phase difference observation that I get? > > Sent from my iPhone
NS
Nick Sayer
Tue, Jul 19, 2016 2:47 AM

On Jul 18, 2016, at 4:20 PM, Bob Camp kb8tq@n1k.org wrote:

On a receiver with sawtooth correction, you have a manufacturer specific message that gives
you information on the state of the receiver. It is defined as either applying to the next pps
or to the pps that just came out. There is a field that may give you picosecond resolution
(as opposed to accuracy) data on the proper location of the PPS edge. Depending on how
you evaluate the correction, it can get the jitter down below 1 ns (again, jitter as opposed
to accuracy).

A device that uses the sawtooth data shoves it into the control loop along with the measured
early / late information on the PPS.

Thanks. That’s what I figured. Thanks to you and everyone for confirming that.

> On Jul 18, 2016, at 4:20 PM, Bob Camp <kb8tq@n1k.org> wrote: > > On a receiver with sawtooth correction, you have a manufacturer specific message that gives > you information on the state of the receiver. It is defined as either applying to the next pps > or to the pps that just came out. There is a field that may give you picosecond resolution > (as opposed to accuracy) data on the proper location of the PPS edge. Depending on how > you evaluate the correction, it can get the jitter down below 1 ns (again, jitter as opposed > to accuracy). > > A device that uses the sawtooth data shoves it into the control loop along with the measured > early / late information on the PPS. Thanks. That’s what I figured. Thanks to you and everyone for confirming that.