time-nuts@lists.febo.com

Discussion of precise time and frequency measurement

View all threads

I've designed a GPSDO, but how "good" is it?

NS
Nick Sayer
Sun, Aug 16, 2015 6:47 PM

I’ve designed and make and sell a GPSDO on Tindie (https://hackaday.io/project/6872-gps-disciplined-tcxo). It’s brand new - I’ve sold a handful of them so far. So as to make this post not entirely self-serving, what I would like is some further guidance on how I can better characterize its performance.

The GPS reference is a 1 pps signal (It’s the Adafruit Ultimate GPS module - a PA6H). The manufacturer claims an accuracy of ±10 ns, but that's accuracy relative to the true start of the GPS second. They don’t make any claim for stability.

The oscillator itself (Connor Winfield DOT050V 10 MHz) has a short-term (though they don’t say how short that term is) stability of 1 ppb. The absolute accuracy of it is (I assume) irrelevant, because it’s a VCTCXO and the control voltage is steered by GPS feedback.

The feedback loop takes samples over a 100 second period. That gives me an error sample with a granularity of 1 ppb. I keep a rolling sample window of 10 samples to get an error count over 1000 seconds. I've kept track of both of these values for extended periods (days) as well as logging the DAC value (the number that's proportional to the control voltage). The 1000 second sample window error averages zero, and it almost never exceeds ±7 (every once in a while if I physically move it, it will show a momentary error glitch, but that shows up in the short term feedback sampling too). The 100 second samples are almost all 0 or ±1, with an occasional ±2 showing up. As I said before, if I bonk the oscillator, it may briefly show a ±6 or so for one sample.

If I pit two of them against each other on a scope and take a time lapse video (http://www.youtube.com/watch?v=9HkeCI90i44), you can see that they stay mostly locked with occasional periods of drift. I sort of assume that that represents periods where the two GPS receivers disagree as they decide differently how to select among the available satellites.

I've been saying out loud that the oscillator is ±1 ppb from GPS over the 1000 second window. I know of Allan variance, but I don't have anything else handy I can use for comparison. I also can't really afford to send one off for testing to a proper lab. In looking at http://tf.nist.gov/general/pdf/2297.pdf, it suggests that my results are relatively poor compared to what a GPSDO can achieve (more like 10^-12 rather than 10^-9), but I assume that they’re able to use a higher frequency GPS reference than just 1 PPS (and they’re a lot pricier).

What else can I do to try and characterize the performance? If mine is performing far more poorly than the same price ($175) can buy elsewhere, then what am I doing wrong?

I’ve designed and make and sell a GPSDO on Tindie (https://hackaday.io/project/6872-gps-disciplined-tcxo). It’s brand new - I’ve sold a handful of them so far. So as to make this post not *entirely* self-serving, what I would like is some further guidance on how I can better characterize its performance. The GPS reference is a 1 pps signal (It’s the Adafruit Ultimate GPS module - a PA6H). The manufacturer claims an accuracy of ±10 ns, but that's accuracy relative to the true start of the GPS second. They don’t make any claim for stability. The oscillator itself (Connor Winfield DOT050V 10 MHz) has a short-term (though they don’t say how short that term is) stability of 1 ppb. The absolute accuracy of it is (I assume) irrelevant, because it’s a VCTCXO and the control voltage is steered by GPS feedback. The feedback loop takes samples over a 100 second period. That gives me an error sample with a granularity of 1 ppb. I keep a rolling sample window of 10 samples to get an error count over 1000 seconds. I've kept track of both of these values for extended periods (days) as well as logging the DAC value (the number that's proportional to the control voltage). The 1000 second sample window error averages zero, and it almost never exceeds ±7 (every once in a while if I physically move it, it will show a momentary error glitch, but that shows up in the short term feedback sampling too). The 100 second samples are almost all 0 or ±1, with an occasional ±2 showing up. As I said before, if I bonk the oscillator, it may briefly show a ±6 or so for one sample. If I pit two of them against each other on a scope and take a time lapse video (http://www.youtube.com/watch?v=9HkeCI90i44), you can see that they stay mostly locked with occasional periods of drift. I sort of assume that that represents periods where the two GPS receivers disagree as they decide differently how to select among the available satellites. I've been saying out loud that the oscillator is ±1 ppb from GPS over the 1000 second window. I know of Allan variance, but I don't have anything else handy I can use for comparison. I also can't really afford to send one off for testing to a proper lab. In looking at http://tf.nist.gov/general/pdf/2297.pdf, it suggests that my results are relatively poor compared to what a GPSDO can achieve (more like 10^-12 rather than 10^-9), but I assume that they’re able to use a higher frequency GPS reference than just 1 PPS (and they’re a lot pricier). What else can I do to try and characterize the performance? If mine is performing far more poorly than the same price ($175) can buy elsewhere, then what am I doing wrong?
MD
Magnus Danielson
Sun, Aug 16, 2015 7:27 PM

Nick,

To get you started, I would use a free-running Rubidium and a
time-interval counter. The rubidium will be having the wrong frequency,
but that should cancel out in the Allan deviation processing. The drift
of the rubidium clock will form a limit, but you can overcome that by
using either Hadamard deviation or do drift-removal. Collect your data
with TimeLab and you have a good starting-point. The time interval
counter should at least have 1 ns single-shot resolution, the more the
merrier. Try grab a SR620 or HP5370 or something.

The setup I propose is not optimum, but should give you some interesting
result and hopefully in the right direction.

If you can, recording the GPSDOs state such as time-error, EFC and other
key parameters in parallel can be very helpful in analysis, so make sure
it pops that out so you can have a time-stamped file with it.

The rubidum trace will be the external "judge" of what movements it
really did except for long-term where the rubidiums systematics starts
to cave in.

There comes that point when a GPSDO vendor needs to turn on their
Cesium, but I think you have some issues and things to learn before you
need to do that. Had to support one GPSDO vendor over my mobile phone at
one time as to how to bring up the cesium, so much fun. They reached
that point for the right reason. :)

Cheers,
Magnus

On 08/16/2015 08:47 PM, Nick Sayer via time-nuts wrote:

I’ve designed and make and sell a GPSDO on Tindie (https://hackaday.io/project/6872-gps-disciplined-tcxo). It’s brand new - I’ve sold a handful of them so far. So as to make this post not entirely self-serving, what I would like is some further guidance on how I can better characterize its performance.

The GPS reference is a 1 pps signal (It’s the Adafruit Ultimate GPS module - a PA6H). The manufacturer claims an accuracy of ±10 ns, but that's accuracy relative to the true start of the GPS second. They don’t make any claim for stability.

The oscillator itself (Connor Winfield DOT050V 10 MHz) has a short-term (though they don’t say how short that term is) stability of 1 ppb. The absolute accuracy of it is (I assume) irrelevant, because it’s a VCTCXO and the control voltage is steered by GPS feedback.

The feedback loop takes samples over a 100 second period. That gives me an error sample with a granularity of 1 ppb. I keep a rolling sample window of 10 samples to get an error count over 1000 seconds. I've kept track of both of these values for extended periods (days) as well as logging the DAC value (the number that's proportional to the control voltage). The 1000 second sample window error averages zero, and it almost never exceeds ±7 (every once in a while if I physically move it, it will show a momentary error glitch, but that shows up in the short term feedback sampling too). The 100 second samples are almost all 0 or ±1, with an occasional ±2 showing up. As I said before, if I bonk the oscillator, it may briefly show a ±6 or so for one sample.

If I pit two of them against each other on a scope and take a time lapse video (http://www.youtube.com/watch?v=9HkeCI90i44), you can see that they stay mostly locked with occasional periods of drift. I sort of assume that that represents periods where the two GPS receivers disagree as they decide differently how to select among the available satellites.

I've been saying out loud that the oscillator is ±1 ppb from GPS over the 1000 second window. I know of Allan variance, but I don't have anything else handy I can use for comparison. I also can't really afford to send one off for testing to a proper lab. In looking at http://tf.nist.gov/general/pdf/2297.pdf, it suggests that my results are relatively poor compared to what a GPSDO can achieve (more like 10^-12 rather than 10^-9), but I assume that they’re able to use a higher frequency GPS reference than just 1 PPS (and they’re a lot pricier).

What else can I do to try and characterize the performance? If mine is performing far more poorly than the same price ($175) can buy elsewhere, then what am I doing wrong?


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.

Nick, To get you started, I would use a free-running Rubidium and a time-interval counter. The rubidium will be having the wrong frequency, but that should cancel out in the Allan deviation processing. The drift of the rubidium clock will form a limit, but you can overcome that by using either Hadamard deviation or do drift-removal. Collect your data with TimeLab and you have a good starting-point. The time interval counter should at least have 1 ns single-shot resolution, the more the merrier. Try grab a SR620 or HP5370 or something. The setup I propose is not optimum, but should give you some interesting result and hopefully in the right direction. If you can, recording the GPSDOs state such as time-error, EFC and other key parameters in parallel can be very helpful in analysis, so make sure it pops that out so you can have a time-stamped file with it. The rubidum trace will be the external "judge" of what movements it really did except for long-term where the rubidiums systematics starts to cave in. There comes that point when a GPSDO vendor needs to turn on their Cesium, but I think you have some issues and things to learn before you need to do that. Had to support one GPSDO vendor over my mobile phone at one time as to how to bring up the cesium, so much fun. They reached that point for the right reason. :) Cheers, Magnus On 08/16/2015 08:47 PM, Nick Sayer via time-nuts wrote: > I’ve designed and make and sell a GPSDO on Tindie (https://hackaday.io/project/6872-gps-disciplined-tcxo). It’s brand new - I’ve sold a handful of them so far. So as to make this post not *entirely* self-serving, what I would like is some further guidance on how I can better characterize its performance. > > The GPS reference is a 1 pps signal (It’s the Adafruit Ultimate GPS module - a PA6H). The manufacturer claims an accuracy of ±10 ns, but that's accuracy relative to the true start of the GPS second. They don’t make any claim for stability. > > The oscillator itself (Connor Winfield DOT050V 10 MHz) has a short-term (though they don’t say how short that term is) stability of 1 ppb. The absolute accuracy of it is (I assume) irrelevant, because it’s a VCTCXO and the control voltage is steered by GPS feedback. > > The feedback loop takes samples over a 100 second period. That gives me an error sample with a granularity of 1 ppb. I keep a rolling sample window of 10 samples to get an error count over 1000 seconds. I've kept track of both of these values for extended periods (days) as well as logging the DAC value (the number that's proportional to the control voltage). The 1000 second sample window error averages zero, and it almost never exceeds ±7 (every once in a while if I physically move it, it will show a momentary error glitch, but that shows up in the short term feedback sampling too). The 100 second samples are almost all 0 or ±1, with an occasional ±2 showing up. As I said before, if I bonk the oscillator, it may briefly show a ±6 or so for one sample. > > If I pit two of them against each other on a scope and take a time lapse video (http://www.youtube.com/watch?v=9HkeCI90i44), you can see that they stay mostly locked with occasional periods of drift. I sort of assume that that represents periods where the two GPS receivers disagree as they decide differently how to select among the available satellites. > > I've been saying out loud that the oscillator is ±1 ppb from GPS over the 1000 second window. I know of Allan variance, but I don't have anything else handy I can use for comparison. I also can't really afford to send one off for testing to a proper lab. In looking at http://tf.nist.gov/general/pdf/2297.pdf, it suggests that my results are relatively poor compared to what a GPSDO can achieve (more like 10^-12 rather than 10^-9), but I assume that they’re able to use a higher frequency GPS reference than just 1 PPS (and they’re a lot pricier). > > What else can I do to try and characterize the performance? If mine is performing far more poorly than the same price ($175) can buy elsewhere, then what am I doing wrong? > > _______________________________________________ > 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
Sun, Aug 16, 2015 7:31 PM

Hi Nick,

Nice project. Thanks for sharing.

I was hoping someone would someday use a cheap Sparkfun / Parallax / Adafruit GPS to make a low-cost GPSDO. Mostly what people on this list do is go to the extreme of using serious GPS timing receivers (such as Oncore M12+T, or ublox-5T or 6T or 8T) but those require significant amounts of configuration, tuning, survey, etc. to meet ultimate performance levels.

The good thing about using a cheap hobbyist-grade 3D GPS/1PPS receiver is that they work anywhere, without fiddling or survey, within seconds of power-on. Ok, you lose a few ns of precision compared to serious receivers -- but for a TCXO that doesn't matter.

Anyway, to answer your question -- to measure its true performance you only need two things. 1) a phase meter (or time interval counter) that's good to 1 ns or better, and 2) a local reference standard that's maybe 10x better than the TCXO and the Adafruit GPS. Usually that means a cesium standard, or supremely qualified GPSDO, or equivalent.

A number of us here on the time-nuts list have such equipment at home. And unlike professional labs, we will do it for free/fun if you loan the GPSDO for a week.

If you want to play with raw timing data from an Adafruit GPS board see file gps-mtk3339.txt.gz under http://www.leapsecond.com/pages/gpsdo-sim/ and then use TimeLab for phase, frequency, and Allan deviation analysis (http://www.ke5fx.com/timelab/readme.htm).

/tvb

----- Original Message -----
From: "Nick Sayer via time-nuts" time-nuts@febo.com
To: time-nuts@febo.com
Sent: Sunday, August 16, 2015 11:47 AM
Subject: [time-nuts] I've designed a GPSDO, but how "good" is it?

I’ve designed and make and sell a GPSDO on Tindie (https://hackaday.io/project/6872-gps-disciplined-tcxo). It’s brand new - I’ve sold a handful of them so far. So as to make this post not entirely self-serving, what I would like is some further guidance on how I can better characterize its performance.

The GPS reference is a 1 pps signal (It’s the Adafruit Ultimate GPS module - a PA6H). The manufacturer claims an accuracy of ±10 ns, but that's accuracy relative to the true start of the GPS second. They don’t make any claim for stability.

The oscillator itself (Connor Winfield DOT050V 10 MHz) has a short-term (though they don’t say how short that term is) stability of 1 ppb. The absolute accuracy of it is (I assume) irrelevant, because it’s a VCTCXO and the control voltage is steered by GPS feedback.

The feedback loop takes samples over a 100 second period. That gives me an error sample with a granularity of 1 ppb. I keep a rolling sample window of 10 samples to get an error count over 1000 seconds. I've kept track of both of these values for extended periods (days) as well as logging the DAC value (the number that's proportional to the control voltage). The 1000 second sample window error averages zero, and it almost never exceeds ±7 (every once in a while if I physically move it, it will show a momentary error glitch, but that shows up in the short term feedback sampling too). The 100 second samples are almost all 0 or ±1, with an occasional ±2 showing up. As I said before, if I bonk the oscillator, it may briefly show a ±6 or so for one sample.

If I pit two of them against each other on a scope and take a time lapse video (http://www.youtube.com/watch?v=9HkeCI90i44), you can see that they stay mostly locked with occasional periods of drift. I sort of assume that that represents periods where the two GPS receivers disagree as they decide differently how to select among the available satellites.

I've been saying out loud that the oscillator is ±1 ppb from GPS over the 1000 second window. I know of Allan variance, but I don't have anything else handy I can use for comparison. I also can't really afford to send one off for testing to a proper lab. In looking at http://tf.nist.gov/general/pdf/2297.pdf, it suggests that my results are relatively poor compared to what a GPSDO can achieve (more like 10^-12 rather than 10^-9), but I assume that they’re able to use a higher frequency GPS reference than just 1 PPS (and they’re a lot pricier).

What else can I do to try and characterize the performance? If mine is performing far more poorly than the same price ($175) can buy elsewhere, then what am I doing wrong?


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, Nice project. Thanks for sharing. I was hoping someone would someday use a cheap Sparkfun / Parallax / Adafruit GPS to make a low-cost GPSDO. Mostly what people on this list do is go to the extreme of using serious GPS timing receivers (such as Oncore M12+T, or ublox-5T or 6T or 8T) but those require significant amounts of configuration, tuning, survey, etc. to meet ultimate performance levels. The good thing about using a cheap hobbyist-grade 3D GPS/1PPS receiver is that they work anywhere, without fiddling or survey, within seconds of power-on. Ok, you lose a few ns of precision compared to serious receivers -- but for a TCXO that doesn't matter. Anyway, to answer your question -- to measure its true performance you only need two things. 1) a phase meter (or time interval counter) that's good to 1 ns or better, and 2) a local reference standard that's maybe 10x better than the TCXO and the Adafruit GPS. Usually that means a cesium standard, or supremely qualified GPSDO, or equivalent. A number of us here on the time-nuts list have such equipment at home. And unlike professional labs, we will do it for free/fun if you loan the GPSDO for a week. If you want to play with raw timing data from an Adafruit GPS board see file gps-mtk3339.txt.gz under http://www.leapsecond.com/pages/gpsdo-sim/ and then use TimeLab for phase, frequency, and Allan deviation analysis (http://www.ke5fx.com/timelab/readme.htm). /tvb ----- Original Message ----- From: "Nick Sayer via time-nuts" <time-nuts@febo.com> To: <time-nuts@febo.com> Sent: Sunday, August 16, 2015 11:47 AM Subject: [time-nuts] I've designed a GPSDO, but how "good" is it? I’ve designed and make and sell a GPSDO on Tindie (https://hackaday.io/project/6872-gps-disciplined-tcxo). It’s brand new - I’ve sold a handful of them so far. So as to make this post not *entirely* self-serving, what I would like is some further guidance on how I can better characterize its performance. The GPS reference is a 1 pps signal (It’s the Adafruit Ultimate GPS module - a PA6H). The manufacturer claims an accuracy of ±10 ns, but that's accuracy relative to the true start of the GPS second. They don’t make any claim for stability. The oscillator itself (Connor Winfield DOT050V 10 MHz) has a short-term (though they don’t say how short that term is) stability of 1 ppb. The absolute accuracy of it is (I assume) irrelevant, because it’s a VCTCXO and the control voltage is steered by GPS feedback. The feedback loop takes samples over a 100 second period. That gives me an error sample with a granularity of 1 ppb. I keep a rolling sample window of 10 samples to get an error count over 1000 seconds. I've kept track of both of these values for extended periods (days) as well as logging the DAC value (the number that's proportional to the control voltage). The 1000 second sample window error averages zero, and it almost never exceeds ±7 (every once in a while if I physically move it, it will show a momentary error glitch, but that shows up in the short term feedback sampling too). The 100 second samples are almost all 0 or ±1, with an occasional ±2 showing up. As I said before, if I bonk the oscillator, it may briefly show a ±6 or so for one sample. If I pit two of them against each other on a scope and take a time lapse video (http://www.youtube.com/watch?v=9HkeCI90i44), you can see that they stay mostly locked with occasional periods of drift. I sort of assume that that represents periods where the two GPS receivers disagree as they decide differently how to select among the available satellites. I've been saying out loud that the oscillator is ±1 ppb from GPS over the 1000 second window. I know of Allan variance, but I don't have anything else handy I can use for comparison. I also can't really afford to send one off for testing to a proper lab. In looking at http://tf.nist.gov/general/pdf/2297.pdf, it suggests that my results are relatively poor compared to what a GPSDO can achieve (more like 10^-12 rather than 10^-9), but I assume that they’re able to use a higher frequency GPS reference than just 1 PPS (and they’re a lot pricier). What else can I do to try and characterize the performance? If mine is performing far more poorly than the same price ($175) can buy elsewhere, then what am I doing wrong? _______________________________________________ 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.
NS
Nick Sayer
Sun, Aug 16, 2015 7:39 PM

On Aug 16, 2015, at 12:31 PM, Tom Van Baak tvb@LeapSecond.com wrote:

Anyway, to answer your question -- to measure its true performance you only need two things. 1) a phase meter (or time interval counter) that's good to 1 ns or better, and 2) a local reference standard that's maybe 10x better than the TCXO and the Adafruit GPS. Usually that means a cesium standard, or supremely qualified GPSDO, or equivalent.

I have a frequency counter, but it’s not a phase meter. I have a scope, but I assume that trying to use a ruler with scope traces isn’t the textbook way of doing that. :D

I have considered in the past buying a used rubidium standard off eBay, but have hesitated because I don’t know how much life there is left in the tube, and I just have to take it on faith that it’s stable and accurate. I have somewhat more faith in the GPS PPS, but clearly that has limits.

A number of us here on the time-nuts list have such equipment at home. And unlike professional labs, we will do it for free/fun if you loan the GPSDO for a week.

I will happily give one to someone if they would be willing to help a relative newbie with this stuff.

Just one though. They’re kind of expensive to build. :D

> On Aug 16, 2015, at 12:31 PM, Tom Van Baak <tvb@LeapSecond.com> wrote: > > Anyway, to answer your question -- to measure its true performance you only need two things. 1) a phase meter (or time interval counter) that's good to 1 ns or better, and 2) a local reference standard that's maybe 10x better than the TCXO and the Adafruit GPS. Usually that means a cesium standard, or supremely qualified GPSDO, or equivalent. I have a frequency counter, but it’s not a phase meter. I have a scope, but I assume that trying to use a ruler with scope traces isn’t the textbook way of doing that. :D I have considered in the past buying a used rubidium standard off eBay, but have hesitated because I don’t know how much life there is left in the tube, and I just have to take it on faith that it’s stable and accurate. I have somewhat more faith in the GPS PPS, but clearly that has limits. > > A number of us here on the time-nuts list have such equipment at home. And unlike professional labs, we will do it for free/fun if you loan the GPSDO for a week. I will happily *give* one to someone if they would be willing to help a relative newbie with this stuff. Just one though. They’re kind of expensive to build. :D
BC
Bob Camp
Sun, Aug 16, 2015 7:47 PM

Hi

Alll of the GPSDO’s that NIST is looking at are 1 PPS based. What’s different about them:

  1. The OCXO’s (or Rb’s) are stable to 0,001 ppb at 1 second
  2. The GPS is designed for timing (and spec’d by an outfit that understands timing — see below) (uBlox maybe)
  3. The GPS puts out a sawtooth correction and the loop uses it.
  4. The GPS PPS and OCXO are compared at the sub nanosecond level to feed the loop
  5. The loop parameters are optimized such that the GPS does not feed though much at < 1,000 seconds
  6. The OCXO is stable enough that it can chug along without help from the GPS for hundreds of seconds

That’s the short list, there is probably a much more detailed list, but that gets into a lot of “that depends”
sort of stuff. With $25 eBay “treasures” popping up from time to time the cost target is very fluid on these
things.

One thing to take a look at: NIST has papers on L1 ionosphere correction (= lack of). Note from the papers how it must
impact your module. After you dig a bit into that 10 to 50 ns per day variable, take a look again at the
10 ns manufacturer’s accuracy claim in your module...

Bob

On Aug 16, 2015, at 2:47 PM, Nick Sayer via time-nuts time-nuts@febo.com wrote:

I’ve designed and make and sell a GPSDO on Tindie (https://hackaday.io/project/6872-gps-disciplined-tcxo). It’s brand new - I’ve sold a handful of them so far. So as to make this post not entirely self-serving, what I would like is some further guidance on how I can better characterize its performance.

The GPS reference is a 1 pps signal (It’s the Adafruit Ultimate GPS module - a PA6H). The manufacturer claims an accuracy of ±10 ns, but that's accuracy relative to the true start of the GPS second. They don’t make any claim for stability.

The oscillator itself (Connor Winfield DOT050V 10 MHz) has a short-term (though they don’t say how short that term is) stability of 1 ppb. The absolute accuracy of it is (I assume) irrelevant, because it’s a VCTCXO and the control voltage is steered by GPS feedback.

The feedback loop takes samples over a 100 second period. That gives me an error sample with a granularity of 1 ppb. I keep a rolling sample window of 10 samples to get an error count over 1000 seconds. I've kept track of both of these values for extended periods (days) as well as logging the DAC value (the number that's proportional to the control voltage). The 1000 second sample window error averages zero, and it almost never exceeds ±7 (every once in a while if I physically move it, it will show a momentary error glitch, but that shows up in the short term feedback sampling too). The 100 second samples are almost all 0 or ±1, with an occasional ±2 showing up. As I said before, if I bonk the oscillator, it may briefly show a ±6 or so for one sample.

If I pit two of them against each other on a scope and take a time lapse video (http://www.youtube.com/watch?v=9HkeCI90i44), you can see that they stay mostly locked with occasional periods of drift. I sort of assume that that represents periods where the two GPS receivers disagree as they decide differently how to select among the available satellites.

I've been saying out loud that the oscillator is ±1 ppb from GPS over the 1000 second window. I know of Allan variance, but I don't have anything else handy I can use for comparison. I also can't really afford to send one off for testing to a proper lab. In looking at http://tf.nist.gov/general/pdf/2297.pdf, it suggests that my results are relatively poor compared to what a GPSDO can achieve (more like 10^-12 rather than 10^-9), but I assume that they’re able to use a higher frequency GPS reference than just 1 PPS (and they’re a lot pricier).

What else can I do to try and characterize the performance? If mine is performing far more poorly than the same price ($175) can buy elsewhere, then what am I doing wrong?


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 Alll of the GPSDO’s that NIST is looking at are 1 PPS based. What’s different about them: 1) The OCXO’s (or Rb’s) are stable to 0,001 ppb at 1 second 2) The GPS is designed for timing (and spec’d by an outfit that understands timing — see below) (uBlox maybe) 3) The GPS puts out a sawtooth correction and the loop uses it. 4) The GPS PPS and OCXO are compared at the sub nanosecond level to feed the loop 5) The loop parameters are optimized such that the GPS does not feed though much at < 1,000 seconds 6) The OCXO is stable enough that it can chug along without help from the GPS for hundreds of seconds That’s the short list, there is probably a much more detailed list, but that gets into a lot of “that depends” sort of stuff. With $25 eBay “treasures” popping up from time to time the cost target is very fluid on these things. One thing to take a look at: NIST has papers on L1 ionosphere correction (= lack of). Note from the papers how it must impact your module. After you dig a bit into that 10 to 50 ns per day variable, take a look again at the 10 ns manufacturer’s accuracy claim in your module... Bob > On Aug 16, 2015, at 2:47 PM, Nick Sayer via time-nuts <time-nuts@febo.com> wrote: > > I’ve designed and make and sell a GPSDO on Tindie (https://hackaday.io/project/6872-gps-disciplined-tcxo). It’s brand new - I’ve sold a handful of them so far. So as to make this post not *entirely* self-serving, what I would like is some further guidance on how I can better characterize its performance. > > The GPS reference is a 1 pps signal (It’s the Adafruit Ultimate GPS module - a PA6H). The manufacturer claims an accuracy of ±10 ns, but that's accuracy relative to the true start of the GPS second. They don’t make any claim for stability. > > The oscillator itself (Connor Winfield DOT050V 10 MHz) has a short-term (though they don’t say how short that term is) stability of 1 ppb. The absolute accuracy of it is (I assume) irrelevant, because it’s a VCTCXO and the control voltage is steered by GPS feedback. > > The feedback loop takes samples over a 100 second period. That gives me an error sample with a granularity of 1 ppb. I keep a rolling sample window of 10 samples to get an error count over 1000 seconds. I've kept track of both of these values for extended periods (days) as well as logging the DAC value (the number that's proportional to the control voltage). The 1000 second sample window error averages zero, and it almost never exceeds ±7 (every once in a while if I physically move it, it will show a momentary error glitch, but that shows up in the short term feedback sampling too). The 100 second samples are almost all 0 or ±1, with an occasional ±2 showing up. As I said before, if I bonk the oscillator, it may briefly show a ±6 or so for one sample. > > If I pit two of them against each other on a scope and take a time lapse video (http://www.youtube.com/watch?v=9HkeCI90i44), you can see that they stay mostly locked with occasional periods of drift. I sort of assume that that represents periods where the two GPS receivers disagree as they decide differently how to select among the available satellites. > > I've been saying out loud that the oscillator is ±1 ppb from GPS over the 1000 second window. I know of Allan variance, but I don't have anything else handy I can use for comparison. I also can't really afford to send one off for testing to a proper lab. In looking at http://tf.nist.gov/general/pdf/2297.pdf, it suggests that my results are relatively poor compared to what a GPSDO can achieve (more like 10^-12 rather than 10^-9), but I assume that they’re able to use a higher frequency GPS reference than just 1 PPS (and they’re a lot pricier). > > What else can I do to try and characterize the performance? If mine is performing far more poorly than the same price ($175) can buy elsewhere, then what am I doing wrong? > > _______________________________________________ > 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.
CS
Charles Steinmetz
Sun, Aug 16, 2015 8:00 PM

Nick wrote:

The GPS reference is a 1 pps signal  * * *

The oscillator itself (Connor Winfield DOT050V 10 MHz) has a
short-term (though they don't say how short that term is) stability
of 1 ppb.  * * *

The feedback loop takes samples over a 100 second period. That gives
me an error sample with a granularity of 1 ppb. I keep a rolling
sample window of 10 samples to get an error count over 1000 seconds.

The limitations are fundamental.  The GPS signal has stability in the
e-13 range, BUT only when averaged for 10,000 seconds or more (tau
greater than or equal to 10,000 seconds).  It is actually quite noisy
over short periods -- it can be as bad as e-7 over one second.  So, a
GPSDO relies on its local oscillator for stability for periods
shorter than 1000 seconds or so.  A good OCXO can provide stability
in the e-10 range at tau in the 1 second to 100 second range, but
even a very good TCXO cannot do that well.

The point of a GPSDO is to rely on the stability of the local
oscillator at short tau, where it is better than the GPS stability,
and to cross over to the greater GPS stability at longer tau by
disciplining the LO to GPS.  You have chosen a local oscillator with
not very good stability at short tau, so your stability at short tau
will not be very good (compared to well-designed GPSDOs using OCXOs)
-- likely 3 to 4 orders of magnitude worse.  Additionally, your
disciplining algorithm does not sound as if it gets the most out of
the parts you are using.

In order to measure the stability of your GPSDO, you will need a time
interval counter (preferably), or a frequency counter, with a
resolution at least 1nS, preferably 20pS or so.  You can use another
one of your GPSDOs as a "reference" and attribute half the rms error
to each one -- but preferably you would use a reference at least 10x
better than the DUT at all tau of interest.  You will collect data
for long enough to get stability numbers for the longest tau you care
about (at least 30 minutes), then use a program like TimeLab to
calculate the stability from the raw data.

Sorry to say, you can do much better buying one of the Lucent or
Trimble boxes for $150 on ebay.

Best regards,

Charles

Nick wrote: >The GPS reference is a 1 pps signal * * * > >The oscillator itself (Connor Winfield DOT050V 10 MHz) has a >short-term (though they don't say how short that term is) stability >of 1 ppb. * * * > >The feedback loop takes samples over a 100 second period. That gives >me an error sample with a granularity of 1 ppb. I keep a rolling >sample window of 10 samples to get an error count over 1000 seconds. The limitations are fundamental. The GPS signal has stability in the e-13 range, BUT only when averaged for 10,000 seconds or more (tau greater than or equal to 10,000 seconds). It is actually quite noisy over short periods -- it can be as bad as e-7 over one second. So, a GPSDO relies on its local oscillator for stability for periods shorter than 1000 seconds or so. A good OCXO can provide stability in the e-10 range at tau in the 1 second to 100 second range, but even a very good TCXO cannot do that well. The point of a GPSDO is to rely on the stability of the local oscillator at short tau, where it is better than the GPS stability, and to cross over to the greater GPS stability at longer tau by disciplining the LO to GPS. You have chosen a local oscillator with not very good stability at short tau, so your stability at short tau will not be very good (compared to well-designed GPSDOs using OCXOs) -- likely 3 to 4 orders of magnitude worse. Additionally, your disciplining algorithm does not sound as if it gets the most out of the parts you are using. In order to measure the stability of your GPSDO, you will need a time interval counter (preferably), or a frequency counter, with a resolution at least 1nS, preferably 20pS or so. You can use another one of your GPSDOs as a "reference" and attribute half the rms error to each one -- but preferably you would use a reference at least 10x better than the DUT at all tau of interest. You will collect data for long enough to get stability numbers for the longest tau you care about (at least 30 minutes), then use a program like TimeLab to calculate the stability from the raw data. Sorry to say, you can do much better buying one of the Lucent or Trimble boxes for $150 on ebay. Best regards, Charles
G/
Graham / KE9H
Sun, Aug 16, 2015 8:53 PM

Nick:

From your description, it sounds like you have a frequency locked loop with

a maximum frequency sensitivity of 1 ppb, as opposed to a phase locked loop.

At the end of the 100 second count period, do you start over with a counter
set to zero, or do you carry forward any error from the previous period?

--- Graham

==

On Sun, Aug 16, 2015 at 2:31 PM, Tom Van Baak tvb@leapsecond.com wrote:

Hi Nick,

Nice project. Thanks for sharing.

I was hoping someone would someday use a cheap Sparkfun / Parallax /
Adafruit GPS to make a low-cost GPSDO. Mostly what people on this list do
is go to the extreme of using serious GPS timing receivers (such as Oncore
M12+T, or ublox-5T or 6T or 8T) but those require significant amounts of
configuration, tuning, survey, etc. to meet ultimate performance levels.

The good thing about using a cheap hobbyist-grade 3D GPS/1PPS receiver is
that they work anywhere, without fiddling or survey, within seconds of
power-on. Ok, you lose a few ns of precision compared to serious receivers
-- but for a TCXO that doesn't matter.

Anyway, to answer your question -- to measure its true performance you
only need two things. 1) a phase meter (or time interval counter) that's
good to 1 ns or better, and 2) a local reference standard that's maybe 10x
better than the TCXO and the Adafruit GPS. Usually that means a cesium
standard, or supremely qualified GPSDO, or equivalent.

A number of us here on the time-nuts list have such equipment at home. And
unlike professional labs, we will do it for free/fun if you loan the GPSDO
for a week.

If you want to play with raw timing data from an Adafruit GPS board see
file gps-mtk3339.txt.gz under http://www.leapsecond.com/pages/gpsdo-sim/
and then use TimeLab for phase, frequency, and Allan deviation analysis (
http://www.ke5fx.com/timelab/readme.htm).

/tvb

----- Original Message -----
From: "Nick Sayer via time-nuts" time-nuts@febo.com
To: time-nuts@febo.com
Sent: Sunday, August 16, 2015 11:47 AM
Subject: [time-nuts] I've designed a GPSDO, but how "good" is it?

I’ve designed and make and sell a GPSDO on Tindie (
https://hackaday.io/project/6872-gps-disciplined-tcxo). It’s brand new -
I’ve sold a handful of them so far. So as to make this post not entirely
self-serving, what I would like is some further guidance on how I can
better characterize its performance.

The GPS reference is a 1 pps signal (It’s the Adafruit Ultimate GPS module

  • a PA6H). The manufacturer claims an accuracy of ±10 ns, but that's
    accuracy relative to the true start of the GPS second. They don’t make any
    claim for stability.

The oscillator itself (Connor Winfield DOT050V 10 MHz) has a short-term
(though they don’t say how short that term is) stability of 1 ppb. The
absolute accuracy of it is (I assume) irrelevant, because it’s a VCTCXO and
the control voltage is steered by GPS feedback.

The feedback loop takes samples over a 100 second period. That gives me an
error sample with a granularity of 1 ppb. I keep a rolling sample window of
10 samples to get an error count over 1000 seconds. I've kept track of both
of these values for extended periods (days) as well as logging the DAC
value (the number that's proportional to the control voltage). The 1000
second sample window error averages zero, and it almost never exceeds ±7
(every once in a while if I physically move it, it will show a momentary
error glitch, but that shows up in the short term feedback sampling too).
The 100 second samples are almost all 0 or ±1, with an occasional ±2
showing up. As I said before, if I bonk the oscillator, it may briefly show
a ±6 or so for one sample.

If I pit two of them against each other on a scope and take a time lapse
video (http://www.youtube.com/watch?v=9HkeCI90i44), you can see that they
stay mostly locked with occasional periods of drift. I sort of assume that
that represents periods where the two GPS receivers disagree as they decide
differently how to select among the available satellites.

I've been saying out loud that the oscillator is ±1 ppb from GPS over the
1000 second window. I know of Allan variance, but I don't have anything
else handy I can use for comparison. I also can't really afford to send one
off for testing to a proper lab. In looking at
http://tf.nist.gov/general/pdf/2297.pdf, it suggests that my results are
relatively poor compared to what a GPSDO can achieve (more like 10^-12
rather than 10^-9), but I assume that they’re able to use a higher
frequency GPS reference than just 1 PPS (and they’re a lot pricier).

What else can I do to try and characterize the performance? If mine is
performing far more poorly than the same price ($175) can buy elsewhere,
then what am I doing wrong?


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.


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.

Nick: >From your description, it sounds like you have a frequency locked loop with a maximum frequency sensitivity of 1 ppb, as opposed to a phase locked loop. At the end of the 100 second count period, do you start over with a counter set to zero, or do you carry forward any error from the previous period? --- Graham == On Sun, Aug 16, 2015 at 2:31 PM, Tom Van Baak <tvb@leapsecond.com> wrote: > Hi Nick, > > Nice project. Thanks for sharing. > > I was hoping someone would someday use a cheap Sparkfun / Parallax / > Adafruit GPS to make a low-cost GPSDO. Mostly what people on this list do > is go to the extreme of using serious GPS timing receivers (such as Oncore > M12+T, or ublox-5T or 6T or 8T) but those require significant amounts of > configuration, tuning, survey, etc. to meet ultimate performance levels. > > The good thing about using a cheap hobbyist-grade 3D GPS/1PPS receiver is > that they work anywhere, without fiddling or survey, within seconds of > power-on. Ok, you lose a few ns of precision compared to serious receivers > -- but for a TCXO that doesn't matter. > > Anyway, to answer your question -- to measure its true performance you > only need two things. 1) a phase meter (or time interval counter) that's > good to 1 ns or better, and 2) a local reference standard that's maybe 10x > better than the TCXO and the Adafruit GPS. Usually that means a cesium > standard, or supremely qualified GPSDO, or equivalent. > > A number of us here on the time-nuts list have such equipment at home. And > unlike professional labs, we will do it for free/fun if you loan the GPSDO > for a week. > > If you want to play with raw timing data from an Adafruit GPS board see > file gps-mtk3339.txt.gz under http://www.leapsecond.com/pages/gpsdo-sim/ > and then use TimeLab for phase, frequency, and Allan deviation analysis ( > http://www.ke5fx.com/timelab/readme.htm). > > /tvb > > ----- Original Message ----- > From: "Nick Sayer via time-nuts" <time-nuts@febo.com> > To: <time-nuts@febo.com> > Sent: Sunday, August 16, 2015 11:47 AM > Subject: [time-nuts] I've designed a GPSDO, but how "good" is it? > > > I’ve designed and make and sell a GPSDO on Tindie ( > https://hackaday.io/project/6872-gps-disciplined-tcxo). It’s brand new - > I’ve sold a handful of them so far. So as to make this post not *entirely* > self-serving, what I would like is some further guidance on how I can > better characterize its performance. > > The GPS reference is a 1 pps signal (It’s the Adafruit Ultimate GPS module > - a PA6H). The manufacturer claims an accuracy of ±10 ns, but that's > accuracy relative to the true start of the GPS second. They don’t make any > claim for stability. > > The oscillator itself (Connor Winfield DOT050V 10 MHz) has a short-term > (though they don’t say how short that term is) stability of 1 ppb. The > absolute accuracy of it is (I assume) irrelevant, because it’s a VCTCXO and > the control voltage is steered by GPS feedback. > > The feedback loop takes samples over a 100 second period. That gives me an > error sample with a granularity of 1 ppb. I keep a rolling sample window of > 10 samples to get an error count over 1000 seconds. I've kept track of both > of these values for extended periods (days) as well as logging the DAC > value (the number that's proportional to the control voltage). The 1000 > second sample window error averages zero, and it almost never exceeds ±7 > (every once in a while if I physically move it, it will show a momentary > error glitch, but that shows up in the short term feedback sampling too). > The 100 second samples are almost all 0 or ±1, with an occasional ±2 > showing up. As I said before, if I bonk the oscillator, it may briefly show > a ±6 or so for one sample. > > If I pit two of them against each other on a scope and take a time lapse > video (http://www.youtube.com/watch?v=9HkeCI90i44), you can see that they > stay mostly locked with occasional periods of drift. I sort of assume that > that represents periods where the two GPS receivers disagree as they decide > differently how to select among the available satellites. > > I've been saying out loud that the oscillator is ±1 ppb from GPS over the > 1000 second window. I know of Allan variance, but I don't have anything > else handy I can use for comparison. I also can't really afford to send one > off for testing to a proper lab. In looking at > http://tf.nist.gov/general/pdf/2297.pdf, it suggests that my results are > relatively poor compared to what a GPSDO can achieve (more like 10^-12 > rather than 10^-9), but I assume that they’re able to use a higher > frequency GPS reference than just 1 PPS (and they’re a lot pricier). > > What else can I do to try and characterize the performance? If mine is > performing far more poorly than the same price ($175) can buy elsewhere, > then what am I doing wrong? > > _______________________________________________ > 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. > _______________________________________________ > 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
Sun, Aug 16, 2015 8:57 PM

Hi Nick,
In fact, if no-one else has volunteered, contact me offline and I'll run a test for you on my equipment, which is an HP5370A and a Symmetricom PRS-45A Cesium standard. 

bob at evoria dot net
From: Tom Van Baak tvb@LeapSecond.com
To: Discussion of precise time and frequency measurement time-nuts@febo.com
Sent: Sunday, August 16, 2015 2:31 PM
Subject: Re: [time-nuts] I've designed a GPSDO, but how "good" is it?

Hi Nick,

Nice project. Thanks for sharing.

I was hoping someone would someday use a cheap Sparkfun / Parallax / Adafruit GPS to make a low-cost GPSDO. Mostly what people on this list do is go to the extreme of using serious GPS timing receivers (such as Oncore M12+T, or ublox-5T or 6T or 8T) but those require significant amounts of configuration, tuning, survey, etc. to meet ultimate performance levels.

The good thing about using a cheap hobbyist-grade 3D GPS/1PPS receiver is that they work anywhere, without fiddling or survey, within seconds of power-on. Ok, you lose a few ns of precision compared to serious receivers -- but for a TCXO that doesn't matter.

Anyway, to answer your question -- to measure its true performance you only need two things. 1) a phase meter (or time interval counter) that's good to 1 ns or better, and 2) a local reference standard that's maybe 10x better than the TCXO and the Adafruit GPS. Usually that means a cesium standard, or supremely qualified GPSDO, or equivalent.

A number of us here on the time-nuts list have such equipment at home. And unlike professional labs, we will do it for free/fun if you loan the GPSDO for a week.

If you want to play with raw timing data from an Adafruit GPS board see file gps-mtk3339.txt.gz under http://www.leapsecond.com/pages/gpsdo-sim/ and then use TimeLab for phase, frequency, and Allan deviation analysis (http://www.ke5fx.com/timelab/readme.htm).

/tvb

----- Original Message -----
From: "Nick Sayer via time-nuts" time-nuts@febo.com
To: time-nuts@febo.com
Sent: Sunday, August 16, 2015 11:47 AM
Subject: [time-nuts] I've designed a GPSDO, but how "good" is it?

I’ve designed and make and sell a GPSDO on Tindie (https://hackaday.io/project/6872-gps-disciplined-tcxo). It’s brand new - I’ve sold a handful of them so far. So as to make this post not entirely self-serving, what I would like is some further guidance on how I can better characterize its performance.

The GPS reference is a 1 pps signal (It’s the Adafruit Ultimate GPS module - a PA6H). The manufacturer claims an accuracy of ±10 ns, but that's accuracy relative to the true start of the GPS second. They don’t make any claim for stability.

The oscillator itself (Connor Winfield DOT050V 10 MHz) has a short-term (though they don’t say how short that term is) stability of 1 ppb. The absolute accuracy of it is (I assume) irrelevant, because it’s a VCTCXO and the control voltage is steered by GPS feedback.

The feedback loop takes samples over a 100 second period. That gives me an error sample with a granularity of 1 ppb. I keep a rolling sample window of 10 samples to get an error count over 1000 seconds. I've kept track of both of these values for extended periods (days) as well as logging the DAC value (the number that's proportional to the control voltage). The 1000 second sample window error averages zero, and it almost never exceeds ±7 (every once in a while if I physically move it, it will show a momentary error glitch, but that shows up in the short term feedback sampling too). The 100 second samples are almost all 0 or ±1, with an occasional ±2 showing up. As I said before, if I bonk the oscillator, it may briefly show a ±6 or so for one sample.

If I pit two of them against each other on a scope and take a time lapse video (http://www.youtube.com/watch?v=9HkeCI90i44), you can see that they stay mostly locked with occasional periods of drift. I sort of assume that that represents periods where the two GPS receivers disagree as they decide differently how to select among the available satellites.

I've been saying out loud that the oscillator is ±1 ppb from GPS over the 1000 second window. I know of Allan variance, but I don't have anything else handy I can use for comparison. I also can't really afford to send one off for testing to a proper lab. In looking at http://tf.nist.gov/general/pdf/2297.pdf, it suggests that my results are relatively poor compared to what a GPSDO can achieve (more like 10^-12 rather than 10^-9), but I assume that they’re able to use a higher frequency GPS reference than just 1 PPS (and they’re a lot pricier).

What else can I do to try and characterize the performance? If mine is performing far more poorly than the same price ($175) can buy elsewhere, then what am I doing wrong?


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.


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, In fact, if no-one else has volunteered, contact me offline and I'll run a test for you on my equipment, which is an HP5370A and a Symmetricom PRS-45A Cesium standard.  bob at evoria dot net From: Tom Van Baak <tvb@LeapSecond.com> To: Discussion of precise time and frequency measurement <time-nuts@febo.com> Sent: Sunday, August 16, 2015 2:31 PM Subject: Re: [time-nuts] I've designed a GPSDO, but how "good" is it? Hi Nick, Nice project. Thanks for sharing. I was hoping someone would someday use a cheap Sparkfun / Parallax / Adafruit GPS to make a low-cost GPSDO. Mostly what people on this list do is go to the extreme of using serious GPS timing receivers (such as Oncore M12+T, or ublox-5T or 6T or 8T) but those require significant amounts of configuration, tuning, survey, etc. to meet ultimate performance levels. The good thing about using a cheap hobbyist-grade 3D GPS/1PPS receiver is that they work anywhere, without fiddling or survey, within seconds of power-on. Ok, you lose a few ns of precision compared to serious receivers -- but for a TCXO that doesn't matter. Anyway, to answer your question -- to measure its true performance you only need two things. 1) a phase meter (or time interval counter) that's good to 1 ns or better, and 2) a local reference standard that's maybe 10x better than the TCXO and the Adafruit GPS. Usually that means a cesium standard, or supremely qualified GPSDO, or equivalent. A number of us here on the time-nuts list have such equipment at home. And unlike professional labs, we will do it for free/fun if you loan the GPSDO for a week. If you want to play with raw timing data from an Adafruit GPS board see file gps-mtk3339.txt.gz under http://www.leapsecond.com/pages/gpsdo-sim/ and then use TimeLab for phase, frequency, and Allan deviation analysis (http://www.ke5fx.com/timelab/readme.htm). /tvb ----- Original Message ----- From: "Nick Sayer via time-nuts" <time-nuts@febo.com> To: <time-nuts@febo.com> Sent: Sunday, August 16, 2015 11:47 AM Subject: [time-nuts] I've designed a GPSDO, but how "good" is it? I’ve designed and make and sell a GPSDO on Tindie (https://hackaday.io/project/6872-gps-disciplined-tcxo). It’s brand new - I’ve sold a handful of them so far. So as to make this post not *entirely* self-serving, what I would like is some further guidance on how I can better characterize its performance. The GPS reference is a 1 pps signal (It’s the Adafruit Ultimate GPS module - a PA6H). The manufacturer claims an accuracy of ±10 ns, but that's accuracy relative to the true start of the GPS second. They don’t make any claim for stability. The oscillator itself (Connor Winfield DOT050V 10 MHz) has a short-term (though they don’t say how short that term is) stability of 1 ppb. The absolute accuracy of it is (I assume) irrelevant, because it’s a VCTCXO and the control voltage is steered by GPS feedback. The feedback loop takes samples over a 100 second period. That gives me an error sample with a granularity of 1 ppb. I keep a rolling sample window of 10 samples to get an error count over 1000 seconds. I've kept track of both of these values for extended periods (days) as well as logging the DAC value (the number that's proportional to the control voltage). The 1000 second sample window error averages zero, and it almost never exceeds ±7 (every once in a while if I physically move it, it will show a momentary error glitch, but that shows up in the short term feedback sampling too). The 100 second samples are almost all 0 or ±1, with an occasional ±2 showing up. As I said before, if I bonk the oscillator, it may briefly show a ±6 or so for one sample. If I pit two of them against each other on a scope and take a time lapse video (http://www.youtube.com/watch?v=9HkeCI90i44), you can see that they stay mostly locked with occasional periods of drift. I sort of assume that that represents periods where the two GPS receivers disagree as they decide differently how to select among the available satellites. I've been saying out loud that the oscillator is ±1 ppb from GPS over the 1000 second window. I know of Allan variance, but I don't have anything else handy I can use for comparison. I also can't really afford to send one off for testing to a proper lab. In looking at http://tf.nist.gov/general/pdf/2297.pdf, it suggests that my results are relatively poor compared to what a GPSDO can achieve (more like 10^-12 rather than 10^-9), but I assume that they’re able to use a higher frequency GPS reference than just 1 PPS (and they’re a lot pricier). What else can I do to try and characterize the performance? If mine is performing far more poorly than the same price ($175) can buy elsewhere, then what am I doing wrong? _______________________________________________ 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. _______________________________________________ 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.
TS
Tim Shoppa
Sun, Aug 16, 2015 9:22 PM

Nick, professional GPSDO's achieve precision much less than one 10MHz
count, by doing sub-nanosecond level time interval measurements between GPS
PPS and the OCXO-divided-by-10M-PPS. During initial lock there is some
software smarts to reset the divide-by-10M chain at the right point so the
initial lock is a bit more like a frequency lock rather than a phase lock -
these smarts also kick in if there is a substantial disturbance to phase to
be resolved (that substantial difference probably doesn't require a real
EFC correction but instead is some kind of glitch ridden over by going to
frequency lock.)

Google things like "z3801a tic" (tic = time interval converter) to see past
discussions about the state of the art a few decades ago.

Tim N3QE

On Sun, Aug 16, 2015 at 2:47 PM, Nick Sayer via time-nuts <
time-nuts@febo.com> wrote:

I’ve designed and make and sell a GPSDO on Tindie (
https://hackaday.io/project/6872-gps-disciplined-tcxo). It’s brand new -
I’ve sold a handful of them so far. So as to make this post not entirely
self-serving, what I would like is some further guidance on how I can
better characterize its performance.

The GPS reference is a 1 pps signal (It’s the Adafruit Ultimate GPS module

  • a PA6H). The manufacturer claims an accuracy of ±10 ns, but that's
    accuracy relative to the true start of the GPS second. They don’t make any
    claim for stability.

The oscillator itself (Connor Winfield DOT050V 10 MHz) has a short-term
(though they don’t say how short that term is) stability of 1 ppb. The
absolute accuracy of it is (I assume) irrelevant, because it’s a VCTCXO and
the control voltage is steered by GPS feedback.

The feedback loop takes samples over a 100 second period. That gives me an
error sample with a granularity of 1 ppb. I keep a rolling sample window of
10 samples to get an error count over 1000 seconds. I've kept track of both
of these values for extended periods (days) as well as logging the DAC
value (the number that's proportional to the control voltage). The 1000
second sample window error averages zero, and it almost never exceeds ±7
(every once in a while if I physically move it, it will show a momentary
error glitch, but that shows up in the short term feedback sampling too).
The 100 second samples are almost all 0 or ±1, with an occasional ±2
showing up. As I said before, if I bonk the oscillator, it may briefly show
a ±6 or so for one sample.

If I pit two of them against each other on a scope and take a time lapse
video (http://www.youtube.com/watch?v=9HkeCI90i44), you can see that they
stay mostly locked with occasional periods of drift. I sort of assume that
that represents periods where the two GPS receivers disagree as they decide
differently how to select among the available satellites.

I've been saying out loud that the oscillator is ±1 ppb from GPS over the
1000 second window. I know of Allan variance, but I don't have anything
else handy I can use for comparison. I also can't really afford to send one
off for testing to a proper lab. In looking at
http://tf.nist.gov/general/pdf/2297.pdf, it suggests that my results are
relatively poor compared to what a GPSDO can achieve (more like 10^-12
rather than 10^-9), but I assume that they’re able to use a higher
frequency GPS reference than just 1 PPS (and they’re a lot pricier).

What else can I do to try and characterize the performance? If mine is
performing far more poorly than the same price ($175) can buy elsewhere,
then what am I doing wrong?


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.

Nick, professional GPSDO's achieve precision much less than one 10MHz count, by doing sub-nanosecond level time interval measurements between GPS PPS and the OCXO-divided-by-10M-PPS. During initial lock there is some software smarts to reset the divide-by-10M chain at the right point so the initial lock is a bit more like a frequency lock rather than a phase lock - these smarts also kick in if there is a substantial disturbance to phase to be resolved (that substantial difference probably doesn't require a real EFC correction but instead is some kind of glitch ridden over by going to frequency lock.) Google things like "z3801a tic" (tic = time interval converter) to see past discussions about the state of the art a few decades ago. Tim N3QE On Sun, Aug 16, 2015 at 2:47 PM, Nick Sayer via time-nuts < time-nuts@febo.com> wrote: > I’ve designed and make and sell a GPSDO on Tindie ( > https://hackaday.io/project/6872-gps-disciplined-tcxo). It’s brand new - > I’ve sold a handful of them so far. So as to make this post not *entirely* > self-serving, what I would like is some further guidance on how I can > better characterize its performance. > > The GPS reference is a 1 pps signal (It’s the Adafruit Ultimate GPS module > - a PA6H). The manufacturer claims an accuracy of ±10 ns, but that's > accuracy relative to the true start of the GPS second. They don’t make any > claim for stability. > > The oscillator itself (Connor Winfield DOT050V 10 MHz) has a short-term > (though they don’t say how short that term is) stability of 1 ppb. The > absolute accuracy of it is (I assume) irrelevant, because it’s a VCTCXO and > the control voltage is steered by GPS feedback. > > The feedback loop takes samples over a 100 second period. That gives me an > error sample with a granularity of 1 ppb. I keep a rolling sample window of > 10 samples to get an error count over 1000 seconds. I've kept track of both > of these values for extended periods (days) as well as logging the DAC > value (the number that's proportional to the control voltage). The 1000 > second sample window error averages zero, and it almost never exceeds ±7 > (every once in a while if I physically move it, it will show a momentary > error glitch, but that shows up in the short term feedback sampling too). > The 100 second samples are almost all 0 or ±1, with an occasional ±2 > showing up. As I said before, if I bonk the oscillator, it may briefly show > a ±6 or so for one sample. > > If I pit two of them against each other on a scope and take a time lapse > video (http://www.youtube.com/watch?v=9HkeCI90i44), you can see that they > stay mostly locked with occasional periods of drift. I sort of assume that > that represents periods where the two GPS receivers disagree as they decide > differently how to select among the available satellites. > > I've been saying out loud that the oscillator is ±1 ppb from GPS over the > 1000 second window. I know of Allan variance, but I don't have anything > else handy I can use for comparison. I also can't really afford to send one > off for testing to a proper lab. In looking at > http://tf.nist.gov/general/pdf/2297.pdf, it suggests that my results are > relatively poor compared to what a GPSDO can achieve (more like 10^-12 > rather than 10^-9), but I assume that they’re able to use a higher > frequency GPS reference than just 1 PPS (and they’re a lot pricier). > > What else can I do to try and characterize the performance? If mine is > performing far more poorly than the same price ($175) can buy elsewhere, > then what am I doing wrong? > > _______________________________________________ > 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. >
MD
Magnus Danielson
Sun, Aug 16, 2015 9:24 PM

Hi,

I warmly recommend people to play around with Tom's GPSDO-SIM tool. It's
a quick way to get some important learnings about what knobs do what on
the response.

Cheers,
Magnus

On 08/16/2015 09:31 PM, Tom Van Baak wrote:

Hi Nick,

Nice project. Thanks for sharing.

I was hoping someone would someday use a cheap Sparkfun / Parallax / Adafruit GPS to make a low-cost GPSDO. Mostly what people on this list do is go to the extreme of using serious GPS timing receivers (such as Oncore M12+T, or ublox-5T or 6T or 8T) but those require significant amounts of configuration, tuning, survey, etc. to meet ultimate performance levels.

The good thing about using a cheap hobbyist-grade 3D GPS/1PPS receiver is that they work anywhere, without fiddling or survey, within seconds of power-on. Ok, you lose a few ns of precision compared to serious receivers -- but for a TCXO that doesn't matter.

Anyway, to answer your question -- to measure its true performance you only need two things. 1) a phase meter (or time interval counter) that's good to 1 ns or better, and 2) a local reference standard that's maybe 10x better than the TCXO and the Adafruit GPS. Usually that means a cesium standard, or supremely qualified GPSDO, or equivalent.

A number of us here on the time-nuts list have such equipment at home. And unlike professional labs, we will do it for free/fun if you loan the GPSDO for a week.

If you want to play with raw timing data from an Adafruit GPS board see file gps-mtk3339.txt.gz under http://www.leapsecond.com/pages/gpsdo-sim/ and then use TimeLab for phase, frequency, and Allan deviation analysis (http://www.ke5fx.com/timelab/readme.htm).

/tvb

----- Original Message -----
From: "Nick Sayer via time-nuts" time-nuts@febo.com
To: time-nuts@febo.com
Sent: Sunday, August 16, 2015 11:47 AM
Subject: [time-nuts] I've designed a GPSDO, but how "good" is it?

I’ve designed and make and sell a GPSDO on Tindie (https://hackaday.io/project/6872-gps-disciplined-tcxo). It’s brand new - I’ve sold a handful of them so far. So as to make this post not entirely self-serving, what I would like is some further guidance on how I can better characterize its performance.

The GPS reference is a 1 pps signal (It’s the Adafruit Ultimate GPS module - a PA6H). The manufacturer claims an accuracy of ±10 ns, but that's accuracy relative to the true start of the GPS second. They don’t make any claim for stability.

The oscillator itself (Connor Winfield DOT050V 10 MHz) has a short-term (though they don’t say how short that term is) stability of 1 ppb. The absolute accuracy of it is (I assume) irrelevant, because it’s a VCTCXO and the control voltage is steered by GPS feedback.

The feedback loop takes samples over a 100 second period. That gives me an error sample with a granularity of 1 ppb. I keep a rolling sample window of 10 samples to get an error count over 1000 seconds. I've kept track of both of these values for extended periods (days) as well as logging the DAC value (the number that's proportional to the control voltage). The 1000 second sample window error averages zero, and it almost never exceeds ±7 (every once in a while if I physically move it, it will show a momentary error glitch, but that shows up in the short term feedback sampling too). The 100 second samples are almost all 0 or ±1, with an occasional ±2 showing up. As I said before, if I bonk the oscillator, it may briefly show a ±6 or so for one sample.

If I pit two of them against each other on a scope and take a time lapse video (http://www.youtube.com/watch?v=9HkeCI90i44), you can see that they stay mostly locked with occasional periods of drift. I sort of assume that that represents periods where the two GPS receivers disagree as they decide differently how to select among the available satellites.

I've been saying out loud that the oscillator is ±1 ppb from GPS over the 1000 second window. I know of Allan variance, but I don't have anything else handy I can use for comparison. I also can't really afford to send one off for testing to a proper lab. In looking at http://tf.nist.gov/general/pdf/2297.pdf, it suggests that my results are relatively poor compared to what a GPSDO can achieve (more like 10^-12 rather than 10^-9), but I assume that they’re able to use a higher frequency GPS reference than just 1 PPS (and they’re a lot pricier).

What else can I do to try and characterize the performance? If mine is performing far more poorly than the same price ($175) can buy elsewhere, then what am I doing wrong?


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.


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, I warmly recommend people to play around with Tom's GPSDO-SIM tool. It's a quick way to get some important learnings about what knobs do what on the response. Cheers, Magnus On 08/16/2015 09:31 PM, Tom Van Baak wrote: > Hi Nick, > > Nice project. Thanks for sharing. > > I was hoping someone would someday use a cheap Sparkfun / Parallax / Adafruit GPS to make a low-cost GPSDO. Mostly what people on this list do is go to the extreme of using serious GPS timing receivers (such as Oncore M12+T, or ublox-5T or 6T or 8T) but those require significant amounts of configuration, tuning, survey, etc. to meet ultimate performance levels. > > The good thing about using a cheap hobbyist-grade 3D GPS/1PPS receiver is that they work anywhere, without fiddling or survey, within seconds of power-on. Ok, you lose a few ns of precision compared to serious receivers -- but for a TCXO that doesn't matter. > > Anyway, to answer your question -- to measure its true performance you only need two things. 1) a phase meter (or time interval counter) that's good to 1 ns or better, and 2) a local reference standard that's maybe 10x better than the TCXO and the Adafruit GPS. Usually that means a cesium standard, or supremely qualified GPSDO, or equivalent. > > A number of us here on the time-nuts list have such equipment at home. And unlike professional labs, we will do it for free/fun if you loan the GPSDO for a week. > > If you want to play with raw timing data from an Adafruit GPS board see file gps-mtk3339.txt.gz under http://www.leapsecond.com/pages/gpsdo-sim/ and then use TimeLab for phase, frequency, and Allan deviation analysis (http://www.ke5fx.com/timelab/readme.htm). > > /tvb > > ----- Original Message ----- > From: "Nick Sayer via time-nuts" <time-nuts@febo.com> > To: <time-nuts@febo.com> > Sent: Sunday, August 16, 2015 11:47 AM > Subject: [time-nuts] I've designed a GPSDO, but how "good" is it? > > > I’ve designed and make and sell a GPSDO on Tindie (https://hackaday.io/project/6872-gps-disciplined-tcxo). It’s brand new - I’ve sold a handful of them so far. So as to make this post not *entirely* self-serving, what I would like is some further guidance on how I can better characterize its performance. > > The GPS reference is a 1 pps signal (It’s the Adafruit Ultimate GPS module - a PA6H). The manufacturer claims an accuracy of ±10 ns, but that's accuracy relative to the true start of the GPS second. They don’t make any claim for stability. > > The oscillator itself (Connor Winfield DOT050V 10 MHz) has a short-term (though they don’t say how short that term is) stability of 1 ppb. The absolute accuracy of it is (I assume) irrelevant, because it’s a VCTCXO and the control voltage is steered by GPS feedback. > > The feedback loop takes samples over a 100 second period. That gives me an error sample with a granularity of 1 ppb. I keep a rolling sample window of 10 samples to get an error count over 1000 seconds. I've kept track of both of these values for extended periods (days) as well as logging the DAC value (the number that's proportional to the control voltage). The 1000 second sample window error averages zero, and it almost never exceeds ±7 (every once in a while if I physically move it, it will show a momentary error glitch, but that shows up in the short term feedback sampling too). The 100 second samples are almost all 0 or ±1, with an occasional ±2 showing up. As I said before, if I bonk the oscillator, it may briefly show a ±6 or so for one sample. > > If I pit two of them against each other on a scope and take a time lapse video (http://www.youtube.com/watch?v=9HkeCI90i44), you can see that they stay mostly locked with occasional periods of drift. I sort of assume that that represents periods where the two GPS receivers disagree as they decide differently how to select among the available satellites. > > I've been saying out loud that the oscillator is ±1 ppb from GPS over the 1000 second window. I know of Allan variance, but I don't have anything else handy I can use for comparison. I also can't really afford to send one off for testing to a proper lab. In looking at http://tf.nist.gov/general/pdf/2297.pdf, it suggests that my results are relatively poor compared to what a GPSDO can achieve (more like 10^-12 rather than 10^-9), but I assume that they’re able to use a higher frequency GPS reference than just 1 PPS (and they’re a lot pricier). > > What else can I do to try and characterize the performance? If mine is performing far more poorly than the same price ($175) can buy elsewhere, then what am I doing wrong? > > _______________________________________________ > 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. > _______________________________________________ > 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, Aug 16, 2015 9:27 PM

On Sun, 16 Aug 2015 11:47:23 -0700
Nick Sayer via time-nuts time-nuts@febo.com wrote:

I’ve designed and make and sell a GPSDO on Tindie
(https://hackaday.io/ project/6872-gps-disciplined-tcxo). It’s brand new -
I’ve sold a handful of them so far. So as to make this post not entirely
self-serving, what I would like is some further guidance on how I can better
characterize its performance.

The GPS reference is a 1 pps signal (It’s the Adafruit Ultimate GPS module -
a PA6H). The manufacturer claims an accuracy of ±10 ns, but that's accuracy
relative to the true start of the GPS second. They don’t make any claim for
stability.

And under the assumption that you have a high gain antenna high up on a roof
with negligible multipath. As reference, have a look at [1], that's a
LEA6-T against a Rb vapor cell, with a antenna on the building roof.
And of course, the LEA6-T in position hold mode.

Said Jackson once reportet that he got a PPS jitter of 1us by placing
a patch antenna in a window. He got something much lower (sorry, don't
remember the number) after averaging the position for a week.

Given that you have only a position gps receiver, and not a timing module.
Which on top of it is optimized for small size with an integrated antenna,
i'd say that those 10ns are overly optimistic.

The oscillator itself (Connor Winfield DOT050V 10 MHz) has a short-term
(though they don’t say how short that term is) stability of 1 ppb. The
absolute accuracy of it is (I assume) irrelevant, because it’s a VCTCXO and
the control voltage is steered by GPS feedback.

Having a look at the datasheet, i'd say that 1e-9 at 1s.
Which sounds reasonable as a manufacturer spec (i.e. as the maximum
expected instability at 1s)

The feedback loop takes samples over a 100 second period. That gives me
an error sample with a granularity of 1 ppb.

I guess you are running the timer at 10MHz then?

I keep a rolling sample window
of 10 samples to get an error count over 1000 seconds. I've kept track of
both of these values for extended periods (days) as well as logging the DAC
value (the number that's proportional to the control voltage). The 1000
second sample window error averages zero, and it almost never exceeds ±7
(every once in a while if I physically move it, it will show a momentary
error glitch, but that shows up in the short term feedback sampling too).
The 100 second samples are almost all 0 or ±1, with an occasional ±2 showing > up. As I said before, if I bonk the oscillator, it may briefly show a ±6 or
so for one sample.

This sounds that your somewhere the resolution is too low.

From what you have written above, i'd say that the TIC resolution is at

least borderline, if not too low. For the DAC: You have a 16bit DAC, with
Vref at 3.3V and a tuning range of >+/-10ppm between 0.3 and 3.0V.. that
makes a step size of >0.373ppb per LSB. With the manufacturer spec of the
VCTCXO of <1ppb@1s I would say your DAC resolution is too low as well.

The +/-6 excursions are most likely from shock to the oscillator.
See [2] for details on that.

If I pit two of them against each other on a scope and take a time lapse
video (http://www.youtube.com/watch?v=9HkeCI90i44), you can see that they
stay mostly locked with occasional periods of drift. I sort of assume that
that represents periods where the two GPS receivers disagree as they decide
differently how to select among the available satellites.

What is the time period of that video?

If I counted correctly, you have a maximum offset of 350ns. For GPSDOs
that are close to each other, that's a quite considerable shift of phase.
Are you sure your software implements a phase locked loop and not a
frequency locked loop? Or is your antenna position extremely bad?

I've been saying out loud that the oscillator is ±1 ppb from GPS over the
1000 second window. I know of Allan variance, but I don't have anything else
handy I can use for comparison. I also can't really afford to send one off
for testing to a proper lab.

With not having any other reference, you can use the EFC voltage
and its relation to frequency as a guestimator for the ADEV. But
be aware that the EFC is not 100% linear and the instability of your
voltage reference etc pp affects this value as well. There was some
discussion about this technique a couple of years ago (IIRC 2008)
on this mailinglist. But i cannot find at the moment... it had some
weird name too... Maybe someone with a better long term memory can
chip in on that.

In looking at
http://tf.nist.gov/general/pdf/2297.pdf, it suggests that my results are
relatively poor compared to what a GPSDO can achieve (more like 10^-12
rather than 10^-9), but I assume that they’re able to use a higher frequency
GPS reference than just 1 PPS (and they’re a lot pricier).

Uhmm.. these GPSDOs are in an other league than yours.

You have a position GPS receiver with an antenna, not only in a poor
position (ie not on the roof), but surrounded by electronics that highly
interfere with it. When you talk about time-nuts quality standards, then
the CFLs in your lab are a major source of error if you do not properly
shield everything. The antennas that you see in Figure 6 are a
Spectracom Ant-32, Trimble Zephyr and the last one looks like a Meinberg.
The first and the second are most likely conical spiral antennas while
the Zephyr is a planar spiral antenna, not unlike the Pinwheel antenna
from Novatel.

These timing/calibration grade GPSDOs use OCXOs or even DOCXOs as local
oscillators, with a much lower tuning range than your TCXO can hope to
have. Devices like the Trimble Thunderbolt use this OCXO as the reference
oscillator for the receiver as well, and thus achieve a quite high phase
offset measurement resolution without the need of an expensive TIC.

They also always work in position hold mode, where the position is first
averaged for a day or two, and then used as constant in the equations,
such that only time is left as unknown, which results in a lower uncertainty.

What else can I do to try and characterize the performance? If mine is
performing far more poorly than the same price ($175) can buy elsewhere,
then what am I doing wrong?

Oh.. many things! :-D

If you really want to go down the time-nutty road, you will have to invest
a bit into this. First, get yourself one of the rubidium frequency standards
and also one of trimble/nortel/... GPSDOs. You will need a proper reference
for measurements. Probably the easiest way to do these measurements is
by using DMTD. Use one of your TXCOs as mixing frequency generator and
mix down both your reference clock and your GPSDOs clock into something
in the audio range (probably 1-5kHz would be a good choice). Feed this
into a good soundcard and measure the phase difference between both
signals. Have a look at [3] for how to do that overall (yes, the focus
there is on phase noise, but ADEV is just a different calculation
as the last step)

Then, get a timing GPS modul. The LEA6-T's are not that expensive,
if you buy 30-50 at a time (i am not allowed to give you a number,
but it's a nice fraction of the single piece price you get on the
u-blox homepage, contact u-blox for that).

Next is, choose a proper OCXO as your refernce. The cheapest that you
can buy new i know about is the Connor Winfield DOCxxxV which you can
get at digikey for 30 to 70 USD (depeding on stability). Next up are the
Abracon AOCY1 series, which you can get for about 90USD and up.
(all in single pieces).

Then you need to measure the phase offset of the PPS as precisely
as possible. I would either use time-to-voltage converter like
the PICTIC-II [4] or an excited oscillator plus ADC like the system
Panek proposed [5] (there were a couple of small discussions on this,
look especially for commments by Bruce Griffiths).

As for the DAC, i'd either use two 16bit DACs with external refernece
(more stable) coupled with an R-2R network, where you use one DAC
to set the range, fix it, and use only the other to change the EFC value.

Alternatively, you can use something like [6], for which Ulrich Bangert
got quite good results.

Oh.. and get rid of the LTC2050. The AD5061 already has an output buffer.
You don't need an additional device that adds noise. If you have the
need for an opamp, use a low noise one instead of a low drift one.
For a GPSDO you care about stability at most in the hours region, maybe
a day, if your local oscillator is very good. Everything beyond that
will be caught by the feedback loop anyways.

You will also need to take more care in your electronics design.
Your current schematics have lots of points that will degrade your
stability. First and foremost, split all analog parts from the digital
parts. Provide a properly stabilized, low noise supply to the analog
parts, that is independent of the digital voltage supply.

And last but not least, have a look at various GPSDO designs.
There are many other, but i think James Millers [7] and Brooks Sheras [8]
designs are classics.

HTH

		Attila Kinali

[1] "GPS-based Timing - Considerations with u-blox 6 GPS receivers"
https://www.u-blox.com/images/downloads/Product_Docs/Timing_AppNote_%28GPS.G6-X-11007%29.pdf

[2] "Quarth Crystal Resonator and Oscillator Tutorial", by Jon Vig
there are many versions, you can find a collection of them on
http://ko4bb.com/manuals/

[3] http://attila.kinali.ch/phase_noise_measurement/

[4] "Simple PICTIC 250ps time interval counter", by Richard H McCorkle, 2013
http://www.ko4bb.com/dokuwiki/doku.php?id=precision_timing:pictic

[5] "Time-Interval Measurement Based on SAW Filter Excitation", by Petr Panek, 2007

[6] "DC-accurate, 32bit DAC achieves 32-bit resolution", by Stephen Woodward, 2008
http://www.edn.com/contents/images/6607198.pdf

[7] "10MHz Simple GPSDO", by James Miller, 2007
http://www.jrmiller.demon.co.uk/projects/ministd/manual.pdf

[8] "A GPS based Frequency Standard", by Brooks Shera, 1998
http://www.rt66.com/~shera/QST_GPS.pdf

--
I must not become metastable.
Metastability is the mind-killer.
Metastability is the little-death that brings total obliteration.
I will face my metastability.
I will permit it to pass over me and through me.
And when it has gone past I will turn the inner eye to see its path.
Where the metastability has gone there will be nothing. Only I will remain.

On Sun, 16 Aug 2015 11:47:23 -0700 Nick Sayer via time-nuts <time-nuts@febo.com> wrote: > I’ve designed and make and sell a GPSDO on Tindie > (https://hackaday.io/ project/6872-gps-disciplined-tcxo). It’s brand new - > I’ve sold a handful of them so far. So as to make this post not *entirely* > self-serving, what I would like is some further guidance on how I can better > characterize its performance. > > The GPS reference is a 1 pps signal (It’s the Adafruit Ultimate GPS module - > a PA6H). The manufacturer claims an accuracy of ±10 ns, but that's accuracy > relative to the true start of the GPS second. They don’t make any claim for > stability. And under the assumption that you have a high gain antenna high up on a roof with negligible multipath. As reference, have a look at [1], that's a LEA6-T against a Rb vapor cell, with a antenna on the building roof. And of course, the LEA6-T in position hold mode. Said Jackson once reportet that he got a PPS jitter of 1us by placing a patch antenna in a window. He got something much lower (sorry, don't remember the number) after averaging the position for a week. Given that you have only a position gps receiver, and not a timing module. Which on top of it is optimized for small size with an integrated antenna, i'd say that those 10ns are overly optimistic. > The oscillator itself (Connor Winfield DOT050V 10 MHz) has a short-term > (though they don’t say how short that term is) stability of 1 ppb. The > absolute accuracy of it is (I assume) irrelevant, because it’s a VCTCXO and > the control voltage is steered by GPS feedback. Having a look at the datasheet, i'd say that 1e-9 at 1s. Which sounds reasonable as a manufacturer spec (i.e. as the maximum expected instability at 1s) > > The feedback loop takes samples over a 100 second period. That gives me > an error sample with a granularity of 1 ppb. I guess you are running the timer at 10MHz then? > I keep a rolling sample window > of 10 samples to get an error count over 1000 seconds. I've kept track of > both of these values for extended periods (days) as well as logging the DAC > value (the number that's proportional to the control voltage). The 1000 > second sample window error averages zero, and it almost never exceeds ±7 > (every once in a while if I physically move it, it will show a momentary > error glitch, but that shows up in the short term feedback sampling too). > The 100 second samples are almost all 0 or ±1, with an occasional ±2 showing > up. As I said before, if I bonk the oscillator, it may briefly show a ±6 or > so for one sample. This sounds that your somewhere the resolution is too low. >From what you have written above, i'd say that the TIC resolution is at least borderline, if not too low. For the DAC: You have a 16bit DAC, with Vref at 3.3V and a tuning range of >+/-10ppm between 0.3 and 3.0V.. that makes a step size of >0.373ppb per LSB. With the manufacturer spec of the VCTCXO of <1ppb@1s I would say your DAC resolution is too low as well. The +/-6 excursions are most likely from shock to the oscillator. See [2] for details on that. > > If I pit two of them against each other on a scope and take a time lapse > video (http://www.youtube.com/watch?v=9HkeCI90i44), you can see that they > stay mostly locked with occasional periods of drift. I sort of assume that > that represents periods where the two GPS receivers disagree as they decide > differently how to select among the available satellites. What is the time period of that video? If I counted correctly, you have a maximum offset of 350ns. For GPSDOs that are close to each other, that's a quite considerable shift of phase. Are you sure your software implements a phase locked loop and not a frequency locked loop? Or is your antenna position extremely bad? > I've been saying out loud that the oscillator is ±1 ppb from GPS over the > 1000 second window. I know of Allan variance, but I don't have anything else > handy I can use for comparison. I also can't really afford to send one off > for testing to a proper lab. With not having any other reference, you can use the EFC voltage and its relation to frequency as a guestimator for the ADEV. But be aware that the EFC is not 100% linear and the instability of your voltage reference etc pp affects this value as well. There was some discussion about this technique a couple of years ago (IIRC 2008) on this mailinglist. But i cannot find at the moment... it had some weird name too... Maybe someone with a better long term memory can chip in on that. > In looking at > http://tf.nist.gov/general/pdf/2297.pdf, it suggests that my results are > relatively poor compared to what a GPSDO can achieve (more like 10^-12 > rather than 10^-9), but I assume that they’re able to use a higher frequency > GPS reference than just 1 PPS (and they’re a lot pricier). Uhmm.. these GPSDOs are in an other league than yours. You have a position GPS receiver with an antenna, not only in a poor position (ie not on the roof), but surrounded by electronics that highly interfere with it. When you talk about time-nuts quality standards, then the CFLs in your lab are a major source of error if you do not properly shield everything. The antennas that you see in Figure 6 are a Spectracom Ant-32, Trimble Zephyr and the last one looks like a Meinberg. The first and the second are most likely conical spiral antennas while the Zephyr is a planar spiral antenna, not unlike the Pinwheel antenna from Novatel. These timing/calibration grade GPSDOs use OCXOs or even DOCXOs as local oscillators, with a much lower tuning range than your TCXO can hope to have. Devices like the Trimble Thunderbolt use this OCXO as the reference oscillator for the receiver as well, and thus achieve a quite high phase offset measurement resolution without the need of an expensive TIC. They also always work in position hold mode, where the position is first averaged for a day or two, and then used as constant in the equations, such that only time is left as unknown, which results in a lower uncertainty. > What else can I do to try and characterize the performance? If mine is > performing far more poorly than the same price ($175) can buy elsewhere, > then what am I doing wrong? Oh.. many things! :-D If you really want to go down the time-nutty road, you will have to invest a bit into this. First, get yourself one of the rubidium frequency standards and also one of trimble/nortel/... GPSDOs. You will need a proper reference for measurements. Probably the easiest way to do these measurements is by using DMTD. Use one of your TXCOs as mixing frequency generator and mix down both your reference clock and your GPSDOs clock into something in the audio range (probably 1-5kHz would be a good choice). Feed this into a good soundcard and measure the phase difference between both signals. Have a look at [3] for how to do that overall (yes, the focus there is on phase noise, but ADEV is just a different calculation as the last step) Then, get a timing GPS modul. The LEA6-T's are not that expensive, if you buy 30-50 at a time (i am not allowed to give you a number, but it's a nice fraction of the single piece price you get on the u-blox homepage, contact u-blox for that). Next is, choose a proper OCXO as your refernce. The cheapest that you can buy new i know about is the Connor Winfield DOCxxxV which you can get at digikey for 30 to 70 USD (depeding on stability). Next up are the Abracon AOCY1 series, which you can get for about 90USD and up. (all in single pieces). Then you need to measure the phase offset of the PPS as precisely as possible. I would either use time-to-voltage converter like the PICTIC-II [4] or an excited oscillator plus ADC like the system Panek proposed [5] (there were a couple of small discussions on this, look especially for commments by Bruce Griffiths). As for the DAC, i'd either use two 16bit DACs with external refernece (more stable) coupled with an R-2R network, where you use one DAC to set the range, fix it, and use only the other to change the EFC value. Alternatively, you can use something like [6], for which Ulrich Bangert got quite good results. Oh.. and get rid of the LTC2050. The AD5061 already has an output buffer. You don't need an additional device that adds noise. If you have the need for an opamp, use a low noise one instead of a low drift one. For a GPSDO you care about stability at most in the hours region, maybe a day, if your local oscillator is very good. Everything beyond that will be caught by the feedback loop anyways. You will also need to take more care in your electronics design. Your current schematics have lots of points that will degrade your stability. First and foremost, split all analog parts from the digital parts. Provide a properly stabilized, low noise supply to the analog parts, that is independent of the digital voltage supply. And last but not least, have a look at various GPSDO designs. There are many other, but i think James Millers [7] and Brooks Sheras [8] designs are classics. HTH Attila Kinali [1] "GPS-based Timing - Considerations with u-blox 6 GPS receivers" https://www.u-blox.com/images/downloads/Product_Docs/Timing_AppNote_%28GPS.G6-X-11007%29.pdf [2] "Quarth Crystal Resonator and Oscillator Tutorial", by Jon Vig there are many versions, you can find a collection of them on http://ko4bb.com/manuals/ [3] http://attila.kinali.ch/phase_noise_measurement/ [4] "Simple PICTIC 250ps time interval counter", by Richard H McCorkle, 2013 http://www.ko4bb.com/dokuwiki/doku.php?id=precision_timing:pictic [5] "Time-Interval Measurement Based on SAW Filter Excitation", by Petr Panek, 2007 [6] "DC-accurate, 32bit DAC achieves 32-bit resolution", by Stephen Woodward, 2008 http://www.edn.com/contents/images/6607198.pdf [7] "10MHz Simple GPSDO", by James Miller, 2007 http://www.jrmiller.demon.co.uk/projects/ministd/manual.pdf [8] "A GPS based Frequency Standard", by Brooks Shera, 1998 http://www.rt66.com/~shera/QST_GPS.pdf -- I must not become metastable. Metastability is the mind-killer. Metastability is the little-death that brings total obliteration. I will face my metastability. I will permit it to pass over me and through me. And when it has gone past I will turn the inner eye to see its path. Where the metastability has gone there will be nothing. Only I will remain.
AK
Attila Kinali
Sun, Aug 16, 2015 10:10 PM

On Sun, 16 Aug 2015 12:39:19 -0700
Nick Sayer via time-nuts time-nuts@febo.com wrote:

I have considered in the past buying a used rubidium standard off eBay,
but have hesitated because I don’t know how much life there is left in
the tube, and I just have to take it on faith that it’s stable and accurate.
I have somewhat more faith in the GPS PPS, but clearly that has limits.

Don't worry about that.
The cheap FE-5680 that have been around for a while have a couple of
years left at least. And even if they go out, you can revive them
with a hot air gun.

		Attila Kinali

--
I must not become metastable.
Metastability is the mind-killer.
Metastability is the little-death that brings total obliteration.
I will face my metastability.
I will permit it to pass over me and through me.
And when it has gone past I will turn the inner eye to see its path.
Where the metastability has gone there will be nothing. Only I will remain.

On Sun, 16 Aug 2015 12:39:19 -0700 Nick Sayer via time-nuts <time-nuts@febo.com> wrote: > I have considered in the past buying a used rubidium standard off eBay, > but have hesitated because I don’t know how much life there is left in > the tube, and I just have to take it on faith that it’s stable and accurate. > I have somewhat more faith in the GPS PPS, but clearly that has limits. Don't worry about that. The cheap FE-5680 that have been around for a while have a couple of years left at least. And even if they go out, you can revive them with a hot air gun. Attila Kinali -- I must not become metastable. Metastability is the mind-killer. Metastability is the little-death that brings total obliteration. I will face my metastability. I will permit it to pass over me and through me. And when it has gone past I will turn the inner eye to see its path. Where the metastability has gone there will be nothing. Only I will remain.
JH
Jim Harman
Sun, Aug 16, 2015 10:15 PM

On Sun, Aug 16, 2015 at 3:31 PM, Tom Van Baak tvb@leapsecond.com wrote:

I was hoping someone would someday use a cheap Sparkfun / Parallax /
Adafruit GPS to make a low-cost GPSDO.

I have made such a device using the Adafruit module and an Arduino
processor. The design is based on the one posted here by Lars Walenius last
year. My design constraints were basically:
-- no surface mount components that I have to solder myself
-- no custom PC boards
-- no built-in display, runs stand-alone or with a PC as a monitor

My oscillator is a 10 MHz C-Mac STP-2322 from the auction site.

Like Nick, I do not have an independent reference to compare it to, but it
is set up with a laptop as a monitor so I can plot the TIC output in real
time.

I have attached a screenshot that shows the TIC variation over 24
hours.This is with a filter time constant of 2048 seconds. The black line
at the center is the raw TIC value, sampled every 86 seconds, and the red
line is a smoothed version of that. The vertical scale is approx. 100 ns
per division (range is 300-700). As you can see, TIC variation is typically
about +/- 40 ns. The longer term variations are very repeatable from day to
day, probably due to the periodicity of the GPS constellation.

I am using Adafruit's external antenna located in my attic with 10m of
extra cable. As often observed here, the variation is much worse if I have
a poor antenna location. It would probably be better if my antenna was up
high and outdoors.

The blue line at the bottom is the value being sent to the DAC and the
green line at the top is the ambient temperature

--Jim Harman

On Sun, Aug 16, 2015 at 3:31 PM, Tom Van Baak <tvb@leapsecond.com> wrote: > I was hoping someone would someday use a cheap Sparkfun / Parallax / > Adafruit GPS to make a low-cost GPSDO. I have made such a device using the Adafruit module and an Arduino processor. The design is based on the one posted here by Lars Walenius last year. My design constraints were basically: -- no surface mount components that I have to solder myself -- no custom PC boards -- no built-in display, runs stand-alone or with a PC as a monitor My oscillator is a 10 MHz C-Mac STP-2322 from the auction site. Like Nick, I do not have an independent reference to compare it to, but it is set up with a laptop as a monitor so I can plot the TIC output in real time. I have attached a screenshot that shows the TIC variation over 24 hours.This is with a filter time constant of 2048 seconds. The black line at the center is the raw TIC value, sampled every 86 seconds, and the red line is a smoothed version of that. The vertical scale is approx. 100 ns per division (range is 300-700). As you can see, TIC variation is typically about +/- 40 ns. The longer term variations are very repeatable from day to day, probably due to the periodicity of the GPS constellation. I am using Adafruit's external antenna located in my attic with 10m of extra cable. As often observed here, the variation is much worse if I have a poor antenna location. It would probably be better if my antenna was up high and outdoors. The blue line at the bottom is the value being sent to the DAC and the green line at the top is the ambient temperature --Jim Harman
NS
Nick Sayer
Sun, Aug 16, 2015 11:28 PM

On Aug 16, 2015, at 1:53 PM, Graham / KE9H ke9h.graham@gmail.com wrote:

Nick:

From your description, it sounds like you have a frequency locked loop with
a maximum frequency sensitivity of 1 ppb, as opposed to a phase locked loop.

Yes. I am leveraging the capabilities of the microcontroller as much as I can. It has a 16 bit timer that is clocked from the system clock (the 10 MHz oscillator). The timer has “input capture” capability - the rising PPS edge copies the clock reading into a holding register and triggers an interrupt. The only extra hardware required is the 16 bit DAC and its output buffer. That circuit is largely copied from a Connor Winfield application note.

Since people have brought it up, I’ve considered how I would do a PLL system. I’d probably use something like an ATTiny25 to do a simple divide-by-ten-million in software. That, and the PPS signal would go into a phase comparator that would (in my mind) have some sort of interface to the controller to allow the controller to get a high granularity view of the phase angle between the two. It would then apply feedback with the DAC and (as now) blink the LOCK LED to indicate quality. The DAC would probably need an upgrade as well to have more feedback granularity. All of that adds to the cost (as does my low production volume).

At the end of the 100 second count period, do you start over with a counter
set to zero, or do you carry forward any error from the previous period?

For the purpose of feedback to the oscillator, only the 100 second error count is used. The adjustment granularity is on the order of 370 ppt or so, so I’m not sure there much more “there” there.

For the purpose of user feedback (the LOCK LED has four different states indicating no lock: >50 ppb, “good”: 50-5 ppb, “better”: 5ppb-1ppb and “best”: <1 ppb), there is a rolling window of ten 100 second samples that are aggregated for a 1000 second window. So when the “best” blink is happening, it means that the error over the past 1000 seconds is < 10 counts.

--- Graham

==

On Sun, Aug 16, 2015 at 2:31 PM, Tom Van Baak tvb@leapsecond.com wrote:

Hi Nick,

Nice project. Thanks for sharing.

I was hoping someone would someday use a cheap Sparkfun / Parallax /
Adafruit GPS to make a low-cost GPSDO. Mostly what people on this list do
is go to the extreme of using serious GPS timing receivers (such as Oncore
M12+T, or ublox-5T or 6T or 8T) but those require significant amounts of
configuration, tuning, survey, etc. to meet ultimate performance levels.

The good thing about using a cheap hobbyist-grade 3D GPS/1PPS receiver is
that they work anywhere, without fiddling or survey, within seconds of
power-on. Ok, you lose a few ns of precision compared to serious receivers
-- but for a TCXO that doesn't matter.

Anyway, to answer your question -- to measure its true performance you
only need two things. 1) a phase meter (or time interval counter) that's
good to 1 ns or better, and 2) a local reference standard that's maybe 10x
better than the TCXO and the Adafruit GPS. Usually that means a cesium
standard, or supremely qualified GPSDO, or equivalent.

A number of us here on the time-nuts list have such equipment at home. And
unlike professional labs, we will do it for free/fun if you loan the GPSDO
for a week.

If you want to play with raw timing data from an Adafruit GPS board see
file gps-mtk3339.txt.gz under http://www.leapsecond.com/pages/gpsdo-sim/
and then use TimeLab for phase, frequency, and Allan deviation analysis (
http://www.ke5fx.com/timelab/readme.htm).

/tvb

----- Original Message -----
From: "Nick Sayer via time-nuts" time-nuts@febo.com
To: time-nuts@febo.com
Sent: Sunday, August 16, 2015 11:47 AM
Subject: [time-nuts] I've designed a GPSDO, but how "good" is it?

I’ve designed and make and sell a GPSDO on Tindie (
https://hackaday.io/project/6872-gps-disciplined-tcxo). It’s brand new -
I’ve sold a handful of them so far. So as to make this post not entirely
self-serving, what I would like is some further guidance on how I can
better characterize its performance.

The GPS reference is a 1 pps signal (It’s the Adafruit Ultimate GPS module

  • a PA6H). The manufacturer claims an accuracy of ±10 ns, but that's
    accuracy relative to the true start of the GPS second. They don’t make any
    claim for stability.

The oscillator itself (Connor Winfield DOT050V 10 MHz) has a short-term
(though they don’t say how short that term is) stability of 1 ppb. The
absolute accuracy of it is (I assume) irrelevant, because it’s a VCTCXO and
the control voltage is steered by GPS feedback.

The feedback loop takes samples over a 100 second period. That gives me an
error sample with a granularity of 1 ppb. I keep a rolling sample window of
10 samples to get an error count over 1000 seconds. I've kept track of both
of these values for extended periods (days) as well as logging the DAC
value (the number that's proportional to the control voltage). The 1000
second sample window error averages zero, and it almost never exceeds ±7
(every once in a while if I physically move it, it will show a momentary
error glitch, but that shows up in the short term feedback sampling too).
The 100 second samples are almost all 0 or ±1, with an occasional ±2
showing up. As I said before, if I bonk the oscillator, it may briefly show
a ±6 or so for one sample.

If I pit two of them against each other on a scope and take a time lapse
video (http://www.youtube.com/watch?v=9HkeCI90i44), you can see that they
stay mostly locked with occasional periods of drift. I sort of assume that
that represents periods where the two GPS receivers disagree as they decide
differently how to select among the available satellites.

I've been saying out loud that the oscillator is ±1 ppb from GPS over the
1000 second window. I know of Allan variance, but I don't have anything
else handy I can use for comparison. I also can't really afford to send one
off for testing to a proper lab. In looking at
http://tf.nist.gov/general/pdf/2297.pdf, it suggests that my results are
relatively poor compared to what a GPSDO can achieve (more like 10^-12
rather than 10^-9), but I assume that they’re able to use a higher
frequency GPS reference than just 1 PPS (and they’re a lot pricier).

What else can I do to try and characterize the performance? If mine is
performing far more poorly than the same price ($175) can buy elsewhere,
then what am I doing wrong?


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.


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.


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.

> On Aug 16, 2015, at 1:53 PM, Graham / KE9H <ke9h.graham@gmail.com> wrote: > > Nick: > > From your description, it sounds like you have a frequency locked loop with > a maximum frequency sensitivity of 1 ppb, as opposed to a phase locked loop. Yes. I am leveraging the capabilities of the microcontroller as much as I can. It has a 16 bit timer that is clocked from the system clock (the 10 MHz oscillator). The timer has “input capture” capability - the rising PPS edge copies the clock reading into a holding register and triggers an interrupt. The only extra hardware required is the 16 bit DAC and its output buffer. That circuit is largely copied from a Connor Winfield application note. Since people have brought it up, I’ve considered how I would do a PLL system. I’d probably use something like an ATTiny25 to do a simple divide-by-ten-million in software. That, and the PPS signal would go into a phase comparator that would (in my mind) have some sort of interface to the controller to allow the controller to get a high granularity view of the phase angle between the two. It would then apply feedback with the DAC and (as now) blink the LOCK LED to indicate quality. The DAC would probably need an upgrade as well to have more feedback granularity. All of that adds to the cost (as does my low production volume). > > At the end of the 100 second count period, do you start over with a counter > set to zero, or do you carry forward any error from the previous period? For the purpose of feedback to the oscillator, only the 100 second error count is used. The adjustment granularity is on the order of 370 ppt or so, so I’m not sure there much more “there” there. For the purpose of user feedback (the LOCK LED has four different states indicating no lock: >50 ppb, “good”: 50-5 ppb, “better”: 5ppb-1ppb and “best”: <1 ppb), there is a rolling window of ten 100 second samples that are aggregated for a 1000 second window. So when the “best” blink is happening, it means that the error over the past 1000 seconds is < 10 counts. > > --- Graham > > == > > > > > On Sun, Aug 16, 2015 at 2:31 PM, Tom Van Baak <tvb@leapsecond.com> wrote: > >> Hi Nick, >> >> Nice project. Thanks for sharing. >> >> I was hoping someone would someday use a cheap Sparkfun / Parallax / >> Adafruit GPS to make a low-cost GPSDO. Mostly what people on this list do >> is go to the extreme of using serious GPS timing receivers (such as Oncore >> M12+T, or ublox-5T or 6T or 8T) but those require significant amounts of >> configuration, tuning, survey, etc. to meet ultimate performance levels. >> >> The good thing about using a cheap hobbyist-grade 3D GPS/1PPS receiver is >> that they work anywhere, without fiddling or survey, within seconds of >> power-on. Ok, you lose a few ns of precision compared to serious receivers >> -- but for a TCXO that doesn't matter. >> >> Anyway, to answer your question -- to measure its true performance you >> only need two things. 1) a phase meter (or time interval counter) that's >> good to 1 ns or better, and 2) a local reference standard that's maybe 10x >> better than the TCXO and the Adafruit GPS. Usually that means a cesium >> standard, or supremely qualified GPSDO, or equivalent. >> >> A number of us here on the time-nuts list have such equipment at home. And >> unlike professional labs, we will do it for free/fun if you loan the GPSDO >> for a week. >> >> If you want to play with raw timing data from an Adafruit GPS board see >> file gps-mtk3339.txt.gz under http://www.leapsecond.com/pages/gpsdo-sim/ >> and then use TimeLab for phase, frequency, and Allan deviation analysis ( >> http://www.ke5fx.com/timelab/readme.htm). >> >> /tvb >> >> ----- Original Message ----- >> From: "Nick Sayer via time-nuts" <time-nuts@febo.com> >> To: <time-nuts@febo.com> >> Sent: Sunday, August 16, 2015 11:47 AM >> Subject: [time-nuts] I've designed a GPSDO, but how "good" is it? >> >> >> I’ve designed and make and sell a GPSDO on Tindie ( >> https://hackaday.io/project/6872-gps-disciplined-tcxo). It’s brand new - >> I’ve sold a handful of them so far. So as to make this post not *entirely* >> self-serving, what I would like is some further guidance on how I can >> better characterize its performance. >> >> The GPS reference is a 1 pps signal (It’s the Adafruit Ultimate GPS module >> - a PA6H). The manufacturer claims an accuracy of ±10 ns, but that's >> accuracy relative to the true start of the GPS second. They don’t make any >> claim for stability. >> >> The oscillator itself (Connor Winfield DOT050V 10 MHz) has a short-term >> (though they don’t say how short that term is) stability of 1 ppb. The >> absolute accuracy of it is (I assume) irrelevant, because it’s a VCTCXO and >> the control voltage is steered by GPS feedback. >> >> The feedback loop takes samples over a 100 second period. That gives me an >> error sample with a granularity of 1 ppb. I keep a rolling sample window of >> 10 samples to get an error count over 1000 seconds. I've kept track of both >> of these values for extended periods (days) as well as logging the DAC >> value (the number that's proportional to the control voltage). The 1000 >> second sample window error averages zero, and it almost never exceeds ±7 >> (every once in a while if I physically move it, it will show a momentary >> error glitch, but that shows up in the short term feedback sampling too). >> The 100 second samples are almost all 0 or ±1, with an occasional ±2 >> showing up. As I said before, if I bonk the oscillator, it may briefly show >> a ±6 or so for one sample. >> >> If I pit two of them against each other on a scope and take a time lapse >> video (http://www.youtube.com/watch?v=9HkeCI90i44), you can see that they >> stay mostly locked with occasional periods of drift. I sort of assume that >> that represents periods where the two GPS receivers disagree as they decide >> differently how to select among the available satellites. >> >> I've been saying out loud that the oscillator is ±1 ppb from GPS over the >> 1000 second window. I know of Allan variance, but I don't have anything >> else handy I can use for comparison. I also can't really afford to send one >> off for testing to a proper lab. In looking at >> http://tf.nist.gov/general/pdf/2297.pdf, it suggests that my results are >> relatively poor compared to what a GPSDO can achieve (more like 10^-12 >> rather than 10^-9), but I assume that they’re able to use a higher >> frequency GPS reference than just 1 PPS (and they’re a lot pricier). >> >> What else can I do to try and characterize the performance? If mine is >> performing far more poorly than the same price ($175) can buy elsewhere, >> then what am I doing wrong? >> >> _______________________________________________ >> 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. >> _______________________________________________ >> 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. >> > _______________________________________________ > 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.
BC
Bob Camp
Sun, Aug 16, 2015 11:32 PM

Hi

Let’s say you want to measure a GPSDO over it’s entire range. The only practical approaches
are comparison based. You either need a fancy cesium standard / hydrogen maser or you compare
to another GPSDO. If you are making GPSDO’s having more than one around is a practical answer.
To take common mode issues out of the setup, you don’t really want to compare two identical GPSDO’s.
They are a lot cheaper than an atomic clock, you buy several.

Next you need something to measure with. Ideally you want a floor around 1x10^-13 for a 1 second
single shot measurement. No fair taking a million 1 second measurements at 1x10^-10 and averaging
to get 1x10^-13. You can buy fine pieces of test gear that will do a single shot below 1x10^-13. The
TimePod is one example. There are many others. I know of no “low cost” off the shelf gear that will get you there.

The 1x10^-13 is a bit arbitrary. Since you will likely improve resolution as tau increases, you could
simply ignore short tau testing. A 1x10^-9 (1 ns) single shot counter will get you to 1x10^-13 at 1,000
seconds. That’s a bit long of a wait. You want > 10 readings and prefer > 100 for characterizing this kind
of thing. A minimum run time of a day is pretty slow. It also makes it quite hard to figure out what’s going
on with things like filter tuning.

The most practical answer to the measurement question is either a single mixer or a dual (or triple or
quad..) down conversion system. You can build one that will get you at least to the 1-2x10^-12 at one second
level without a lot of crazy work. You can get to 10X better than that with a bit of care. With a single mixer
you will need an offset reference source for comparison. With a double or higher, you can directly compare two
devices on the same frequency.

If this sounds a bit crazy - welcome to the modern world. Hardware development takes a back seat to
firmware and testing. True both on cost and time.

So what does the setup look like:

Two or more eBay GPSDO models that have fairly well documented performance.

Likely at least two of one of the models so you can compare against published data.

Some pretty good buffering and splitting to pass the signals around.

A couple of older counters and GPIB to talk to them. (LOTS of alternatives here)

An OCXO as the heterodyne “offset” for your mixers.

Distribution, splitting, amplification for the OCXO (takes care of nasty cross talk issues)

A mixer for each device you will test plus a limiter / amplifier. (each goes to it’s own counter)

Yes, there is some stuff there. It’s not a lot of stuff. Commercial gear will be in the > $5K
(and maybe >> $5K) range. Four 5334’s or 5335’s plus three or four GPSDO’s should be under
$1K if you shop a bit.

======

So how about hiring the job out? Well a run is likely to take a week or two of equipment time.
That’s about 300 hours. The tradeoff cost on the first run is $3 per hour. That’s a lot if gear tied
up for $3 ….Let’s say you find a lab and indeed it’s only $1,000. Back comes the report. Here
is what your device looks like over that period.

Trust me on this, the result will not make you happy. The first real test if anything like this
never is great, Next question - what’s wrong? You make some guesses. You change some
things. You get it all boxed back up. Back to the out side test. Crunch, out goes another $1K.

How many passes to expect? A year or so of testing is not uncommon on this sort of thing.
Even if you get one pass of testing free, you will have lots of passes after that …

You can’t afford to pay for commercial testing. It’s far more likely to be $30 a machine hour than $3.If
you are serious about designing one of these beasts, a lab setup is essential.

Bob

On Aug 16, 2015, at 4:00 PM, Charles Steinmetz csteinmetz@yandex.com wrote:

Nick wrote:

The GPS reference is a 1 pps signal  * * *

The oscillator itself (Connor Winfield DOT050V 10 MHz) has a short-term (though they don't say how short that term is) stability of 1 ppb.  * * *

The feedback loop takes samples over a 100 second period. That gives me an error sample with a granularity of 1 ppb. I keep a rolling sample window of 10 samples to get an error count over 1000 seconds.

The limitations are fundamental.  The GPS signal has stability in the e-13 range, BUT only when averaged for 10,000 seconds or more (tau greater than or equal to 10,000 seconds).  It is actually quite noisy over short periods -- it can be as bad as e-7 over one second.  So, a GPSDO relies on its local oscillator for stability for periods shorter than 1000 seconds or so.  A good OCXO can provide stability in the e-10 range at tau in the 1 second to 100 second range, but even a very good TCXO cannot do that well.

The point of a GPSDO is to rely on the stability of the local oscillator at short tau, where it is better than the GPS stability, and to cross over to the greater GPS stability at longer tau by disciplining the LO to GPS.  You have chosen a local oscillator with not very good stability at short tau, so your stability at short tau will not be very good (compared to well-designed GPSDOs using OCXOs) -- likely 3 to 4 orders of magnitude worse.  Additionally, your disciplining algorithm does not sound as if it gets the most out of the parts you are using.

In order to measure the stability of your GPSDO, you will need a time interval counter (preferably), or a frequency counter, with a resolution at least 1nS, preferably 20pS or so.  You can use another one of your GPSDOs as a "reference" and attribute half the rms error to each one -- but preferably you would use a reference at least 10x better than the DUT at all tau of interest.  You will collect data for long enough to get stability numbers for the longest tau you care about (at least 30 minutes), then use a program like TimeLab to calculate the stability from the raw data.

Sorry to say, you can do much better buying one of the Lucent or Trimble boxes for $150 on ebay.

Best regards,

Charles


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 Let’s say you want to measure a GPSDO over it’s entire range. The only practical approaches are comparison based. You either need a fancy cesium standard / hydrogen maser or you compare to another GPSDO. If you are making GPSDO’s having more than one around is a practical answer. To take common mode issues out of the setup, you don’t really want to compare two identical GPSDO’s. They are a lot cheaper than an atomic clock, you buy several. Next you need something to measure with. Ideally you want a floor around 1x10^-13 for a 1 second single shot measurement. No fair taking a million 1 second measurements at 1x10^-10 and averaging to get 1x10^-13. You can buy fine pieces of test gear that will do a single shot below 1x10^-13. The TimePod is one example. There are many others. I know of no “low cost” off the shelf gear that will get you there. The 1x10^-13 is a bit arbitrary. Since you will likely improve resolution as tau increases, you could simply ignore short tau testing. A 1x10^-9 (1 ns) single shot counter will get you to 1x10^-13 at 1,000 seconds. That’s a bit long of a wait. You want > 10 readings and prefer > 100 for characterizing this kind of thing. A minimum run time of a day is pretty slow. It also makes it quite hard to figure out what’s going on with things like filter tuning. The most practical answer to the measurement question is either a single mixer or a dual (or triple or quad..) down conversion system. You can build one that will get you at least to the 1-2x10^-12 at one second level without a lot of crazy work. You can get to 10X better than that with a bit of care. With a single mixer you will need an offset reference source for comparison. With a double or higher, you can directly compare two devices on the same frequency. If this sounds a bit crazy - welcome to the modern world. Hardware development takes a back seat to firmware and testing. True both on cost and time. So what does the setup look like: Two or more eBay GPSDO models that have fairly well documented performance. Likely at least two of one of the models so you can compare against published data. Some pretty good buffering and splitting to pass the signals around. A couple of older counters and GPIB to talk to them. (LOTS of alternatives here) An OCXO as the heterodyne “offset” for your mixers. Distribution, splitting, amplification for the OCXO (takes care of nasty cross talk issues) A mixer for each device you will test plus a limiter / amplifier. (each goes to it’s own counter) Yes, there is some stuff there. It’s not a lot of stuff. Commercial gear will be in the > $5K (and maybe >> $5K) range. Four 5334’s or 5335’s plus three or four GPSDO’s should be under $1K if you shop a bit. ====== So how about hiring the job out? Well a run is likely to take a week or two of equipment time. That’s about 300 hours. The tradeoff cost on the first run is $3 per hour. That’s a lot if gear tied up for $3 ….Let’s say you find a lab and indeed it’s only $1,000. Back comes the report. Here is what your device looks like over that period. Trust me on this, the result will not make you happy. The first real test if anything like this never is great, Next question - what’s wrong? You make some guesses. You change some things. You get it all boxed back up. Back to the out side test. Crunch, out goes another $1K. How many passes to expect? A year or so of testing is not uncommon on this sort of thing. Even if you get one pass of testing free, you will have lots of passes after that … You can’t afford to pay for commercial testing. It’s far more likely to be $30 a machine hour than $3.If you are serious about designing one of these beasts, a lab setup is essential. Bob > On Aug 16, 2015, at 4:00 PM, Charles Steinmetz <csteinmetz@yandex.com> wrote: > > Nick wrote: > >> The GPS reference is a 1 pps signal * * * >> >> The oscillator itself (Connor Winfield DOT050V 10 MHz) has a short-term (though they don't say how short that term is) stability of 1 ppb. * * * >> >> The feedback loop takes samples over a 100 second period. That gives me an error sample with a granularity of 1 ppb. I keep a rolling sample window of 10 samples to get an error count over 1000 seconds. > > The limitations are fundamental. The GPS signal has stability in the e-13 range, BUT only when averaged for 10,000 seconds or more (tau greater than or equal to 10,000 seconds). It is actually quite noisy over short periods -- it can be as bad as e-7 over one second. So, a GPSDO relies on its local oscillator for stability for periods shorter than 1000 seconds or so. A good OCXO can provide stability in the e-10 range at tau in the 1 second to 100 second range, but even a very good TCXO cannot do that well. > > The point of a GPSDO is to rely on the stability of the local oscillator at short tau, where it is better than the GPS stability, and to cross over to the greater GPS stability at longer tau by disciplining the LO to GPS. You have chosen a local oscillator with not very good stability at short tau, so your stability at short tau will not be very good (compared to well-designed GPSDOs using OCXOs) -- likely 3 to 4 orders of magnitude worse. Additionally, your disciplining algorithm does not sound as if it gets the most out of the parts you are using. > > In order to measure the stability of your GPSDO, you will need a time interval counter (preferably), or a frequency counter, with a resolution at least 1nS, preferably 20pS or so. You can use another one of your GPSDOs as a "reference" and attribute half the rms error to each one -- but preferably you would use a reference at least 10x better than the DUT at all tau of interest. You will collect data for long enough to get stability numbers for the longest tau you care about (at least 30 minutes), then use a program like TimeLab to calculate the stability from the raw data. > > Sorry to say, you can do much better buying one of the Lucent or Trimble boxes for $150 on ebay. > > Best regards, > > Charles > > > > _______________________________________________ > 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.
NS
Nick Sayer
Sun, Aug 16, 2015 11:54 PM

On Aug 16, 2015, at 2:27 PM, Attila Kinali attila@kinali.ch wrote:

On Sun, 16 Aug 2015 11:47:23 -0700
Nick Sayer via time-nuts time-nuts@febo.com wrote:

I’ve designed and make and sell a GPSDO on Tindie
(https://hackaday.io/ project/6872-gps-disciplined-tcxo). It’s brand new -
I’ve sold a handful of them so far. So as to make this post not entirely
self-serving, what I would like is some further guidance on how I can better
characterize its performance.

The GPS reference is a 1 pps signal (It’s the Adafruit Ultimate GPS module -
a PA6H). The manufacturer claims an accuracy of ±10 ns, but that's accuracy
relative to the true start of the GPS second. They don’t make any claim for
stability.

And under the assumption that you have a high gain antenna high up on a roof
with negligible multipath. As reference, have a look at [1], that's a
LEA6-T against a Rb vapor cell, with a antenna on the building roof.
And of course, the LEA6-T in position hold mode.

Not so much. I have one of these: https://www.adafruit.com/products/960, and the board comes standard with a U.FL jack that you can use with a pigtail to connect whatever you like.

Said Jackson once reportet that he got a PPS jitter of 1us by placing
a patch antenna in a window. He got something much lower (sorry, don't
remember the number) after averaging the position for a week.

Given that you have only a position gps receiver, and not a timing module.
Which on top of it is optimized for small size with an integrated antenna,
i'd say that those 10ns are overly optimistic.

The oscillator itself (Connor Winfield DOT050V 10 MHz) has a short-term
(though they don’t say how short that term is) stability of 1 ppb. The
absolute accuracy of it is (I assume) irrelevant, because it’s a VCTCXO and
the control voltage is steered by GPS feedback.

Having a look at the datasheet, i'd say that 1e-9 at 1s.
Which sounds reasonable as a manufacturer spec (i.e. as the maximum
expected instability at 1s)

The feedback loop takes samples over a 100 second period. That gives me
an error sample with a granularity of 1 ppb.

I guess you are running the timer at 10MHz then?

Yes. When I began, I started with a 20 MHz design, but discovered (thankfully before I got too deep) that the ATMel controllers won’t clock that fast at 3.3 volts.

I keep a rolling sample window
of 10 samples to get an error count over 1000 seconds. I've kept track of
both of these values for extended periods (days) as well as logging the DAC
value (the number that's proportional to the control voltage). The 1000
second sample window error averages zero, and it almost never exceeds ±7
(every once in a while if I physically move it, it will show a momentary
error glitch, but that shows up in the short term feedback sampling too).
The 100 second samples are almost all 0 or ±1, with an occasional ±2 showing > up. As I said before, if I bonk the oscillator, it may briefly show a ±6 or
so for one sample.

This sounds that your somewhere the resolution is too low.
From what you have written above, i'd say that the TIC resolution is at
least borderline, if not too low. For the DAC: You have a 16bit DAC, with
Vref at 3.3V and a tuning range of >+/-10ppm between 0.3 and 3.0V.. that
makes a step size of >0.373ppb per LSB. With the manufacturer spec of the
VCTCXO of <1ppb@1s I would say your DAC resolution is too low as well.

The +/-6 excursions are most likely from shock to the oscillator.

Yeah, I figured that. I try and avoid doing that as much as possible. :) Since the goal is a lab standard, I think it’s ok to assume it’s not going to move.

See [2] for details on that.

If I pit two of them against each other on a scope and take a time lapse
video (http://www.youtube.com/watch?v=9HkeCI90i44), you can see that they
stay mostly locked with occasional periods of drift. I sort of assume that
that represents periods where the two GPS receivers disagree as they decide
differently how to select among the available satellites.

What is the time period of that video?

1 hour.

If I counted correctly, you have a maximum offset of 350ns. For GPSDOs
that are close to each other, that's a quite considerable shift of phase.
Are you sure your software implements a phase locked loop and not a
frequency locked loop?

The firmware is at: https://github.com/nsayer/GPS-disciplined-OXCO

I’d be hard pressed to see how it’s anything other than an FLL. There’s no phase comparator. I’m counting how many system clock cycles happen between PPS rising edges. That’s it.

Or is your antenna position extremely bad?

It’s hard for me to characterize your expectations, however when I made those videos only one of the units had the benefit of the external antenna, as I only (at the moment) have one. And even if I had more than one, it doesn’t sound anything like as good an antenna as you outlined above.

I've been saying out loud that the oscillator is ±1 ppb from GPS over the
1000 second window. I know of Allan variance, but I don't have anything else
handy I can use for comparison. I also can't really afford to send one off
for testing to a proper lab.

With not having any other reference, you can use the EFC voltage
and its relation to frequency as a guestimator for the ADEV. But
be aware that the EFC is not 100% linear and the instability of your
voltage reference etc pp affects this value as well. There was some
discussion about this technique a couple of years ago (IIRC 2008)
on this mailinglist. But i cannot find at the moment... it had some
weird name too... Maybe someone with a better long term memory can
chip in on that.

In looking at
http://tf.nist.gov/general/pdf/2297.pdf, it suggests that my results are
relatively poor compared to what a GPSDO can achieve (more like 10^-12
rather than 10^-9), but I assume that they’re able to use a higher frequency
GPS reference than just 1 PPS (and they’re a lot pricier).

Uhmm.. these GPSDOs are in an other league than yours.

And that’s fine. I’m not pretending to be more than I am, or at least I’m trying hard not to.

I aimed for 1 ppb. The questions I have largely are centered around whether I actually got there or not, and whether what I came up with is worth what it costs.

You have a position GPS receiver with an antenna, not only in a poor
position (ie not on the roof), but surrounded by electronics that highly
interfere with it. When you talk about time-nuts quality standards, then
the CFLs in your lab are a major source of error if you do not properly
shield everything. The antennas that you see in Figure 6 are a
Spectracom Ant-32, Trimble Zephyr and the last one looks like a Meinberg.
The first and the second are most likely conical spiral antennas while
the Zephyr is a planar spiral antenna, not unlike the Pinwheel antenna
from Novatel.

These timing/calibration grade GPSDOs use OCXOs or even DOCXOs as local
oscillators, with a much lower tuning range than your TCXO can hope to
have. Devices like the Trimble Thunderbolt use this OCXO as the reference
oscillator for the receiver as well, and thus achieve a quite high phase
offset measurement resolution without the need of an expensive TIC.

They also always work in position hold mode, where the position is first
averaged for a day or two, and then used as constant in the equations,
such that only time is left as unknown, which results in a lower uncertainty.

What else can I do to try and characterize the performance? If mine is
performing far more poorly than the same price ($175) can buy elsewhere,
then what am I doing wrong?

Oh.. many things! :-D

If you really want to go down the time-nutty road, you will have to invest
a bit into this. First, get yourself one of the rubidium frequency standards
and also one of trimble/nortel/... GPSDOs. You will need a proper reference
for measurements. Probably the easiest way to do these measurements is
by using DMTD. Use one of your TXCOs as mixing frequency generator and
mix down both your reference clock and your GPSDOs clock into something
in the audio range (probably 1-5kHz would be a good choice). Feed this
into a good soundcard and measure the phase difference between both
signals. Have a look at [3] for how to do that overall (yes, the focus
there is on phase noise, but ADEV is just a different calculation
as the last step)

Then, get a timing GPS modul. The LEA6-T's are not that expensive,
if you buy 30-50 at a time (i am not allowed to give you a number,
but it's a nice fraction of the single piece price you get on the
u-blox homepage, contact u-blox for that).

Next is, choose a proper OCXO as your refernce. The cheapest that you
can buy new i know about is the Connor Winfield DOCxxxV which you can
get at digikey for 30 to 70 USD (depeding on stability).

I actually started out with one of those in the design, but it’s short term stability is 1 ppb - no better or worse than the part I’m using. So I ditched the extra high-current power supply hassles and went with the TCXO instead.

Next up are the
Abracon AOCY1 series, which you can get for about 90USD and up.
(all in single pieces).

Then you need to measure the phase offset of the PPS as precisely
as possible. I would either use time-to-voltage converter like
the PICTIC-II [4] or an excited oscillator plus ADC like the system
Panek proposed [5] (there were a couple of small discussions on this,
look especially for commments by Bruce Griffiths).

As for the DAC, i'd either use two 16bit DACs with external refernece
(more stable) coupled with an R-2R network, where you use one DAC
to set the range, fix it, and use only the other to change the EFC value.

Alternatively, you can use something like [6], for which Ulrich Bangert
got quite good results.

Oh.. and get rid of the LTC2050. The AD5061 already has an output buffer.
You don’t need an additional device that adds noise.

I wonder why Connor Winfield included one in their application note.

If you have the
need for an opamp, use a low noise one instead of a low drift one.
For a GPSDO you care about stability at most in the hours region, maybe
a day, if your local oscillator is very good. Everything beyond that
will be caught by the feedback loop anyways.

You will also need to take more care in your electronics design.
Your current schematics have lots of points that will degrade your
stability. First and foremost, split all analog parts from the digital
parts. Provide a properly stabilized, low noise supply to the analog
parts, that is independent of the digital voltage supply.

And last but not least, have a look at various GPSDO designs.
There are many other, but i think James Millers [7] and Brooks Sheras [8]
designs are classics.

HTH

		Attila Kinali

[1] "GPS-based Timing - Considerations with u-blox 6 GPS receivers"
https://www.u-blox.com/images/downloads/Product_Docs/Timing_AppNote_%28GPS.G6-X-11007%29.pdf

[2] "Quarth Crystal Resonator and Oscillator Tutorial", by Jon Vig
there are many versions, you can find a collection of them on
http://ko4bb.com/manuals/

[3] http://attila.kinali.ch/phase_noise_measurement/

[4] "Simple PICTIC 250ps time interval counter", by Richard H McCorkle, 2013
http://www.ko4bb.com/dokuwiki/doku.php?id=precision_timing:pictic

[5] "Time-Interval Measurement Based on SAW Filter Excitation", by Petr Panek, 2007

[6] "DC-accurate, 32bit DAC achieves 32-bit resolution", by Stephen Woodward, 2008
http://www.edn.com/contents/images/6607198.pdf

[7] "10MHz Simple GPSDO", by James Miller, 2007
http://www.jrmiller.demon.co.uk/projects/ministd/manual.pdf

[8] "A GPS based Frequency Standard", by Brooks Shera, 1998
http://www.rt66.com/~shera/QST_GPS.pdf

--
I must not become metastable.
Metastability is the mind-killer.
Metastability is the little-death that brings total obliteration.
I will face my metastability.
I will permit it to pass over me and through me.
And when it has gone past I will turn the inner eye to see its path.
Where the metastability has gone there will be nothing. Only I will remain.


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.

> On Aug 16, 2015, at 2:27 PM, Attila Kinali <attila@kinali.ch> wrote: > > On Sun, 16 Aug 2015 11:47:23 -0700 > Nick Sayer via time-nuts <time-nuts@febo.com> wrote: > >> I’ve designed and make and sell a GPSDO on Tindie >> (https://hackaday.io/ project/6872-gps-disciplined-tcxo). It’s brand new - >> I’ve sold a handful of them so far. So as to make this post not *entirely* >> self-serving, what I would like is some further guidance on how I can better >> characterize its performance. >> >> The GPS reference is a 1 pps signal (It’s the Adafruit Ultimate GPS module - >> a PA6H). The manufacturer claims an accuracy of ±10 ns, but that's accuracy >> relative to the true start of the GPS second. They don’t make any claim for >> stability. > > And under the assumption that you have a high gain antenna high up on a roof > with negligible multipath. As reference, have a look at [1], that's a > LEA6-T against a Rb vapor cell, with a antenna on the building roof. > And of course, the LEA6-T in position hold mode. Not so much. I have one of these: https://www.adafruit.com/products/960, and the board comes standard with a U.FL jack that you can use with a pigtail to connect whatever you like. > > Said Jackson once reportet that he got a PPS jitter of 1us by placing > a patch antenna in a window. He got something much lower (sorry, don't > remember the number) after averaging the position for a week. > > > Given that you have only a position gps receiver, and not a timing module. > Which on top of it is optimized for small size with an integrated antenna, > i'd say that those 10ns are overly optimistic. > >> The oscillator itself (Connor Winfield DOT050V 10 MHz) has a short-term >> (though they don’t say how short that term is) stability of 1 ppb. The >> absolute accuracy of it is (I assume) irrelevant, because it’s a VCTCXO and >> the control voltage is steered by GPS feedback. > > Having a look at the datasheet, i'd say that 1e-9 at 1s. > Which sounds reasonable as a manufacturer spec (i.e. as the maximum > expected instability at 1s) > > >> >> The feedback loop takes samples over a 100 second period. That gives me >> an error sample with a granularity of 1 ppb. > > I guess you are running the timer at 10MHz then? Yes. When I began, I started with a 20 MHz design, but discovered (thankfully before I got too deep) that the ATMel controllers won’t clock that fast at 3.3 volts. > >> I keep a rolling sample window >> of 10 samples to get an error count over 1000 seconds. I've kept track of >> both of these values for extended periods (days) as well as logging the DAC >> value (the number that's proportional to the control voltage). The 1000 >> second sample window error averages zero, and it almost never exceeds ±7 >> (every once in a while if I physically move it, it will show a momentary >> error glitch, but that shows up in the short term feedback sampling too). >> The 100 second samples are almost all 0 or ±1, with an occasional ±2 showing > up. As I said before, if I bonk the oscillator, it may briefly show a ±6 or >> so for one sample. > > This sounds that your somewhere the resolution is too low. > From what you have written above, i'd say that the TIC resolution is at > least borderline, if not too low. For the DAC: You have a 16bit DAC, with > Vref at 3.3V and a tuning range of >+/-10ppm between 0.3 and 3.0V.. that > makes a step size of >0.373ppb per LSB. With the manufacturer spec of the > VCTCXO of <1ppb@1s I would say your DAC resolution is too low as well. > > The +/-6 excursions are most likely from shock to the oscillator. Yeah, I figured that. I try and avoid doing that as much as possible. :) Since the goal is a lab standard, I think it’s ok to assume it’s not going to move. > See [2] for details on that. > >> >> If I pit two of them against each other on a scope and take a time lapse >> video (http://www.youtube.com/watch?v=9HkeCI90i44), you can see that they >> stay mostly locked with occasional periods of drift. I sort of assume that >> that represents periods where the two GPS receivers disagree as they decide >> differently how to select among the available satellites. > > What is the time period of that video? 1 hour. > > If I counted correctly, you have a maximum offset of 350ns. For GPSDOs > that are close to each other, that's a quite considerable shift of phase. > Are you sure your software implements a phase locked loop and not a > frequency locked loop? The firmware is at: https://github.com/nsayer/GPS-disciplined-OXCO I’d be hard pressed to see how it’s anything other than an FLL. There’s no phase comparator. I’m counting how many system clock cycles happen between PPS rising edges. That’s it. > Or is your antenna position extremely bad? It’s hard for me to characterize your expectations, however when I made those videos only one of the units had the benefit of the external antenna, as I only (at the moment) have one. And even if I had more than one, it doesn’t sound anything like as good an antenna as you outlined above. > >> I've been saying out loud that the oscillator is ±1 ppb from GPS over the >> 1000 second window. I know of Allan variance, but I don't have anything else >> handy I can use for comparison. I also can't really afford to send one off >> for testing to a proper lab. > > With not having any other reference, you can use the EFC voltage > and its relation to frequency as a guestimator for the ADEV. But > be aware that the EFC is not 100% linear and the instability of your > voltage reference etc pp affects this value as well. There was some > discussion about this technique a couple of years ago (IIRC 2008) > on this mailinglist. But i cannot find at the moment... it had some > weird name too... Maybe someone with a better long term memory can > chip in on that. > >> In looking at >> http://tf.nist.gov/general/pdf/2297.pdf, it suggests that my results are >> relatively poor compared to what a GPSDO can achieve (more like 10^-12 >> rather than 10^-9), but I assume that they’re able to use a higher frequency >> GPS reference than just 1 PPS (and they’re a lot pricier). > > Uhmm.. these GPSDOs are in an other league than yours. And that’s fine. I’m not pretending to be more than I am, or at least I’m trying hard not to. I aimed for 1 ppb. The questions I have largely are centered around whether I actually got there or not, and whether what I came up with is worth what it costs. > > You have a position GPS receiver with an antenna, not only in a poor > position (ie not on the roof), but surrounded by electronics that highly > interfere with it. When you talk about time-nuts quality standards, then > the CFLs in your lab are a major source of error if you do not properly > shield everything. The antennas that you see in Figure 6 are a > Spectracom Ant-32, Trimble Zephyr and the last one looks like a Meinberg. > The first and the second are most likely conical spiral antennas while > the Zephyr is a planar spiral antenna, not unlike the Pinwheel antenna > from Novatel. > > These timing/calibration grade GPSDOs use OCXOs or even DOCXOs as local > oscillators, with a much lower tuning range than your TCXO can hope to > have. Devices like the Trimble Thunderbolt use this OCXO as the reference > oscillator for the receiver as well, and thus achieve a quite high phase > offset measurement resolution without the need of an expensive TIC. > > They also always work in position hold mode, where the position is first > averaged for a day or two, and then used as constant in the equations, > such that only time is left as unknown, which results in a lower uncertainty. > > >> What else can I do to try and characterize the performance? If mine is >> performing far more poorly than the same price ($175) can buy elsewhere, >> then what am I doing wrong? > > Oh.. many things! :-D > > If you really want to go down the time-nutty road, you will have to invest > a bit into this. First, get yourself one of the rubidium frequency standards > and also one of trimble/nortel/... GPSDOs. You will need a proper reference > for measurements. Probably the easiest way to do these measurements is > by using DMTD. Use one of your TXCOs as mixing frequency generator and > mix down both your reference clock and your GPSDOs clock into something > in the audio range (probably 1-5kHz would be a good choice). Feed this > into a good soundcard and measure the phase difference between both > signals. Have a look at [3] for how to do that overall (yes, the focus > there is on phase noise, but ADEV is just a different calculation > as the last step) > > Then, get a timing GPS modul. The LEA6-T's are not that expensive, > if you buy 30-50 at a time (i am not allowed to give you a number, > but it's a nice fraction of the single piece price you get on the > u-blox homepage, contact u-blox for that). > > Next is, choose a proper OCXO as your refernce. The cheapest that you > can buy new i know about is the Connor Winfield DOCxxxV which you can > get at digikey for 30 to 70 USD (depeding on stability). I actually started out with one of those in the design, but it’s short term stability is 1 ppb - no better or worse than the part I’m using. So I ditched the extra high-current power supply hassles and went with the TCXO instead. > Next up are the > Abracon AOCY1 series, which you can get for about 90USD and up. > (all in single pieces). > > Then you need to measure the phase offset of the PPS as precisely > as possible. I would either use time-to-voltage converter like > the PICTIC-II [4] or an excited oscillator plus ADC like the system > Panek proposed [5] (there were a couple of small discussions on this, > look especially for commments by Bruce Griffiths). > > As for the DAC, i'd either use two 16bit DACs with external refernece > (more stable) coupled with an R-2R network, where you use one DAC > to set the range, fix it, and use only the other to change the EFC value. > > Alternatively, you can use something like [6], for which Ulrich Bangert > got quite good results. > > Oh.. and get rid of the LTC2050. The AD5061 already has an output buffer. > You don’t need an additional device that adds noise. I wonder why Connor Winfield included one in their application note. > If you have the > need for an opamp, use a low noise one instead of a low drift one. > For a GPSDO you care about stability at most in the hours region, maybe > a day, if your local oscillator is very good. Everything beyond that > will be caught by the feedback loop anyways. > > You will also need to take more care in your electronics design. > Your current schematics have lots of points that will degrade your > stability. First and foremost, split all analog parts from the digital > parts. Provide a properly stabilized, low noise supply to the analog > parts, that is independent of the digital voltage supply. > > > And last but not least, have a look at various GPSDO designs. > There are many other, but i think James Millers [7] and Brooks Sheras [8] > designs are classics. > > > HTH > > Attila Kinali > > > [1] "GPS-based Timing - Considerations with u-blox 6 GPS receivers" > https://www.u-blox.com/images/downloads/Product_Docs/Timing_AppNote_%28GPS.G6-X-11007%29.pdf > > [2] "Quarth Crystal Resonator and Oscillator Tutorial", by Jon Vig > there are many versions, you can find a collection of them on > http://ko4bb.com/manuals/ > > [3] http://attila.kinali.ch/phase_noise_measurement/ > > [4] "Simple PICTIC 250ps time interval counter", by Richard H McCorkle, 2013 > http://www.ko4bb.com/dokuwiki/doku.php?id=precision_timing:pictic > > [5] "Time-Interval Measurement Based on SAW Filter Excitation", by Petr Panek, 2007 > > [6] "DC-accurate, 32bit DAC achieves 32-bit resolution", by Stephen Woodward, 2008 > http://www.edn.com/contents/images/6607198.pdf > > [7] "10MHz Simple GPSDO", by James Miller, 2007 > http://www.jrmiller.demon.co.uk/projects/ministd/manual.pdf > > [8] "A GPS based Frequency Standard", by Brooks Shera, 1998 > http://www.rt66.com/~shera/QST_GPS.pdf > > -- > I must not become metastable. > Metastability is the mind-killer. > Metastability is the little-death that brings total obliteration. > I will face my metastability. > I will permit it to pass over me and through me. > And when it has gone past I will turn the inner eye to see its path. > Where the metastability has gone there will be nothing. Only I will remain. > > _______________________________________________ > 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.
BC
Bob Camp
Mon, Aug 17, 2015 12:39 AM

Hi

The “wear out” on a Rb is not the same as wear out on a
Cesium standard. In a Cs, you have a finite number if atoms
loaded in at the factory. When those atoms all travel down the
tube, it’s dead. In an Rb, the atoms don’t go anywhere. There is
no built in “end of life”. They mostly die from MTBF sorts of things
due to complexity and high temperatures, There are HP Rb’s
built many decades ago still running on their original cells.

Bob

On Aug 16, 2015, at 6:10 PM, Attila Kinali attila@kinali.ch wrote:

On Sun, 16 Aug 2015 12:39:19 -0700
Nick Sayer via time-nuts time-nuts@febo.com wrote:

I have considered in the past buying a used rubidium standard off eBay,
but have hesitated because I don’t know how much life there is left in
the tube, and I just have to take it on faith that it’s stable and accurate.
I have somewhat more faith in the GPS PPS, but clearly that has limits.

Don't worry about that.
The cheap FE-5680 that have been around for a while have a couple of
years left at least. And even if they go out, you can revive them
with a hot air gun.

		Attila Kinali

--
I must not become metastable.
Metastability is the mind-killer.
Metastability is the little-death that brings total obliteration.
I will face my metastability.
I will permit it to pass over me and through me.
And when it has gone past I will turn the inner eye to see its path.
Where the metastability has gone there will be nothing. Only I will remain.


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 “wear out” on a Rb is not the same as wear out on a Cesium standard. In a Cs, you have a finite number if atoms loaded in at the factory. When those atoms all travel down the tube, it’s dead. In an Rb, the atoms don’t go anywhere. There is no built in “end of life”. They mostly die from MTBF sorts of things due to complexity and high temperatures, There are HP Rb’s built many decades ago still running on their original cells. Bob > On Aug 16, 2015, at 6:10 PM, Attila Kinali <attila@kinali.ch> wrote: > > On Sun, 16 Aug 2015 12:39:19 -0700 > Nick Sayer via time-nuts <time-nuts@febo.com> wrote: > >> I have considered in the past buying a used rubidium standard off eBay, >> but have hesitated because I don’t know how much life there is left in >> the tube, and I just have to take it on faith that it’s stable and accurate. >> I have somewhat more faith in the GPS PPS, but clearly that has limits. > > > Don't worry about that. > The cheap FE-5680 that have been around for a while have a couple of > years left at least. And even if they go out, you can revive them > with a hot air gun. > > Attila Kinali > > -- > I must not become metastable. > Metastability is the mind-killer. > Metastability is the little-death that brings total obliteration. > I will face my metastability. > I will permit it to pass over me and through me. > And when it has gone past I will turn the inner eye to see its path. > Where the metastability has gone there will be nothing. Only I will remain. > > _______________________________________________ > 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
Mon, Aug 17, 2015 12:45 AM

On Sun, 16 Aug 2015 23:27:43 +0200
Attila Kinali attila@kinali.ch wrote:

I've been saying out loud that the oscillator is ±1 ppb from GPS over the
1000 second window. I know of Allan variance, but I don't have anything else
handy I can use for comparison. I also can't really afford to send one off
for testing to a proper lab.

With not having any other reference, you can use the EFC voltage
and its relation to frequency as a guestimator for the ADEV. But
be aware that the EFC is not 100% linear and the instability of your
voltage reference etc pp affects this value as well. There was some
discussion about this technique a couple of years ago (IIRC 2008)
on this mailinglist. But i cannot find at the moment... it had some
weird name too... Maybe someone with a better long term memory can
chip in on that.

Found it. It is called "tight pll" or "tpll", you can find a summary here:
http://www.ke5fx.com/tpll.htm

			Attila Kinali

--
I must not become metastable.
Metastability is the mind-killer.
Metastability is the little-death that brings total obliteration.
I will face my metastability.
I will permit it to pass over me and through me.
And when it has gone past I will turn the inner eye to see its path.
Where the metastability has gone there will be nothing. Only I will remain.

On Sun, 16 Aug 2015 23:27:43 +0200 Attila Kinali <attila@kinali.ch> wrote: > > I've been saying out loud that the oscillator is ±1 ppb from GPS over the > > 1000 second window. I know of Allan variance, but I don't have anything else > > handy I can use for comparison. I also can't really afford to send one off > > for testing to a proper lab. > > With not having any other reference, you can use the EFC voltage > and its relation to frequency as a guestimator for the ADEV. But > be aware that the EFC is not 100% linear and the instability of your > voltage reference etc pp affects this value as well. There was some > discussion about this technique a couple of years ago (IIRC 2008) > on this mailinglist. But i cannot find at the moment... it had some > weird name too... Maybe someone with a better long term memory can > chip in on that. Found it. It is called "tight pll" or "tpll", you can find a summary here: http://www.ke5fx.com/tpll.htm Attila Kinali -- I must not become metastable. Metastability is the mind-killer. Metastability is the little-death that brings total obliteration. I will face my metastability. I will permit it to pass over me and through me. And when it has gone past I will turn the inner eye to see its path. Where the metastability has gone there will be nothing. Only I will remain.
BC
Bob Camp
Mon, Aug 17, 2015 1:04 AM

Hi

Here’s some of the “that depends” questions:

What is your stability goal?

You talk about the NIST numbers on GPSDO’s. What level of stability are you after?

What is your end application?

Is this intended as a lab standard, the reference for a radio, something else entirely?

What is the destination?

Is this heading towards a commercial venture or is it a basement project?

What is the budget?

Do you have $200K to spend on this? Did the piggybank run dry at $100?

What is the timeline?

Does the project complete at the end of the summer, no matter what? Is it
something that is worth another year or two of effort?

What is your background?

Does all of the stuff we’ve been tossing around make perfect sense? (= you do
something like this for a living). Are we talking about a bunch of stuff that makes
very little sense? (= you are just getting started at this sort of thing).

Each of these twists and turns heads you off into a different set of further issues and
likely some more questions. For a commercial venture, buying custom oscillators in
bulk is a very normal thing to do. For a battery powered balloon carried reference, you
do things different than for a rack mount standard. Each of these projects people come up
with have its own unique drivers.

Each of us in our replies, tries to guess what your constraints are or are not. In doing
so we likely substitute our constraints for yours. The further our constraints  diverge from
your constraints, the further off base our advice and answers will be.

Bob

On Aug 16, 2015, at 3:39 PM, Nick Sayer via time-nuts time-nuts@febo.com wrote:

On Aug 16, 2015, at 12:31 PM, Tom Van Baak tvb@LeapSecond.com wrote:

Anyway, to answer your question -- to measure its true performance you only need two things. 1) a phase meter (or time interval counter) that's good to 1 ns or better, and 2) a local reference standard that's maybe 10x better than the TCXO and the Adafruit GPS. Usually that means a cesium standard, or supremely qualified GPSDO, or equivalent.

I have a frequency counter, but it’s not a phase meter. I have a scope, but I assume that trying to use a ruler with scope traces isn’t the textbook way of doing that. :D

I have considered in the past buying a used rubidium standard off eBay, but have hesitated because I don’t know how much life there is left in the tube, and I just have to take it on faith that it’s stable and accurate. I have somewhat more faith in the GPS PPS, but clearly that has limits.

A number of us here on the time-nuts list have such equipment at home. And unlike professional labs, we will do it for free/fun if you loan the GPSDO for a week.

I will happily give one to someone if they would be willing to help a relative newbie with this stuff.

Just one though. They’re kind of expensive to build. :D


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 Here’s some of the “that depends” questions: What is your stability goal? You talk about the NIST numbers on GPSDO’s. What level of stability are you after? What is your end application? Is this intended as a lab standard, the reference for a radio, something else entirely? What is the destination? Is this heading towards a commercial venture or is it a basement project? What is the budget? Do you have $200K to spend on this? Did the piggybank run dry at $100? What is the timeline? Does the project complete at the end of the summer, no matter what? Is it something that is worth another year or two of effort? What is your background? Does all of the stuff we’ve been tossing around make perfect sense? (= you do something like this for a living). Are we talking about a bunch of stuff that makes very little sense? (= you are just getting started at this sort of thing). Each of these twists and turns heads you off into a different set of further issues and likely some more questions. For a commercial venture, buying custom oscillators in bulk is a very normal thing to do. For a battery powered balloon carried reference, you do things different than for a rack mount standard. Each of these projects people come up with have its own unique drivers. Each of us in our replies, tries to guess what your constraints are or are not. In doing so we likely substitute our constraints for yours. The further our constraints diverge from your constraints, the further off base our advice and answers will be. Bob > On Aug 16, 2015, at 3:39 PM, Nick Sayer via time-nuts <time-nuts@febo.com> wrote: > > >> On Aug 16, 2015, at 12:31 PM, Tom Van Baak <tvb@LeapSecond.com> wrote: >> >> Anyway, to answer your question -- to measure its true performance you only need two things. 1) a phase meter (or time interval counter) that's good to 1 ns or better, and 2) a local reference standard that's maybe 10x better than the TCXO and the Adafruit GPS. Usually that means a cesium standard, or supremely qualified GPSDO, or equivalent. > > I have a frequency counter, but it’s not a phase meter. I have a scope, but I assume that trying to use a ruler with scope traces isn’t the textbook way of doing that. :D > > I have considered in the past buying a used rubidium standard off eBay, but have hesitated because I don’t know how much life there is left in the tube, and I just have to take it on faith that it’s stable and accurate. I have somewhat more faith in the GPS PPS, but clearly that has limits. > >> >> A number of us here on the time-nuts list have such equipment at home. And unlike professional labs, we will do it for free/fun if you loan the GPSDO for a week. > > I will happily *give* one to someone if they would be willing to help a relative newbie with this stuff. > > Just one though. They’re kind of expensive to build. :D > > _______________________________________________ > 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.
NS
Nick Sayer
Mon, Aug 17, 2015 1:40 AM

On Aug 16, 2015, at 6:04 PM, Bob Camp kb8tq@n1k.org wrote:

Hi

Here’s some of the “that depends” questions:

What is your stability goal?

You talk about the NIST numbers on GPSDO’s. What level of stability are you after?

I believe I’m at or better than the stability I originally sought. Part 1 of my question is whether that’s actually true or whether my naivety is presenting me with a delusion. Part 2 is whether the price point at which I’ve arrived will support the level of stability I’ve achieved, or am I delusional in thinking people would or should pay what I’m asking for what I’m offering.

What is your end application?

Is this intended as a lab standard, the reference for a radio, something else entirely?

A low cost lab standard is what I have in mind. A box you can sit on your workbench with 3 BNC jacks that can feed 10 MHz into your frequency counter or what not.

What is the destination?

Is this heading towards a commercial venture or is it a basement project?

I’ve entered it in the “Best Product” Hackaday 2015 prize contest. That said, I have no intention of attempting to compete with the established commercial firms in this space. I want to stay at around a Q:100 unit cost of around $75, which is where it is right now (the retail price is higher at the moment because I’m not manufacturing them in Q:100 lots yet).

What is the budget?

Do you have $200K to spend on this? Did the piggybank run dry at $100?

What is the timeline?

Does the project complete at the end of the summer, no matter what? Is it
something that is worth another year or two of effort?

I’ve got something now, but I don’t mind revving it to improve it, as long as the budget doesn’t change a lot. A lot of suggestions so far have centered around improvements that could be made regardless of budget. Like I’ve said, I don’t want to try to compete with Trimble.

What is your background?

Mostly software, but in the last few years I’ve become reconnected to my nascent hardware side. I’ve been selling stuff in my Tindie store for a while now - a fairly eclectic mix of different projects that interest me. What led me to this project was another one - my Crazy Clock. I discovered a rather embarrassing design error that was causing errors on the order of dozens of ppm (I expected under ten). The first step in coming to grips with that issue was determining its scope, and that meant an extremely accurate low frequency counter, and that led me to needing a frequency standard. But I don’t have any way to test something I buy off eBay, so I wanted a GPSDO. But I couldn’t find any that weren’t way out of budget, so I set out to design one. And because I figured I wasn’t the only maker that needed something like this, but didn’t have the need or budget for something 2 orders of magnitude better, I thought I’d try this.

Now where I am is trying to determine if I am correct in my assertions, and if my cost-benefit analysis of this as a product makes sense or not.

Does all of the stuff we’ve been tossing around make perfect sense? (= you do
something like this for a living). Are we talking about a bunch of stuff that makes
very little sense? (= you are just getting started at this sort of thing).

No, it’s all perfectly sensible.

Each of these twists and turns heads you off into a different set of further issues and
likely some more questions. For a commercial venture, buying custom oscillators in
bulk is a very normal thing to do. For a battery powered balloon carried reference, you
do things different than for a rack mount standard. Each of these projects people come up
with have its own unique drivers.

Each of us in our replies, tries to guess what your constraints are or are not. In doing
so we likely substitute our constraints for yours. The further our constraints  diverge from
your constraints, the further off base our advice and answers will be.

I appreciate that. I came here with a narrow question in mind, but perhaps it wasn’t the correct one.

Bob

On Aug 16, 2015, at 3:39 PM, Nick Sayer via time-nuts time-nuts@febo.com wrote:

On Aug 16, 2015, at 12:31 PM, Tom Van Baak tvb@LeapSecond.com wrote:

Anyway, to answer your question -- to measure its true performance you only need two things. 1) a phase meter (or time interval counter) that's good to 1 ns or better, and 2) a local reference standard that's maybe 10x better than the TCXO and the Adafruit GPS. Usually that means a cesium standard, or supremely qualified GPSDO, or equivalent.

I have a frequency counter, but it’s not a phase meter. I have a scope, but I assume that trying to use a ruler with scope traces isn’t the textbook way of doing that. :D

I have considered in the past buying a used rubidium standard off eBay, but have hesitated because I don’t know how much life there is left in the tube, and I just have to take it on faith that it’s stable and accurate. I have somewhat more faith in the GPS PPS, but clearly that has limits.

A number of us here on the time-nuts list have such equipment at home. And unlike professional labs, we will do it for free/fun if you loan the GPSDO for a week.

I will happily give one to someone if they would be willing to help a relative newbie with this stuff.

Just one though. They’re kind of expensive to build. :D


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.

> On Aug 16, 2015, at 6:04 PM, Bob Camp <kb8tq@n1k.org> wrote: > > Hi > > Here’s some of the “that depends” questions: > > What is your stability goal? > > You talk about the NIST numbers on GPSDO’s. What level of stability are you after? I believe I’m at or better than the stability I originally sought. Part 1 of my question is whether that’s actually true or whether my naivety is presenting me with a delusion. Part 2 is whether the price point at which I’ve arrived will support the level of stability I’ve achieved, or am I delusional in thinking people would or should pay what I’m asking for what I’m offering. > > What is your end application? > > Is this intended as a lab standard, the reference for a radio, something else entirely? A low cost lab standard is what I have in mind. A box you can sit on your workbench with 3 BNC jacks that can feed 10 MHz into your frequency counter or what not. > > What is the destination? > > Is this heading towards a commercial venture or is it a basement project? I’ve entered it in the “Best Product” Hackaday 2015 prize contest. That said, I have no intention of attempting to compete with the established commercial firms in this space. I want to stay at around a Q:100 unit cost of around $75, which is where it is right now (the retail price is higher at the moment because I’m not manufacturing them in Q:100 lots yet). > > What is the budget? > > Do you have $200K to spend on this? Did the piggybank run dry at $100? > > What is the timeline? > > Does the project complete at the end of the summer, no matter what? Is it > something that is worth another year or two of effort? I’ve got something now, but I don’t mind revving it to improve it, as long as the budget doesn’t change a lot. A lot of suggestions so far have centered around improvements that could be made regardless of budget. Like I’ve said, I don’t want to try to compete with Trimble. > > What is your background? Mostly software, but in the last few years I’ve become reconnected to my nascent hardware side. I’ve been selling stuff in my Tindie store for a while now - a fairly eclectic mix of different projects that interest me. What led me to this project was another one - my Crazy Clock. I discovered a rather embarrassing design error that was causing errors on the order of dozens of ppm (I expected under ten). The first step in coming to grips with that issue was determining its scope, and that meant an extremely accurate low frequency counter, and that led me to needing a frequency standard. But I don’t have any way to test something I buy off eBay, so I wanted a GPSDO. But I couldn’t find any that weren’t way out of budget, so I set out to design one. And because I figured I wasn’t the only maker that needed something like this, but didn’t have the need or budget for something 2 orders of magnitude better, I thought I’d try this. Now where I am is trying to determine if I am correct in my assertions, and if my cost-benefit analysis of this as a product makes sense or not. > > Does all of the stuff we’ve been tossing around make perfect sense? (= you do > something like this for a living). Are we talking about a bunch of stuff that makes > very little sense? (= you are just getting started at this sort of thing). No, it’s all perfectly sensible. > > Each of these twists and turns heads you off into a different set of further issues and > likely some more questions. For a commercial venture, buying custom oscillators in > bulk is a very normal thing to do. For a battery powered balloon carried reference, you > do things different than for a rack mount standard. Each of these projects people come up > with have its own unique drivers. > > Each of us in our replies, tries to guess what your constraints are or are not. In doing > so we likely substitute our constraints for yours. The further our constraints diverge from > your constraints, the further off base our advice and answers will be. I appreciate that. I came here with a narrow question in mind, but perhaps it wasn’t the correct one. > > Bob > > > >> On Aug 16, 2015, at 3:39 PM, Nick Sayer via time-nuts <time-nuts@febo.com> wrote: >> >> >>> On Aug 16, 2015, at 12:31 PM, Tom Van Baak <tvb@LeapSecond.com> wrote: >>> >>> Anyway, to answer your question -- to measure its true performance you only need two things. 1) a phase meter (or time interval counter) that's good to 1 ns or better, and 2) a local reference standard that's maybe 10x better than the TCXO and the Adafruit GPS. Usually that means a cesium standard, or supremely qualified GPSDO, or equivalent. >> >> I have a frequency counter, but it’s not a phase meter. I have a scope, but I assume that trying to use a ruler with scope traces isn’t the textbook way of doing that. :D >> >> I have considered in the past buying a used rubidium standard off eBay, but have hesitated because I don’t know how much life there is left in the tube, and I just have to take it on faith that it’s stable and accurate. I have somewhat more faith in the GPS PPS, but clearly that has limits. >> >>> >>> A number of us here on the time-nuts list have such equipment at home. And unlike professional labs, we will do it for free/fun if you loan the GPSDO for a week. >> >> I will happily *give* one to someone if they would be willing to help a relative newbie with this stuff. >> >> Just one though. They’re kind of expensive to build. :D >> >> _______________________________________________ >> 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
Mon, Aug 17, 2015 8:16 AM

On Sun, 16 Aug 2015 16:54:08 -0700
Nick Sayer via time-nuts time-nuts@febo.com wrote:

If I counted correctly, you have a maximum offset of 350ns. For GPSDOs
that are close to each other, that's a quite considerable shift of phase.
Are you sure your software implements a phase locked loop and not a
frequency locked loop?

The firmware is at: https://github.com/nsayer/GPS-disciplined-OXCO

I’d be hard pressed to see how it’s anything other than an FLL.
There’s no phase comparator. I’m counting how many system clock cycles
happen between PPS rising edges. That’s it.

Without having had a look at your code (sorry, i currently don't have
the time for this), if you trully implemented just an FLL, then this
is where you should start from. The way to get a PLL is to let the counter
of the capture unit run freely. Don't reset it, just let it wrap around.
The PPS pulse will now be wandering in each period, so you have to track
where you would expect the PPS next (unless you set the counter such,
that its wrap around divides a second evenly). Doing this, you will
integrate over the frequency difference and thus get a phase comparator.

For additional goodnes: steer the PPS such, that half of the time
you get a counter value a and the other half of the time a counter value a+1.
By doing this, you will use the sawtooth of the GPS module as dithering
for your counter, and thus increase the resolution when you average.

Assuming no hanging bridges, this will get you below 1ppb at taus >200-500s,
if you keep the TCXO stable enough, otherwise deviations due to temperature
shifts and supply voltage changes will dominate.

If this is good enough, I would leave it at that. If not, then first
thing would be a respin of the board with a seperate supply for the
DAC and TXCO using a modern, low noise, high PSRR LDO (have a look at
what TI came up with in the last 10 years, these are usually a good choice)

If that is still not enough, put a plastic cap over the TCXO.
If still not enough, glue a transistor on top of the TCXO with a
temp sensor (e.g. an 1k NTC) and use that to stabilize the TCXO
temperature to a few °C (you should have no trouble to get
to <0.1°C though). Have a look at the ham radio literature how
this poor mans OCXO is done. There it is (was?) pretty much standard.

If this still doesn't get you to well below 1ppb @tau=500s, then something
is screwed up in the implentation.

If you want get to 1ppb at shorter taus, then you will need to implement
a better TIC. Richard McCorkle's PICTIC-II is a good starting point.
IIRC He once told me that he got down to 30ps with an external 14bit ADC
(less noise and higher stability than the on chip ADCs found in uCs).
According to Bruce Griffiths, the right choice for the ADC is to use
an SAR. Analog and Ti are AFAIK the best choices here.

If we assume that you get to 100ps, then you will be able to reach
1ppb at taus in the range of 10s to 100s (ie the limiting factor will
be the GPS module). And of course, you will then need to do proper sawtooth
correction (i hope your module provides that, if not, choose a different one)

			Attila Kinali

--
I must not become metastable.
Metastability is the mind-killer.
Metastability is the little-death that brings total obliteration.
I will face my metastability.
I will permit it to pass over me and through me.
And when it has gone past I will turn the inner eye to see its path.
Where the metastability has gone there will be nothing. Only I will remain.

On Sun, 16 Aug 2015 16:54:08 -0700 Nick Sayer via time-nuts <time-nuts@febo.com> wrote: > > > > If I counted correctly, you have a maximum offset of 350ns. For GPSDOs > > that are close to each other, that's a quite considerable shift of phase. > > Are you sure your software implements a phase locked loop and not a > > frequency locked loop? > > The firmware is at: https://github.com/nsayer/GPS-disciplined-OXCO > > I’d be hard pressed to see how it’s anything other than an FLL. > There’s no phase comparator. I’m counting how many system clock cycles > happen between PPS rising edges. That’s it. Without having had a look at your code (sorry, i currently don't have the time for this), if you trully implemented just an FLL, then this is where you should start from. The way to get a PLL is to let the counter of the capture unit run freely. Don't reset it, just let it wrap around. The PPS pulse will now be wandering in each period, so you have to track where you would expect the PPS next (unless you set the counter such, that its wrap around divides a second evenly). Doing this, you will integrate over the frequency difference and thus get a phase comparator. For additional goodnes: steer the PPS such, that half of the time you get a counter value a and the other half of the time a counter value a+1. By doing this, you will use the sawtooth of the GPS module as dithering for your counter, and thus increase the resolution when you average. Assuming no hanging bridges, this will get you below 1ppb at taus >200-500s, if you keep the TCXO stable enough, otherwise deviations due to temperature shifts and supply voltage changes will dominate. If this is good enough, I would leave it at that. If not, then first thing would be a respin of the board with a seperate supply for the DAC and TXCO using a modern, low noise, high PSRR LDO (have a look at what TI came up with in the last 10 years, these are usually a good choice) If that is still not enough, put a plastic cap over the TCXO. If still not enough, glue a transistor on top of the TCXO with a temp sensor (e.g. an 1k NTC) and use that to stabilize the TCXO temperature to a few °C (you should have no trouble to get to <0.1°C though). Have a look at the ham radio literature how this poor mans OCXO is done. There it is (was?) pretty much standard. If this still doesn't get you to well below 1ppb @tau=500s, then something is screwed up in the implentation. If you want get to 1ppb at shorter taus, then you will need to implement a better TIC. Richard McCorkle's PICTIC-II is a good starting point. IIRC He once told me that he got down to 30ps with an external 14bit ADC (less noise and higher stability than the on chip ADCs found in uCs). According to Bruce Griffiths, the right choice for the ADC is to use an SAR. Analog and Ti are AFAIK the best choices here. If we assume that you get to 100ps, then you will be able to reach 1ppb at taus in the range of 10s to 100s (ie the limiting factor will be the GPS module). And of course, you will then need to do proper sawtooth correction (i hope your module provides that, if not, choose a different one) Attila Kinali -- I must not become metastable. Metastability is the mind-killer. Metastability is the little-death that brings total obliteration. I will face my metastability. I will permit it to pass over me and through me. And when it has gone past I will turn the inner eye to see its path. Where the metastability has gone there will be nothing. Only I will remain.
BC
Bob Camp
Mon, Aug 17, 2015 11:06 AM

On Aug 16, 2015, at 9:40 PM, Nick Sayer nsayer@kfu.com wrote:

On Aug 16, 2015, at 6:04 PM, Bob Camp kb8tq@n1k.org wrote:

Hi

Here’s some of the “that depends” questions:

What is your stability goal?

You talk about the NIST numbers on GPSDO’s. What level of stability are you after?

I believe I’m at or better than the stability I originally sought. Part 1 of my question is whether that’s actually true or whether my naivety is presenting me with a delusion. Part 2 is whether the price point at which I’ve arrived will support the level of stability I’ve achieved, or am I delusional in thinking people would or should pay what I’m asking for what I’m offering.

The stability can only be verified by careful testing, The design goal (what’s the spec) will in many ways determine
what sort of testing you will need to set up. A 1x10^-9 design would be tested differently than a 1x10^-13 design.

What is your end application?

Is this intended as a lab standard, the reference for a radio, something else entirely?

A low cost lab standard is what I have in mind. A box you can sit on your workbench with 3 BNC jacks that can feed 10 MHz into your frequency counter or what not.

Do you anticipate any phase noise sensitive instruments being attached? Most frequency counters are fairly simple.

What is the destination?

Is this heading towards a commercial venture or is it a basement project?

I’ve entered it in the “Best Product” Hackaday 2015 prize contest. That said, I have no intention of attempting to compete with the established commercial firms in this space. I want to stay at around a Q:100 unit cost of around $75, which is where it is right now (the retail price is higher at the moment because I’m not manufacturing them in Q:100 lots yet).

Ok, so have you taken a good look at your costs and return? Do you have an method set up for
support of the product and for handling returns / repairs? Overhead costs that do not get factored
in early can be very painful later on.

What is the budget?

Do you have $200K to spend on this? Did the piggybank run dry at $100?

For a commercial venture this is a very important factor. You don’t have to share
the info, You do have to work out a number.

What is the timeline?

Does the project complete at the end of the summer, no matter what? Is it
something that is worth another year or two of effort?

I’ve got something now, but I don’t mind revving it to improve it, as long as the budget doesn’t change a lot. A lot of suggestions so far have centered around improvements that could be made regardless of budget. Like I’ve said, I don’t want to try to compete with Trimble.

I would suggest that you figure on quite a bit of your spare time going into this.

What is your background?

Mostly software, but in the last few years I’ve become reconnected to my nascent hardware side. I’ve been selling stuff in my Tindie store for a while now - a fairly eclectic mix of different projects that interest me. What led me to this project was another one - my Crazy Clock. I discovered a rather embarrassing design error that was causing errors on the order of dozens of ppm (I expected under ten). The first step in coming to grips with that issue was determining its scope, and that meant an extremely accurate low frequency counter, and that led me to needing a frequency standard. But I don’t have any way to test something I buy off eBay, so I wanted a GPSDO. But I couldn’t find any that weren’t way out of budget, so I set out to design one. And because I figured I wasn’t the only maker that needed something like this, but didn’t have the need or budget for something 2 orders of magnitude better, I thought I’d try this.

Now where I am is trying to determine if I am correct in my assertions, and if my cost-benefit analysis of this as a product makes sense or not.

That’s what the market will tell you ….

Does all of the stuff we’ve been tossing around make perfect sense? (= you do
something like this for a living). Are we talking about a bunch of stuff that makes
very little sense? (= you are just getting started at this sort of thing).

No, it’s all perfectly sensible.

Ok, so here’s the next layer:

If you are selling a frequency standard, most of your customers will probably be
interested in it’s frequency stability. Unfortunately this opens a major can of worms
spec wise. There are a number of measures that characterize various types of
noise. None of them directly address “if I measure 1.23 x10^-10 is it correct”. You
see numbers like “< 1x10^-10 99% of the time” in spec sheets.

If you dig into the archives, you can find numbers posts from people who are
disappointed that their "1x10^-13 GPSDO” can not deliver a 1x10^-10 frequency
measurement 99% of the time.

Each of these twists and turns heads you off into a different set of further issues and
likely some more questions. For a commercial venture, buying custom oscillators in
bulk is a very normal thing to do. For a battery powered balloon carried reference, you
do things different than for a rack mount standard. Each of these projects people come up
with have its own unique drivers.

Each of us in our replies, tries to guess what your constraints are or are not. In doing
so we likely substitute our constraints for yours. The further our constraints  diverge from
your constraints, the further off base our advice and answers will be.

I appreciate that. I came here with a narrow question in mind, but perhaps it wasn’t the correct one.

There is only so much you can pack in a single message …

Bob

Bob

On Aug 16, 2015, at 3:39 PM, Nick Sayer via time-nuts time-nuts@febo.com wrote:

On Aug 16, 2015, at 12:31 PM, Tom Van Baak tvb@LeapSecond.com wrote:

Anyway, to answer your question -- to measure its true performance you only need two things. 1) a phase meter (or time interval counter) that's good to 1 ns or better, and 2) a local reference standard that's maybe 10x better than the TCXO and the Adafruit GPS. Usually that means a cesium standard, or supremely qualified GPSDO, or equivalent.

I have a frequency counter, but it’s not a phase meter. I have a scope, but I assume that trying to use a ruler with scope traces isn’t the textbook way of doing that. :D

I have considered in the past buying a used rubidium standard off eBay, but have hesitated because I don’t know how much life there is left in the tube, and I just have to take it on faith that it’s stable and accurate. I have somewhat more faith in the GPS PPS, but clearly that has limits.

A number of us here on the time-nuts list have such equipment at home. And unlike professional labs, we will do it for free/fun if you loan the GPSDO for a week.

I will happily give one to someone if they would be willing to help a relative newbie with this stuff.

Just one though. They’re kind of expensive to build. :D


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.

> On Aug 16, 2015, at 9:40 PM, Nick Sayer <nsayer@kfu.com> wrote: > > >> On Aug 16, 2015, at 6:04 PM, Bob Camp <kb8tq@n1k.org> wrote: >> >> Hi >> >> Here’s some of the “that depends” questions: >> >> What is your stability goal? >> >> You talk about the NIST numbers on GPSDO’s. What level of stability are you after? > > I believe I’m at or better than the stability I originally sought. Part 1 of my question is whether that’s actually true or whether my naivety is presenting me with a delusion. Part 2 is whether the price point at which I’ve arrived will support the level of stability I’ve achieved, or am I delusional in thinking people would or should pay what I’m asking for what I’m offering. The stability can only be verified by careful testing, The design goal (what’s the spec) will in many ways determine what sort of testing you will need to set up. A 1x10^-9 design would be tested differently than a 1x10^-13 design. > >> >> What is your end application? >> >> Is this intended as a lab standard, the reference for a radio, something else entirely? > > A low cost lab standard is what I have in mind. A box you can sit on your workbench with 3 BNC jacks that can feed 10 MHz into your frequency counter or what not. Do you anticipate any phase noise sensitive instruments being attached? Most frequency counters are fairly simple. > >> >> What is the destination? >> >> Is this heading towards a commercial venture or is it a basement project? > > I’ve entered it in the “Best Product” Hackaday 2015 prize contest. That said, I have no intention of attempting to compete with the established commercial firms in this space. I want to stay at around a Q:100 unit cost of around $75, which is where it is right now (the retail price is higher at the moment because I’m not manufacturing them in Q:100 lots yet). Ok, so have you taken a good look at your costs and return? Do you have an method set up for support of the product and for handling returns / repairs? Overhead costs that do not get factored in early can be very painful later on. > >> >> What is the budget? >> >> Do you have $200K to spend on this? Did the piggybank run dry at $100? For a commercial venture this is a very important factor. You don’t have to share the info, You do have to work out a number. >> >> What is the timeline? >> >> Does the project complete at the end of the summer, no matter what? Is it >> something that is worth another year or two of effort? > > I’ve got something now, but I don’t mind revving it to improve it, as long as the budget doesn’t change a lot. A lot of suggestions so far have centered around improvements that could be made regardless of budget. Like I’ve said, I don’t want to try to compete with Trimble. I would suggest that you figure on quite a bit of your spare time going into this. > >> >> What is your background? > > Mostly software, but in the last few years I’ve become reconnected to my nascent hardware side. I’ve been selling stuff in my Tindie store for a while now - a fairly eclectic mix of different projects that interest me. What led me to this project was another one - my Crazy Clock. I discovered a rather embarrassing design error that was causing errors on the order of dozens of ppm (I expected under ten). The first step in coming to grips with that issue was determining its scope, and that meant an extremely accurate low frequency counter, and that led me to needing a frequency standard. But I don’t have any way to test something I buy off eBay, so I wanted a GPSDO. But I couldn’t find any that weren’t way out of budget, so I set out to design one. And because I figured I wasn’t the only maker that needed something like this, but didn’t have the need or budget for something 2 orders of magnitude better, I thought I’d try this. > > Now where I am is trying to determine if I am correct in my assertions, and if my cost-benefit analysis of this as a product makes sense or not. That’s what the market will tell you …. > >> >> Does all of the stuff we’ve been tossing around make perfect sense? (= you do >> something like this for a living). Are we talking about a bunch of stuff that makes >> very little sense? (= you are just getting started at this sort of thing). > > No, it’s all perfectly sensible. Ok, so here’s the next layer: If you are selling a frequency standard, most of your customers will probably be interested in it’s frequency stability. Unfortunately this opens a major can of worms spec wise. There are a number of measures that characterize various types of noise. None of them directly address “if I measure 1.23 x10^-10 is it correct”. You see numbers like “< 1x10^-10 99% of the time” in spec sheets. If you dig into the archives, you can find numbers posts from people who are disappointed that their "1x10^-13 GPSDO” can not deliver a 1x10^-10 frequency measurement 99% of the time. > >> >> Each of these twists and turns heads you off into a different set of further issues and >> likely some more questions. For a commercial venture, buying custom oscillators in >> bulk is a very normal thing to do. For a battery powered balloon carried reference, you >> do things different than for a rack mount standard. Each of these projects people come up >> with have its own unique drivers. >> >> Each of us in our replies, tries to guess what your constraints are or are not. In doing >> so we likely substitute our constraints for yours. The further our constraints diverge from >> your constraints, the further off base our advice and answers will be. > > I appreciate that. I came here with a narrow question in mind, but perhaps it wasn’t the correct one. There is only so much you can pack in a single message … Bob > >> >> Bob >> >> >> >>> On Aug 16, 2015, at 3:39 PM, Nick Sayer via time-nuts <time-nuts@febo.com> wrote: >>> >>> >>>> On Aug 16, 2015, at 12:31 PM, Tom Van Baak <tvb@LeapSecond.com> wrote: >>>> >>>> Anyway, to answer your question -- to measure its true performance you only need two things. 1) a phase meter (or time interval counter) that's good to 1 ns or better, and 2) a local reference standard that's maybe 10x better than the TCXO and the Adafruit GPS. Usually that means a cesium standard, or supremely qualified GPSDO, or equivalent. >>> >>> I have a frequency counter, but it’s not a phase meter. I have a scope, but I assume that trying to use a ruler with scope traces isn’t the textbook way of doing that. :D >>> >>> I have considered in the past buying a used rubidium standard off eBay, but have hesitated because I don’t know how much life there is left in the tube, and I just have to take it on faith that it’s stable and accurate. I have somewhat more faith in the GPS PPS, but clearly that has limits. >>> >>>> >>>> A number of us here on the time-nuts list have such equipment at home. And unlike professional labs, we will do it for free/fun if you loan the GPSDO for a week. >>> >>> I will happily *give* one to someone if they would be willing to help a relative newbie with this stuff. >>> >>> Just one though. They’re kind of expensive to build. :D >>> >>> _______________________________________________ >>> 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. >> >
NS
Nick Sayer
Mon, Aug 17, 2015 1:59 PM

On Aug 17, 2015, at 4:06 AM, Bob Camp kb8tq@n1k.org wrote:

On Aug 16, 2015, at 9:40 PM, Nick Sayer nsayer@kfu.com wrote:

On Aug 16, 2015, at 6:04 PM, Bob Camp kb8tq@n1k.org wrote:

Hi

Here’s some of the “that depends” questions:

What is your stability goal?

You talk about the NIST numbers on GPSDO’s. What level of stability are you after?

I believe I’m at or better than the stability I originally sought. Part 1 of my question is whether that’s actually true or whether my naivety is presenting me with a delusion. Part 2 is whether the price point at which I’ve arrived will support the level of stability I’ve achieved, or am I delusional in thinking people would or should pay what I’m asking for what I’m offering.

The stability can only be verified by careful testing, The design goal (what’s the spec) will in many ways determine
what sort of testing you will need to set up. A 1x10^-9 design would be tested differently than a 1x10^-13 design.

10^-9 was the target all along. Question number two that I came with was whether or not it was reasonable to ask $175 for 10^-9.

What is your end application?

Is this intended as a lab standard, the reference for a radio, something else entirely?

A low cost lab standard is what I have in mind. A box you can sit on your workbench with 3 BNC jacks that can feed 10 MHz into your frequency counter or what not.

Do you anticipate any phase noise sensitive instruments being attached? Most frequency counters are fairly simple.

I stared with an immediate need, and that was for low frequency testing with sample times in the 10^1 range, so phase coherency has not been anything I’ve been concerned with. The Connor Winfield phase plots at the low end look “good enough” to me, and with a 370 ppt DAC granularity, I can’t ask for a lot of phase coherency at the high end (you can see that in the time lapse videos).

What is the destination?

Is this heading towards a commercial venture or is it a basement project?

I’ve entered it in the “Best Product” Hackaday 2015 prize contest. That said, I have no intention of attempting to compete with the established commercial firms in this space. I want to stay at around a Q:100 unit cost of around $75, which is where it is right now (the retail price is higher at the moment because I’m not manufacturing them in Q:100 lots yet).

Ok, so have you taken a good look at your costs and return? Do you have an method set up for
support of the product and for handling returns / repairs? Overhead costs that do not get factored
in early can be very painful later on.

Yup. The rule of thumb I have always used is that retail price is double the cost. That’s why I talk about a Q:100 cost of $75 and am charging $175. $175 is not $150 because I am not yet at Q:100 build costs, but that is the eventual goal.

What is the budget?

Do you have $200K to spend on this? Did the piggybank run dry at $100?

For a commercial venture this is a very important factor. You don’t have to share
the info, You do have to work out a number.

What is the timeline?

Does the project complete at the end of the summer, no matter what? Is it
something that is worth another year or two of effort?

I’ve got something now, but I don’t mind revving it to improve it, as long as the budget doesn’t change a lot. A lot of suggestions so far have centered around improvements that could be made regardless of budget. Like I’ve said, I don’t want to try to compete with Trimble.

I would suggest that you figure on quite a bit of your spare time going into this.

That never happens. :)

What is your background?

Mostly software, but in the last few years I’ve become reconnected to my nascent hardware side. I’ve been selling stuff in my Tindie store for a while now - a fairly eclectic mix of different projects that interest me. What led me to this project was another one - my Crazy Clock. I discovered a rather embarrassing design error that was causing errors on the order of dozens of ppm (I expected under ten). The first step in coming to grips with that issue was determining its scope, and that meant an extremely accurate low frequency counter, and that led me to needing a frequency standard. But I don’t have any way to test something I buy off eBay, so I wanted a GPSDO. But I couldn’t find any that weren’t way out of budget, so I set out to design one. And because I figured I wasn’t the only maker that needed something like this, but didn’t have the need or budget for something 2 orders of magnitude better, I thought I’d try this.

Now where I am is trying to determine if I am correct in my assertions, and if my cost-benefit analysis of this as a product makes sense or not.

That’s what the market will tell you ….

Does all of the stuff we’ve been tossing around make perfect sense? (= you do
something like this for a living). Are we talking about a bunch of stuff that makes
very little sense? (= you are just getting started at this sort of thing).

No, it’s all perfectly sensible.

Ok, so here’s the next layer:

If you are selling a frequency standard, most of your customers will probably be
interested in it’s frequency stability. Unfortunately this opens a major can of worms
spec wise. There are a number of measures that characterize various types of
noise. None of them directly address “if I measure 1.23 x10^-10 is it correct”. You
see numbers like “< 1x10^-10 99% of the time” in spec sheets.

If you dig into the archives, you can find numbers posts from people who are
disappointed that their "1x10^-13 GPSDO” can not deliver a 1x10^-10 frequency
measurement 99% of the time.

Ok, well, with the advice I’ve gotten so far here I’ve decided I am going to see if I can afford a TimePod and I’m going to try and get one of those FE-5680A rubidium standards off eBay. If that works out, then my perception (correct me if I’m wrong), is that that will be enough to characterize 10^-9 levels of expected performance.

I’ve also mailed a unit to a kind volunteer here who said he’d take a look at it. If his opinion differs wildly from what I think is the current state of affairs, then I can stop and take a serious look at whether a new design would be able to better reach the same goals with the same pricing.

Each of these twists and turns heads you off into a different set of further issues and
likely some more questions. For a commercial venture, buying custom oscillators in
bulk is a very normal thing to do. For a battery powered balloon carried reference, you
do things different than for a rack mount standard. Each of these projects people come up
with have its own unique drivers.

Each of us in our replies, tries to guess what your constraints are or are not. In doing
so we likely substitute our constraints for yours. The further our constraints  diverge from
your constraints, the further off base our advice and answers will be.

I appreciate that. I came here with a narrow question in mind, but perhaps it wasn’t the correct one.

There is only so much you can pack in a single message …

Bob

Bob

On Aug 16, 2015, at 3:39 PM, Nick Sayer via time-nuts time-nuts@febo.com wrote:

On Aug 16, 2015, at 12:31 PM, Tom Van Baak tvb@LeapSecond.com wrote:

Anyway, to answer your question -- to measure its true performance you only need two things. 1) a phase meter (or time interval counter) that's good to 1 ns or better, and 2) a local reference standard that's maybe 10x better than the TCXO and the Adafruit GPS. Usually that means a cesium standard, or supremely qualified GPSDO, or equivalent.

I have a frequency counter, but it’s not a phase meter. I have a scope, but I assume that trying to use a ruler with scope traces isn’t the textbook way of doing that. :D

I have considered in the past buying a used rubidium standard off eBay, but have hesitated because I don’t know how much life there is left in the tube, and I just have to take it on faith that it’s stable and accurate. I have somewhat more faith in the GPS PPS, but clearly that has limits.

A number of us here on the time-nuts list have such equipment at home. And unlike professional labs, we will do it for free/fun if you loan the GPSDO for a week.

I will happily give one to someone if they would be willing to help a relative newbie with this stuff.

Just one though. They’re kind of expensive to build. :D


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.

> On Aug 17, 2015, at 4:06 AM, Bob Camp <kb8tq@n1k.org> wrote: > > >> On Aug 16, 2015, at 9:40 PM, Nick Sayer <nsayer@kfu.com> wrote: >> >> >>> On Aug 16, 2015, at 6:04 PM, Bob Camp <kb8tq@n1k.org> wrote: >>> >>> Hi >>> >>> Here’s some of the “that depends” questions: >>> >>> What is your stability goal? >>> >>> You talk about the NIST numbers on GPSDO’s. What level of stability are you after? >> >> I believe I’m at or better than the stability I originally sought. Part 1 of my question is whether that’s actually true or whether my naivety is presenting me with a delusion. Part 2 is whether the price point at which I’ve arrived will support the level of stability I’ve achieved, or am I delusional in thinking people would or should pay what I’m asking for what I’m offering. > > The stability can only be verified by careful testing, The design goal (what’s the spec) will in many ways determine > what sort of testing you will need to set up. A 1x10^-9 design would be tested differently than a 1x10^-13 design. 10^-9 was the target all along. Question number two that I came with was whether or not it was reasonable to ask $175 for 10^-9. > >> >>> >>> What is your end application? >>> >>> Is this intended as a lab standard, the reference for a radio, something else entirely? >> >> A low cost lab standard is what I have in mind. A box you can sit on your workbench with 3 BNC jacks that can feed 10 MHz into your frequency counter or what not. > > Do you anticipate any phase noise sensitive instruments being attached? Most frequency counters are fairly simple. I stared with an immediate need, and that was for low frequency testing with sample times in the 10^1 range, so phase coherency has not been anything I’ve been concerned with. The Connor Winfield phase plots at the low end look “good enough” to me, and with a 370 ppt DAC granularity, I can’t ask for a lot of phase coherency at the high end (you can see that in the time lapse videos). > >> >>> >>> What is the destination? >>> >>> Is this heading towards a commercial venture or is it a basement project? >> >> I’ve entered it in the “Best Product” Hackaday 2015 prize contest. That said, I have no intention of attempting to compete with the established commercial firms in this space. I want to stay at around a Q:100 unit cost of around $75, which is where it is right now (the retail price is higher at the moment because I’m not manufacturing them in Q:100 lots yet). > > Ok, so have you taken a good look at your costs and return? Do you have an method set up for > support of the product and for handling returns / repairs? Overhead costs that do not get factored > in early can be very painful later on. Yup. The rule of thumb I have always used is that retail price is double the cost. That’s why I talk about a Q:100 cost of $75 and am charging $175. $175 is not $150 because I am not yet at Q:100 build costs, but that is the eventual goal. > >> >>> >>> What is the budget? >>> >>> Do you have $200K to spend on this? Did the piggybank run dry at $100? > > > For a commercial venture this is a very important factor. You don’t have to share > the info, You do have to work out a number. > >>> >>> What is the timeline? >>> >>> Does the project complete at the end of the summer, no matter what? Is it >>> something that is worth another year or two of effort? >> >> I’ve got something now, but I don’t mind revving it to improve it, as long as the budget doesn’t change a lot. A lot of suggestions so far have centered around improvements that could be made regardless of budget. Like I’ve said, I don’t want to try to compete with Trimble. > > I would suggest that you figure on quite a bit of your spare time going into this. That never happens. :) > >> >>> >>> What is your background? >> >> Mostly software, but in the last few years I’ve become reconnected to my nascent hardware side. I’ve been selling stuff in my Tindie store for a while now - a fairly eclectic mix of different projects that interest me. What led me to this project was another one - my Crazy Clock. I discovered a rather embarrassing design error that was causing errors on the order of dozens of ppm (I expected under ten). The first step in coming to grips with that issue was determining its scope, and that meant an extremely accurate low frequency counter, and that led me to needing a frequency standard. But I don’t have any way to test something I buy off eBay, so I wanted a GPSDO. But I couldn’t find any that weren’t way out of budget, so I set out to design one. And because I figured I wasn’t the only maker that needed something like this, but didn’t have the need or budget for something 2 orders of magnitude better, I thought I’d try this. >> >> Now where I am is trying to determine if I am correct in my assertions, and if my cost-benefit analysis of this as a product makes sense or not. > > > That’s what the market will tell you …. > >> >>> >>> Does all of the stuff we’ve been tossing around make perfect sense? (= you do >>> something like this for a living). Are we talking about a bunch of stuff that makes >>> very little sense? (= you are just getting started at this sort of thing). >> >> No, it’s all perfectly sensible. > > Ok, so here’s the next layer: > > If you are selling a frequency standard, most of your customers will probably be > interested in it’s frequency stability. Unfortunately this opens a major can of worms > spec wise. There are a number of measures that characterize various types of > noise. None of them directly address “if I measure 1.23 x10^-10 is it correct”. You > see numbers like “< 1x10^-10 99% of the time” in spec sheets. > > If you dig into the archives, you can find numbers posts from people who are > disappointed that their "1x10^-13 GPSDO” can not deliver a 1x10^-10 frequency > measurement 99% of the time. Ok, well, with the advice I’ve gotten so far here I’ve decided I am going to see if I can afford a TimePod and I’m going to try and get one of those FE-5680A rubidium standards off eBay. If that works out, then my perception (correct me if I’m wrong), is that that will be enough to characterize 10^-9 levels of expected performance. I’ve also mailed a unit to a kind volunteer here who said he’d take a look at it. If his opinion differs wildly from what I think is the current state of affairs, then I can stop and take a serious look at whether a new design would be able to better reach the same goals with the same pricing. > > >> >>> >>> Each of these twists and turns heads you off into a different set of further issues and >>> likely some more questions. For a commercial venture, buying custom oscillators in >>> bulk is a very normal thing to do. For a battery powered balloon carried reference, you >>> do things different than for a rack mount standard. Each of these projects people come up >>> with have its own unique drivers. >>> >>> Each of us in our replies, tries to guess what your constraints are or are not. In doing >>> so we likely substitute our constraints for yours. The further our constraints diverge from >>> your constraints, the further off base our advice and answers will be. >> >> I appreciate that. I came here with a narrow question in mind, but perhaps it wasn’t the correct one. > > There is only so much you can pack in a single message … > > Bob > >> >>> >>> Bob >>> >>> >>> >>>> On Aug 16, 2015, at 3:39 PM, Nick Sayer via time-nuts <time-nuts@febo.com> wrote: >>>> >>>> >>>>> On Aug 16, 2015, at 12:31 PM, Tom Van Baak <tvb@LeapSecond.com> wrote: >>>>> >>>>> Anyway, to answer your question -- to measure its true performance you only need two things. 1) a phase meter (or time interval counter) that's good to 1 ns or better, and 2) a local reference standard that's maybe 10x better than the TCXO and the Adafruit GPS. Usually that means a cesium standard, or supremely qualified GPSDO, or equivalent. >>>> >>>> I have a frequency counter, but it’s not a phase meter. I have a scope, but I assume that trying to use a ruler with scope traces isn’t the textbook way of doing that. :D >>>> >>>> I have considered in the past buying a used rubidium standard off eBay, but have hesitated because I don’t know how much life there is left in the tube, and I just have to take it on faith that it’s stable and accurate. I have somewhat more faith in the GPS PPS, but clearly that has limits. >>>> >>>>> >>>>> A number of us here on the time-nuts list have such equipment at home. And unlike professional labs, we will do it for free/fun if you loan the GPSDO for a week. >>>> >>>> I will happily *give* one to someone if they would be willing to help a relative newbie with this stuff. >>>> >>>> Just one though. They’re kind of expensive to build. :D >>>> >>>> _______________________________________________ >>>> 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. >>> >> >
NS
Nick Sayer
Mon, Aug 17, 2015 2:14 PM

On Aug 17, 2015, at 1:16 AM, Attila Kinali attila@kinali.ch wrote:

On Sun, 16 Aug 2015 16:54:08 -0700
Nick Sayer via time-nuts time-nuts@febo.com wrote:

If I counted correctly, you have a maximum offset of 350ns. For GPSDOs
that are close to each other, that's a quite considerable shift of phase.
Are you sure your software implements a phase locked loop and not a
frequency locked loop?

The firmware is at: https://github.com/nsayer/GPS-disciplined-OXCO

I’d be hard pressed to see how it’s anything other than an FLL.
There’s no phase comparator. I’m counting how many system clock cycles
happen between PPS rising edges. That’s it.

Without having had a look at your code (sorry, i currently don't have
the time for this), if you trully implemented just an FLL, then this
is where you should start from. The way to get a PLL is to let the counter
of the capture unit run freely. Don't reset it, just let it wrap around.

I do that. It’s a 32 bit counter (the 16 bit counter has an overflow interrupt that increments the high 16 bytes in software). The counter free-runs. 32 bits at 10 MHz takes around 400 seconds to wrap.

The PPS pulse will now be wandering in each period, so you have to track
where you would expect the PPS next (unless you set the counter such,
that its wrap around divides a second evenly). Doing this, you will
integrate over the frequency difference and thus get a phase comparator.

I don’t quite get it.

What I do is every time there’s a capture interrupt, I subtract the counter value of the last capture from this one. That gives me how many clock cycles there were between PPS rising edges. But there’s no way for me to know the phase relationship between the two rising edges (the PPS and 10 MHz). I can only assume that the capture takes place within one cycle. Fortunately, I don’t have to be concerned with software latency, as the capture interrupt occurs immediately after, well before anything else gets in the way.

I actually do the above counting 100 PPS intervals. That is, I only collect the delta every 100 capture interrupts. That’s the 1 ppb error resolution over 100 seconds. For the user feedback, I keep a rolling window of ten of those. When the sum of those ten error deltas is < 10, I call that 1 ppb over 1000 seconds.

When the error delta over 100 seconds is non-zero and less than 5, I increment or decrement the DAC value, thus adjusting the trim by an expected ~370 ppt. When the error is more than 5, I double the error and add/subtract that to the DAC value. It’s not a PID, but it generally reaches steady-state quickly enough. I don’t make any LOCK LED indications at all until the 1000 second sample window is full, and by then the 100 second deltas are under 5 (usually at or under 1).

For additional goodnes: steer the PPS such, that half of the time
you get a counter value a and the other half of the time a counter value a+1.
By doing this, you will use the sawtooth of the GPS module as dithering
for your counter, and thus increase the resolution when you average.

Assuming no hanging bridges, this will get you below 1ppb at taus >200-500s,
if you keep the TCXO stable enough, otherwise deviations due to temperature
shifts and supply voltage changes will dominate.

If this is good enough, I would leave it at that. If not, then first
thing would be a respin of the board with a seperate supply for the
DAC and TXCO using a modern, low noise, high PSRR LDO (have a look at
what TI came up with in the last 10 years, these are usually a good choice)

If that is still not enough, put a plastic cap over the TCXO.
If still not enough, glue a transistor on top of the TCXO with a
temp sensor (e.g. an 1k NTC) and use that to stabilize the TCXO
temperature to a few °C (you should have no trouble to get
to <0.1°C though). Have a look at the ham radio literature how
this poor mans OCXO is done. There it is (was?) pretty much standard.

If this still doesn't get you to well below 1ppb @tau=500s, then something
is screwed up in the implentation.

If you want get to 1ppb at shorter taus, then you will need to implement
a better TIC. Richard McCorkle's PICTIC-II is a good starting point.
IIRC He once told me that he got down to 30ps with an external 14bit ADC
(less noise and higher stability than the on chip ADCs found in uCs).
According to Bruce Griffiths, the right choice for the ADC is to use
an SAR. Analog and Ti are AFAIK the best choices here.

If we assume that you get to 100ps, then you will be able to reach
1ppb at taus in the range of 10s to 100s (ie the limiting factor will
be the GPS module). And of course, you will then need to do proper sawtooth
correction (i hope your module provides that, if not, choose a different one)

			Attila Kinali

--
I must not become metastable.
Metastability is the mind-killer.
Metastability is the little-death that brings total obliteration.
I will face my metastability.
I will permit it to pass over me and through me.
And when it has gone past I will turn the inner eye to see its path.
Where the metastability has gone there will be nothing. Only I will remain.


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.

> On Aug 17, 2015, at 1:16 AM, Attila Kinali <attila@kinali.ch> wrote: > > On Sun, 16 Aug 2015 16:54:08 -0700 > Nick Sayer via time-nuts <time-nuts@febo.com> wrote: > >>> >>> If I counted correctly, you have a maximum offset of 350ns. For GPSDOs >>> that are close to each other, that's a quite considerable shift of phase. >>> Are you sure your software implements a phase locked loop and not a >>> frequency locked loop? >> >> The firmware is at: https://github.com/nsayer/GPS-disciplined-OXCO >> >> I’d be hard pressed to see how it’s anything other than an FLL. >> There’s no phase comparator. I’m counting how many system clock cycles >> happen between PPS rising edges. That’s it. > > Without having had a look at your code (sorry, i currently don't have > the time for this), if you trully implemented just an FLL, then this > is where you should start from. The way to get a PLL is to let the counter > of the capture unit run freely. Don't reset it, just let it wrap around. I do that. It’s a 32 bit counter (the 16 bit counter has an overflow interrupt that increments the high 16 bytes in software). The counter free-runs. 32 bits at 10 MHz takes around 400 seconds to wrap. > The PPS pulse will now be wandering in each period, so you have to track > where you would expect the PPS next (unless you set the counter such, > that its wrap around divides a second evenly). Doing this, you will > integrate over the frequency difference and thus get a phase comparator. I don’t quite get it. What I do is every time there’s a capture interrupt, I subtract the counter value of the last capture from this one. That gives me how many clock cycles there were between PPS rising edges. But there’s no way for me to know the phase relationship between the two rising edges (the PPS and 10 MHz). I can only assume that the capture takes place within one cycle. Fortunately, I don’t have to be concerned with software latency, as the capture interrupt occurs immediately after, well before anything else gets in the way. I actually do the above counting 100 PPS intervals. That is, I only collect the delta every 100 capture interrupts. That’s the 1 ppb error resolution over 100 seconds. For the user feedback, I keep a rolling window of ten of those. When the sum of those ten error deltas is < 10, I call that 1 ppb over 1000 seconds. When the error delta over 100 seconds is non-zero and less than 5, I increment or decrement the DAC value, thus adjusting the trim by an expected ~370 ppt. When the error is more than 5, I double the error and add/subtract that to the DAC value. It’s not a PID, but it generally reaches steady-state quickly enough. I don’t make any LOCK LED indications at all until the 1000 second sample window is full, and by then the 100 second deltas are under 5 (usually at or under 1). > > For additional goodnes: steer the PPS such, that half of the time > you get a counter value a and the other half of the time a counter value a+1. > By doing this, you will use the sawtooth of the GPS module as dithering > for your counter, and thus increase the resolution when you average. > > Assuming no hanging bridges, this will get you below 1ppb at taus >200-500s, > if you keep the TCXO stable enough, otherwise deviations due to temperature > shifts and supply voltage changes will dominate. > > If this is good enough, I would leave it at that. If not, then first > thing would be a respin of the board with a seperate supply for the > DAC and TXCO using a modern, low noise, high PSRR LDO (have a look at > what TI came up with in the last 10 years, these are usually a good choice) > > If that is still not enough, put a plastic cap over the TCXO. > If still not enough, glue a transistor on top of the TCXO with a > temp sensor (e.g. an 1k NTC) and use that to stabilize the TCXO > temperature to a few °C (you should have no trouble to get > to <0.1°C though). Have a look at the ham radio literature how > this poor mans OCXO is done. There it is (was?) pretty much standard. > > If this still doesn't get you to well below 1ppb @tau=500s, then something > is screwed up in the implentation. > > > If you want get to 1ppb at shorter taus, then you will need to implement > a better TIC. Richard McCorkle's PICTIC-II is a good starting point. > IIRC He once told me that he got down to 30ps with an external 14bit ADC > (less noise and higher stability than the on chip ADCs found in uCs). > According to Bruce Griffiths, the right choice for the ADC is to use > an SAR. Analog and Ti are AFAIK the best choices here. > > If we assume that you get to 100ps, then you will be able to reach > 1ppb at taus in the range of 10s to 100s (ie the limiting factor will > be the GPS module). And of course, you will then need to do proper sawtooth > correction (i hope your module provides that, if not, choose a different one) > > > Attila Kinali > > -- > I must not become metastable. > Metastability is the mind-killer. > Metastability is the little-death that brings total obliteration. > I will face my metastability. > I will permit it to pass over me and through me. > And when it has gone past I will turn the inner eye to see its path. > Where the metastability has gone there will be nothing. Only I will remain. > > _______________________________________________ > 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
Mon, Aug 17, 2015 7:07 PM

On Mon, 17 Aug 2015 07:14:34 -0700
Nick Sayer via time-nuts time-nuts@febo.com wrote:

Without having had a look at your code (sorry, i currently don't have
the time for this), if you trully implemented just an FLL, then this
is where you should start from. The way to get a PLL is to let the counter
of the capture unit run freely. Don't reset it, just let it wrap around.

I do that. It’s a 32 bit counter (the 16 bit counter has an overflow
interrupt that increments the high 16 bytes in software). The counter
free-runs. 32 bits at 10 MHz takes around 400 seconds to wrap.

So that works right. Good.

The PPS pulse will now be wandering in each period, so you have to track
where you would expect the PPS next (unless you set the counter such,
that its wrap around divides a second evenly). Doing this, you will
integrate over the frequency difference and thus get a phase comparator.

I don’t quite get it.

What I do is every time there’s a capture interrupt, I subtract the counter
value of the last capture from this one. That gives me how many clock cycles
there were between PPS rising edges. But there’s no way for me to know the
phase relationship between the two rising edges (the PPS and 10 MHz). I can
only assume that the capture takes place within one cycle. Fortunately, I
don’t have to be concerned with software latency, as the capture interrupt
occurs immediately after, well before anything else gets in the way.

By taking the difference of "current pulse time" minus "previous pulse time"
and using this as the input into your control loop, you are making an FLL.

Instead you should use "time the pps is expected to arrive" minus "when
the pulse actually arrived".

You have a nominal frequency of 10MHz and a 16bit counter. That means
a second is 152 overflows plus 38528 counts long. Assuming you start with
0, the expected arrival of the next pulse is at count 38528. When it comes
earlier, your TCXO frequency was too low, when it comes later your TCXO
frequency was too high. The third pulse is exected to arrive at
count = (385282) % 2^16 = 11520. Again, feed the difference between that
value and when the pulse actually arrived into your control loop. The forth
pulse is expected at, (38528
3) % 2^16 = 50048,... etc pp

By not taking the difference to the previous pulse, but to the expected
time of the pulse, any fractional error in the calculation/frequency
will accumulate until it reaches the point where it actually becomes
visible as an offset between expected pulse time and pulse time.
And hence, forms a PLL.

If the timer of the ATtiny allows that, you can set it to overflow
at 62500. This divides 10e6 evenly, which gives you a constant count
number when you expect the pulse, which you then can set into mid range,
ie. at 31250. (makes the software easier)

When the error delta over 100 seconds is non-zero and less than 5, I
increment or decrement the DAC value, thus adjusting the trim by an expected
~370 ppt. When the error is more than 5, I double the error and add/subtract
that to the DAC value. It’s not a PID, but it generally reaches steady-state
quickly enough. I don’t make any LOCK LED indications at all until the 1000
second sample window is full, and by then the 100 second deltas are under 5
(usually at or under 1).

You really should read the wikipedia article on the PID loop and implement
a simple PI loop (no need for the D part). That's not more effort than what
you already did, but gives you better stability.

		Attila Kinali

--
I must not become metastable.
Metastability is the mind-killer.
Metastability is the little-death that brings total obliteration.
I will face my metastability.
I will permit it to pass over me and through me.
And when it has gone past I will turn the inner eye to see its path.
Where the metastability has gone there will be nothing. Only I will remain.

On Mon, 17 Aug 2015 07:14:34 -0700 Nick Sayer via time-nuts <time-nuts@febo.com> wrote: > > Without having had a look at your code (sorry, i currently don't have > > the time for this), if you trully implemented just an FLL, then this > > is where you should start from. The way to get a PLL is to let the counter > > of the capture unit run freely. Don't reset it, just let it wrap around. > > I do that. It’s a 32 bit counter (the 16 bit counter has an overflow > interrupt that increments the high 16 bytes in software). The counter > free-runs. 32 bits at 10 MHz takes around 400 seconds to wrap. So that works right. Good. > > The PPS pulse will now be wandering in each period, so you have to track > > where you would expect the PPS next (unless you set the counter such, > > that its wrap around divides a second evenly). Doing this, you will > > integrate over the frequency difference and thus get a phase comparator. > > I don’t quite get it. > > What I do is every time there’s a capture interrupt, I subtract the counter > value of the last capture from this one. That gives me how many clock cycles > there were between PPS rising edges. But there’s no way for me to know the > phase relationship between the two rising edges (the PPS and 10 MHz). I can > only assume that the capture takes place within one cycle. Fortunately, I > don’t have to be concerned with software latency, as the capture interrupt > occurs immediately after, well before anything else gets in the way. By taking the difference of "current pulse time" minus "previous pulse time" and using this as the input into your control loop, you are making an FLL. Instead you should use "time the pps is expected to arrive" minus "when the pulse actually arrived". You have a nominal frequency of 10MHz and a 16bit counter. That means a second is 152 overflows plus 38528 counts long. Assuming you start with 0, the expected arrival of the next pulse is at count 38528. When it comes earlier, your TCXO frequency was too low, when it comes later your TCXO frequency was too high. The third pulse is exected to arrive at count = (38528*2) % 2^16 = 11520. Again, feed the difference between that value and when the pulse actually arrived into your control loop. The forth pulse is expected at, (38528*3) % 2^16 = 50048,... etc pp By not taking the difference to the previous pulse, but to the expected time of the pulse, any fractional error in the calculation/frequency will accumulate until it reaches the point where it actually becomes visible as an offset between expected pulse time and pulse time. And hence, forms a PLL. If the timer of the ATtiny allows that, you can set it to overflow at 62500. This divides 10e6 evenly, which gives you a constant count number when you expect the pulse, which you then can set into mid range, ie. at 31250. (makes the software easier) > When the error delta over 100 seconds is non-zero and less than 5, I > increment or decrement the DAC value, thus adjusting the trim by an expected > ~370 ppt. When the error is more than 5, I double the error and add/subtract > that to the DAC value. It’s not a PID, but it generally reaches steady-state > quickly enough. I don’t make any LOCK LED indications at all until the 1000 > second sample window is full, and by then the 100 second deltas are under 5 > (usually at or under 1). You really should read the wikipedia article on the PID loop and implement a simple PI loop (no need for the D part). That's not more effort than what you already did, but gives you better stability. Attila Kinali -- I must not become metastable. Metastability is the mind-killer. Metastability is the little-death that brings total obliteration. I will face my metastability. I will permit it to pass over me and through me. And when it has gone past I will turn the inner eye to see its path. Where the metastability has gone there will be nothing. Only I will remain.
TV
Tom Van Baak
Mon, Aug 17, 2015 7:31 PM

Hi Attila,

I'm planning to collect raw phase data from his TCXO (in holdover). Not only will we get the ADEV of his LO but that data, plus the Adafruit GPS data, can then be fed into the GPSDO simulator program.

Nick can modify the simulator with his current algorithm and see how his GPSDO would perform with different styles of control loop. The GPS simulator can easily model his phase comparator (a CPU capture register with some known granularity) and his DAC (also with known granularity).

When done right, the very C code used in his AVR control loop can be the C code used in the simulator. Actual LO data, actual GPS data, actual code. The result is seeing how your GPSDO works on your PC in a few seconds instead of waiting a few days (and needing a precision frequency counter and atomic reference) to test the real thing. More info here:

http://www.leapsecond.com/pages/gpsdo-sim/
https://www.febo.com/pipermail/time-nuts/2014-March/083734.html

In the end of course you want to test the real h/w, but being able to see how control loops work, and solving problems of lost lock, and maximizing the performance of the code -- can be done far more efficiently under simulation.

/tvb

----- Original Message -----
From: "Attila Kinali" attila@kinali.ch
To: "Discussion of precise time and frequency measurement" time-nuts@febo.com
Sent: Monday, August 17, 2015 12:07 PM
Subject: Re: [time-nuts] I've designed a GPSDO, but how "good" is it?

On Mon, 17 Aug 2015 07:14:34 -0700
Nick Sayer via time-nuts time-nuts@febo.com wrote:

Without having had a look at your code (sorry, i currently don't have
the time for this), if you trully implemented just an FLL, then this
is where you should start from. The way to get a PLL is to let the counter
of the capture unit run freely. Don't reset it, just let it wrap around.

I do that. It’s a 32 bit counter (the 16 bit counter has an overflow
interrupt that increments the high 16 bytes in software). The counter
free-runs. 32 bits at 10 MHz takes around 400 seconds to wrap.

So that works right. Good.

The PPS pulse will now be wandering in each period, so you have to track
where you would expect the PPS next (unless you set the counter such,
that its wrap around divides a second evenly). Doing this, you will
integrate over the frequency difference and thus get a phase comparator.

I don’t quite get it.

What I do is every time there’s a capture interrupt, I subtract the counter
value of the last capture from this one. That gives me how many clock cycles
there were between PPS rising edges. But there’s no way for me to know the
phase relationship between the two rising edges (the PPS and 10 MHz). I can
only assume that the capture takes place within one cycle. Fortunately, I
don’t have to be concerned with software latency, as the capture interrupt
occurs immediately after, well before anything else gets in the way.

By taking the difference of "current pulse time" minus "previous pulse time"
and using this as the input into your control loop, you are making an FLL.

Instead you should use "time the pps is expected to arrive" minus "when
the pulse actually arrived".

You have a nominal frequency of 10MHz and a 16bit counter. That means
a second is 152 overflows plus 38528 counts long. Assuming you start with
0, the expected arrival of the next pulse is at count 38528. When it comes
earlier, your TCXO frequency was too low, when it comes later your TCXO
frequency was too high. The third pulse is exected to arrive at
count = (385282) % 2^16 = 11520. Again, feed the difference between that
value and when the pulse actually arrived into your control loop. The forth
pulse is expected at, (38528
3) % 2^16 = 50048,... etc pp

By not taking the difference to the previous pulse, but to the expected
time of the pulse, any fractional error in the calculation/frequency
will accumulate until it reaches the point where it actually becomes
visible as an offset between expected pulse time and pulse time.
And hence, forms a PLL.

If the timer of the ATtiny allows that, you can set it to overflow
at 62500. This divides 10e6 evenly, which gives you a constant count
number when you expect the pulse, which you then can set into mid range,
ie. at 31250. (makes the software easier)

When the error delta over 100 seconds is non-zero and less than 5, I
increment or decrement the DAC value, thus adjusting the trim by an expected
~370 ppt. When the error is more than 5, I double the error and add/subtract
that to the DAC value. It’s not a PID, but it generally reaches steady-state
quickly enough. I don’t make any LOCK LED indications at all until the 1000
second sample window is full, and by then the 100 second deltas are under 5
(usually at or under 1).

You really should read the wikipedia article on the PID loop and implement
a simple PI loop (no need for the D part). That's not more effort than what
you already did, but gives you better stability.

Attila Kinali

--
I must not become metastable.
Metastability is the mind-killer.
Metastability is the little-death that brings total obliteration.
I will face my metastability.
I will permit it to pass over me and through me.
And when it has gone past I will turn the inner eye to see its path.
Where the metastability has gone there will be nothing. Only I will remain.

Hi Attila, I'm planning to collect raw phase data from his TCXO (in holdover). Not only will we get the ADEV of his LO but that data, plus the Adafruit GPS data, can then be fed into the GPSDO simulator program. Nick can modify the simulator with his current algorithm and see how his GPSDO would perform with different styles of control loop. The GPS simulator can easily model his phase comparator (a CPU capture register with some known granularity) and his DAC (also with known granularity). When done right, the very C code used in his AVR control loop can be the C code used in the simulator. Actual LO data, actual GPS data, actual code. The result is seeing how your GPSDO works on your PC in a few seconds instead of waiting a few days (and needing a precision frequency counter and atomic reference) to test the real thing. More info here: http://www.leapsecond.com/pages/gpsdo-sim/ https://www.febo.com/pipermail/time-nuts/2014-March/083734.html In the end of course you want to test the real h/w, but being able to see how control loops work, and solving problems of lost lock, and maximizing the performance of the code -- can be done far more efficiently under simulation. /tvb ----- Original Message ----- From: "Attila Kinali" <attila@kinali.ch> To: "Discussion of precise time and frequency measurement" <time-nuts@febo.com> Sent: Monday, August 17, 2015 12:07 PM Subject: Re: [time-nuts] I've designed a GPSDO, but how "good" is it? On Mon, 17 Aug 2015 07:14:34 -0700 Nick Sayer via time-nuts <time-nuts@febo.com> wrote: > > Without having had a look at your code (sorry, i currently don't have > > the time for this), if you trully implemented just an FLL, then this > > is where you should start from. The way to get a PLL is to let the counter > > of the capture unit run freely. Don't reset it, just let it wrap around. > > I do that. It’s a 32 bit counter (the 16 bit counter has an overflow > interrupt that increments the high 16 bytes in software). The counter > free-runs. 32 bits at 10 MHz takes around 400 seconds to wrap. So that works right. Good. > > The PPS pulse will now be wandering in each period, so you have to track > > where you would expect the PPS next (unless you set the counter such, > > that its wrap around divides a second evenly). Doing this, you will > > integrate over the frequency difference and thus get a phase comparator. > > I don’t quite get it. > > What I do is every time there’s a capture interrupt, I subtract the counter > value of the last capture from this one. That gives me how many clock cycles > there were between PPS rising edges. But there’s no way for me to know the > phase relationship between the two rising edges (the PPS and 10 MHz). I can > only assume that the capture takes place within one cycle. Fortunately, I > don’t have to be concerned with software latency, as the capture interrupt > occurs immediately after, well before anything else gets in the way. By taking the difference of "current pulse time" minus "previous pulse time" and using this as the input into your control loop, you are making an FLL. Instead you should use "time the pps is expected to arrive" minus "when the pulse actually arrived". You have a nominal frequency of 10MHz and a 16bit counter. That means a second is 152 overflows plus 38528 counts long. Assuming you start with 0, the expected arrival of the next pulse is at count 38528. When it comes earlier, your TCXO frequency was too low, when it comes later your TCXO frequency was too high. The third pulse is exected to arrive at count = (38528*2) % 2^16 = 11520. Again, feed the difference between that value and when the pulse actually arrived into your control loop. The forth pulse is expected at, (38528*3) % 2^16 = 50048,... etc pp By not taking the difference to the previous pulse, but to the expected time of the pulse, any fractional error in the calculation/frequency will accumulate until it reaches the point where it actually becomes visible as an offset between expected pulse time and pulse time. And hence, forms a PLL. If the timer of the ATtiny allows that, you can set it to overflow at 62500. This divides 10e6 evenly, which gives you a constant count number when you expect the pulse, which you then can set into mid range, ie. at 31250. (makes the software easier) > When the error delta over 100 seconds is non-zero and less than 5, I > increment or decrement the DAC value, thus adjusting the trim by an expected > ~370 ppt. When the error is more than 5, I double the error and add/subtract > that to the DAC value. It’s not a PID, but it generally reaches steady-state > quickly enough. I don’t make any LOCK LED indications at all until the 1000 > second sample window is full, and by then the 100 second deltas are under 5 > (usually at or under 1). You really should read the wikipedia article on the PID loop and implement a simple PI loop (no need for the D part). That's not more effort than what you already did, but gives you better stability. Attila Kinali -- I must not become metastable. Metastability is the mind-killer. Metastability is the little-death that brings total obliteration. I will face my metastability. I will permit it to pass over me and through me. And when it has gone past I will turn the inner eye to see its path. Where the metastability has gone there will be nothing. Only I will remain.
NS
Nick Sayer
Mon, Aug 17, 2015 7:36 PM

On Aug 17, 2015, at 12:31 PM, Tom Van Baak tvb@LeapSecond.com wrote:

Hi Attila,

I'm planning to collect raw phase data from his TCXO (in holdover). Not only will we get the ADEV of his LO but that data, plus the Adafruit GPS data, can then be fed into the GPSDO simulator program.

Nick can modify the simulator with his current algorithm and see how his GPSDO would perform with different styles of control loop. The GPS simulator can easily model his phase comparator (a CPU capture register with some known granularity) and his DAC (also with known granularity).

When done right, the very C code used in his AVR control loop can be the C code used in the simulator. Actual LO data, actual GPS data, actual code. The result is seeing how your GPSDO works on your PC in a few seconds instead of waiting a few days (and needing a precision frequency counter and atomic reference) to test the real thing. More info here:

http://www.leapsecond.com/pages/gpsdo-sim/
https://www.febo.com/pipermail/time-nuts/2014-March/083734.html

In the end of course you want to test the real h/w, but being able to see how control loops work, and solving problems of lost lock, and maximizing the performance of the code -- can be done far more efficiently under simulation.

Thanks to both of you. I will definitely look into the simulator. Given the budget, I don’t have a free hand to improve the hardware, but firmware (modulo memory requirements) is free, so I’m certainly willing to explore.

/tvb

----- Original Message -----
From: "Attila Kinali" attila@kinali.ch
To: "Discussion of precise time and frequency measurement" time-nuts@febo.com
Sent: Monday, August 17, 2015 12:07 PM
Subject: Re: [time-nuts] I've designed a GPSDO, but how "good" is it?

On Mon, 17 Aug 2015 07:14:34 -0700
Nick Sayer via time-nuts time-nuts@febo.com wrote:

Without having had a look at your code (sorry, i currently don't have
the time for this), if you trully implemented just an FLL, then this
is where you should start from. The way to get a PLL is to let the counter
of the capture unit run freely. Don't reset it, just let it wrap around.

I do that. It’s a 32 bit counter (the 16 bit counter has an overflow
interrupt that increments the high 16 bytes in software). The counter
free-runs. 32 bits at 10 MHz takes around 400 seconds to wrap.

So that works right. Good.

The PPS pulse will now be wandering in each period, so you have to track
where you would expect the PPS next (unless you set the counter such,
that its wrap around divides a second evenly). Doing this, you will
integrate over the frequency difference and thus get a phase comparator.

I don’t quite get it.

What I do is every time there’s a capture interrupt, I subtract the counter
value of the last capture from this one. That gives me how many clock cycles
there were between PPS rising edges. But there’s no way for me to know the
phase relationship between the two rising edges (the PPS and 10 MHz). I can
only assume that the capture takes place within one cycle. Fortunately, I
don’t have to be concerned with software latency, as the capture interrupt
occurs immediately after, well before anything else gets in the way.

By taking the difference of "current pulse time" minus "previous pulse time"
and using this as the input into your control loop, you are making an FLL.

Instead you should use "time the pps is expected to arrive" minus "when
the pulse actually arrived".

You have a nominal frequency of 10MHz and a 16bit counter. That means
a second is 152 overflows plus 38528 counts long. Assuming you start with
0, the expected arrival of the next pulse is at count 38528. When it comes
earlier, your TCXO frequency was too low, when it comes later your TCXO
frequency was too high. The third pulse is exected to arrive at
count = (385282) % 2^16 = 11520. Again, feed the difference between that
value and when the pulse actually arrived into your control loop. The forth
pulse is expected at, (38528
3) % 2^16 = 50048,... etc pp

By not taking the difference to the previous pulse, but to the expected
time of the pulse, any fractional error in the calculation/frequency
will accumulate until it reaches the point where it actually becomes
visible as an offset between expected pulse time and pulse time.
And hence, forms a PLL.

If the timer of the ATtiny allows that, you can set it to overflow
at 62500. This divides 10e6 evenly, which gives you a constant count
number when you expect the pulse, which you then can set into mid range,
ie. at 31250. (makes the software easier)

When the error delta over 100 seconds is non-zero and less than 5, I
increment or decrement the DAC value, thus adjusting the trim by an expected
~370 ppt. When the error is more than 5, I double the error and add/subtract
that to the DAC value. It’s not a PID, but it generally reaches steady-state
quickly enough. I don’t make any LOCK LED indications at all until the 1000
second sample window is full, and by then the 100 second deltas are under 5
(usually at or under 1).

You really should read the wikipedia article on the PID loop and implement
a simple PI loop (no need for the D part). That's not more effort than what
you already did, but gives you better stability.

Attila Kinali

--
I must not become metastable.
Metastability is the mind-killer.
Metastability is the little-death that brings total obliteration.
I will face my metastability.
I will permit it to pass over me and through me.
And when it has gone past I will turn the inner eye to see its path.
Where the metastability has gone there will be nothing. Only I will remain.


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.

> On Aug 17, 2015, at 12:31 PM, Tom Van Baak <tvb@LeapSecond.com> wrote: > > Hi Attila, > > I'm planning to collect raw phase data from his TCXO (in holdover). Not only will we get the ADEV of his LO but that data, plus the Adafruit GPS data, can then be fed into the GPSDO simulator program. > > Nick can modify the simulator with his current algorithm and see how his GPSDO would perform with different styles of control loop. The GPS simulator can easily model his phase comparator (a CPU capture register with some known granularity) and his DAC (also with known granularity). > > When done right, the very C code used in his AVR control loop can be the C code used in the simulator. Actual LO data, actual GPS data, actual code. The result is seeing how your GPSDO works on your PC in a few seconds instead of waiting a few days (and needing a precision frequency counter and atomic reference) to test the real thing. More info here: > > http://www.leapsecond.com/pages/gpsdo-sim/ > https://www.febo.com/pipermail/time-nuts/2014-March/083734.html > > In the end of course you want to test the real h/w, but being able to see how control loops work, and solving problems of lost lock, and maximizing the performance of the code -- can be done far more efficiently under simulation. Thanks to both of you. I will definitely look into the simulator. Given the budget, I don’t have a free hand to improve the hardware, but firmware (modulo memory requirements) is free, so I’m certainly willing to explore. > > /tvb > > ----- Original Message ----- > From: "Attila Kinali" <attila@kinali.ch> > To: "Discussion of precise time and frequency measurement" <time-nuts@febo.com> > Sent: Monday, August 17, 2015 12:07 PM > Subject: Re: [time-nuts] I've designed a GPSDO, but how "good" is it? > > > On Mon, 17 Aug 2015 07:14:34 -0700 > Nick Sayer via time-nuts <time-nuts@febo.com> wrote: > >>> Without having had a look at your code (sorry, i currently don't have >>> the time for this), if you trully implemented just an FLL, then this >>> is where you should start from. The way to get a PLL is to let the counter >>> of the capture unit run freely. Don't reset it, just let it wrap around. >> >> I do that. It’s a 32 bit counter (the 16 bit counter has an overflow >> interrupt that increments the high 16 bytes in software). The counter >> free-runs. 32 bits at 10 MHz takes around 400 seconds to wrap. > > So that works right. Good. > > >>> The PPS pulse will now be wandering in each period, so you have to track >>> where you would expect the PPS next (unless you set the counter such, >>> that its wrap around divides a second evenly). Doing this, you will >>> integrate over the frequency difference and thus get a phase comparator. >> >> I don’t quite get it. >> >> What I do is every time there’s a capture interrupt, I subtract the counter >> value of the last capture from this one. That gives me how many clock cycles >> there were between PPS rising edges. But there’s no way for me to know the >> phase relationship between the two rising edges (the PPS and 10 MHz). I can >> only assume that the capture takes place within one cycle. Fortunately, I >> don’t have to be concerned with software latency, as the capture interrupt >> occurs immediately after, well before anything else gets in the way. > > By taking the difference of "current pulse time" minus "previous pulse time" > and using this as the input into your control loop, you are making an FLL. > > Instead you should use "time the pps is expected to arrive" minus "when > the pulse actually arrived". > > You have a nominal frequency of 10MHz and a 16bit counter. That means > a second is 152 overflows plus 38528 counts long. Assuming you start with > 0, the expected arrival of the next pulse is at count 38528. When it comes > earlier, your TCXO frequency was too low, when it comes later your TCXO > frequency was too high. The third pulse is exected to arrive at > count = (38528*2) % 2^16 = 11520. Again, feed the difference between that > value and when the pulse actually arrived into your control loop. The forth > pulse is expected at, (38528*3) % 2^16 = 50048,... etc pp > > By not taking the difference to the previous pulse, but to the expected > time of the pulse, any fractional error in the calculation/frequency > will accumulate until it reaches the point where it actually becomes > visible as an offset between expected pulse time and pulse time. > And hence, forms a PLL. > > If the timer of the ATtiny allows that, you can set it to overflow > at 62500. This divides 10e6 evenly, which gives you a constant count > number when you expect the pulse, which you then can set into mid range, > ie. at 31250. (makes the software easier) > >> When the error delta over 100 seconds is non-zero and less than 5, I >> increment or decrement the DAC value, thus adjusting the trim by an expected >> ~370 ppt. When the error is more than 5, I double the error and add/subtract >> that to the DAC value. It’s not a PID, but it generally reaches steady-state >> quickly enough. I don’t make any LOCK LED indications at all until the 1000 >> second sample window is full, and by then the 100 second deltas are under 5 >> (usually at or under 1). > > You really should read the wikipedia article on the PID loop and implement > a simple PI loop (no need for the D part). That's not more effort than what > you already did, but gives you better stability. > > Attila Kinali > > -- > I must not become metastable. > Metastability is the mind-killer. > Metastability is the little-death that brings total obliteration. > I will face my metastability. > I will permit it to pass over me and through me. > And when it has gone past I will turn the inner eye to see its path. > Where the metastability has gone there will be nothing. Only I will remain. > > _______________________________________________ > 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.
NS
Nick Sayer
Mon, Aug 17, 2015 7:49 PM

On Aug 17, 2015, at 12:07 PM, Attila Kinali attila@kinali.ch wrote:

On Mon, 17 Aug 2015 07:14:34 -0700
Nick Sayer via time-nuts time-nuts@febo.com wrote:

Without having had a look at your code (sorry, i currently don't have
the time for this), if you trully implemented just an FLL, then this
is where you should start from. The way to get a PLL is to let the counter
of the capture unit run freely. Don't reset it, just let it wrap around.

I do that. It’s a 32 bit counter (the 16 bit counter has an overflow
interrupt that increments the high 16 bytes in software). The counter
free-runs. 32 bits at 10 MHz takes around 400 seconds to wrap.

So that works right. Good.

The PPS pulse will now be wandering in each period, so you have to track
where you would expect the PPS next (unless you set the counter such,
that its wrap around divides a second evenly). Doing this, you will
integrate over the frequency difference and thus get a phase comparator.

I don’t quite get it.

What I do is every time there’s a capture interrupt, I subtract the counter
value of the last capture from this one. That gives me how many clock cycles
there were between PPS rising edges. But there’s no way for me to know the
phase relationship between the two rising edges (the PPS and 10 MHz). I can
only assume that the capture takes place within one cycle. Fortunately, I
don’t have to be concerned with software latency, as the capture interrupt
occurs immediately after, well before anything else gets in the way.

By taking the difference of "current pulse time" minus "previous pulse time"
and using this as the input into your control loop, you are making an FLL.

Instead you should use "time the pps is expected to arrive" minus "when
the pulse actually arrived".

You have a nominal frequency of 10MHz and a 16bit counter. That means
a second is 152 overflows plus 38528 counts long. Assuming you start with
0, the expected arrival of the next pulse is at count 38528. When it comes
earlier, your TCXO frequency was too low, when it comes later your TCXO
frequency was too high. The third pulse is exected to arrive at
count = (385282) % 2^16 = 11520. Again, feed the difference between that
value and when the pulse actually arrived into your control loop. The forth
pulse is expected at, (38528
3) % 2^16 = 50048,... etc pp

By not taking the difference to the previous pulse, but to the expected
time of the pulse, any fractional error in the calculation/frequency
will accumulate until it reaches the point where it actually becomes
visible as an offset between expected pulse time and pulse time.
And hence, forms a PLL.

That’s not different than simply tracking cumulative rather than immediate error, isn’t it?

I’m doing that with a rolling ten-sample (1000 second) window to report lock quality to the user (0.1ppb granularity).

I’m also doing that for a 100 second sample time to derive the error for the feedback loop (1.0 ppb granularity, but with 375 ppt “nudges” when the absolute value is small).

I’m sorry if I seem obtuse, but I don’t see how the arithmetic results in a different answer.

If the timer of the ATtiny allows that, you can set it to overflow
at 62500. This divides 10e6 evenly, which gives you a constant count
number when you expect the pulse, which you then can set into mid range,
ie. at 31250. (makes the software easier)

When the error delta over 100 seconds is non-zero and less than 5, I
increment or decrement the DAC value, thus adjusting the trim by an expected
~370 ppt. When the error is more than 5, I double the error and add/subtract
that to the DAC value. It’s not a PID, but it generally reaches steady-state
quickly enough. I don’t make any LOCK LED indications at all until the 1000
second sample window is full, and by then the 100 second deltas are under 5
(usually at or under 1).

You really should read the wikipedia article on the PID loop and implement
a simple PI loop (no need for the D part). That's not more effort than what
you already did, but gives you better stability.

I’ve done PID before (for a reflow oven controller), but thought that the current code was easier to understand. I’m going to try the GPSDO simulator and see how it matches up. It’s entirely possible that an improvement could be made in the time-to-lock, but the steady state performance appears to my eyes to be as close to optimal as I could envision. But I’m new at this, so it’s entirely possible that I’m not looking at it correctly.

		Attila Kinali

--
I must not become metastable.
Metastability is the mind-killer.
Metastability is the little-death that brings total obliteration.
I will face my metastability.
I will permit it to pass over me and through me.
And when it has gone past I will turn the inner eye to see its path.
Where the metastability has gone there will be nothing. Only I will remain.


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.

> On Aug 17, 2015, at 12:07 PM, Attila Kinali <attila@kinali.ch> wrote: > > On Mon, 17 Aug 2015 07:14:34 -0700 > Nick Sayer via time-nuts <time-nuts@febo.com> wrote: > >>> Without having had a look at your code (sorry, i currently don't have >>> the time for this), if you trully implemented just an FLL, then this >>> is where you should start from. The way to get a PLL is to let the counter >>> of the capture unit run freely. Don't reset it, just let it wrap around. >> >> I do that. It’s a 32 bit counter (the 16 bit counter has an overflow >> interrupt that increments the high 16 bytes in software). The counter >> free-runs. 32 bits at 10 MHz takes around 400 seconds to wrap. > > So that works right. Good. > > >>> The PPS pulse will now be wandering in each period, so you have to track >>> where you would expect the PPS next (unless you set the counter such, >>> that its wrap around divides a second evenly). Doing this, you will >>> integrate over the frequency difference and thus get a phase comparator. >> >> I don’t quite get it. >> >> What I do is every time there’s a capture interrupt, I subtract the counter >> value of the last capture from this one. That gives me how many clock cycles >> there were between PPS rising edges. But there’s no way for me to know the >> phase relationship between the two rising edges (the PPS and 10 MHz). I can >> only assume that the capture takes place within one cycle. Fortunately, I >> don’t have to be concerned with software latency, as the capture interrupt >> occurs immediately after, well before anything else gets in the way. > > By taking the difference of "current pulse time" minus "previous pulse time" > and using this as the input into your control loop, you are making an FLL. > > Instead you should use "time the pps is expected to arrive" minus "when > the pulse actually arrived". > > You have a nominal frequency of 10MHz and a 16bit counter. That means > a second is 152 overflows plus 38528 counts long. Assuming you start with > 0, the expected arrival of the next pulse is at count 38528. When it comes > earlier, your TCXO frequency was too low, when it comes later your TCXO > frequency was too high. The third pulse is exected to arrive at > count = (38528*2) % 2^16 = 11520. Again, feed the difference between that > value and when the pulse actually arrived into your control loop. The forth > pulse is expected at, (38528*3) % 2^16 = 50048,... etc pp > > By not taking the difference to the previous pulse, but to the expected > time of the pulse, any fractional error in the calculation/frequency > will accumulate until it reaches the point where it actually becomes > visible as an offset between expected pulse time and pulse time. > And hence, forms a PLL. That’s not different than simply tracking cumulative rather than immediate error, isn’t it? I’m doing that with a rolling ten-sample (1000 second) window to report lock quality to the user (0.1ppb granularity). I’m also doing that for a 100 second sample time to derive the error for the feedback loop (1.0 ppb granularity, but with 375 ppt “nudges” when the absolute value is small). I’m sorry if I seem obtuse, but I don’t see how the arithmetic results in a different answer. > > If the timer of the ATtiny allows that, you can set it to overflow > at 62500. This divides 10e6 evenly, which gives you a constant count > number when you expect the pulse, which you then can set into mid range, > ie. at 31250. (makes the software easier) > >> When the error delta over 100 seconds is non-zero and less than 5, I >> increment or decrement the DAC value, thus adjusting the trim by an expected >> ~370 ppt. When the error is more than 5, I double the error and add/subtract >> that to the DAC value. It’s not a PID, but it generally reaches steady-state >> quickly enough. I don’t make any LOCK LED indications at all until the 1000 >> second sample window is full, and by then the 100 second deltas are under 5 >> (usually at or under 1). > > You really should read the wikipedia article on the PID loop and implement > a simple PI loop (no need for the D part). That's not more effort than what > you already did, but gives you better stability. I’ve done PID before (for a reflow oven controller), but thought that the current code was easier to understand. I’m going to try the GPSDO simulator and see how it matches up. It’s entirely possible that an improvement could be made in the time-to-lock, but the steady state performance appears to my eyes to be as close to optimal as I could envision. But I’m new at this, so it’s entirely possible that I’m not looking at it correctly. > > Attila Kinali > > -- > I must not become metastable. > Metastability is the mind-killer. > Metastability is the little-death that brings total obliteration. > I will face my metastability. > I will permit it to pass over me and through me. > And when it has gone past I will turn the inner eye to see its path. > Where the metastability has gone there will be nothing. Only I will remain. > > _______________________________________________ > 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.
NS
Nick Sayer
Mon, Aug 17, 2015 9:37 PM

On Aug 17, 2015, at 12:49 PM, Nick Sayer via time-nuts time-nuts@febo.com wrote:

On Aug 17, 2015, at 12:07 PM, Attila Kinali attila@kinali.ch wrote:

You really should read the wikipedia article on the PID loop and implement
a simple PI loop (no need for the D part). That's not more effort than what
you already did, but gives you better stability.

I’ve done PID before (for a reflow oven controller), but thought that the current code was easier to understand. I’m going to try the GPSDO simulator and see how it matches up. It’s entirely possible that an improvement could be made in the time-to-lock, but the steady state performance appears to my eyes to be as close to optimal as I could envision. But I’m new at this, so it’s entirely possible that I’m not looking at it correctly.

I thought some more, and in principle, I could use the 100 second sample error as the proportional and 1000 second cumulative error as the integral. What I wanted to insure with my hand-coded decision making was that the system was not completely insensitive to momentary excursions in the steady state, but that it didn’t overreact. I suppose that could just mean that Kp = 1 and Ki =~ 2 or 3.

> On Aug 17, 2015, at 12:49 PM, Nick Sayer via time-nuts <time-nuts@febo.com> wrote: > > >> On Aug 17, 2015, at 12:07 PM, Attila Kinali <attila@kinali.ch> wrote: >> >> You really should read the wikipedia article on the PID loop and implement >> a simple PI loop (no need for the D part). That's not more effort than what >> you already did, but gives you better stability. > > I’ve done PID before (for a reflow oven controller), but thought that the current code was easier to understand. I’m going to try the GPSDO simulator and see how it matches up. It’s entirely possible that an improvement could be made in the time-to-lock, but the steady state performance appears to my eyes to be as close to optimal as I could envision. But I’m new at this, so it’s entirely possible that I’m not looking at it correctly. > I thought some more, and in principle, I could use the 100 second sample error as the proportional and 1000 second cumulative error as the integral. What I wanted to insure with my hand-coded decision making was that the system was not completely insensitive to momentary excursions in the steady state, but that it didn’t overreact. I suppose that could just mean that Kp = 1 and Ki =~ 2 or 3.
BC
Bob Camp
Mon, Aug 17, 2015 10:25 PM

Hi

On Aug 17, 2015, at 9:59 AM, Nick Sayer nsayer@kfu.com wrote:

On Aug 17, 2015, at 4:06 AM, Bob Camp kb8tq@n1k.org wrote:

On Aug 16, 2015, at 9:40 PM, Nick Sayer nsayer@kfu.com wrote:

On Aug 16, 2015, at 6:04 PM, Bob Camp kb8tq@n1k.org wrote:

Hi

Here’s some of the “that depends” questions:

What is your stability goal?

You talk about the NIST numbers on GPSDO’s. What level of stability are you after?

I believe I’m at or better than the stability I originally sought. Part 1 of my question is whether that’s actually true or whether my naivety is presenting me with a delusion. Part 2 is whether the price point at which I’ve arrived will support the level of stability I’ve achieved, or am I delusional in thinking people would or should pay what I’m asking for what I’m offering.

The stability can only be verified by careful testing, The design goal (what’s the spec) will in many ways determine
what sort of testing you will need to set up. A 1x10^-9 design would be tested differently than a 1x10^-13 design.

10^-9 was the target all along. Question number two that I came with was whether or not it was reasonable to ask $175 for 10^-9.

If you are trying to hit a frequency accuracy (as in 99.9% on frequency) spec of 1x10^-9 with a TCXO, that’s not going to happen.

There are a lot of GPSDO’s on eBay what will do something in the parts in 10^-11 that cost $110 to $150. I believe that Jackson
will still sell you a brand new commercial unit for about $185.

What is your end application?

Is this intended as a lab standard, the reference for a radio, something else entirely?

A low cost lab standard is what I have in mind. A box you can sit on your workbench with 3 BNC jacks that can feed 10 MHz into your frequency counter or what not.

Do you anticipate any phase noise sensitive instruments being attached? Most frequency counters are fairly simple.

I stared with an immediate need, and that was for low frequency testing with sample times in the 10^1 range, so phase coherency has not been anything I’ve been concerned with. The Connor Winfield phase plots at the low end look “good enough” to me, and with a 370 ppt DAC granularity, I can’t ask for a lot of phase coherency at the high end (you can see that in the time lapse videos).

Phase noise and phase coherency are two different things.

You can get better or worse phase noise picking between the auction site GPSDO’s. If somebody wants to multiply to microwaves, things like -150 dbc /Hz at 100 Hz
offset sort of numbers become a differentiator.

What is the destination?

Is this heading towards a commercial venture or is it a basement project?

I’ve entered it in the “Best Product” Hackaday 2015 prize contest. That said, I have no intention of attempting to compete with the established commercial firms in this space. I want to stay at around a Q:100 unit cost of around $75, which is where it is right now (the retail price is higher at the moment because I’m not manufacturing them in Q:100 lots yet).

Ok, so have you taken a good look at your costs and return? Do you have an method set up for
support of the product and for handling returns / repairs? Overhead costs that do not get factored
in early can be very painful later on.

Yup. The rule of thumb I have always used is that retail price is double the cost. That’s why I talk about a Q:100 cost of $75 and am charging $175. $175 is not $150 because I am not yet at Q:100 build costs, but that is the eventual goal.

Some use 3:1 or 4:1 for products with significant testing and support costs ….

What is the budget?

Do you have $200K to spend on this? Did the piggybank run dry at $100?

For a commercial venture this is a very important factor. You don’t have to share
the info, You do have to work out a number.

What is the timeline?

Does the project complete at the end of the summer, no matter what? Is it
something that is worth another year or two of effort?

I’ve got something now, but I don’t mind revving it to improve it, as long as the budget doesn’t change a lot. A lot of suggestions so far have centered around improvements that could be made regardless of budget. Like I’ve said, I don’t want to try to compete with Trimble.

I would suggest that you figure on quite a bit of your spare time going into this.

That never happens. :)

What is your background?

Mostly software, but in the last few years I’ve become reconnected to my nascent hardware side. I’ve been selling stuff in my Tindie store for a while now - a fairly eclectic mix of different projects that interest me. What led me to this project was another one - my Crazy Clock. I discovered a rather embarrassing design error that was causing errors on the order of dozens of ppm (I expected under ten). The first step in coming to grips with that issue was determining its scope, and that meant an extremely accurate low frequency counter, and that led me to needing a frequency standard. But I don’t have any way to test something I buy off eBay, so I wanted a GPSDO. But I couldn’t find any that weren’t way out of budget, so I set out to design one. And because I figured I wasn’t the only maker that needed something like this, but didn’t have the need or budget for something 2 orders of magnitude better, I thought I’d try this.

Now where I am is trying to determine if I am correct in my assertions, and if my cost-benefit analysis of this as a product makes sense or not.

That’s what the market will tell you ….

Does all of the stuff we’ve been tossing around make perfect sense? (= you do
something like this for a living). Are we talking about a bunch of stuff that makes
very little sense? (= you are just getting started at this sort of thing).

No, it’s all perfectly sensible.

Ok, so here’s the next layer:

If you are selling a frequency standard, most of your customers will probably be
interested in it’s frequency stability. Unfortunately this opens a major can of worms
spec wise. There are a number of measures that characterize various types of
noise. None of them directly address “if I measure 1.23 x10^-10 is it correct”. You
see numbers like “< 1x10^-10 99% of the time” in spec sheets.

If you dig into the archives, you can find numbers posts from people who are
disappointed that their "1x10^-13 GPSDO” can not deliver a 1x10^-10 frequency
measurement 99% of the time.

Ok, well, with the advice I’ve gotten so far here I’ve decided I am going to see if I can afford a TimePod and I’m going to try and get one of those FE-5680A rubidium standards off eBay. If that works out, then my perception (correct me if I’m wrong), is that that will be enough to characterize 10^-9 levels of expected performance.

I’m sure that Symmetricom will be happy to sell you a TimePod. The last batch we bought were about $12K. Pricing moves around a lot on this stuff so it is always
worth getting a quote.

The FE will do ok, I’d still get a couple of GPSDO’s. The Z3801 is well documented. There are a lot of others out there.

I’ve also mailed a unit to a kind volunteer here who said he’d take a look at it. If his opinion differs wildly from what I think is the current state of affairs, then I can stop and take a serious look at whether a new design would be able to better reach the same goals with the same pricing.

Once you get the TimePod you will have a much better picture of what’s going on.

Bob

Each of these twists and turns heads you off into a different set of further issues and
likely some more questions. For a commercial venture, buying custom oscillators in
bulk is a very normal thing to do. For a battery powered balloon carried reference, you
do things different than for a rack mount standard. Each of these projects people come up
with have its own unique drivers.

Each of us in our replies, tries to guess what your constraints are or are not. In doing
so we likely substitute our constraints for yours. The further our constraints  diverge from
your constraints, the further off base our advice and answers will be.

I appreciate that. I came here with a narrow question in mind, but perhaps it wasn’t the correct one.

There is only so much you can pack in a single message …

Bob

Bob

On Aug 16, 2015, at 3:39 PM, Nick Sayer via time-nuts time-nuts@febo.com wrote:

On Aug 16, 2015, at 12:31 PM, Tom Van Baak tvb@LeapSecond.com wrote:

Anyway, to answer your question -- to measure its true performance you only need two things. 1) a phase meter (or time interval counter) that's good to 1 ns or better, and 2) a local reference standard that's maybe 10x better than the TCXO and the Adafruit GPS. Usually that means a cesium standard, or supremely qualified GPSDO, or equivalent.

I have a frequency counter, but it’s not a phase meter. I have a scope, but I assume that trying to use a ruler with scope traces isn’t the textbook way of doing that. :D

I have considered in the past buying a used rubidium standard off eBay, but have hesitated because I don’t know how much life there is left in the tube, and I just have to take it on faith that it’s stable and accurate. I have somewhat more faith in the GPS PPS, but clearly that has limits.

A number of us here on the time-nuts list have such equipment at home. And unlike professional labs, we will do it for free/fun if you loan the GPSDO for a week.

I will happily give one to someone if they would be willing to help a relative newbie with this stuff.

Just one though. They’re kind of expensive to build. :D


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 Aug 17, 2015, at 9:59 AM, Nick Sayer <nsayer@kfu.com> wrote: > > >> On Aug 17, 2015, at 4:06 AM, Bob Camp <kb8tq@n1k.org> wrote: >> >> >>> On Aug 16, 2015, at 9:40 PM, Nick Sayer <nsayer@kfu.com> wrote: >>> >>> >>>> On Aug 16, 2015, at 6:04 PM, Bob Camp <kb8tq@n1k.org> wrote: >>>> >>>> Hi >>>> >>>> Here’s some of the “that depends” questions: >>>> >>>> What is your stability goal? >>>> >>>> You talk about the NIST numbers on GPSDO’s. What level of stability are you after? >>> >>> I believe I’m at or better than the stability I originally sought. Part 1 of my question is whether that’s actually true or whether my naivety is presenting me with a delusion. Part 2 is whether the price point at which I’ve arrived will support the level of stability I’ve achieved, or am I delusional in thinking people would or should pay what I’m asking for what I’m offering. >> >> The stability can only be verified by careful testing, The design goal (what’s the spec) will in many ways determine >> what sort of testing you will need to set up. A 1x10^-9 design would be tested differently than a 1x10^-13 design. > > 10^-9 was the target all along. Question number two that I came with was whether or not it was reasonable to ask $175 for 10^-9. If you are trying to hit a frequency accuracy (as in 99.9% on frequency) spec of 1x10^-9 with a TCXO, that’s not going to happen. There are a *lot* of GPSDO’s on eBay what will do something in the parts in 10^-11 that cost $110 to $150. I believe that Jackson will still sell you a brand new commercial unit for about $185. > > >> >>> >>>> >>>> What is your end application? >>>> >>>> Is this intended as a lab standard, the reference for a radio, something else entirely? >>> >>> A low cost lab standard is what I have in mind. A box you can sit on your workbench with 3 BNC jacks that can feed 10 MHz into your frequency counter or what not. >> >> Do you anticipate any phase noise sensitive instruments being attached? Most frequency counters are fairly simple. > > I stared with an immediate need, and that was for low frequency testing with sample times in the 10^1 range, so phase coherency has not been anything I’ve been concerned with. The Connor Winfield phase plots at the low end look “good enough” to me, and with a 370 ppt DAC granularity, I can’t ask for a lot of phase coherency at the high end (you can see that in the time lapse videos). Phase noise and phase coherency are two different things. You can get better or worse phase noise picking between the auction site GPSDO’s. If somebody wants to multiply to microwaves, things like -150 dbc /Hz at 100 Hz offset sort of numbers become a differentiator. > >> >>> >>>> >>>> What is the destination? >>>> >>>> Is this heading towards a commercial venture or is it a basement project? >>> >>> I’ve entered it in the “Best Product” Hackaday 2015 prize contest. That said, I have no intention of attempting to compete with the established commercial firms in this space. I want to stay at around a Q:100 unit cost of around $75, which is where it is right now (the retail price is higher at the moment because I’m not manufacturing them in Q:100 lots yet). >> >> Ok, so have you taken a good look at your costs and return? Do you have an method set up for >> support of the product and for handling returns / repairs? Overhead costs that do not get factored >> in early can be very painful later on. > > Yup. The rule of thumb I have always used is that retail price is double the cost. That’s why I talk about a Q:100 cost of $75 and am charging $175. $175 is not $150 because I am not yet at Q:100 build costs, but that is the eventual goal. Some use 3:1 or 4:1 for products with significant testing and support costs …. > >> >>> >>>> >>>> What is the budget? >>>> >>>> Do you have $200K to spend on this? Did the piggybank run dry at $100? >> >> >> For a commercial venture this is a very important factor. You don’t have to share >> the info, You do have to work out a number. >> >>>> >>>> What is the timeline? >>>> >>>> Does the project complete at the end of the summer, no matter what? Is it >>>> something that is worth another year or two of effort? >>> >>> I’ve got something now, but I don’t mind revving it to improve it, as long as the budget doesn’t change a lot. A lot of suggestions so far have centered around improvements that could be made regardless of budget. Like I’ve said, I don’t want to try to compete with Trimble. >> >> I would suggest that you figure on quite a bit of your spare time going into this. > > That never happens. :) > >> >>> >>>> >>>> What is your background? >>> >>> Mostly software, but in the last few years I’ve become reconnected to my nascent hardware side. I’ve been selling stuff in my Tindie store for a while now - a fairly eclectic mix of different projects that interest me. What led me to this project was another one - my Crazy Clock. I discovered a rather embarrassing design error that was causing errors on the order of dozens of ppm (I expected under ten). The first step in coming to grips with that issue was determining its scope, and that meant an extremely accurate low frequency counter, and that led me to needing a frequency standard. But I don’t have any way to test something I buy off eBay, so I wanted a GPSDO. But I couldn’t find any that weren’t way out of budget, so I set out to design one. And because I figured I wasn’t the only maker that needed something like this, but didn’t have the need or budget for something 2 orders of magnitude better, I thought I’d try this. >>> >>> Now where I am is trying to determine if I am correct in my assertions, and if my cost-benefit analysis of this as a product makes sense or not. >> >> >> That’s what the market will tell you …. >> >>> >>>> >>>> Does all of the stuff we’ve been tossing around make perfect sense? (= you do >>>> something like this for a living). Are we talking about a bunch of stuff that makes >>>> very little sense? (= you are just getting started at this sort of thing). >>> >>> No, it’s all perfectly sensible. >> >> Ok, so here’s the next layer: >> >> If you are selling a frequency standard, most of your customers will probably be >> interested in it’s frequency stability. Unfortunately this opens a major can of worms >> spec wise. There are a number of measures that characterize various types of >> noise. None of them directly address “if I measure 1.23 x10^-10 is it correct”. You >> see numbers like “< 1x10^-10 99% of the time” in spec sheets. >> >> If you dig into the archives, you can find numbers posts from people who are >> disappointed that their "1x10^-13 GPSDO” can not deliver a 1x10^-10 frequency >> measurement 99% of the time. > > Ok, well, with the advice I’ve gotten so far here I’ve decided I am going to see if I can afford a TimePod and I’m going to try and get one of those FE-5680A rubidium standards off eBay. If that works out, then my perception (correct me if I’m wrong), is that that will be enough to characterize 10^-9 levels of expected performance. I’m sure that Symmetricom will be happy to sell you a TimePod. The last batch we bought were about $12K. Pricing moves around a lot on this stuff so it is always worth getting a quote. The FE will do ok, I’d still get a couple of GPSDO’s. The Z3801 is well documented. There are a lot of others out there. > > I’ve also mailed a unit to a kind volunteer here who said he’d take a look at it. If his opinion differs wildly from what I think is the current state of affairs, then I can stop and take a serious look at whether a new design would be able to better reach the same goals with the same pricing. Once you get the TimePod you will have a much better picture of what’s going on. Bob > >> >> >>> >>>> >>>> Each of these twists and turns heads you off into a different set of further issues and >>>> likely some more questions. For a commercial venture, buying custom oscillators in >>>> bulk is a very normal thing to do. For a battery powered balloon carried reference, you >>>> do things different than for a rack mount standard. Each of these projects people come up >>>> with have its own unique drivers. >>>> >>>> Each of us in our replies, tries to guess what your constraints are or are not. In doing >>>> so we likely substitute our constraints for yours. The further our constraints diverge from >>>> your constraints, the further off base our advice and answers will be. >>> >>> I appreciate that. I came here with a narrow question in mind, but perhaps it wasn’t the correct one. >> >> There is only so much you can pack in a single message … >> >> Bob >> >>> >>>> >>>> Bob >>>> >>>> >>>> >>>>> On Aug 16, 2015, at 3:39 PM, Nick Sayer via time-nuts <time-nuts@febo.com> wrote: >>>>> >>>>> >>>>>> On Aug 16, 2015, at 12:31 PM, Tom Van Baak <tvb@LeapSecond.com> wrote: >>>>>> >>>>>> Anyway, to answer your question -- to measure its true performance you only need two things. 1) a phase meter (or time interval counter) that's good to 1 ns or better, and 2) a local reference standard that's maybe 10x better than the TCXO and the Adafruit GPS. Usually that means a cesium standard, or supremely qualified GPSDO, or equivalent. >>>>> >>>>> I have a frequency counter, but it’s not a phase meter. I have a scope, but I assume that trying to use a ruler with scope traces isn’t the textbook way of doing that. :D >>>>> >>>>> I have considered in the past buying a used rubidium standard off eBay, but have hesitated because I don’t know how much life there is left in the tube, and I just have to take it on faith that it’s stable and accurate. I have somewhat more faith in the GPS PPS, but clearly that has limits. >>>>> >>>>>> >>>>>> A number of us here on the time-nuts list have such equipment at home. And unlike professional labs, we will do it for free/fun if you loan the GPSDO for a week. >>>>> >>>>> I will happily *give* one to someone if they would be willing to help a relative newbie with this stuff. >>>>> >>>>> Just one though. They’re kind of expensive to build. :D >>>>> >>>>> _______________________________________________ >>>>> 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. >>>> >>> >> >
BC
Bob Camp
Mon, Aug 17, 2015 11:37 PM

Hi

Consider that your VCXO has a minimum tune range of 20 ppm. There are no typicals or or
max limits shown. Just to toss out a number, say it’s 30 ppm in some cases. They list linearity at 5%.
That’s likely per 55310, so it’s a box spec. Say that gets you to a 1.5:1 slope ratio. Your most sensitive
part of the curve now would equate to 45 ppm.

That would give you a 0.7 ppb LSB if the DAC is perfect. If it’s good to what many are (they are monotonic),
you have steps at or above your 1 ppb limit. That assumes the loop only steps 1 step at a time. With a FLL
at 100 seconds, that’s very unlikely.

Any time you “pop” the frequency by 1 ppb, you go out of your accuracy limit. That without the VCXO moving with
a standard deviation at 1 second of 1 ppb. That error would add on top of your steps.

One alternative - find an oscillator with a lot less EFC range. That part is designed to hold 4.6 ppm forever and to
guarantee lock to another source that is also at +/- 4.6 ppm forever. There are a few other bits and pieces involved so
it really needs to be > +/- 11 ppm EFC at ship.

In your case, an EFC that corrects the aging of the part (4.6 ppm) is plenty good enough.

Bob

On Aug 17, 2015, at 5:37 PM, Nick Sayer via time-nuts time-nuts@febo.com wrote:

On Aug 17, 2015, at 12:49 PM, Nick Sayer via time-nuts time-nuts@febo.com wrote:

On Aug 17, 2015, at 12:07 PM, Attila Kinali attila@kinali.ch wrote:

You really should read the wikipedia article on the PID loop and implement
a simple PI loop (no need for the D part). That's not more effort than what
you already did, but gives you better stability.

I’ve done PID before (for a reflow oven controller), but thought that the current code was easier to understand. I’m going to try the GPSDO simulator and see how it matches up. It’s entirely possible that an improvement could be made in the time-to-lock, but the steady state performance appears to my eyes to be as close to optimal as I could envision. But I’m new at this, so it’s entirely possible that I’m not looking at it correctly.

I thought some more, and in principle, I could use the 100 second sample error as the proportional and 1000 second cumulative error as the integral. What I wanted to insure with my hand-coded decision making was that the system was not completely insensitive to momentary excursions in the steady state, but that it didn’t overreact. I suppose that could just mean that Kp = 1 and Ki =~ 2 or 3.


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 Consider that your VCXO has a minimum tune range of 20 ppm. There are no typicals or or max limits shown. Just to toss out a number, say it’s 30 ppm in some cases. They list linearity at 5%. That’s likely per 55310, so it’s a box spec. Say that gets you to a 1.5:1 slope ratio. Your most sensitive part of the curve now would equate to 45 ppm. That would give you a 0.7 ppb LSB *if* the DAC is perfect. If it’s good to what many are (they are monotonic), you have steps at or above your 1 ppb limit. That *assumes* the loop only steps 1 step at a time. With a FLL at 100 seconds, that’s very unlikely. Any time you “pop” the frequency by 1 ppb, you go out of your accuracy limit. That without the VCXO moving with a standard deviation at 1 second of 1 ppb. That error would add on top of your steps. One alternative - find an oscillator with a *lot* less EFC range. That part is designed to hold 4.6 ppm forever and to guarantee lock to another source that is also at +/- 4.6 ppm forever. There are a few other bits and pieces involved so it really needs to be > +/- 11 ppm EFC at ship. In your case, an EFC that corrects the aging of the part (4.6 ppm) is plenty good enough. Bob > On Aug 17, 2015, at 5:37 PM, Nick Sayer via time-nuts <time-nuts@febo.com> wrote: > > >> On Aug 17, 2015, at 12:49 PM, Nick Sayer via time-nuts <time-nuts@febo.com> wrote: >> >> >>> On Aug 17, 2015, at 12:07 PM, Attila Kinali <attila@kinali.ch> wrote: >>> >>> You really should read the wikipedia article on the PID loop and implement >>> a simple PI loop (no need for the D part). That's not more effort than what >>> you already did, but gives you better stability. >> >> I’ve done PID before (for a reflow oven controller), but thought that the current code was easier to understand. I’m going to try the GPSDO simulator and see how it matches up. It’s entirely possible that an improvement could be made in the time-to-lock, but the steady state performance appears to my eyes to be as close to optimal as I could envision. But I’m new at this, so it’s entirely possible that I’m not looking at it correctly. >> > > I thought some more, and in principle, I could use the 100 second sample error as the proportional and 1000 second cumulative error as the integral. What I wanted to insure with my hand-coded decision making was that the system was not completely insensitive to momentary excursions in the steady state, but that it didn’t overreact. I suppose that could just mean that Kp = 1 and Ki =~ 2 or 3. > _______________________________________________ > 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.
CS
Charles Steinmetz
Tue, Aug 18, 2015 11:42 PM

Nick wrote:

I believe I'm at or better than the stability I originally sought.
Part 1 of my question is whether that's actually true or whether my
naivety is presenting me with a delusion. Part 2 is whether the
price point at which I've arrived will support the level of
stability I've achieved, or am I delusional in thinking people would
or should pay what I'm asking for what I'm offering.
*    *    *
10^-9 was the target all along. Question number two that I came with
was whether or not it was reasonable to ask $175 for 10^-9.

From your description, I doubt that you have achieved 1e-9 from 1S
to 1000S (the range of primary interest for frequency and TI
counters) -- but I'll defer on that point until Tom reports on its performance.

As to question 2 (assuming that your GPSDO does exhibit stability
of 1e-9 from 1S to 1000S):

There may be people who would pay $150 or even $175, but in my view
that is only because they do not know how it performs and what other
GPSDOs are available and how they perform.  For starters, consider these:

http://www.ebay.com/itm/171504585820
Jackson Labs LTE-Lite board-level GPSDO with TCXO ADEV <7e-11 at
tau >/= 10S.  Brand new with warranty from an established GPSDO
manufacturer.  $185

http://www.ebay.com/itm/400953748215
independent measurements at http://www.ke5fx.com/gpscomp.htm
GPSDO with OCXO, small production from hobbyist (BG7TBL).  Published
Allan Deviation graph better than 3e-11 from 1S to 7kS; better than
5e-12 at 100S.  Complete kit -- comes with PS and external antenna.  $149

http://www.ebay.com/itm/181777773438
Trimble commercial board-level GPSDO card with OCXO; includes power
supply.  $119

http://www.ebay.com/itm/301705767019
Nortel by Trimble NTBW50AA packaged GPSDO with OCXO; kit with antenna
and cables.  $159

http://www.ebay.com/itm/221777430088
Lucent by Symmetricom Z3810AS GPSDO timing system; two disciplined OCXOs.  $150

The OCXO units all have ADEVs in the low e-11s at 1S and generally
get better at longer tau.  The Jackson Labs TCXO product is not far
behind, owing to the careful selection and testing of the TCXOs by
Jackson Labs.  With the parts that you have chosen based on your
budget, you cannot expect to get near this level of performance even
if you improve the disciplining algorithm.

So, to put it bluntly: Even if you hit your design goal, you have a
nice learning project -- but not anything that justifies offering
them for sale.

Best regards,

Charles

Nick wrote: >I believe I'm at or better than the stability I originally sought. >Part 1 of my question is whether that's actually true or whether my >naivety is presenting me with a delusion. Part 2 is whether the >price point at which I've arrived will support the level of >stability I've achieved, or am I delusional in thinking people would >or should pay what I'm asking for what I'm offering. > * * * >10^-9 was the target all along. Question number two that I came with >was whether or not it was reasonable to ask $175 for 10^-9. From your description, I doubt that you have achieved 1e-9 from 1S to 1000S (the range of primary interest for frequency and TI counters) -- but I'll defer on that point until Tom reports on its performance. As to question 2 (assuming that your GPSDO *does* exhibit stability of 1e-9 from 1S to 1000S): There may be people who would pay $150 or even $175, but in my view that is only because they do not know how it performs and what other GPSDOs are available and how they perform. For starters, consider these: <http://www.ebay.com/itm/171504585820> Jackson Labs LTE-Lite board-level GPSDO with TCXO ADEV <7e-11 at tau >/= 10S. Brand new with warranty from an established GPSDO manufacturer. $185 <http://www.ebay.com/itm/400953748215> independent measurements at <http://www.ke5fx.com/gpscomp.htm> GPSDO with OCXO, small production from hobbyist (BG7TBL). Published Allan Deviation graph better than 3e-11 from 1S to 7kS; better than 5e-12 at 100S. Complete kit -- comes with PS and external antenna. $149 <http://www.ebay.com/itm/181777773438> Trimble commercial board-level GPSDO card with OCXO; includes power supply. $119 <http://www.ebay.com/itm/301705767019> Nortel by Trimble NTBW50AA packaged GPSDO with OCXO; kit with antenna and cables. $159 <http://www.ebay.com/itm/221777430088> Lucent by Symmetricom Z3810AS GPSDO timing system; two disciplined OCXOs. $150 The OCXO units all have ADEVs in the low e-11s at 1S and generally get better at longer tau. The Jackson Labs TCXO product is not far behind, owing to the careful selection and testing of the TCXOs by Jackson Labs. With the parts that you have chosen based on your budget, you cannot expect to get near this level of performance even if you improve the disciplining algorithm. So, to put it bluntly: Even if you hit your design goal, you have a nice learning project -- but not anything that justifies offering them for sale. Best regards, Charles
NS
Nick Sayer
Wed, Aug 19, 2015 12:44 AM

Sent from my iPhone

On Aug 18, 2015, at 4:42 PM, Charles Steinmetz csteinmetz@yandex.com wrote:

Nick wrote:

I believe I'm at or better than the stability I originally sought. Part 1 of my question is whether that's actually true or whether my naivety is presenting me with a delusion. Part 2 is whether the price point at which I've arrived will support the level of stability I've achieved, or am I delusional in thinking people would or should pay what I'm asking for what I'm offering.
*    *    *
10^-9 was the target all along. Question number two that I came with was whether or not it was reasonable to ask $175 for 10^-9.

From your description, I doubt that you have achieved 1e-9 from 1S to 1000S (the range of primary interest for frequency and TI counters) -- but I'll defer on that point until Tom reports on its performance.

As to question 2 (assuming that your GPSDO does exhibit stability of 1e-9 from 1S to 1000S):

There may be people who would pay $150 or even $175, but in my view that is only because they do not know how it performs and what other GPSDOs are available and how they perform.  For starters, consider these:

Well, that all puts the nail in the coffin, then. If better ones are cheaper, then I am wasting my time. I don't know how I missed them when I was searching for one a few weeks ago. All I found were manufactures not listing actual prices and eBay listings for used ones.

Thanks to everyone for the feedback - of all sorts.

Sent from my iPhone > On Aug 18, 2015, at 4:42 PM, Charles Steinmetz <csteinmetz@yandex.com> wrote: > > Nick wrote: > >> I believe I'm at or better than the stability I originally sought. Part 1 of my question is whether that's actually true or whether my naivety is presenting me with a delusion. Part 2 is whether the price point at which I've arrived will support the level of stability I've achieved, or am I delusional in thinking people would or should pay what I'm asking for what I'm offering. >> * * * >> 10^-9 was the target all along. Question number two that I came with was whether or not it was reasonable to ask $175 for 10^-9. > > From your description, I doubt that you have achieved 1e-9 from 1S to 1000S (the range of primary interest for frequency and TI counters) -- but I'll defer on that point until Tom reports on its performance. > > As to question 2 (assuming that your GPSDO *does* exhibit stability of 1e-9 from 1S to 1000S): > > There may be people who would pay $150 or even $175, but in my view that is only because they do not know how it performs and what other GPSDOs are available and how they perform. For starters, consider these: Well, that all puts the nail in the coffin, then. If better ones are cheaper, then I am wasting my time. I don't know how I missed them when I was searching for one a few weeks ago. All I found were manufactures not listing actual prices and eBay listings for used ones. Thanks to everyone for the feedback - of all sorts.
CS
Charles Steinmetz
Wed, Aug 19, 2015 5:22 AM

Nick wrote:

Well, that all puts the nail in the coffin, then. If better ones are
cheaper, then I am wasting my time. I don't know how I missed them
when I was searching for one a few weeks ago. All I found were
manufactures not listing actual prices and eBay listings for used ones.

I did not mean to suggest that all of the GPSDOs I listed are
new.  The first two are newly manufactured (although the second one
contains a surplus OCXO).  The third and fourth are used surplus
units (I do not count that against them -- arguably the best
time-nuts GPSDO of all time is the Trimble Thunderbolt.  TBolts were
readily available as surplus ten years ago, but are scarce and
expensive these days).  The last one on the list is surplus, but the
units currently available were never commissioned -- they are brand
new in the original packing.

I wasn't trying to kill the project, just to give some
perspective.  Depending on your primary interest (learning about
oscillator disciplining, or selling gizmos with short development
cycles), there is still much to be learned if you persevere -- and
the possibility exists that several dozen revisions down the road you
may have a gizmo that does justify being offered for sale.  The
particular design issues related to GPS disciplining just do not lend
themselves to a quick learning and development curve.

Best regards,

Charles

Nick wrote: >Well, that all puts the nail in the coffin, then. If better ones are >cheaper, then I am wasting my time. I don't know how I missed them >when I was searching for one a few weeks ago. All I found were >manufactures not listing actual prices and eBay listings for used ones. I did not mean to suggest that all of the GPSDOs I listed are new. The first two are newly manufactured (although the second one contains a surplus OCXO). The third and fourth are used surplus units (I do not count that against them -- arguably the best time-nuts GPSDO of all time is the Trimble Thunderbolt. TBolts were readily available as surplus ten years ago, but are scarce and expensive these days). The last one on the list is surplus, but the units currently available were never commissioned -- they are brand new in the original packing. I wasn't trying to kill the project, just to give some perspective. Depending on your primary interest (learning about oscillator disciplining, or selling gizmos with short development cycles), there is still much to be learned if you persevere -- and the possibility exists that several dozen revisions down the road you may have a gizmo that *does* justify being offered for sale. The particular design issues related to GPS disciplining just do not lend themselves to a quick learning and development curve. Best regards, Charles
IS
Ian Stirling
Wed, Aug 19, 2015 6:18 PM

On 08/16/2015 08:39 PM, Bob Camp wrote:

The “wear out” on a Rb is not the same as wear out on a
Cesium standard. In a Cs, you have a finite number if atoms
loaded in at the factory. When those atoms all travel down the
tube, it’s dead. In an Rb, the atoms don’t go anywhere. There is
no built in “end of life”. They mostly die from MTBF sorts of things
due to complexity and high temperatures, There are HP Rb’s
built many decades ago still running on their original cells.

Bob, that is fascinating information.
I will use my surplus Rubidium units more often now.

Ian, G4ICV, AB2GR

On 08/16/2015 08:39 PM, Bob Camp wrote: > The “wear out” on a Rb is not the same as wear out on a > Cesium standard. In a Cs, you have a finite number if atoms > loaded in at the factory. When those atoms all travel down the > tube, it’s dead. In an Rb, the atoms don’t go anywhere. There is > no built in “end of life”. They mostly die from MTBF sorts of things > due to complexity and high temperatures, There are HP Rb’s > built many decades ago still running on their original cells. Bob, that is fascinating information. I will use my surplus Rubidium units more often now. Ian, G4ICV, AB2GR --