Re: [time-nuts] I've designed a GPSDO, but how "good" is it?

2015-08-19 Thread Ian Stirling
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
--

___
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.


Re: [time-nuts] I've designed a GPSDO, but how "good" is it?

2015-08-19 Thread Charles Steinmetz

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


___
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.


Re: [time-nuts] I've designed a GPSDO, but how "good" is it?

2015-08-18 Thread Nick Sayer via time-nuts


Sent from my iPhone

> On Aug 18, 2015, at 4:42 PM, Charles Steinmetz  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. 


___
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.


Re: [time-nuts] I've designed a GPSDO, but how "good" is it?

2015-08-18 Thread Charles Steinmetz

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:



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



independent measurements at 
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



Trimble commercial board-level GPSDO card with OCXO; includes power 
supply.  $119



Nortel by Trimble NTBW50AA packaged GPSDO with OCXO; kit with antenna 
and cables.  $159



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


___
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.


Re: [time-nuts] I've designed a GPSDO, but how "good" is it?

2015-08-17 Thread Bob Camp
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  
> wrote:
> 
> 
>> On Aug 17, 2015, at 12:49 PM, Nick Sayer via time-nuts  
>> wrote:
>> 
>> 
>>> On Aug 17, 2015, at 12:07 PM, Attila Kinali  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.

___
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.


Re: [time-nuts] I've designed a GPSDO, but how "good" is it?

2015-08-17 Thread Bob Camp
Hi


> On Aug 17, 2015, at 9:59 AM, Nick Sayer  wrote:
> 
> 
>> On Aug 17, 2015, at 4:06 AM, Bob Camp  wrote:
>> 
>> 
>>> On Aug 16, 2015, at 9:40 PM, Nick Sayer  wrote:
>>> 
>>> 
 On Aug 16, 2015, at 6:04 PM, Bob Camp  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

Re: [time-nuts] I've designed a GPSDO, but how "good" is it?

2015-08-17 Thread Nick Sayer via time-nuts

> On Aug 17, 2015, at 12:49 PM, Nick Sayer via time-nuts  
> wrote:
> 
> 
>> On Aug 17, 2015, at 12:07 PM, Attila Kinali  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.


Re: [time-nuts] I've designed a GPSDO, but how "good" is it?

2015-08-17 Thread Nick Sayer via time-nuts

> On Aug 17, 2015, at 12:31 PM, Tom Van Baak  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" 
> To: "Discussion of precise time and frequency measurement" 
> 
> 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  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 

Re: [time-nuts] I've designed a GPSDO, but how "good" is it?

2015-08-17 Thread Nick Sayer via time-nuts

> On Aug 17, 2015, at 12:07 PM, Attila Kinali  wrote:
> 
> On Mon, 17 Aug 2015 07:14:34 -0700
> Nick Sayer via time-nuts  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 t

Re: [time-nuts] I've designed a GPSDO, but how "good" is it?

2015-08-17 Thread Tom Van Baak
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" 
To: "Discussion of precise time and frequency measurement" 
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  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 re

Re: [time-nuts] I've designed a GPSDO, but how "good" is it?

2015-08-17 Thread Attila Kinali
On Mon, 17 Aug 2015 07:14:34 -0700
Nick Sayer via time-nuts  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.


Re: [time-nuts] I've designed a GPSDO, but how "good" is it?

2015-08-17 Thread Nick Sayer via time-nuts

> On Aug 17, 2015, at 4:06 AM, Bob Camp  wrote:
> 
> 
>> On Aug 16, 2015, at 9:40 PM, Nick Sayer  wrote:
>> 
>> 
>>> On Aug 16, 2015, at 6:04 PM, Bob Camp  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 thi

Re: [time-nuts] I've designed a GPSDO, but how "good" is it?

2015-08-17 Thread Nick Sayer via time-nuts

> On Aug 17, 2015, at 1:16 AM, Attila Kinali  wrote:
> 
> On Sun, 16 Aug 2015 16:54:08 -0700
> Nick Sayer via time-nuts  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.
> Metastabilit

Re: [time-nuts] I've designed a GPSDO, but how "good" is it?

2015-08-17 Thread Bob Camp

> On Aug 16, 2015, at 9:40 PM, Nick Sayer  wrote:
> 
> 
>> On Aug 16, 2015, at 6:04 PM, Bob Camp  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

Re: [time-nuts] I've designed a GPSDO, but how "good" is it?

2015-08-17 Thread Attila Kinali
On Sun, 16 Aug 2015 16:54:08 -0700
Nick Sayer via time-nuts  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.

___
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.


Re: [time-nuts] I've designed a GPSDO, but how "good" is it?

2015-08-17 Thread Nick Sayer via time-nuts

> On Aug 16, 2015, at 6:04 PM, Bob Camp  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  
>> wrote:
>> 
>> 
>>> On Aug 16, 2015, at 12:31 PM, Tom Van Baak  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

Re: [time-nuts] I've designed a GPSDO, but how "good" is it?

2015-08-16 Thread Bob Camp
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  
> wrote:
> 
> 
>> On Aug 16, 2015, at 12:31 PM, Tom Van Baak  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.

___
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.


Re: [time-nuts] I've designed a GPSDO, but how "good" is it?

2015-08-16 Thread Nick Sayer via time-nuts

> On Aug 16, 2015, at 1:53 PM, Graham / KE9H  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  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" 
>> To: 
>> 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 sh

Re: [time-nuts] I've designed a GPSDO, but how "good" is it?

2015-08-16 Thread Bob Camp
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  wrote:
> 
> On Sun, 16 Aug 2015 12:39:19 -0700
> Nick Sayer via time-nuts  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.

___
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.


Re: [time-nuts] I've designed a GPSDO, but how "good" is it?

2015-08-16 Thread Bob Camp
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  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 stabilit

Re: [time-nuts] I've designed a GPSDO, but how "good" is it?

2015-08-16 Thread Nick Sayer via time-nuts

> On Aug 16, 2015, at 2:27 PM, Attila Kinali  wrote:
> 
> On Sun, 16 Aug 2015 11:47:23 -0700
> 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.
> 
> 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

Re: [time-nuts] I've designed a GPSDO, but how "good" is it?

2015-08-16 Thread Attila Kinali
On Sun, 16 Aug 2015 23:27:43 +0200
Attila Kinali  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.

___
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.


Re: [time-nuts] I've designed a GPSDO, but how "good" is it?

2015-08-16 Thread Charles Steinmetz

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.


Re: [time-nuts] I've designed a GPSDO, but how "good" is it?

2015-08-16 Thread Attila Kinali
On Sun, 16 Aug 2015 11:47:23 -0700
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.

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
po

Re: [time-nuts] I've designed a GPSDO, but how "good" is it?

2015-08-16 Thread Jim Harman
On Sun, Aug 16, 2015 at 3:31 PM, Tom Van Baak  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
___
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.

Re: [time-nuts] I've designed a GPSDO, but how "good" is it?

2015-08-16 Thread Attila Kinali
On Sun, 16 Aug 2015 12:39:19 -0700
Nick Sayer via time-nuts  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.


Re: [time-nuts] I've designed a GPSDO, but how "good" is it?

2015-08-16 Thread Magnus Danielson

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" 
To: 
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://w

Re: [time-nuts] I've designed a GPSDO, but how "good" is it?

2015-08-16 Thread Tim Shoppa
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.
>
___
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.


Re: [time-nuts] I've designed a GPSDO, but how "good" is it?

2015-08-16 Thread Bob Stewart
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 
 To: Discussion of precise time and frequency measurement  
 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" 
To: 
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
an

Re: [time-nuts] I've designed a GPSDO, but how "good" is it?

2015-08-16 Thread Graham / KE9H
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  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" 
> To: 
> 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

Re: [time-nuts] I've designed a GPSDO, but how "good" is it?

2015-08-16 Thread Bob Camp
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  
> 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.

___
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.


Re: [time-nuts] I've designed a GPSDO, but how "good" is it?

2015-08-16 Thread Nick Sayer via time-nuts

> On Aug 16, 2015, at 12:31 PM, Tom Van Baak  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.


Re: [time-nuts] I've designed a GPSDO, but how "good" is it?

2015-08-16 Thread Magnus Danielson

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.


___
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.


Re: [time-nuts] I've designed a GPSDO, but how "good" is it?

2015-08-16 Thread Tom Van Baak
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" 
To: 
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] I've designed a GPSDO, but how "good" is it?

2015-08-16 Thread Nick Sayer via time-nuts
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.