Author Topic: Yet another DIY GPSDO - yes, another one  (Read 154583 times)

0 Members and 1 Guest are viewing this topic.

Online AndrewBCNTopic starter

  • Frequent Contributor
  • **
  • Posts: 571
  • Country: fr
Re: Yet another DIY GPSDO - yes, another one
« Reply #75 on: July 18, 2021, 04:03:47 am »
The diagram is almost unreadable.  After considerable mofification of contrast etc. I finally got something I can read but the callouts are blurred.  Does the lead on the far right connect to the black pill?  After I build it, what is the next step?

Bob, sorry for the unreadable KiCad schematic export, the colors came out wrong for some reason.
I'll post a more readable jpg PDF export of the schematic ASAP. (DONE! I re-exported the schematic as a PDF file and it's 1000x easier to read now)

Before you assemble the parts as per the schematic, I suggest you become familiar with flashing/uploading the firmware to the STM32F411CEU6 Black Pill module and communicating with it using the Arduino IDE Serial Monitor. This requires of course the STM32 module and a USB-C cable.
« Last Edit: July 18, 2021, 08:23:02 am by AndrewBCN »
 

Offline bob91343

  • Super Contributor
  • ***
  • Posts: 2675
  • Country: us
Re: Yet another DIY GPSDO - yes, another one
« Reply #76 on: July 18, 2021, 05:04:00 am »
I don't have the STM32 module yet.  What's the best resource for learning how to install the firmware?  I don't even know the basics, such as can you overwrite whatever firmware is already installed, and can you make little changes to it, stuff like that.  It's a totally new subject for me and I am totally clueless.

Actually I think I once installed firmware in an arduino module but have forgetten what I did or how I did it.

We each have our strengths and weaknesses, and this is one area in which I am woefully weak.  I can design analog circuits and troubleshoot them but show me a digital setup and all I can do is scratch my head.
 

Offline erikka

  • Regular Contributor
  • *
  • Posts: 183
  • Country: nl
Re: Yet another DIY GPSDO - yes, another one
« Reply #77 on: July 18, 2021, 07:14:24 am »
I'm build a combination of Lars GPSDO (the phase detector) and a SI5351 with a TCXO instead of a Xtal and special drivers to enable 1/1000 Hz frequency control instead of a VCXO
Now it's all working but I have no means to measure the accuracy.
The arduino SW outputs the absolute frequency to which the SI5351 is set to output the target frequency of 10MHz (blue trace)  and it outputs the correction it made (red trace)

" alt="" class="bbc_img" />

The corrections are well below 1e-8 and the absolute frequency is also stable within 1e-8 (no drift)
Can I assume the GPSDO is stable within 1e-8 or am I fooling myself?
« Last Edit: July 18, 2021, 07:16:25 am by erikka »
 

Online AndrewBCNTopic starter

  • Frequent Contributor
  • **
  • Posts: 571
  • Country: fr
Re: Yet another DIY GPSDO - yes, another one
« Reply #78 on: July 18, 2021, 08:29:15 am »
I don't have the STM32 module yet.  What's the best resource for learning how to install the firmware?
...

There are various blogs with detailed instructions on using the Arduino IDE to flash/upload the firmware to STM32 boards, here are a couple of links:
1. https://www.sgbotic.com/index.php?dispatch=pages.view&page_id=49
2. https://blog.hobbycomponents.com/?p=758

I suggest reading link 2 as it has detailed instructions.
 

Offline thinkfat

  • Supporter
  • ****
  • Posts: 2150
  • Country: de
  • This is just a hobby I spend too much time on.
    • Matthias' Hackerstübchen
Re: Yet another DIY GPSDO - yes, another one
« Reply #79 on: July 18, 2021, 08:33:44 am »
The diagram is almost unreadable.  After considerable mofification of contrast etc. I finally got something I can read but the callouts are blurred.  Does the lead on the far right connect to the black pill?  After I build it, what is the next step?

That was before it was a PDF I guess? The PDF reads perfectly.
Everybody likes gadgets. Until they try to make them.
 

Online AndrewBCNTopic starter

  • Frequent Contributor
  • **
  • Posts: 571
  • Country: fr
Re: Yet another DIY GPSDO - yes, another one
« Reply #80 on: July 18, 2021, 08:51:12 am »
I'm build a combination of Lars GPSDO (the phase detector) and a SI5351 with a TCXO instead of a Xtal and special drivers to enable 1/1000 Hz frequency control instead of a VCXO
...
The corrections are well below 1e-8 and the absolute frequency is also stable within 1e-8 (no drift)
Can I assume the GPSDO is stable within 1e-8 or am I fooling myself?
Hi Erikka,
It sounds like you have a very nice design for a GPSDO.  :-+
And you are faced with the same problem as all GPSDO designers and experimenters: to measure the accuracy and stability of a clock, you need... a better clock!  ;)
Unfortunately, it's impossible to answer your question without more details on how your circuit and software are configured, but as far as I can tell from the graph you posted, it seems your GPSDO is indeed stable.
I would suggest you create a thread in this forum for your modified Lars' GPSDO and share the details of your design.
There is also the time-nuts mailing list where maybe you may get some expert advice. http://www.leapsecond.com/time-nuts.htm
 
The following users thanked this post: FransW

Offline MIS42N

  • Frequent Contributor
  • **
  • Posts: 511
  • Country: au
Re: Yet another DIY GPSDO - yes, another one
« Reply #81 on: July 18, 2021, 12:10:30 pm »
And you are faced with the same problem as all GPSDO designers and experimenters: to measure the accuracy and stability of a clock, you need... a better clock!  ;)
Maybe not. Stability is part of the specification of the oscillator. Usually specifies sensitivity to supply voltage, temperature and load variations. So if you are confident that those are under control, then you should get the specified stability.

Accuracy is not so easy. In the long term, a locked oscillator (one that generates on average 10M cycles for every 1pps) is accurate, because the 1pps (in the long term) is locked to NIST standards. If the sensitivity of the oscillator to the control voltage is known, and the assumption is made that all adjustments of control voltage are to compensate for inaccuracy (and therefore make the oscillator more accurate) then the change in control voltage can be converted to a change in frequency. In a locked oscillator that change should be larger than the frequency error, because it corrects the frequency inaccuracy and also returns the oscillator to sync with the 1pps. An example - if control voltage comes from a 16 bit DAC with 0-5V output, then each step is around 76uV. If the DAC value is changed by 1, and the sensitivity is 0.1V/Hz, then the frequency change is 760uHz. At 10MHz that's 0.76 parts in 10E-10. So the DAC change tells you roughly the accuracy. There is a caveat. Only if the DAC is changes at infrequent intervals (minutes). At shorter intervals the 1pps jitter and changes in satellite constellation contribute some short term inaccuracy. Which is why people like phase lock loops with long time constants like 20 minutes.
 

Offline thinkfat

  • Supporter
  • ****
  • Posts: 2150
  • Country: de
  • This is just a hobby I spend too much time on.
    • Matthias' Hackerstübchen
Re: Yet another DIY GPSDO - yes, another one
« Reply #82 on: July 18, 2021, 12:12:34 pm »
And you are faced with the same problem as all GPSDO designers and experimenters: to measure the accuracy and stability of a clock, you need... a better clock!  ;)
Maybe not. Stability is part of the specification of the oscillator. Usually specifies sensitivity to supply voltage, temperature and load variations. So if you are confident that those are under control, then you should get the specified stability.

Accuracy is not so easy. In the long term, a locked oscillator (one that generates on average 10M cycles for every 1pps) is accurate, because the 1pps (in the long term) is locked to NIST standards. If the sensitivity of the oscillator to the control voltage is known, and the assumption is made that all adjustments of control voltage are to compensate for inaccuracy (and therefore make the oscillator more accurate) then the change in control voltage can be converted to a change in frequency. In a locked oscillator that change should be larger than the frequency error, because it corrects the frequency inaccuracy and also returns the oscillator to sync with the 1pps. An example - if control voltage comes from a 16 bit DAC with 0-5V output, then each step is around 76uV. If the DAC value is changed by 1, and the sensitivity is 0.1V/Hz, then the frequency change is 760uHz. At 10MHz that's 0.76 parts in 10E-10. So the DAC change tells you roughly the accuracy. There is a caveat. Only if the DAC is changes at infrequent intervals (minutes). At shorter intervals the 1pps jitter and changes in satellite constellation contribute some short term inaccuracy. Which is why people like phase lock loops with long time constants like 20 minutes.

It is just the other way 'round. Accuracy is easy, but stability is difficult to assess.
Everybody likes gadgets. Until they try to make them.
 

Online AndrewBCNTopic starter

  • Frequent Contributor
  • **
  • Posts: 571
  • Country: fr
Re: Yet another DIY GPSDO - yes, another one
« Reply #83 on: July 18, 2021, 01:18:12 pm »
And you are faced with the same problem as all GPSDO designers and experimenters: to measure the accuracy and stability of a clock, you need... a better clock!  ;)
Maybe not. Stability is part of the specification of the oscillator.
...
Yes, of course both stability and accuracy are part of the specifications of the oscillator and various other components in a GPSDO. But specifications are not measurements. So I stand by my earlier statement: if you want to measure the accuracy and stability of a clock to within any error margin, you need a clock with an accuracy and stability that both exceed that error margin i.e. an even better clock as a reference! BTW that is the entire rationale behind the development of ever more accurate atomic clocks and the very reason GPSDOs exist, since a GPSDO is nothing more than a local clock/oscillator that uses three or more very remote atomic clocks as references (the ones onboard GPS satellites)! :-/O
 

Offline erikka

  • Regular Contributor
  • *
  • Posts: 183
  • Country: nl
Re: Yet another DIY GPSDO - yes, another one
« Reply #84 on: July 18, 2021, 03:51:08 pm »
To access the stability I may be able to use a SSA3021X+ at 1GHz using the 100th harmonic of 10MHz.
As the absolute frequency error of the SSA3021X+ is specified as <1PPM it is not possible to be sure about the absolute frequency.
But once the TCXO in the SSA3021X+ is stable (after 40 minutes according to the spec) the 100Hz minimum span and 1Hz RBW should show easily the 1e-8 boundary as +/- 10Hz so if the 10MHz harmonic at 1GHz is stable within +/- 10Hz on the SA both the SA and the GPSDO should be stable within 1e-8, correct?
 

Online AndrewBCNTopic starter

  • Frequent Contributor
  • **
  • Posts: 571
  • Country: fr
Re: Yet another DIY GPSDO - yes, another one
« Reply #85 on: July 19, 2021, 10:09:36 am »
To access the stability I may be able to use a SSA3021X+ at 1GHz using the 100th harmonic of 10MHz.
...

Erikka,

There are simpler ways to measure the stability and accuracy of your GPSDO, and again: they all involve using a better clock as a reference.
1. You can compare your GPSDO to the atomic clock DCF77 radio signal from Mainflingen.
2, You can take your GPSDO to a lab equipped with an atomic clock or a calibrated rubidium clock.
3. You could use the three-cornered hat method, which requires two more clocks.
4. You could use another GPSDO with known performance parameters as a reference. (that is the weakest option from all four, but it's also the cheapest)

Before you get started on any of these, I would suggest you ask yourself exactly what you are trying to measure, why it matters, and familiarize yourself with the concepts of Allan variance / Allan deviation.

Here are some links:
1. http://www.wriley.com/3-CornHat.htm APPLICATION OF THE 3-CORNERED HAT METHOD TO THE ANALYSIS OF FREQUENCY STABILITY
2. DCF77: https://en.wikipedia.org/wiki/DCF77
3. CLOCK CHARACTERIZATION TUTORIAL by Dr. Allan himself https://tf.nist.gov/general/pdf/2082.pdf

Just one last note: in general, in a correctly designed GPSDO with an active GPS lock, the long-term (over 1000s) stability is the same as that of the atomic clock on GPS satellites (excellent), and the short term (under 1000s) stability is the same as that of the OCXO (very good) or TCXO (good/acceptable) used in the GPSDO. And that is very easy to verify.
 

Offline erikka

  • Regular Contributor
  • *
  • Posts: 183
  • Country: nl
Re: Yet another DIY GPSDO - yes, another one
« Reply #86 on: July 19, 2021, 10:26:30 am »
AndrewBCN
Thanks for the excellent info.
My goal is a good lab frequency reference, at least 1e-8 accuracy (10Hz error at 1GHz) but preferably 1e-9 (1Hz error at 1GHz)
Furthermore this should be reached well within 10 minutes as I do not want to have my lab powered all the time.
Therefore I did not want to go for very long integration times and choose for the phase detector approach
After updating the phase detector I've reached 1e-9 short term frequency stability (40 seconds measurement interval)
The neo-7M PPS has 22ns fractional time uncertainty. Averaging over 40 seconds gives 0.5ns accuracy in the PPS so 1e-9 should be correctly measured (I hope)
Looking at the 1GHz harmonic of the 10MHz output on a SSA3021X+ shows no visible jumps or drift (after the SSA has warmed up) . This is option 4 of your proposed verification
Here is the latest run. Corrections (red trace) every 40 seconds are below 1e-9, which is reached after only 5 minutes
1237449-0" alt="" class="bbc_img" />
 

Offline erikka

  • Regular Contributor
  • *
  • Posts: 183
  • Country: nl
Re: Yet another DIY GPSDO - yes, another one
« Reply #87 on: July 19, 2021, 12:13:07 pm »
And here is the spectrum analyzer measurement of the 1GHz harmonic over about 10 minutes
The variations of the 1GHz harmonic are all within 2Hz
1237477-0" alt="" class="bbc_img" />

 

Online AndrewBCNTopic starter

  • Frequent Contributor
  • **
  • Posts: 571
  • Country: fr
Re: Yet another DIY GPSDO - yes, another one
« Reply #88 on: July 19, 2021, 01:32:27 pm »
AndrewBCN
Thanks for the excellent info.
My goal is a good lab frequency reference, at least 1e-8 accuracy (10Hz error at 1GHz) but preferably 1e-9 (1Hz error at 1GHz)
Furthermore this should be reached well within 10 minutes as I do not want to have my lab powered all the time.
...

Most GPSDOs provide better than 10E-9 accuracy and stability as described earlier, however most phase locked loops (PLLs) are tuned for longer time constants than 10 minutes, and that's after GPS lock acquisition, OCXO warming and calibration which all take some time. Your 10 minutes requirement also means you'll need a good rooftop GPS antenna.

In the case of my FLL-based STM32 GPSDO, 10E-9 frequency accuracy is achieved after a few (typically 4, if properly configured) 100s measurement cycles after GPS lock acquisition, OCXO warming and initial calibration (another 60s to 120s).

That spectrum analyzer is a very impressive instrument!
 

Offline erikka

  • Regular Contributor
  • *
  • Posts: 183
  • Country: nl
Re: Yet another DIY GPSDO - yes, another one
« Reply #89 on: July 19, 2021, 03:16:32 pm »
Most GPSDOs provide better than 10E-9 accuracy and stability as described earlier, however most phase locked loops (PLLs) are tuned for longer time constants than 10 minutes, and that's after GPS lock acquisition, OCXO warming and calibration which all take some time. Your 10 minutes requirement also means you'll need a good rooftop GPS antenna.
Thanks for the hint. Yes I have a rooftop GPS antenna.
What would be the reason for having a PLL loop time constant of 10 minutes? Is this because the temperature/pressure/whatever variation on a good OXCO are anyway slower? The TCXO I'm using even reacts to me getting close to it as its all still all open on the bench, let alone if I dare to breath close to it
 

Offline thinkfat

  • Supporter
  • ****
  • Posts: 2150
  • Country: de
  • This is just a hobby I spend too much time on.
    • Matthias' Hackerstübchen
Re: Yet another DIY GPSDO - yes, another one
« Reply #90 on: July 19, 2021, 04:59:15 pm »
If you followed the discussions on Lars thread, good OCXOs will allow time constants of over 1000 seconds, if you keep them nicely shielded from external temperature changes and air drafts.
Everybody likes gadgets. Until they try to make them.
 

Online AndrewBCNTopic starter

  • Frequent Contributor
  • **
  • Posts: 571
  • Country: fr
Re: Yet another DIY GPSDO - yes, another one
« Reply #91 on: July 19, 2021, 06:47:10 pm »
...
What would be the reason for having a PLL loop time constant of 10 minutes? Is this because the temperature/pressure/whatever variation on a good OXCO are anyway slower? The TCXO I'm using even reacts to me getting close to it as its all still all open on the bench, let alone if I dare to breath close to it
In any control loop, there is a time constant, which has to be optimized either by design or empirically.

As you have intuited, the reason for a long (several minutes) time constant for the PLL in GPSDOs is not because of temperature variations. I believe it is because the analog portion of the PLL control loop in most GPSDOs is designed to adjust the oscillator frequency by very small increments, as MIS42N calculated in his example, so the PLL requires a very long time constant to remove the "noise" from the GPS reference signal and avoid small oscillations in the output frequency.

Since you have read and modified Lars' code, you probably have noticed that he has a configurable time constant for his PLL control loop.

Which again brings me back to my 100% software configurable FLL: the time to achieve any given oscillator frequency accuracy only depends on the sophistication and performance of the control algorithm, and the fundamental resolution of measuring any frequency over a given time interval.
 

Offline erikka

  • Regular Contributor
  • *
  • Posts: 183
  • Country: nl
Re: Yet another DIY GPSDO - yes, another one
« Reply #92 on: July 19, 2021, 07:49:28 pm »
the PLL requires a very long time constant to remove the "noise" from the GPS reference signal and avoid small oscillations in the output frequency.

Thanks again for the hint. I measured the noise in the PPS versus the TCXO and its actually very small. The biggest excursion you see is the 22ns jumps up and down to build the fractional timing for the PPS

The measurement, one every second, shows the delta time between PPS in 0.5ns accuracy, you can see the drift of the oscillator in the NEO-7M but this is nicely corrected by adding/removing 22ns every so PPS pulses

" alt="" class="bbc_img" />


It seems the biggest reason to do averaging of the PPS is to get rid of the 22ns increment/decrementing.
« Last Edit: July 19, 2021, 07:57:02 pm by erikka »
 

Online AndrewBCNTopic starter

  • Frequent Contributor
  • **
  • Posts: 571
  • Country: fr
Re: Yet another DIY GPSDO - yes, another one
« Reply #93 on: July 19, 2021, 08:25:18 pm »
the PLL requires a very long time constant to remove the "noise" from the GPS reference signal and avoid small oscillations in the output frequency.

Thanks again for the hint. I measured the noise in the PPS versus the TCXO and its actually very small. The biggest excursion you see is the 22ns jumps up and down to build the fractional timing for the PPS

The measurement, one every second, shows the time between PPS in 0.5nns accuracy, you can see the drift of the oscillator in the NEO-7M but this is nicely corrected by adding/removing 22ns every so PPS pulses

(Attachment Link) " alt="" class="bbc_img" />


It seems the biggest reason to do averaging of the PPS is to get rid of the 22ns increment/decrementing.

That's very interesting. Perhaps that recurring 22ns "noise" is quite simply the resolution of the NEO-7M which I believe is clocked at 48MHz? So by design the 1PPS pulse from the NEO-7M GPS receiver cannot have a resolution higher than 1/48MHz ~= 21ns to which you must add the approx, 1ns resolution of Lars' circuit, so you get 22ns?

Unfortunately Lars is not among us to share his deep knowledge of these questions...
 

Offline erikka

  • Regular Contributor
  • *
  • Posts: 183
  • Country: nl
Re: Yet another DIY GPSDO - yes, another one
« Reply #94 on: July 20, 2021, 05:05:53 am »
That's very interesting. Perhaps that recurring 22ns "noise" is quite simply the resolution of the NEO-7M which I believe is clocked at 48MHz? So by design the 1PPS pulse from the NEO-7M GPS receiver cannot have a resolution higher than 1/48MHz ~= 21ns to which you must add the approx, 1ns resolution of Lars' circuit, so you get 22ns?
I should have mentioned 21ns instead of 22ns. And yes, its the resolution of the NEO-7M clock.
The circuit from Lars can be greatly simplified and added to any GPSDO having a spare analog input to increase the measurement resolution.
Look at the bottom of here: https://github.com/erikkaashoek/Arduino_SI5351_GPSDO
The circuit I use takes the 2.5MHz as input but it will equally work (even with possibly better resolution) using the 10MHz signal
The Vphase is the analog representation of the time between the up edge of the PPS and the first up edge of the 2.5MHz (or 10MHz) and it has to be sampled shortly after the PPS when the capacitor is charged but did not yet have time to uncharge. This is easy using the PPS to drive an interrupt which you have anyway.
For best linearity the ADC should have a range upto 1V and the R1 should be matched to just stay within that range for the longest duration.
Lars did some tricks to compensate for non-linearity but this only has impact on the loop speed and as its speed is reduced anyway when below 10e-8 it really does not matter.
 

Offline MIS42N

  • Frequent Contributor
  • **
  • Posts: 511
  • Country: au
Re: Yet another DIY GPSDO - yes, another one
« Reply #95 on: July 20, 2021, 12:20:08 pm »
Another reason for averaging is that standard GPS modules receive one frequency band so don't fully compensate for ionospheric conditions. Advanced modules receive more than 1 band and are able to compensate by comparing them. Feed the NMEA data into a program like VisualGPS for a day and it shows deviations of several meters, each meter is about 3ns difference. Also for timing the best source is the satellite highest in the sky, but for position calculation it is better to have a scatter. So a standard GPS module is different from a timing module.

Manufacturers specify the stability of an OCXO after it has warmed up for a specified period, and that period is usually longer than 10 minutes. So expecting a GPSDO based on an OCXO to be OK after 10 minutes may be unrealistic. This might not be a problem with a TCXO because it doesn't have a warm up period. I have not used a TCXO.
 
The following users thanked this post: AndrewBCN

Offline erikka

  • Regular Contributor
  • *
  • Posts: 183
  • Country: nl
Re: Yet another DIY GPSDO - yes, another one
« Reply #96 on: July 20, 2021, 03:24:23 pm »
Let me try to summary some GPSDO system design parameters we have discussed.

Counting the 10MHz pulses: 1 seconds gives 10e+7 count, 1000 seconds gives 10e+10 count. To reach 10e-10 accuracy you must at least count 1000 seconds to know if you are within the 10e-10 boundary. To correct to stay within 10e-10 you must count longer.

Measuring the phase of the PPS (once locked) from 2.5MHz can be done with at least 0.5ns accuracy, using the 10MHz for the phase may give 0.1ns accuracy. Without taking the fractional time of the GPS PPS into account, measuring one PPS with 0.1ns accuracy is sufficient to reach 10e-10

Including the 21ns fractional clock jitter of the PPS from the NEO-x modules gives 210 times less accurate time so you need to measure 210 times longer so to reach 10e-10 you need to measure the phase for 210 seconds. This 21ns clock jitter has exactly the same impact on counting the pulses but for 10e-10 accuracy using a 10MHz clock you already need to measure 1000 seconds so the 21ns PPS jitter has no impact when counting pulses.

This indicates that a FLL should count for at least 100 minutes to be able to adjust and remain within 10e-10 so the drift of the 10MHZ oscillator within 100 minutes should be well below 10e-10
Adding the phase measurement could reduce the measurement time needed to reach 10e-10 with a factor of 5. When using a GPS PPS without the 21ns PPS jitter this reduction could be much bigger.

The GPS position has an uncertainty in the order of 10ns leading to noise in the PPS of the same magnitude. Elimination of the position noise to reach 10e-10 requires at least 100 seconds measurement which is not relevant for the phase measurement method  (as its smaller then 210 seconds) and also irrelevant for the pulse counting method as the measurement time is already 1000 seconds to reach 10e-10

Is this a correct summary?
« Last Edit: July 20, 2021, 04:30:23 pm by erikka »
 
The following users thanked this post: AndrewBCN

Offline MIS42N

  • Frequent Contributor
  • **
  • Posts: 511
  • Country: au
Re: Yet another DIY GPSDO - yes, another one
« Reply #97 on: July 21, 2021, 03:56:48 am »
Let me try to summary some GPSDO system design parameters we have discussed.

Counting the 10MHz pulses: 1 seconds gives 10e+7 count, 1000 seconds gives 10e+10 count. To reach 10e-10 accuracy you must at least count 1000 seconds to know if you are within the 10e-10 boundary. To correct to stay within 10e-10 you must count longer.

Measuring the phase of the PPS (once locked) from 2.5MHz can be done with at least 0.5ns accuracy, using the 10MHz for the phase may give 0.1ns accuracy. Without taking the fractional time of the GPS PPS into account, measuring one PPS with 0.1ns accuracy is sufficient to reach 10e-10

Including the 21ns fractional clock jitter of the PPS from the NEO-x modules gives 210 times less accurate time so you need to measure 210 times longer so to reach 10e-10 you need to measure the phase for 210 seconds. This 21ns clock jitter has exactly the same impact on counting the pulses but for 10e-10 accuracy using a 10MHz clock you already need to measure 1000 seconds so the 21ns PPS jitter has no impact when counting pulses.

This indicates that a FLL should count for at least 100 minutes to be able to adjust and remain within 10e-10 so the drift of the 10MHZ oscillator within 100 minutes should be well below 10e-10
Adding the phase measurement could reduce the measurement time needed to reach 10e-10 with a factor of 5. When using a GPS PPS without the 21ns PPS jitter this reduction could be much bigger.

The GPS position has an uncertainty in the order of 10ns leading to noise in the PPS of the same magnitude. Elimination of the position noise to reach 10e-10 requires at least 100 seconds measurement which is not relevant for the phase measurement method  (as its smaller then 210 seconds) and also irrelevant for the pulse counting method as the measurement time is already 1000 seconds to reach 10e-10

Is this a correct summary?
It's a bit more complex.

Regarding the jitter in the 1pps - assuming the GPS module outputs the 1pps at the next available clock cycle from when it should be produced, it will be delayed by a random amount between 0 and 21ns. If it is truly random, the mean delay is 10.5ns and the statistical uncertainty is +- 21ns/n where n is the number of observations. So for 100 observations the mean delay will be 10.5ns +- less than 0.5ns. If a PLL is used with a time constant > 100s then it is insignificant. In reality the constraint 'truly random' is not true, the jitter will show beats with 10MHz but a 48MHz clock should beat quickly enough that a period of 100 observations is pseudo random. So the jitter can be ignored if the measurement period is long.

The situation with the GPS module is not so clear cut. The uncertainty of the position (and by inference, the 1pps) depends on the specific module, the position of satellites used, the number of satellites used, the constellations they are in (GPS, Glonass, Bidou, etc), the strength of the received signals. The receiver calculates a DOP (dilution of precision) and if that is consistently high then the 1pps can have a lot of variation (in addition to the jitter). There is a specification somewhere that says something like 99% of 1pps within 30ns of true with good signal. This may be a bell curve distribution (does anyone know) so more observations means higher confidence. Again 100 seconds of data should be enough to reduce errors to the point the data is usable if the signal is good.

If the oscillator is running at 10MHz with an error of less than 1E-10, and assuming the oscillator is stable and the 1pps arrival time is known accurately (even though the 1pps itself is jumping around a bit), then 100 seconds should be plenty of time to verify it. The uncertainty in measurement should be small enough to make that call.

The real problem is if the measurement shows the oscillator is off by more than 1E-10. Then the mechanism to correct comes into play. That is a whole new can of worms, each strategy has benefits and drawbacks. Most schemes the better they are at averaging, the slower they are to converge. So to get the oscillator error within 1E-10 may take longer than verifying it is achieved.
 

Offline erikka

  • Regular Contributor
  • *
  • Posts: 183
  • Country: nl
Re: Yet another DIY GPSDO - yes, another one
« Reply #98 on: July 21, 2021, 06:43:12 am »
If the oscillator is running at 10MHz with an error of less than 1E-10, and assuming the oscillator is stable and the 1pps arrival time is known accurately (even though the 1pps itself is jumping around a bit), then 100 seconds should be plenty of time to verify it. The uncertainty in measurement should be small enough to make that call.

The real problem is if the measurement shows the oscillator is off by more than 1E-10. Then the mechanism to correct comes into play. That is a whole new can of worms, each strategy has benefits and drawbacks. Most schemes the better they are at averaging, the slower they are to converge. So to get the oscillator error within 1E-10 may take longer than verifying it is achieved.
Sorry for being slow to understand. In 100 seconds you can count 10e+9 of the 10MHz pulses that happened between the previous up edge of the PPS pulse and the up edge of the current PPS pulse.
To know if the 10MHz is within 10e-10 correct you need to count at least 1000 seconds. To know in what direction to adjust the PLL to stay within 10e-10 you need to count even longer, say 3000 seconds
When counting pulses for 100 seconds a long averaging time in the PLL does not help as the PLL will simply drift till it exceeds the 10e-9 boundary (e.g. you count 1 pulse too many or too less) and then be kicked back. If you not only count the pulses but also measure with sufficient accuracy when the last up edge of the 10MHz clock arrives versus the 1PPS up edge, this is what Lars did with his phase measurement, you get additional accuracy. Normally the 10MHz clock ticks every 100ns. IF you can measure the clock up edge versus the PPS up edge within 21ns you have gained a factor 5 accuracy, which is still not enough to keep the PPL within 10e-10, regardless of a long integration time. Using the phase detector you need probably 600 seconds.
Any shorter measurement time sends noise into the PLL loop

Here a table showing the measurements and corrections as used in my GPSDO showing the counting of the pulses, even with 80 seconds to count, does not provide any information once below 10e-9
" alt="" class="bbc_img" />

 

Offline erikka

  • Regular Contributor
  • *
  • Posts: 183
  • Country: nl
Re: Yet another DIY GPSDO - yes, another one
« Reply #99 on: July 21, 2021, 08:14:35 am »
Like I said I'm slow to understand and my assumptions where wrong!!!!
The GPSDO is not trying to stay within the exact count but at the exact transition between one too less and just enough so without jitter you should be able to adjust, given enough time, to any accuracy, even when measuring every second.
The jitter of the PPS and the jitter of the GPS signal limit the accuracy of the PPS to the order of 20ns, when measuring over 100 seconds you reduce this jitter to 0.2ns per second e.g. 2.0e-9. This then feeds into a PLL loop that averages this measurement every 100 seconds over sufficient time to reduce to well below 3.0e-11 error to avoid correcting too much so the the PLL loop time should be well above 100 minutes
Hope I'm now understanding this. Sorry for wasting your time.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf