Author Topic: Lars DIY GPSDO with Arduino and 1ns resolution TIC  (Read 322400 times)

0 Members and 4 Guests are viewing this topic.

Online iMo

  • Super Contributor
  • ***
  • Posts: 5241
  • Country: bj
Re: Lars DIY GPSDO with Arduino and 1ns resolution TIC
« Reply #850 on: January 20, 2021, 02:45:57 pm »
..
I conclude that for best results, maximum effort should go into building a very stable OCXO. Then really loosely couple it to the GPS system. For example if an OCXO could be guaranteed to run uncorrected for 24 hours and not lose or gain more than a couple of cycles, then a burst of 1ppS for a minute a day would be enough to work out a correction for the next 24 hours. It wouldn't matter if the 1ppS was out by 100nS, it represents an error of little more than 1 part in 10^-12 over a day. Any cheap GPS module would deliver that sort of result, all the effort to get 1ppS accurate to 10nS is unnecessary.
Something to discuss?
The short term drift of an [good] OCXO is _much_ lower than the short term drift of the GPS'es 1pps signal, afaik.
Long term "averaged" GPS phase diff info may improve the long term drift of the OCXO.
A few second long burst of GPS 1pps will not help you. You need to average many phase differences between GPS'es 1pps edge and the edge of the OCXO signal to get some useful information for driving the DAC. Usually it takes at least 500-1000 seconds, or more..

PS: have a look into the NEO (for example) modules datasheets - the jitter of the GPS 1pps output is XXns at each edge..

« Last Edit: January 20, 2021, 03:12:35 pm by imo »
Readers discretion is advised..
 

Offline MIS42N

  • Frequent Contributor
  • **
  • Posts: 518
  • Country: au
Re: Lars DIY GPSDO with Arduino and 1ns resolution TIC
« Reply #851 on: January 21, 2021, 01:44:43 am »
A few second long burst of GPS 1pps will not help you. You need to average many phase differences between GPS'es 1pps edge and the edge of the OCXO signal to get some useful information for driving the DAC. Usually it takes at least 500-1000 seconds, or more..

PS: have a look into the NEO (for example) modules datasheets - the jitter of the GPS 1pps output is XXns at each edge..
I disagree. Imagine a really good DOXCO that is good for 1 part in 10^-12 stability but its frequency is off a fraction. For argument, 1 part in 10^-9 (pretty bad) - a drift of 1 cycle per 100 seconds. The GPS is turned off when the 1ppS and OCXO agree, then on again 86,400 seconds (1 day) later. ONE 1ppS is received and noted that it is 86.5uS from when it was expected if the oscillator was exactly 10MHz. Even though there is just one reading it can be deduced (from the know jitter of the GPS) that an accurate 1ppS would arrive somewhere between -100nS (86.4uS) and +100nS (86.6uS). The oscillator may also have drifted by 1 cycle (add another 100nS). If the sensitivity of the oscillator to control volts change is known, a correction can be applied knowing the error is 1 part in 10^-9 +- less than 3 parts in 10^-12 (200nS/86,400S).

Is there something wrong with this logic? it is why I thought this is worth discussing.
 

Online iMo

  • Super Contributor
  • ***
  • Posts: 5241
  • Country: bj
Re: Lars DIY GPSDO with Arduino and 1ns resolution TIC
« Reply #852 on: January 21, 2021, 12:52:37 pm »
The jitter of the 1pps signal is random. You cannot predict what happens next 1pps edge.
Therefore - the adjusting the OCXO against each 1pps edge would create jumps of 0.XXX Hz based on the actual jitter.
Also the OCXO drifts (1/f noise, other noises too, aging, temperature fluctuations, etc.).
Make ADEV or MADEV of your free running OCXO and you will get the picture how much it drifts within a day. The spot value of the phase after 86400 secs will be random too.
Afaik, the ADEV of a high stability free running OCXOs starts to climb up after a few/several minutes..
You have to average the phase differences - clean up the RMS of the 1pps jitter and OCXO with low pass filter - to get the "GPS quality". The time constant of the filter (digital, analog) is set usually from 500secs up, based on the setup, afaik (you may see the optimal time constant on the ADEV plot).
It does not mean the OCXO is locked in 500secs (an example) perfectly. The low pass is within a control loop, it takes many time constants to "lock". My double ovenized Trimble OCXO took min ~20-30 minutes to "lock" with the time constant calculated around 500 secs (XOR type analog control loop).


« Last Edit: January 21, 2021, 01:35:32 pm by imo »
Readers discretion is advised..
 
The following users thanked this post: Johnny B Good

Offline MIS42N

  • Frequent Contributor
  • **
  • Posts: 518
  • Country: au
Re: Lars DIY GPSDO with Arduino and 1ns resolution TIC
« Reply #853 on: January 22, 2021, 12:22:04 am »
The jitter of the 1pps signal is random. You cannot predict what happens next 1pps edge.
You can't predict *exactly* what will happen, but you can say within almost 100% certainty it will arrive within +-XnS of when it should. If I set X to 200nS then I would suggest it is so close to 100% that it doesn't matter. In a short period, 200nS is big deal. In a day, not so much. The point of my previous post.
Therefore - the adjusting the OCXO against each 1pps edge would create jumps of 0.XXX Hz based on the actual jitter.
Nobody would want to do that in real life. My imagined scenario was for illustration, and assumed a DOXCO that may not be within the financial resources of most people.
Also the OCXO drifts (1/f noise, other noises too, aging, temperature fluctuations, etc.).
In the longer term (say a day) isn't it just ageing (assuming temperature can be controlled). I worked in a laboratory (over 50 years ago) that had a 5MHz DOXCO that was calibrated every Monday morning against a cesium beam. Its ageing was so predictable after 3 months that we could do a daily adjustment of the control voltage, and at the next weekly calibration required only a little adjustment.
Make ADEV or MADEV of your free running OCXO and you will get the picture how much it drifts within a day. The spot value of the phase after 86400 secs will be random too.
Afaik, the ADEV of a high stability free running OCXOs starts to climb up after a few/several minutes.
And this is what I'm having trouble understanding. What are ADEV and MDEV and what is their relevance. I would think what is important to people is knowing that their oscillator is within +-0.X Hz of the target. Or for period measurement that it completes X number of cycles in that period. With an oscillator that adjusts its phase to agree with the GPS, the second is a given and only the first is relevant
You have to average the phase differences - clean up the RMS of the 1pps jitter and OCXO with low pass filter - to get the "GPS quality". The time constant of the filter (digital, analog) is set usually from 500secs up, based on the setup, afaik (you may see the optimal time constant on the ADEV plot).
It does not mean the OCXO is locked in 500secs (an example) perfectly. The low pass is within a control loop, it takes many time constants to "lock". My double ovenized Trimble OCXO took min ~20-30 minutes to "lock" with the time constant calculated around 500 secs (XOR type analog control loop).
I have gone off on a tangent. I use a limit strategy. I allow the OCXO to 'free run' until it is about 1 cycle out of sync with the GPS average. Then I apply a change to the control voltage to bring the two together again. I've attached a log from the microprocessor of nearly a day's running. In that time it applied changes on average at more than hourly intervals.
The control volts assumes an exact 5V supply and I'm pretty sure the actual 5V changes with temperature and is the main reason it needs adjusting. The last reading was in the morning when the temperature was on the rise (overnight 19C, expected top over 30C). The ppb figures are calculated knowing the V/Hz relationship of the OCXO. The voltage is quoted to 7 figures as it is derived from a synthesized 24-bit (almost) DAC. The last digit is rubbish but the rest are significant.
The circuit is ridiculously simple, I attached it to my first post https://www.eevblog.com/forum/projects/lars-diy-gpsdo-with-arduino-and-1ns-resolution-tic/msg3334250/#msg3334250. It relies heavily on software. The control is dynamic and will apply corrections at a minimum of 5 second intervals if needed, but once it settles it uses the last 2048 seconds of 1ppS to calculate the difference between GPS and OCXO. This is an artificial limit due to limitations on the arithmetic. Is this is equivalent to a self adjusting low pass filter? I don't know.
The only 'tuning' I've done is on the limit. I tried a few different strategies and a +-1 Hz deviation seems to work OK.
 

Offline MIS42N

  • Frequent Contributor
  • **
  • Posts: 518
  • Country: au
Re: Lars DIY GPSDO with Arduino and 1ns resolution TIC
« Reply #854 on: January 28, 2021, 04:39:06 am »
I'm surprised nobody replied to my question - I am genuinely perplexed. What are MDEV and ADEV and how are they relevant to GPSDOs? Are they more important than knowing your oscillator is within +-so much of the target frequency. Does the strategy I use (free run the oscillator until it is 'out of phase' by eg 360 degrees (one cycle) then adjust the control voltage to bring it into phase again) have MDEVs and ADEVs?
My design criteria was the cheapest useful GPSDO. I chose 10MHz+-0.01Hz (1 part in 10^-9) as being 'useful'. Is this a useful value?
I also wondered what is a realistic target for a more precise oscillator. I thought 1 part in 10^-11 as this is better than an uncalibrated rubidium clock. Using the free run strategy this is 1 cycle deviation in 3 hours. I think that is doable.
 

Offline nealix

  • Regular Contributor
  • *
  • Posts: 78
  • Country: us
Re: Lars DIY GPSDO with Arduino and 1ns resolution TIC
« Reply #855 on: January 28, 2021, 04:41:44 am »
I might suggest a useful article:

http://www.stable32.com/MDEV%20Versus%20ADEV.pdf

Cheers,

Neal
 
The following users thanked this post: MIS42N

Offline MIS42N

  • Frequent Contributor
  • **
  • Posts: 518
  • Country: au
Re: Lars DIY GPSDO with Arduino and 1ns resolution TIC
« Reply #856 on: January 28, 2021, 10:44:35 am »
I might suggest a useful article:

http://www.stable32.com/MDEV%20Versus%20ADEV.pdf

Cheers,

Neal
Thanks but it didn't make much sense. I followed a few of the references and they were equally unhelpful. I guess I need to find someone who does understand it to explain the concepts without Greek letters and references to formula.
 

Online 2N3055

  • Super Contributor
  • ***
  • Posts: 7276
  • Country: hr
Re: Lars DIY GPSDO with Arduino and 1ns resolution TIC
« Reply #857 on: January 28, 2021, 11:28:11 am »
Measurement, analysis and specification of jitter (frequency stability if you wish) of frequency source is done by using statistical math.
You cannot talk about it without some math involved. In fact, all measurement and measurement science are a statistical discipline.

Frequency of any oscillator will not be constant. It will vary all the time, by different amounts, influenced by many factors in the real world.  So your oscillator will newer have exact frequency.. Piloted on graph frequency won't be just one point. It will be interval, a "cloud" of possible values, so not a single point but more of circle,where somewhere inside your frequency will be wondering around...

Alan deviation ( and its variation MDEV ) is one of statistical measurements that is meant to look at stability of frequency as the time passes....

If you quickly search on internet, you will find introductory texts on this topic, that are not very math heavy but explain it conceptually.
 
The following users thanked this post: MIS42N

Online iMo

  • Super Contributor
  • ***
  • Posts: 5241
  • Country: bj
Re: Lars DIY GPSDO with Arduino and 1ns resolution TIC
« Reply #858 on: January 28, 2021, 04:41:29 pm »
@MIS42N: your design may work fine provided your ocxo works fine and the measurement and averaging of the phase differences is consistent. Btw., my gpsdo system is even simpler than yours, it is just a NEO module, a fixed divider by 500, a simple XOR gate and 3 resistors and 2 capacitors. No MCU involved in the phase measurement, averaging and setting the ocxo's control voltage :)
Would be great if you may start a new thread with details on your design and with some measurements you have done with your new MAX6350 voltage ref and Morion MV89 ocxo.
« Last Edit: January 28, 2021, 04:44:19 pm by imo »
Readers discretion is advised..
 
The following users thanked this post: Jacon, Johnny B Good

Offline MIS42N

  • Frequent Contributor
  • **
  • Posts: 518
  • Country: au
Re: Lars DIY GPSDO with Arduino and 1ns resolution TIC
« Reply #859 on: January 29, 2021, 02:55:26 am »
Measurement, analysis and specification of jitter (frequency stability if you wish) of frequency source is done by using statistical math.
You cannot talk about it without some math involved. In fact, all measurement and measurement science are a statistical discipline.

Frequency of any oscillator will not be constant. It will vary all the time, by different amounts, influenced by many factors in the real world.  So your oscillator will newer have exact frequency.. Piloted on graph frequency won't be just one point. It will be interval, a "cloud" of possible values, so not a single point but more of circle,where somewhere inside your frequency will be wondering around...

Alan deviation ( and its variation MDEV ) is one of statistical measurements that is meant to look at stability of frequency as the time passes....

If you quickly search on internet, you will find introductory texts on this topic, that are not very math heavy but explain it conceptually.
Maybe I understand more than I think. I get that an oscillator is slightly unstable no matter - probably an outcome of Heisenburg's uncertainty principle. But I can't figure out how that relates to a GPSDO, except to characterise the oscillator. And that is usually provided in the specifications. Stability is not accuracy and I thought the purpose of a GPSDO was to provide accuracy to something that is intrinsically stable.

My perhaps naive thinking is the ideal is to build an oscillator that when compared with 1ppS today and then compared again in a week shows no deviation. In practice, this is statistically unlikely and any measurement has uncertainties as well. I thought the quality of the oscillator was measuring how far it had deviated. Maybe that is expressed as an ADEV? I know it is possible to build an oscillator that would gain or lose less than a cycle in a week, such were at one time the frequency standard for the world before cesium beam was perfected.

As pointed out by someone previously, just one 1ppS is not that great and it is better to average over a period. So maybe take a day's worth and average them. That reduces the uncertainty of the comparison.

The technique I am currently using is based on those thoughts. The uP uses the oscillator clock as its clock, has an internal x4 PLL so is able to determine arrival time of the 1ppS to within 25nS. I am using a cheap NEO with good viewing, the 1ppS are fairly consistent. The 1ppS readings are grouped (arithmetic averaged) into between 5 and 8 groups. The group size starts as single readings but as time passes are grouped in powers of 2 (2 readings, 4 readings ... up to 256 readings). Then a least squares linear fit is calculated. This then is used to calculate a slope (rate at which the frequency is changing compared to the 1ppS), a calculated current deviation, and if the slope is converging (deviation going down) how long until deviation is around zero. Nothing is done unless the deviation hits some limits.

Because of the simplicity of the circuit, the design frequency target is 10MHz +- 0.01Hz (Is this an ADEV of 10^-9 ?). It is assumed this is achieved if after 100 seconds running the deviation is less than 100nS. Also using the known V/Hz slope of the oscillator (about 0.1V/Hz) a change of control voltage is less than 10mV. Much of the arithmetic is based on the design target, the maximum set of readings used for calculations is 8 groups of 256 averages, just over 2000 seconds. It is more than sufficient to do calculations to achieve the design, but not good enough for 10MHz +- 0.0005Hz.

So I think I understand the physics, but not the mathematics. I shall see if I can find that introductory text and thanks for taking the time to reply.
 

Offline MIS42N

  • Frequent Contributor
  • **
  • Posts: 518
  • Country: au
Re: Lars DIY GPSDO with Arduino and 1ns resolution TIC
« Reply #860 on: January 29, 2021, 03:17:05 am »
Would be great if you may start a new thread with details on your design and with some measurements you have done with your new MAX6350 voltage ref and Morion MV89 ocxo.
A good idea. It may be a month or two away. I am working on the current design to make it user friendly. It now has a primitive user input. It can control what gets logged on the serial output, and an option to pass thru the NMEA data instead of logging. It also logs date and time on request. I want to add a history log of the last n (probably 10) control adjustments, a reset, a recalibration, and if the average control voltage is written away at intervals to speed the next startup (it is written after calibration but not updated after that). Also I'd like the single LED to be meaningful. At the moment it has a variety of flash patterns to indicate status. The nicest one I think is when it gets control of the oscillator (a few minutes needed for warm up) it double flashes every second, and continues to do so until the estimated frequency is within +-0.01Hz (another 3 or 4 minutes) when it goes to a single flash per second. I think that's what an average user would find useful.

I'm also working on a PCB design.
 

Online iMo

  • Super Contributor
  • ***
  • Posts: 5241
  • Country: bj
Re: Lars DIY GPSDO with Arduino and 1ns resolution TIC
« Reply #861 on: January 29, 2021, 09:30:47 am »
@MIS42N: The 1pps RMS jitter of an NEO-8 module, for example, according to the datasheet, is 30ns. That is something like 180ns peak-peak, imho.. That is more than 1 clock period of your ocxo.
And sure, do start a new thread with your design when ready, people will comment there then..
« Last Edit: January 29, 2021, 09:49:35 am by imo »
Readers discretion is advised..
 

Offline MIS42N

  • Frequent Contributor
  • **
  • Posts: 518
  • Country: au
Re: Lars DIY GPSDO with Arduino and 1ns resolution TIC
« Reply #862 on: January 29, 2021, 10:32:15 am »
@MIS42N: The 1pps RMS jitter of an NEO-8 module, for example, according to the datasheet, is 30ns. That is something like 180ns peak-peak, imho.. That is more than 1 clock period of your ocxo.
And sure, do start a new thread with your design when ready, people will comment there then..
I do averages. The control logic is a bit complex. It allows the average deviation to grow to a limit, currently +- 5 of the measurement periods of 25nS (a phase error of 450 degrees?). So a 250nS span. This handles the NEO jitter OK (I'm using NEO-6, the cheapest I could find). When the limit is reached (which can be anywhere from a few seconds when warming up, to hours after running for days), a correction is applied that *should* reduce the deviation. At the same time, the limit is changed from +-5 to either 0,+10 or -10,0 depending which limit was reached. Ideally the correction reduces the deviation so it eventually hits 0, when another correction is applied that supposedly keeps it at zero and the +- limits are reinstated. There's some extra bits to deal with the possibility that the correction that should reduce the deviation doesn't work. This happens because the correction is proportional to the time it took to deviate - if the limit was hit after 500 seconds, then the correction should bring it back to zero in another 500 seconds. If it was 50 seconds, then take 50 to bring it back. If the time to hit the limit is thousands of seconds then the correction is tiny and may be insufficient. If this isn't dealt with sympathetically the algorithm can get vicious and forces a very rapid correction by altering the frequency by many ppb for a short time. I think I've got that covered now, it hasn't done it for many days
 

Offline Mike99

  • Regular Contributor
  • *
  • Posts: 130
  • Country: gb
Re: Lars DIY GPSDO with Arduino and 1ns resolution TIC
« Reply #863 on: January 29, 2021, 07:02:54 pm »
Hi everyone, I'd like some OCXO advice please.

I've just bought two Blileleys from this seller:

https://www.ebay.co.uk/itm/USED-Bliley-NV47A1282-10MHz-Sinewave-OCXO-Crystal-Oscillator-5V-EFC/253708936206?hash=item3b123b240e:g:u0EAAOSwTfdbL7qA

They arrived in just 10 days in good condition, undamaged and marked with connections (and a free teddy bear  :-+)).

These are NV47A models. I have the data sheet for NVG47A - does anyone know the difference?

Is it possible to tell the date of manufacture from the serial numbers?

Thanks,

Mike
 

Online iMo

  • Super Contributor
  • ***
  • Posts: 5241
  • Country: bj
Re: Lars DIY GPSDO with Arduino and 1ns resolution TIC
« Reply #864 on: January 30, 2021, 05:00:45 pm »
0443 = year 2004, 43rd week..
NV47A - see datasheet below..
Readers discretion is advised..
 
The following users thanked this post: Johnny B Good, Mike99

Offline Mike99

  • Regular Contributor
  • *
  • Posts: 130
  • Country: gb
Re: Lars DIY GPSDO with Arduino and 1ns resolution TIC
« Reply #865 on: January 30, 2021, 05:12:57 pm »
0443 = year 2004, 43rd week..
NV47A - see datasheet below..

Thank you, that's very helpful. The other device is 2008 then. They should be either nicely aged or worn out (but they seem to work very well).

The NV47A data sheet is interesting as it says TTL or HCMOS output whereas these devices are sinewave into 50 ohm (as per the NVG47 data sheet).

Confusing!

Mike
 

Online iMo

  • Super Contributor
  • ***
  • Posts: 5241
  • Country: bj
Re: Lars DIY GPSDO with Arduino and 1ns resolution TIC
« Reply #866 on: January 30, 2021, 05:24:46 pm »
NV47A datasheet says standard is "sinewave", cmos/ttl is "optional"..
Readers discretion is advised..
 

Offline texaspyro

  • Super Contributor
  • ***
  • Posts: 1407
Re: Lars DIY GPSDO with Arduino and 1ns resolution TIC
« Reply #867 on: January 30, 2021, 11:21:17 pm »
The NV47 has a common failure mode where the output coupling capacitor solder joints fail amd the output signal drops to very low levels.
 

Offline Mike99

  • Regular Contributor
  • *
  • Posts: 130
  • Country: gb
Re: Lars DIY GPSDO with Arduino and 1ns resolution TIC
« Reply #868 on: January 31, 2021, 11:02:34 am »
NV47A datasheet says standard is "sinewave", cmos/ttl is "optional"..

Sorry, my mistake for reading too quickly.  :-[

The NV47 has a common failure mode where the output coupling capacitor solder joints fail amd the output signal drops to very low levels.

Thanks for the warning! So far these two look very good. The measured output is +8dBm into 50 ohms.

Mike
 

Offline bingo600

  • Super Contributor
  • ***
  • Posts: 2034
  • Country: dk
Re: Lars DIY GPSDO with Arduino and 1ns resolution TIC
« Reply #869 on: January 31, 2021, 01:55:51 pm »
The NV47 has a common failure mode where the output coupling capacitor solder joints fail amd the output signal drops to very low levels.

Long time No Hear  :D
 

Offline Johnny B Good

  • Frequent Contributor
  • **
  • Posts: 830
  • Country: gb
Re: Lars DIY GPSDO with Arduino and 1ns resolution TIC
« Reply #870 on: February 06, 2021, 06:41:15 pm »
By definition, if you cannot "see" the GPSDO instability or accuracy with the test equipment you have, it's axiomatically good enough.

 Apology for the rather tardy response (Yeah, two whole months! ::) ) but I'd had cause to review the last 4 pages of this thread and it had occurred to me that I should have responded to this with:-

 Yeah, that's why I landed up blowing some 200 quid on an LPRO-101  ;D

 Thereby explaining just how easy it is to become a (small) Timenut without even trying! :palm:

 I'm now currently (and very slowly) converting that LPRO-101 into a proper temperature and barometrically stabilised RFS  which means I'll be using my Nano3 collection, not for this Lars project (at least not straight away) but to apply barometric compensation since the only barometric sensors that provide an analogue output are all too bloody expensive, leaving the most cost effective option as a cheap BMP280 module and Nano3 (and a logic level converter board) to apply a control signal to the Rb's external C field terminal.

 The room ambient temperature sensor input signal can still be dealt with purely in the analogue domain, the same as my existing baseplate temperature PWM fan speed controller setup but it might be easier to let the Nano3 monitor the temp sensor on the BMP280 for this task. In principle, if not in practice, I should be able to completely null out the residual ambient temperature effect on my existing fan controlled baseplate temperature regulator by monitoring the incoming room air.

 At the moment, I've reached the stage where the RFS is keeping within +/- 50 to 70ns over a 24 hour period of my GPSDO's 10MHz output. That is to say, having given up micromanaging the RFS 10uHz increments at a time to compensate the more gross room temperature variations (1 deg C or over) and leaving it alone for more than 12 hours, I can now observe what looks like a diurnal variation over a 60 to 70ns range centred around the GPSDO output. The weather has been obliging in that the barometric readings have been hovering within the 985 to 990 millibar range over the past few days of late.

 With room ambient compensated thermal control of baseplate temperature, topped off with barometric compensation, I have high hopes of actually seeing the ageing drift rate which may allow me to stabilise my RFS to 1x E-13 or better. Well, that's my RFS project's target. Whether I can hit that target is something else altogether but every project needs some end point to aim for and it's always best to aim high rather than low (the ordnance has less of a tendency to 'fall short'  :)).

 John

John
 

Offline MIS42N

  • Frequent Contributor
  • **
  • Posts: 518
  • Country: au
Re: Lars DIY GPSDO with Arduino and 1ns resolution TIC
« Reply #871 on: February 07, 2021, 02:26:51 am »
edit : side question : does any1 know if stuff like GPS RF LNA amp have any help in aiding stability? those that come in +18 +21dB? eg : NXP BGU8019X?
I think the stability of receivers is from the number of satellites they see with adequate signal. Also of course the design of the receiver itself. If the receiver is getting adequate signal, more signal isn't going to improve matters.

From my experience, an unobstructed view of the sky is the most important factor. I was struggling to get a 1ppS within a +-100nS window with the receiver in the house, and adding an antenna with supposed amplification made little difference. Moving the antenna outside improved things a bit, but that still had a limited view due to fences, nearby buildings, and the house itself blocking a fair bit of the sky.

The antenna is now on top of my balcony roof, a clear of view of the sky down to about 30 degrees above the horizon. The 1ppS is normally within a 50nS window which is pretty much all I could expect of a cheap GPS unit. I average the readings over a long period (256 seconds) and the averages rarely vary by more than a few nS.

From what I've read I'd say 1e-14 is out of the reach of all but a few. Rubidium is affected by variables like barometric pressure. Cesium is more stable but affected by magnetic fields (like changes to the earth's field due to passing trucks). Aim for 1e-12, 10MHz+-0.00001. Once that is in hand, shoot for the moon.
 

Offline thinkfat

  • Supporter
  • ****
  • Posts: 2161
  • Country: de
  • This is just a hobby I spend too much time on.
    • Matthias' Hackerstübchen
Re: Lars DIY GPSDO with Arduino and 1ns resolution TIC
« Reply #872 on: February 07, 2021, 10:57:13 am »
The stability is not so much from the number of satellites, but from the unobstructed view towards them. Especially multipath reception adds a lot of uncertainty to the derived time, hence if will massively influence the stability of the timing signal. Good receivers, especially those with overdetermined clock mode, can go with as little as one satellite to give a good timing signal, because they don't need to calculate a position.
Everybody likes gadgets. Until they try to make them.
 
The following users thanked this post: Johnny B Good

Offline Johnny B Good

  • Frequent Contributor
  • **
  • Posts: 830
  • Country: gb
Re: Lars DIY GPSDO with Arduino and 1ns resolution TIC
« Reply #873 on: February 07, 2021, 09:07:21 pm »
The stability is not so much from the number of satellites, but from the unobstructed view towards them. Especially multipath reception adds a lot of uncertainty to the derived time, hence if will massively influence the stability of the timing signal. Good receivers, especially those with overdetermined clock mode, can go with as little as one satellite to give a good timing signal, because they don't need to calculate a position.

 That's true enough as I confirmed to my own satisfaction several months back when I finally figured out that my suspicions of a firmware bug in my cheap M8T modules corrupting the antenna settings every time I tried to configure the elevation mask angle, disabling the active antenna option, completely cutting off all signals with the external GPS antenna (yet strangely only reducing signal levels from another active antenna with a 6 foot coax feeder I had set up a few feet from my office window), had actually been down to a faulty FTDI-232 module which seemingly only afflicted the NAV5 commands and corrupting the antenna configuration options.

 Once I'd replaced that weirdly faulty FTDI-232 module, I was finally able to experiment with different elevation mask angles rather than be forced to accept only the 5 deg default. Whilst testing with a mask angle of 42 deg, I eventually observed just one GPS SV above this mask angle with, gratifyingly, no loss of the timing signal (the M8N modules needed a minimum of 3 (or was it 4?) SVs to avoid losing lock), thus verifying beyond any doubt that what I'd purchased so cheaply (£41 for the first unit and £24 each for the next two) were indeed the genuine and defect free article.

 Pondering this result, it occurred to me that if this one and only GPS SV that had met this elevation mask criteria had happened to have been marked 'Out of Service' as they so often are (usually just two or three at a time out of the whole constellation but I had seen on at least one occasion almost half of the constellation being marked out of service :wtf:), I'd have been "Dead in the water" for possibly an hour or two as far as my basic, no frills GPSDO was concerned.

 As a consequence of this worrying observation, I reduced the mask angle to 30 deg to make sure I'd rarely, if ever, see less than two  GPS SVs above the mask angle at any one time and, more often than not, have three or more GPS SVs available. It's also why I chose to experiment with multiple constellations (GLONAS and Galileo being added to the mix) before discarding the GLONAS on account of its deleterious effect on timing (some 18ns adrift by my reckoning) and retaining the Galileo constellation which, despite my estimated 2ns discrepancy against the GPS constellation, seemed to endow some improvement in taming the ionospheric ToF variations which account for the 6ns or so of pk-pk variation that afflicts my single frequency GPS module's timing calculations.

 Adding the Galileo constellation provides insurance against a repeat of having half of the GPS constellation being marked out of service, leaving me without a single working SV in view and totally disrupting operation of my GPSDO, allowing the reference output to drop by half a Hertz or so simply by accident of the effect of my "Start from cold 'Tme to PLL lock' accelerator" add-on-circuit. This drop in frequency would have been even greater but for this add-on-circuit.

 Of course, an hour or two of total loss of GNSS timing data due to the use of a large elevation mask angle is readily shrugged off by any microcontroller based GPSDO design which can simply 'freeze' the DAC value at the last valid one as a minimal response if not otherwise capable of applying an ageing trend to reduce the holdover drift even further.

 Of course, a basic  hardware PLLed GPSDO has no such luxury feature, hence the need to take extra care in choosing an elevation mask angle when maximising the benefit of a surveyed in GPS timing module. However, now that I've recruited the Galileo SVs, I may be able to use a larger elevation mask angle value without undue risk of losing lock.

 I'd like to use a larger elevation mask angle to tame the ionospheric effects on the ToF but the only effective way to achieve a basic freezing of the last valid EFC voltage that immediately springs to mind involves cascading an ADC with a DAC between the PLL buffer amp and the EFC terminal on the OCXO which strikes me as being as much trouble as using a microcontroller to perform the PLL function in software and abandon the simplistic charms of the basic hardware PLLed design altogether.

 I suspect there may be simpler analogue solutions that can offer better than my current "Half Hertz drop holdover" performance which may be worth expending time on a duckduckgo research project (and another look at the James Miller circuit for a possible clue by four).

 For home lab hobbyist use, a good holdover performance is merely a nice but nonessential luxury to guard against the occasional loss of satellite lock for the odd half hour or so once in a blue moon event. Figuring out a way to improve the holdover performance will be, essentially, simply a matter of self satisfaction which is the essence of most hobby activities, If you can't achieve some level of satisfaction or, better yet, a feeling of smugness, then you just ain't doin' it right! ;D

 John
John
 

Offline thinkfat

  • Supporter
  • ****
  • Posts: 2161
  • Country: de
  • This is just a hobby I spend too much time on.
    • Matthias' Hackerstübchen
Re: Lars DIY GPSDO with Arduino and 1ns resolution TIC
« Reply #874 on: February 07, 2021, 09:17:26 pm »
In case anyone's interested, I've gotten hold of a small stash of Ublox LEA-M8T modules. They're all pulled from old equipment and still mounted on PCB cut-outs. I'm in the process of mounting them onto custom breakout boards I designed for the purpose. Depending on yield, I'll have some for sale. Contact me by PM if you're interested.
Everybody likes gadgets. Until they try to make them.
 
The following users thanked this post: Johnny B Good


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf