time-nuts@lists.febo.com

Discussion of precise time and frequency measurement

View all threads

Best Chance GPS module

BC
Bob Camp
Fri, Dec 2, 2016 12:02 PM

HI

On Dec 1, 2016, at 10:54 PM, Gian-Paolo Musumeci gp@pdti.net wrote:

On Thu, Dec 1, 2016, at 09:01 AM, Chris Albertson wrote:

The other thing you might look at is NOT using NTP but using PTP.  This
might be a better match to your needs but it requires that you replace
all your network gear with equipment that can make hardware time stamps
on the network packets.

You don't actually need to have PTP-capable network gear to make PTP
work
reasonably well.

I have a small test environment with a Symmetricom S300-Rb PTP
grandmaster
distributing time to six Cisco UCS blades running FreeBSD. The S300 does
hardware timestamping, but the UCS blades do not. The network has a
Cisco
UCS fabric switch plus an Arista 7124S, neither of which support PTP
transparency. Works fine; I haven't measured it exhaustively, but
preliminary
data suggests that I am getting 2.5e-5 seconds of drift in the worst
case.

NTP running on the same sort of network will deliver roughly the same performance.
There is very little asymmetry and the “source” is properly done. The net result
is roughly microsecond timing on a simple LAN.

I've heard reports that full hardware timestamping and transparent
switching
can easily get you into the 1e-7 range, but I haven't tried that yet.

With proper time stamping throughout and good hardware and a high enough packet
rate you can get to the nanoseconds level with 1588.

Bob

/gp


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 > On Dec 1, 2016, at 10:54 PM, Gian-Paolo Musumeci <gp@pdti.net> wrote: > > > > On Thu, Dec 1, 2016, at 09:01 AM, Chris Albertson wrote: >> The other thing you might look at is NOT using NTP but using PTP. This >> might be a better match to your needs but it requires that you replace >> all your network gear with equipment that can make hardware time stamps >> on the network packets. > > You don't actually need to have PTP-capable network gear to make PTP > work > reasonably well. > > I have a small test environment with a Symmetricom S300-Rb PTP > grandmaster > distributing time to six Cisco UCS blades running FreeBSD. The S300 does > hardware timestamping, but the UCS blades do not. The network has a > Cisco > UCS fabric switch plus an Arista 7124S, neither of which support PTP > transparency. Works fine; I haven't measured it exhaustively, but > preliminary > data suggests that I am getting 2.5e-5 seconds of drift in the worst > case. NTP running on the same sort of network will deliver roughly the same performance. There is very little asymmetry and the “source” is properly done. The net result is roughly microsecond timing on a simple LAN. > > I've heard reports that full hardware timestamping and transparent > switching > can easily get you into the 1e-7 range, but I haven't tried that yet. With proper time stamping throughout and good hardware and a high enough packet rate you can get to the nanoseconds level with 1588. Bob > /gp > _______________________________________________ > 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.
M
MLewis
Sat, Dec 3, 2016 3:29 PM

So much to absorb and learn from what people have responded with.

Thanks all!

On 01/12/2016 12:01 PM, Chris Albertson wrote:

OK, now I know what you need.  Millisecond level time on the data
processing machine. ... Let's assume you were able to set up a local NTP server that runs off it's
own GPS reference clock. ... about 100x better then you
need. ...  Ethernet is not perfect but good enough for what you want.

That's the take I have on it.

I really doubt varying processing load is an issue with NTP. ... What happens is
the PPS causes an interrupt and inside the handler the nanosecond clock is
sampled and copied to memory.  The handler has something like 8 lines of
code and runs very fast.

That's good to know about PPS, 'cause the computer's load while polling
hosts over the internet is getting me horrible variance in offsets.

The other thing you might look at is NOT using NTP but using PTP.

Looks like fun, but way better than I need. More than I can afford too.

I don't think your measurements are measuring correctly. ... Any offset is perfectly fine, that is simple the communications delay and is accounted for by NTP. ... If you were looking at
offset, just don't do that.

O.K.. I'm pretty sure I don't understand that, but the issue I found was
not that different hosts offsets varied from one another, but that the
offset reported by "a" host would jump around. And when the load on the
computer was changing, low-to-high or high-to-low, several hosts',
sometimes all hosts, offsets jump around, with that multi-host variance
continuing for some minutes after the computer was running at the new
load. This settled down a little when I turned core parking off, but
only a little. I've attached a sample of the offsets I'm getting to show
this variance. Oddly, a sustained higher load would often settle the
variance and give the most consistent results: one such period is
between poll 6 & 10 on the "test run N24" attachment, and the graph
shows the offset slope and hosts' offset variances as the load moves
from heavy to medium and then light.

After giving up on SMAs to tame individual host's offsets, to get a
usable offset from the reported offsets I implemented a cascade of
filters: applying factors on standard deviation to implement truncation
means to remove outliers, then winsorizing means, with independent bias
factors applied to selection and winsorization. This all worked rather
well once I tuned the filters' parameters. Then the variance got worse,
so I added some increasing attenuation on increasing corrected offset
values and that made my corrected offset usable within the tolerance I
needed, until from a certain date the reported offsets went all over the
map.

But we shouldn't go down this road, other than curiosity (and I wish I
had the time to explore the why), as going to a separate machine as an
NTP host removes all of those types of issues. And I don't have to grow
my own code...

I think your only problem is finding a GPS with PPS output that works at
your location.  Don't worry much more.  If it works and has PPS it is good
enough

Exactly.
Any module that can get a usable GPS signal can discipline time and be
delivered over my local Ethernet to better than I need.

You might have a "Plan B", ...

Thanks for those. Good to know.

I believe the location issues narrows it down to the MAX-M8Q or the
NEO-M8T.

Both have great sensitivity, but their firmware varies to address
intent. The M8Q can be explicitly set to Dynamic-Mode-Stationary (as it
should go to automatically with an unmoving antenna) and the M8T will
set there as it moves to focusing on a better time solution after
establishing a location fix. In comparing their product descriptions,
the M8T seems the better choice while sitting still for obtaining usable
results in questionable locations, but - speculating - that wording may
be marketing wording in response to prior issues with earlier T series
modules. And so far, I've not found any accounts of first hand
experience with a M8T.

The other issue is what breakout board the modules are available on.

  • With the M8Q, there's hats or boards that can connect direct to a Pi
    or such, but lack protection with supply voltage or outputs if I want to
    feed them to another computer.
  • And the M8T is available on a board that provides power regulation and
    some protection, so that should be able to feed NEMA & PPS to any
    suitable computer without risk.
  • And I found a board that accepts GPS modules-on-breakout, protects
    them, and can feed any computer, but the breakout boards with M8Q or M8T
    have pins don't match the header. A small custom cable would fix that.

But without trying them, I can't Know which will be best by my location.
Or if my location means one will work and the other won't...

(waiting to do that GPS sat test at my location...)

So much to absorb and learn from what people have responded with. Thanks all! On 01/12/2016 12:01 PM, Chris Albertson wrote: > OK, now I know what you need. Millisecond level time on the data > processing machine. ... Let's assume you were able to set up a local NTP server that runs off it's > own GPS reference clock. ... about 100x better then you > need. ... Ethernet is not perfect but good enough for what you want. That's the take I have on it. > I really doubt varying processing load is an issue with NTP. ... What happens is > the PPS causes an interrupt and inside the handler the nanosecond clock is > sampled and copied to memory. The handler has something like 8 lines of > code and runs very fast. That's good to know about PPS, 'cause the computer's load while polling hosts over the internet is getting me horrible variance in offsets. > The other thing you might look at is NOT using NTP but using PTP. Looks like fun, but way better than I need. More than I can afford too. > I don't think your measurements are measuring correctly. ... Any offset is perfectly fine, that is simple the communications delay and is accounted for by NTP. ... If you were looking at > offset, just don't do that. O.K.. I'm pretty sure I don't understand that, but the issue I found was not that different hosts offsets varied from one another, but that the offset reported by "a" host would jump around. And when the load on the computer was changing, low-to-high or high-to-low, several hosts', sometimes all hosts, offsets jump around, with that multi-host variance continuing for some minutes after the computer was running at the new load. This settled down a little when I turned core parking off, but only a little. I've attached a sample of the offsets I'm getting to show this variance. Oddly, a sustained higher load would often settle the variance and give the most consistent results: one such period is between poll 6 & 10 on the "test run N24" attachment, and the graph shows the offset slope and hosts' offset variances as the load moves from heavy to medium and then light. After giving up on SMAs to tame individual host's offsets, to get a usable offset from the reported offsets I implemented a cascade of filters: applying factors on standard deviation to implement truncation means to remove outliers, then winsorizing means, with independent bias factors applied to selection and winsorization. This all worked rather well once I tuned the filters' parameters. Then the variance got worse, so I added some increasing attenuation on increasing corrected offset values and that made my corrected offset usable within the tolerance I needed, until from a certain date the reported offsets went all over the map. But we shouldn't go down this road, other than curiosity (and I wish I had the time to explore the why), as going to a separate machine as an NTP host removes all of those types of issues. And I don't have to grow my own code... > I think your only problem is finding a GPS with PPS output that works at > your location. Don't worry much more. If it works and has PPS it is good > enough Exactly. Any module that can get a usable GPS signal can discipline time and be delivered over my local Ethernet to better than I need. > You might have a "Plan B", ... Thanks for those. Good to know. I believe the location issues narrows it down to the MAX-M8Q or the NEO-M8T. Both have great sensitivity, but their firmware varies to address intent. The M8Q can be explicitly set to Dynamic-Mode-Stationary (as it should go to automatically with an unmoving antenna) and the M8T will set there as it moves to focusing on a better time solution after establishing a location fix. In comparing their product descriptions, the M8T seems the better choice while sitting still for obtaining usable results in questionable locations, but - speculating - that wording may be marketing wording in response to prior issues with earlier T series modules. And so far, I've not found any accounts of first hand experience with a M8T. The other issue is what breakout board the modules are available on. - With the M8Q, there's hats or boards that can connect direct to a Pi or such, but lack protection with supply voltage or outputs if I want to feed them to another computer. - And the M8T is available on a board that provides power regulation and some protection, so that should be able to feed NEMA & PPS to any suitable computer without risk. - And I found a board that accepts GPS modules-on-breakout, protects them, and can feed any computer, but the breakout boards with M8Q or M8T have pins don't match the header. A small custom cable would fix that. But without trying them, I can't Know which will be best by my location. Or if my location means one will work and the other won't... (waiting to do that GPS sat test at my location...)
BC
Bob Camp
Sat, Dec 3, 2016 5:33 PM

Hi

On Dec 3, 2016, at 10:29 AM, MLewis mlewis000@rogers.com wrote:

So much to absorb and learn from what people have responded with.

Thanks all!

On 01/12/2016 12:01 PM, Chris Albertson wrote:

OK, now I know what you need.  Millisecond level time on the data
processing machine. ... Let's assume you were able to set up a local NTP server that runs off it's
own GPS reference clock. ... about 100x better then you
need. ...  Ethernet is not perfect but good enough for what you want.

That's the take I have on it.

I really doubt varying processing load is an issue with NTP. ... What happens is
the PPS causes an interrupt and inside the handler the nanosecond clock is
sampled and copied to memory.  The handler has something like 8 lines of
code and runs very fast.

That's good to know about PPS, 'cause the computer's load while polling hosts over the internet is getting me horrible variance in offsets.

The other thing you might look at is NOT using NTP but using PTP.

Looks like fun, but way better than I need. More than I can afford too.

I don't think your measurements are measuring correctly. ... Any offset is perfectly fine, that is simple the communications delay and is accounted for by NTP. ... If you were looking at
offset, just don't do that.

O.K.. I'm pretty sure I don't understand that, but the issue I found was not that different hosts offsets varied from one another, but that the offset reported by "a" host would jump around. And when the load on the computer was changing, low-to-high or high-to-low, several hosts', sometimes all hosts, offsets jump around, with that multi-host variance continuing for some minutes after the computer was running at the new load. This settled down a little when I turned core parking off, but only a little. I've attached a sample of the offsets I'm getting to show this variance. Oddly, a sustained higher load would often settle the variance and give the most consistent results: one such period is between poll 6 & 10 on the "test run N24" attachment, and the graph shows the offset slope and hosts' offset variances as the load moves from heavy to medium and then light.

After giving up on SMAs to tame individual host's offsets, to get a usable offset from the reported offsets I implemented a cascade of filters: applying factors on standard deviation to implement truncation means to remove outliers, then winsorizing means, with independent bias factors applied to selection and winsorization. This all worked rather well once I tuned the filters' parameters. Then the variance got worse, so I added some increasing attenuation on increasing corrected offset values and that made my corrected offset usable within the tolerance I needed, until from a certain date the reported offsets went all over the map.

But we shouldn't go down this road, other than curiosity (and I wish I had the time to explore the why), as going to a separate machine as an NTP host removes all of those types of issues. And I don't have to grow my own code...

I think your only problem is finding a GPS with PPS output that works at
your location.  Don't worry much more.  If it works and has PPS it is good
enough

Exactly.
Any module that can get a usable GPS signal can discipline time and be delivered over my local Ethernet to better than I need.

You might have a "Plan B", ...

Thanks for those. Good to know.

I believe the location issues narrows it down to the MAX-M8Q or the NEO-M8T.

Both have great sensitivity, but their firmware varies to address intent. The M8Q can be explicitly set to Dynamic-Mode-Stationary (as it should go to automatically with an unmoving antenna) and the M8T will set there as it moves to focusing on a better time solution after establishing a location fix. In comparing their product descriptions, the M8T seems the better choice while sitting still for obtaining usable results in questionable locations, but - speculating - that wording may be marketing wording in response to prior issues with earlier T series modules. And so far, I've not found any accounts of first hand experience with a M8T.

The other issue is what breakout board the modules are available on.

  • With the M8Q, there's hats or boards that can connect direct to a Pi or such, but lack protection with supply voltage or outputs if I want to feed them to another computer.
  • And the M8T is available on a board that provides power regulation and some protection, so that should be able to feed NEMA & PPS to any suitable computer without risk.
  • And I found a board that accepts GPS modules-on-breakout, protects them, and can feed any computer, but the breakout boards with M8Q or M8T have pins don't match the header. A small custom cable would fix that.

For an “antenna challenged” location, the T is the better choice. It is simply an update (as the M8Q) of the earlier uBlox parts. The function is very similar to the earlier parts. You nail down the antenna location (like with duct tape) and put the module in survey mode. Eventually it completes the survey and you save that location. That location is then used as part of the fixed location setup. This eliminates any need to ever do a survey again. The reason you want the fixed location operating mode is that it will work with a single satellite. You don’t need the accuracy, but you do want to eliminate dropouts. The module should be set to only put out a PPS when it has a valid timing solution. You very much do not want it to simply put one out that is based on the internal oscillator on the module.

Bob

But without trying them, I can't Know which will be best by my location. Or if my location means one will work and the other won't...

(waiting to do that GPS sat test at my location...)

<at idle, well behaved.png><wtf, but not the worst.png><test run N24 16.10, loads heavy, to med to light - short.png>_______________________________________________
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 > On Dec 3, 2016, at 10:29 AM, MLewis <mlewis000@rogers.com> wrote: > > So much to absorb and learn from what people have responded with. > > Thanks all! > > On 01/12/2016 12:01 PM, Chris Albertson wrote: >> OK, now I know what you need. Millisecond level time on the data >> processing machine. ... Let's assume you were able to set up a local NTP server that runs off it's >> own GPS reference clock. ... about 100x better then you >> need. ... Ethernet is not perfect but good enough for what you want. > That's the take I have on it. > >> I really doubt varying processing load is an issue with NTP. ... What happens is >> the PPS causes an interrupt and inside the handler the nanosecond clock is >> sampled and copied to memory. The handler has something like 8 lines of >> code and runs very fast. > That's good to know about PPS, 'cause the computer's load while polling hosts over the internet is getting me horrible variance in offsets. > >> The other thing you might look at is NOT using NTP but using PTP. > Looks like fun, but way better than I need. More than I can afford too. > >> I don't think your measurements are measuring correctly. ... Any offset is perfectly fine, that is simple the communications delay and is accounted for by NTP. ... If you were looking at >> offset, just don't do that. > O.K.. I'm pretty sure I don't understand that, but the issue I found was not that different hosts offsets varied from one another, but that the offset reported by "a" host would jump around. And when the load on the computer was changing, low-to-high or high-to-low, several hosts', sometimes all hosts, offsets jump around, with that multi-host variance continuing for some minutes after the computer was running at the new load. This settled down a little when I turned core parking off, but only a little. I've attached a sample of the offsets I'm getting to show this variance. Oddly, a sustained higher load would often settle the variance and give the most consistent results: one such period is between poll 6 & 10 on the "test run N24" attachment, and the graph shows the offset slope and hosts' offset variances as the load moves from heavy to medium and then light. > > After giving up on SMAs to tame individual host's offsets, to get a usable offset from the reported offsets I implemented a cascade of filters: applying factors on standard deviation to implement truncation means to remove outliers, then winsorizing means, with independent bias factors applied to selection and winsorization. This all worked rather well once I tuned the filters' parameters. Then the variance got worse, so I added some increasing attenuation on increasing corrected offset values and that made my corrected offset usable within the tolerance I needed, until from a certain date the reported offsets went all over the map. > > But we shouldn't go down this road, other than curiosity (and I wish I had the time to explore the why), as going to a separate machine as an NTP host removes all of those types of issues. And I don't have to grow my own code... > >> I think your only problem is finding a GPS with PPS output that works at >> your location. Don't worry much more. If it works and has PPS it is good >> enough > Exactly. > Any module that can get a usable GPS signal can discipline time and be delivered over my local Ethernet to better than I need. > >> You might have a "Plan B", ... > Thanks for those. Good to know. > > > > I believe the location issues narrows it down to the MAX-M8Q or the NEO-M8T. > > Both have great sensitivity, but their firmware varies to address intent. The M8Q can be explicitly set to Dynamic-Mode-Stationary (as it should go to automatically with an unmoving antenna) and the M8T will set there as it moves to focusing on a better time solution after establishing a location fix. In comparing their product descriptions, the M8T seems the better choice while sitting still for obtaining usable results in questionable locations, but - speculating - that wording may be marketing wording in response to prior issues with earlier T series modules. And so far, I've not found any accounts of first hand experience with a M8T. > > The other issue is what breakout board the modules are available on. > - With the M8Q, there's hats or boards that can connect direct to a Pi or such, but lack protection with supply voltage or outputs if I want to feed them to another computer. > - And the M8T is available on a board that provides power regulation and some protection, so that should be able to feed NEMA & PPS to any suitable computer without risk. > - And I found a board that accepts GPS modules-on-breakout, protects them, and can feed any computer, but the breakout boards with M8Q or M8T have pins don't match the header. A small custom cable would fix that. > For an “antenna challenged” location, the T is the better choice. It is simply an update (as the M8Q) of the earlier uBlox parts. The function is very similar to the earlier parts. You nail down the antenna location (like with duct tape) and put the module in survey mode. Eventually it completes the survey and you save that location. That location is then used as part of the fixed location setup. This eliminates any need to ever do a survey again. The reason you want the fixed location operating mode is that it will work with a single satellite. You don’t need the accuracy, but you do want to eliminate dropouts. The module should be set to only put out a PPS when it has a valid timing solution. You very much do *not* want it to simply put one out that is based on the internal oscillator on the module. Bob > But without trying them, I can't Know which will be best by my location. Or if my location means one will work and the other won't... > > (waiting to do that GPS sat test at my location...) > > <at idle, well behaved.png><wtf, but not the worst.png><test run N24 16.10, loads heavy, to med to light - short.png>_______________________________________________ > 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.
DJ
David J Taylor
Sat, Dec 3, 2016 5:57 PM

-----Original Message-----
From: MLewis
Sent: Saturday, December 3, 2016 3:29 PM
To: Discussion of precise time and frequency measurement
Subject: Re: [time-nuts] Best Chance GPS module

So much to absorb and learn from what people have responded with.

Thanks all!

---==

.. but what is it that makes it so terribly difficult for people to add unit
quantities to graph scales, and in one case, even the scales themselves!

Personal peeve!

Now I'll look at the rest of your post....

Cheers,
David

SatSignal Software - Quality software written to your requirements
Web: http://www.satsignal.eu
Email: david-taylor@blueyonder.co.uk
Twitter: @gm8arv

-----Original Message----- From: MLewis Sent: Saturday, December 3, 2016 3:29 PM To: Discussion of precise time and frequency measurement Subject: Re: [time-nuts] Best Chance GPS module So much to absorb and learn from what people have responded with. Thanks all! =================================== .. but what is it that makes it so terribly difficult for people to add unit quantities to graph scales, and in one case, even the scales themselves! Personal peeve! Now I'll look at the rest of your post.... Cheers, David -- SatSignal Software - Quality software written to your requirements Web: http://www.satsignal.eu Email: david-taylor@blueyonder.co.uk Twitter: @gm8arv
SS
Scott Stobbe
Sat, Dec 3, 2016 7:24 PM

Hi Lewis,

Here is a sample data-point related to processor load, on the RPI 2.
Stepping from Idle to full load on 4 cores resulted in a temp rise near the
XO of approximately 14 degC, and correspondingly the XO shifted 3.6 PPM.

On Sat, Dec 3, 2016 at 10:29 AM, MLewis mlewis000@rogers.com wrote:

So much to absorb and learn from what people have responded with.

Thanks all!

On 01/12/2016 12:01 PM, Chris Albertson wrote:

OK, now I know what you need.  Millisecond level time on the data
processing machine. ... Let's assume you were able to set up a local NTP
server that runs off it's
own GPS reference clock. ... about 100x better then you
need. ...  Ethernet is not perfect but good enough for what you want.

That's the take I have on it.

I really doubt varying processing load is an issue with NTP. ... What

happens is
the PPS causes an interrupt and inside the handler the nanosecond clock is
sampled and copied to memory.  The handler has something like 8 lines of
code and runs very fast.

That's good to know about PPS, 'cause the computer's load while polling
hosts over the internet is getting me horrible variance in offsets.

The other thing you might look at is NOT using NTP but using PTP.

Looks like fun, but way better than I need. More than I can afford too.

I don't think your measurements are measuring correctly. ... Any offset is

perfectly fine, that is simple the communications delay and is accounted
for by NTP. ... If you were looking at
offset, just don't do that.

O.K.. I'm pretty sure I don't understand that, but the issue I found was
not that different hosts offsets varied from one another, but that the
offset reported by "a" host would jump around. And when the load on the
computer was changing, low-to-high or high-to-low, several hosts',
sometimes all hosts, offsets jump around, with that multi-host variance
continuing for some minutes after the computer was running at the new load.
This settled down a little when I turned core parking off, but only a
little. I've attached a sample of the offsets I'm getting to show this
variance. Oddly, a sustained higher load would often settle the variance
and give the most consistent results: one such period is between poll 6 &
10 on the "test run N24" attachment, and the graph shows the offset slope
and hosts' offset variances as the load moves from heavy to medium and then
light.

After giving up on SMAs to tame individual host's offsets, to get a usable
offset from the reported offsets I implemented a cascade of filters:
applying factors on standard deviation to implement truncation means to
remove outliers, then winsorizing means, with independent bias factors
applied to selection and winsorization. This all worked rather well once I
tuned the filters' parameters. Then the variance got worse, so I added some
increasing attenuation on increasing corrected offset values and that made
my corrected offset usable within the tolerance I needed, until from a
certain date the reported offsets went all over the map.

But we shouldn't go down this road, other than curiosity (and I wish I had
the time to explore the why), as going to a separate machine as an NTP host
removes all of those types of issues. And I don't have to grow my own
code...

I think your only problem is finding a GPS with PPS output that works at

your location.  Don't worry much more.  If it works and has PPS it is
good
enough

Exactly.
Any module that can get a usable GPS signal can discipline time and be
delivered over my local Ethernet to better than I need.

You might have a "Plan B", ...

Thanks for those. Good to know.

I believe the location issues narrows it down to the MAX-M8Q or the
NEO-M8T.

Both have great sensitivity, but their firmware varies to address intent.
The M8Q can be explicitly set to Dynamic-Mode-Stationary (as it should go
to automatically with an unmoving antenna) and the M8T will set there as it
moves to focusing on a better time solution after establishing a location
fix. In comparing their product descriptions, the M8T seems the better
choice while sitting still for obtaining usable results in questionable
locations, but - speculating - that wording may be marketing wording in
response to prior issues with earlier T series modules. And so far, I've
not found any accounts of first hand experience with a M8T.

The other issue is what breakout board the modules are available on.

  • With the M8Q, there's hats or boards that can connect direct to a Pi or
    such, but lack protection with supply voltage or outputs if I want to feed
    them to another computer.
  • And the M8T is available on a board that provides power regulation and
    some protection, so that should be able to feed NEMA & PPS to any suitable
    computer without risk.
  • And I found a board that accepts GPS modules-on-breakout, protects them,
    and can feed any computer, but the breakout boards with M8Q or M8T have
    pins don't match the header. A small custom cable would fix that.

But without trying them, I can't Know which will be best by my location.
Or if my location means one will work and the other won't...

(waiting to do that GPS sat test at my location...)


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 Lewis, Here is a sample data-point related to processor load, on the RPI 2. Stepping from Idle to full load on 4 cores resulted in a temp rise near the XO of approximately 14 degC, and correspondingly the XO shifted 3.6 PPM. On Sat, Dec 3, 2016 at 10:29 AM, MLewis <mlewis000@rogers.com> wrote: > So much to absorb and learn from what people have responded with. > > Thanks all! > > On 01/12/2016 12:01 PM, Chris Albertson wrote: > >> OK, now I know what you need. Millisecond level time on the data >> processing machine. ... Let's assume you were able to set up a local NTP >> server that runs off it's >> own GPS reference clock. ... about 100x better then you >> need. ... Ethernet is not perfect but good enough for what you want. >> > That's the take I have on it. > > I really doubt varying processing load is an issue with NTP. ... What >> happens is >> the PPS causes an interrupt and inside the handler the nanosecond clock is >> sampled and copied to memory. The handler has something like 8 lines of >> code and runs very fast. >> > That's good to know about PPS, 'cause the computer's load while polling > hosts over the internet is getting me horrible variance in offsets. > > The other thing you might look at is NOT using NTP but using PTP. >> > Looks like fun, but way better than I need. More than I can afford too. > > I don't think your measurements are measuring correctly. ... Any offset is >> perfectly fine, that is simple the communications delay and is accounted >> for by NTP. ... If you were looking at >> offset, just don't do that. >> > O.K.. I'm pretty sure I don't understand that, but the issue I found was > not that different hosts offsets varied from one another, but that the > offset reported by "a" host would jump around. And when the load on the > computer was changing, low-to-high or high-to-low, several hosts', > sometimes all hosts, offsets jump around, with that multi-host variance > continuing for some minutes after the computer was running at the new load. > This settled down a little when I turned core parking off, but only a > little. I've attached a sample of the offsets I'm getting to show this > variance. Oddly, a sustained higher load would often settle the variance > and give the most consistent results: one such period is between poll 6 & > 10 on the "test run N24" attachment, and the graph shows the offset slope > and hosts' offset variances as the load moves from heavy to medium and then > light. > > After giving up on SMAs to tame individual host's offsets, to get a usable > offset from the reported offsets I implemented a cascade of filters: > applying factors on standard deviation to implement truncation means to > remove outliers, then winsorizing means, with independent bias factors > applied to selection and winsorization. This all worked rather well once I > tuned the filters' parameters. Then the variance got worse, so I added some > increasing attenuation on increasing corrected offset values and that made > my corrected offset usable within the tolerance I needed, until from a > certain date the reported offsets went all over the map. > > But we shouldn't go down this road, other than curiosity (and I wish I had > the time to explore the why), as going to a separate machine as an NTP host > removes all of those types of issues. And I don't have to grow my own > code... > > I think your only problem is finding a GPS with PPS output that works at >> your location. Don't worry much more. If it works and has PPS it is >> good >> enough >> > Exactly. > Any module that can get a usable GPS signal can discipline time and be > delivered over my local Ethernet to better than I need. > > You might have a "Plan B", ... >> > Thanks for those. Good to know. > > > > I believe the location issues narrows it down to the MAX-M8Q or the > NEO-M8T. > > Both have great sensitivity, but their firmware varies to address intent. > The M8Q can be explicitly set to Dynamic-Mode-Stationary (as it should go > to automatically with an unmoving antenna) and the M8T will set there as it > moves to focusing on a better time solution after establishing a location > fix. In comparing their product descriptions, the M8T seems the better > choice while sitting still for obtaining usable results in questionable > locations, but - speculating - that wording may be marketing wording in > response to prior issues with earlier T series modules. And so far, I've > not found any accounts of first hand experience with a M8T. > > The other issue is what breakout board the modules are available on. > - With the M8Q, there's hats or boards that can connect direct to a Pi or > such, but lack protection with supply voltage or outputs if I want to feed > them to another computer. > - And the M8T is available on a board that provides power regulation and > some protection, so that should be able to feed NEMA & PPS to any suitable > computer without risk. > - And I found a board that accepts GPS modules-on-breakout, protects them, > and can feed any computer, but the breakout boards with M8Q or M8T have > pins don't match the header. A small custom cable would fix that. > > But without trying them, I can't Know which will be best by my location. > Or if my location means one will work and the other won't... > > (waiting to do that GPS sat test at my location...) > > > _______________________________________________ > 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. >
M
MLewis
Sun, Dec 4, 2016 11:57 AM

On 03/12/2016 12:33 PM, Bob Camp wrote:

For an “antenna challenged” location, the T is the better choice. It is simply an update (as the M8Q) of the earlier uBlox parts. The function is very similar to the earlier parts. You nail down the antenna location (like with duct tape) and put the module in survey mode. Eventually it completes the survey and you save that location. That location is then used as part of the fixed location setup. This eliminates any need to ever do a survey again. The reason you want the fixed location operating mode is that it will work with a single satellite. You don’t need the accuracy, but you do want to eliminate dropouts.

Thank you!

That is exactly what I "thought" I was getting from reading various
sources, but I wasn't confident I was getting it right.

I think:

  • There's GPS Time and with the offset (currently 17 seconds?) in the
    GPS location message we get UTC Time.
  • The GPS module receives the satellite's GPST, offset, and hence UTC
    Time, and its location fix allows for correcting for the message delay.
  • A better fix, and that correction is more accurate.
  • With a number of satellites reporting, that correction is more accurate.

If the module has a good fix and a good solution from several satellites
and is providing me with a local UTC Time that is close to true UTC, but
then conditions degrade to a single satellite:

  • will the module be able to maintain a quality correction to true UTC
    Time?
  • or perhaps I should be asking: what is the precision from a GPS
    module's best time solution vs. that from a single satellite.
  • or is that irrelevant given my rather trivial goal of 1 ms precision?

The module should be set to only put out a PPS when it has a valid timing solution. You very much donot  want it to simply put one out that is based on the internal oscillator on the module.

Bob

And here I was thinking that internal oscillator was going to save me by
continuing to provide PPS from a recently disciplined TCXO.

If I have a good sat solution and am getting PPS for some hours, then it
loses all satellites,
- is the internal TCXO sufficient to trust for a number of minutes?
- if so, how would I determine how much error for how many minutes?
- or do I just have to set an alarm, let NTP fall back to the
internet hosts, and monitor my data clusters for drift?

I'd guess this is related to the Best Practices I saw that said that for
time critical applications, as a minimum: use a local GPS time source,
but have NTP polling four or more NTP hosts (non GPS based) through the
internet as backup if the GPS system goes out.
Or in my case, simply if I can't track a sat.

Thanks,

Michael

On 03/12/2016 12:33 PM, Bob Camp wrote: > For an “antenna challenged” location, the T is the better choice. It is simply an update (as the M8Q) of the earlier uBlox parts. The function is very similar to the earlier parts. You nail down the antenna location (like with duct tape) and put the module in survey mode. Eventually it completes the survey and you save that location. That location is then used as part of the fixed location setup. This eliminates any need to ever do a survey again. The reason you want the fixed location operating mode is that it will work with a single satellite. You don’t need the accuracy, but you do want to eliminate dropouts. Thank you! That is exactly what I "thought" I was getting from reading various sources, but I wasn't confident I was getting it right. I think: - There's GPS Time and with the offset (currently 17 seconds?) in the GPS location message we get UTC Time. - The GPS module receives the satellite's GPST, offset, and hence UTC Time, and its location fix allows for correcting for the message delay. - A better fix, and that correction is more accurate. - With a number of satellites reporting, that correction is more accurate. If the module has a good fix and a good solution from several satellites and is providing me with a local UTC Time that is close to true UTC, but then conditions degrade to a single satellite: - will the module be able to maintain a quality correction to true UTC Time? - or perhaps I should be asking: what is the precision from a GPS module's best time solution vs. that from a single satellite. - or is that irrelevant given my rather trivial goal of 1 ms precision? > The module should be set to only put out a PPS when it has a valid timing solution. You very much do*not* want it to simply put one out that is based on the internal oscillator on the module. > > Bob And here I was thinking that internal oscillator was going to save me by continuing to provide PPS from a recently disciplined TCXO. If I have a good sat solution and am getting PPS for some hours, then it loses all satellites, - is the internal TCXO sufficient to trust for a number of minutes? - if so, how would I determine how much error for how many minutes? - or do I just have to set an alarm, let NTP fall back to the internet hosts, and monitor my data clusters for drift? I'd guess this is related to the Best Practices I saw that said that for time critical applications, as a minimum: use a local GPS time source, but have NTP polling four or more NTP hosts (non GPS based) through the internet as backup if the GPS system goes out. Or in my case, simply if I can't track a sat. Thanks, Michael
BC
Bob Camp
Sun, Dec 4, 2016 2:46 PM

Hi

On Dec 4, 2016, at 6:57 AM, MLewis mlewis000@rogers.com wrote:

On 03/12/2016 12:33 PM, Bob Camp wrote:

For an “antenna challenged” location, the T is the better choice. It is simply an update (as the M8Q) of the earlier uBlox parts. The function is very similar to the earlier parts. You nail down the antenna location (like with duct tape) and put the module in survey mode. Eventually it completes the survey and you save that location. That location is then used as part of the fixed location setup. This eliminates any need to ever do a survey again. The reason you want the fixed location operating mode is that it will work with a single satellite. You don’t need the accuracy, but you do want to eliminate dropouts.

Thank you!

That is exactly what I "thought" I was getting from reading various sources, but I wasn't confident I was getting it right.

I think:

  • There's GPS Time and with the offset (currently 17 seconds?) in the GPS location message we get UTC Time.
  • The GPS module receives the satellite's GPST, offset, and hence UTC Time, and its location fix allows for correcting for the message delay.
  • A better fix, and that correction is more accurate.
  • With a number of satellites reporting, that correction is more accurate.

Not quite correct. Until the module has a proper fix it does not have useful time. The delay from the sats is long enough that for most purposes there is no value
in putting out raw time. You could re-write the firmware from scratch to do it a different way, but that’s the way it works now on all these modules.

If the module has a good fix and a good solution from several satellites and is providing me with a local UTC Time that is close to true UTC, but then conditions degrade to a single satellite:

  • will the module be able to maintain a quality correction to true UTC Time?

If it has a properly surveyed location (and thus can calculate the delay in getting the signal from the sat) yes.

  • or perhaps I should be asking: what is the precision from a GPS module's best time solution vs. that from a single satellite.

With a proper survey, it’s in the 10’s of ns. It degrades roughly 1.5 ns / meter for typical survey errors. The survey induced error tends to
show up as a long term (hours) drift in the output. It is slow enough that NTP will try to track it. The 10’s of ns basic error is related to things
like ionosphere corrections and that also can be a long term drift. Both errors may go up a bit with a single sat. How much depends a lot on
the geometry involved both with the single sat and the group you replace it with. It’s possible (but unlikely) to have a single sat in a “perfect” location give
you a better solution than a group of sats in a really crummy location ….. This is yet another reason for wanting a full sky view. Seeing several
sats at a crummy angle may still be a less than ideal thing.

  • or is that irrelevant given my rather trivial goal of 1 ms precision?

On a LAN, you should be aiming for < 10 us in terms of the time input to the main server. Your “delivered time” budget needs to allow for a lot of
different errors that all add up. The idea is to make the time input error insignificant compared to the rest. If your time input error is 1 ms, and you
are after 1 ms, the rest of the errors would have to be zero. Depending on your setup, they may well be a significant chunk of 1 ms.

The module should be set to only put out a PPS when it has a valid timing solution. You very much donot  want it to simply put one out that is based on the internal oscillator on the module.

Bob

And here I was thinking that internal oscillator was going to save me by continuing to provide PPS from a recently disciplined TCXO.

The TCXO in the module is not disciplined. A GPSDO is a device that disciplines an oscillator. These modules are not GPSDO’s.
If you have a GPSDO, then “holdover” is what takes care of the PPS output when you loose GPS.

If I have a good sat solution and am getting PPS for some hours, then it loses all satellites,
- is the internal TCXO sufficient to trust for a number of minutes?

It may slew at a couple microseconds per second. That’s much worse than just ignoring it.

- if so, how would I determine how much error for how many minutes?

Measure it under your conditions. It likely will be a bit different each time.

- or do I just have to set an alarm, let NTP fall back to the internet hosts, and monitor my data clusters for drift?

That is why the PPS drops out. NTP then knows to ignore it and go do it’s own thing. That is a much better solution than
tracking a slewing source.

I'd guess this is related to the Best Practices I saw that said that for time critical applications, as a minimum: use a local GPS time source, but have NTP polling four or more NTP hosts (non GPS based) through the internet as backup if the GPS system goes out.

For a variety of reasons, you want multiple sources with NTP. Unless it has at least three reasonable time sources, it gets into all sorts of strange behavior.
Setting up with four to six sources is a pretty good idea. With 4, if one drops out you are at the limit of three. Six gives you a bit more margin.

The biggest issue with NTP is offsets. This is why they created PTP.  If you run NTP for a long time with a good local reference and have a stable connection
to a fixed set of remote servers … NTP can work out what the offsets are. That magic depends on the local reference being there all the time along with a
few other things.

Bob

Or in my case, simply if I can't track a sat.

Thanks,

Michael


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 > On Dec 4, 2016, at 6:57 AM, MLewis <mlewis000@rogers.com> wrote: > > > On 03/12/2016 12:33 PM, Bob Camp wrote: >> For an “antenna challenged” location, the T is the better choice. It is simply an update (as the M8Q) of the earlier uBlox parts. The function is very similar to the earlier parts. You nail down the antenna location (like with duct tape) and put the module in survey mode. Eventually it completes the survey and you save that location. That location is then used as part of the fixed location setup. This eliminates any need to ever do a survey again. The reason you want the fixed location operating mode is that it will work with a single satellite. You don’t need the accuracy, but you do want to eliminate dropouts. > Thank you! > > That is exactly what I "thought" I was getting from reading various sources, but I wasn't confident I was getting it right. > > I think: > - There's GPS Time and with the offset (currently 17 seconds?) in the GPS location message we get UTC Time. > - The GPS module receives the satellite's GPST, offset, and hence UTC Time, and its location fix allows for correcting for the message delay. > - A better fix, and that correction is more accurate. > - With a number of satellites reporting, that correction is more accurate. Not quite correct. Until the module has a proper fix it does not have useful time. The delay from the sats is long enough that for most purposes there is no value in putting out raw time. You *could* re-write the firmware from scratch to do it a different way, but that’s the way it works now on all these modules. > > If the module has a good fix and a good solution from several satellites and is providing me with a local UTC Time that is close to true UTC, but then conditions degrade to a single satellite: > - will the module be able to maintain a quality correction to true UTC Time? If it has a properly surveyed location (and thus can calculate the delay in getting the signal from the sat) yes. > - or perhaps I should be asking: what is the precision from a GPS module's best time solution vs. that from a single satellite. With a proper survey, it’s in the 10’s of ns. It degrades roughly 1.5 ns / meter for typical survey errors. The survey induced error tends to show up as a long term (hours) drift in the output. It is slow enough that NTP will try to track it. The 10’s of ns basic error is related to things like ionosphere corrections and that also can be a long term drift. Both errors may go up a bit with a single sat. How much depends a lot on the geometry involved both with the single sat and the group you replace it with. It’s possible (but unlikely) to have a single sat in a “perfect” location give you a better solution than a group of sats in a really crummy location ….. This is yet another reason for wanting a full sky view. Seeing several sats at a crummy angle may still be a less than ideal thing. > - or is that irrelevant given my rather trivial goal of 1 ms precision? On a LAN, you should be aiming for < 10 us in terms of the time input to the main server. Your “delivered time” budget needs to allow for a lot of different errors that all add up. The idea is to make the time input error insignificant compared to the rest. If your time input error is 1 ms, and you are after 1 ms, the rest of the errors would have to be zero. Depending on your setup, they may well be a significant chunk of 1 ms. > > >> The module should be set to only put out a PPS when it has a valid timing solution. You very much do*not* want it to simply put one out that is based on the internal oscillator on the module. >> >> Bob > > And here I was thinking that internal oscillator was going to save me by continuing to provide PPS from a recently disciplined TCXO. The TCXO in the module is not disciplined. A GPSDO is a device that disciplines an oscillator. These modules are not GPSDO’s. If you have a GPSDO, then “holdover” is what takes care of the PPS output when you loose GPS. > > If I have a good sat solution and am getting PPS for some hours, then it loses all satellites, > - is the internal TCXO sufficient to trust for a number of minutes? It may slew at a couple microseconds per second. That’s much worse than just ignoring it. > - if so, how would I determine how much error for how many minutes? Measure it under your conditions. It likely will be a bit different each time. > - or do I just have to set an alarm, let NTP fall back to the internet hosts, and monitor my data clusters for drift? That is why the PPS drops out. NTP then knows to ignore it and go do it’s own thing. That is a much better solution than tracking a slewing source. > > I'd guess this is related to the Best Practices I saw that said that for time critical applications, as a minimum: use a local GPS time source, but have NTP polling four or more NTP hosts (non GPS based) through the internet as backup if the GPS system goes out. For a variety of reasons, you want multiple sources with NTP. Unless it has at least three reasonable time sources, it gets into all sorts of strange behavior. Setting up with four to six sources is a pretty good idea. With 4, if one drops out you are at the limit of three. Six gives you a bit more margin. The biggest issue with NTP is offsets. This is why they created PTP. If you run NTP for a long time with a good local reference *and* have a stable connection to a fixed set of remote servers … NTP can work out what the offsets are. That magic depends on the local reference being there all the time along with a few other things. Bob > Or in my case, simply if I can't track a sat. > > Thanks, > > Michael > > > _______________________________________________ > 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.
AK
Attila Kinali
Sun, Dec 4, 2016 3:45 PM

On Sun, 4 Dec 2016 09:46:45 -0500
Bob Camp kb8tq@n1k.org wrote:

It’s possible (but unlikely) to have a single sat in a “perfect” location give
you a better solution than a group of sats in a really crummy location …..
This is yet another reason for wanting a full sky view. Seeing several
sats at a crummy angle may still be a less than ideal thing.

Frühauf proposed using satellite dishes on WAAS satellites for
improved timing accuracy/stability[1]. Unfortunately, I have not
seen any good analysis of the achieved performance.

		Attila Kinali

[1] "WAAS for Telecom applications", Hugo Frühauf, 2003, updated 2011
http://hugofruehauf.com/pdf/24-WAAS_for_Telecom_2003-upd_2011.pdf

--
It is upon moral qualities that a society is ultimately founded. All
the prosperity and technological sophistication in the world is of no
use without that foundation.
-- Miss Matheson, The Diamond Age, Neil Stephenson

On Sun, 4 Dec 2016 09:46:45 -0500 Bob Camp <kb8tq@n1k.org> wrote: > It’s possible (but unlikely) to have a single sat in a “perfect” location give > you a better solution than a group of sats in a really crummy location ….. > This is yet another reason for wanting a full sky view. Seeing several > sats at a crummy angle may still be a less than ideal thing. Frühauf proposed using satellite dishes on WAAS satellites for improved timing accuracy/stability[1]. Unfortunately, I have not seen any good analysis of the achieved performance. Attila Kinali [1] "WAAS for Telecom applications", Hugo Frühauf, 2003, updated 2011 http://hugofruehauf.com/pdf/24-WAAS_for_Telecom_2003-upd_2011.pdf -- It is upon moral qualities that a society is ultimately founded. All the prosperity and technological sophistication in the world is of no use without that foundation. -- Miss Matheson, The Diamond Age, Neil Stephenson
BC
Bob Camp
Sun, Dec 4, 2016 4:04 PM

Hi

Simple example:

Single sat straight overhead, well compensated by broadcast ionosphere. All survey error in the X direction.

Multiple sats all clustered at the horizon. Cluster located on the +X axis. Ionosphere not well modeled over the
much longer path.

Yes this is a bit contrived. It’s also what can happen in an “overhanging balcony” sort of antenna location.  I can
also make it happen pretty easily from a USB stick indoors and locating “just right” relative to the windows.

Bob

On Dec 4, 2016, at 10:45 AM, Attila Kinali attila@kinali.ch wrote:

On Sun, 4 Dec 2016 09:46:45 -0500
Bob Camp kb8tq@n1k.org wrote:

It’s possible (but unlikely) to have a single sat in a “perfect” location give
you a better solution than a group of sats in a really crummy location …..
This is yet another reason for wanting a full sky view. Seeing several
sats at a crummy angle may still be a less than ideal thing.

Frühauf proposed using satellite dishes on WAAS satellites for
improved timing accuracy/stability[1]. Unfortunately, I have not
seen any good analysis of the achieved performance.

		Attila Kinali

[1] "WAAS for Telecom applications", Hugo Frühauf, 2003, updated 2011
http://hugofruehauf.com/pdf/24-WAAS_for_Telecom_2003-upd_2011.pdf

--
It is upon moral qualities that a society is ultimately founded. All
the prosperity and technological sophistication in the world is of no
use without that foundation.
-- Miss Matheson, The Diamond Age, Neil Stephenson


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 Simple example: Single sat straight overhead, well compensated by broadcast ionosphere. All survey error in the X direction. Multiple sats all clustered at the horizon. Cluster located on the +X axis. Ionosphere not well modeled over the much longer path. Yes this *is* a bit contrived. It’s also what can happen in an “overhanging balcony” sort of antenna location. I can also make it happen pretty easily from a USB stick indoors and locating “just right” relative to the windows. Bob > On Dec 4, 2016, at 10:45 AM, Attila Kinali <attila@kinali.ch> wrote: > > On Sun, 4 Dec 2016 09:46:45 -0500 > Bob Camp <kb8tq@n1k.org> wrote: > >> It’s possible (but unlikely) to have a single sat in a “perfect” location give >> you a better solution than a group of sats in a really crummy location ….. >> This is yet another reason for wanting a full sky view. Seeing several >> sats at a crummy angle may still be a less than ideal thing. > > Frühauf proposed using satellite dishes on WAAS satellites for > improved timing accuracy/stability[1]. Unfortunately, I have not > seen any good analysis of the achieved performance. > > Attila Kinali > > > [1] "WAAS for Telecom applications", Hugo Frühauf, 2003, updated 2011 > http://hugofruehauf.com/pdf/24-WAAS_for_Telecom_2003-upd_2011.pdf > > -- > It is upon moral qualities that a society is ultimately founded. All > the prosperity and technological sophistication in the world is of no > use without that foundation. > -- Miss Matheson, The Diamond Age, Neil Stephenson > _______________________________________________ > 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.