DIY GPSDO - Divide or Multiply? - Page 1
Forum section: electronics / general

author: t1d
author_rank: Super Contributor
timestamp: January 18, 2023, 12:23:00 pm
content: Re: Noob Metrology Knowledge Level – Novice/Hobbyist EE Knowledge – A nice lab for testing.I am investigating designing a DIY GPSDOs. As with achieving any electronic design goal, there are very many solutions that might be employed. Accordingly, I will attempt to pose my final question in such a manner as to solicit a very narrow answer…DIY GPSDOs typically source their reference frequency from a Ublox Clone. The clone captures the atomically accurate NMEA 1PPS. Thereafter, the clone, depending on its model, can output various synthesized frequencies, 10MHz being commonly desired. However, for the 10MHz frequency, the method of synthesis multiplication, or rather its signal result, is generally problematic, due to inherent mathematical constraints.Consider the common NEO-M8N. It may be programmed to output 10M waves per second, however, due to said mathematical constraints, the waves are not of equal duration. At least two wave duration times are interleaved to place 10M waves into the one second with the greatest accuracy.This means that nowhere within the one second period can a true 1/10M sample be found. Accordingly, the signal is complicated, if not wholly useless, to use as a reference to discipline a 10MHz OCXO.We are left with two possible paths…1) Divide the clone’s true 1PPS signal by 10M and compare that to the OCXO’s output, or2) Multiply the OXCO’s output by 10M and compare that to the clone’s 1PPS signal.And, here, we reach the overlying question. Given...- That the goal shall be to maintain the greatest magnitude of frequency accuracy of the output reference waveform with which to adjust the OCXO,- That DIYers work on limited budgets, and- Factoring in the limits of technology in commonly available electronic components of today...What do you think would be the better circuit to attempt to design? One that divides (#1, above,) or one that multiples (#2, above.)I understand that this is a very broad consideration, deserving of a full thesis. What I am hoping for is that one of the two options is clearly the better, or worse, for some reason that I have not yet learned. If I can discover the better approach, it will save a great deal of time and effort in development.Thank you for your interest and your help.

author: iMo
author_rank: Super Contributor
timestamp: January 18, 2023, 12:42:22 pm
content: NEO's output gives a "clean" frequency when the divider is an integer N= 4,5,6,7,8...Like 48MHz/N, thus targeted 10MHz does not provide a "clean" signal.Go with 12 or 8 or 6MHz instead.That is so with NEO 6/7, not sure how it is with 8.

author: t1d
author_rank: Super Contributor
timestamp: January 18, 2023, 01:06:52 pm
content: Thanks, imo. Yes, that is the math issue, of which I spoke. Yes, its true of the NEO 8, as well. My gear uses 10MHz external references, so that is the frequency that I need.I have thought about a combination method, as well... Take a clean 5MHz from the NEO 8 and multiple it by two. But, with my lack of knowledge with frequency circuits, I still need help to even considering that... So, I surely do appreciate your input.

author: Wallace Gasiewicz
author_rank: Super Contributor
timestamp: January 18, 2023, 09:10:13 pm
content: How are you going to compare the two signals?Maybe it would be easier to bring down the 10 MHz to 10 KHZ and the GPS up to 10 KHZ. then you might have an easier time getting components to deal with the comparison.

author: DimitriP
author_rank: Super Contributor
timestamp: January 19, 2023, 05:28:59 am
content: Your impression of what makes a GPSO "tick" (pun intended !) seems to be little skewed or incomplete.There are a lot of GPSDO designs out there, just a google search away so starting off to "design another one" is another wheel re-invention without having a specific existing design deficiency to overcome.

author: MIS42N
author_rank: Frequent Contributor
timestamp: January 22, 2023, 02:43:59 am
content: Quote from: t1d on January 18, 2023, 12:23:00 pmI am not sure of your terminology here. Should not 2) bedividethe OCXO's output by 10M (10MHz/10,000,000 = 1Hz) to compare with 1 pulse per second.Almost all schemes do comparisons at a lower frequency that 10MHz. The reason being that the OCXO discipline will have some sort of damping so it doesn't instantly change frequency. That runs the risk of the comparison skipping from one cycle to another.https://www.eevblog.com/forum/projects/lars-diy-gpsdo-with-arduino-and-1ns-resolution-tic/msg1278672/#msg1278672compares a 1MHz signal.If you want really cheap, my GPSDOhttps://www.eevblog.com/forum/projects/budget-gpsdo-a-work-in-progress/msg3481886/#msg3481886has no additional components for comparing the OCXO to the 1pps, it compares at 1Hz by using a microprocessor clocked by the 10MHz OCXO and dividing that internally. Don't be fooled by cheap, it easily delivers 10MHz±0.01Hz with a good GPS signal.There's a bit of discussion similar to your questionhttps://www.eevblog.com/forum/projects/gpsdo-using-a-10khz-instead-of-1hz-pps/msg4594417/#msg4594417If you are designing a GPSDO, you should think about what you want it to dobeforehow to do it. How accurate and how stable does it need to be? Alternately, set a budget and design to that. There are many more design questions that just the GPS to OCXO comparison. In the big picture, it is only a small part.

author: DavidKo
author_rank: Frequent Contributor
timestamp: January 25, 2023, 06:33:58 am
content: I think that the reason is simple. I will only use common terminology - we are dividing the frequency to go down with it. What t1d wrote in point 2 is wrong 10MHz need to be divided to get 1PPS, same as 1s need to be divided by 10M to get 10MHz (1ns).1. By multiplying 1Hz by 10M you multiply also the errors.2. By dividing 10MHz you divide the error - there you induce new errors given by divider.What came to my mind is good old trick of measuring repeating signals (same is used in counting by weighting). You measure for example 10 periods of pendulum and you know that with your precision (in this case how close you are to 10 MHz) 100 period should came between time a and b - you can go for a tea for the rest 90 periods and measure only the last 100 period. You can measure each period and do the average, but the precision of the "zero" position will be more critical.This in praxis can be seen in. You sync to one signal and looks to the position of second signal in big zoom. Ideal is when they are in phase, than you can zoom to the slowest time on your scope. You can use also the timer which measures delays between signals. If you check both rising and falling edge of the signal your error in frequency measurement will be multiplication of 1 Hz.1. For raw measurement to get 10MHz you use 10M divider to see if you have 10.xxxMHz, since the rising/falling edge method will have x*1Hz error.2. For fine comparison you use rising and falling edge and measure the difference between 1Hz and 10MHz. When you have same delay, than the signals are the same.3. You can simply sync to one signal and look how the second signal moves against it - the precision of such a measurement is given by the observation time, same like in good old days.

author: David Hess
author_rank: Super Contributor
timestamp: January 25, 2023, 03:01:15 pm
content: Quote from: t1d on January 18, 2023, 12:23:00 pmThe constraint is that the clock frequency of the UBlox internal counter cannot be divided by an integer to produce 10 MHz.QuoteHowever this is irrelevant because the internal clock frequency of the UBlox internal counter is *not* phased locked to GPS. The divided output frequency has phase and frequency discontinuities ever second, when the timing solution is updated, whether the divider is a whole number or not.Note that they could be phase locking their internal clock, but I have not kept track of current hardware. Some GPS receivers did this in the past. Whether they do so or not does not matter because the errors in the timing solution over short time periods are larger so the time constant used to lock the external oscillator to the GPS is much longer than any jitter from the mismatch between the internal oscillator and output frequency.QuoteEither will work, however it was pointed out to me not long ago on the forums that making the comparison at a higher frequency instead of once per second allows for a higher resolution measurement because averaging reduces the quantization error and noise of the measurement, simplifying the hardware.

author: DavidKo
author_rank: Frequent Contributor
timestamp: January 25, 2023, 07:15:47 pm
content: Quote from: David Hess on January 25, 2023, 03:01:15 pmI totally agree with you. Issue is, that you cannot cheaply get precise 10MHz source :-). If you can afford to own such a source, than time needed to get same precision as with GPSDO will be 10M times faster. Instead of 10000s stability interval, all can be done in 1ms - the time constants of things around will be slower and will be limiting factor in this case. In 1s you will get statistics that will not be achievable with 1PPS due to its stability. It is only statistics. With 10MHz source it is easier to get good results because all processes around us are slower.

author: MIS42N
author_rank: Frequent Contributor
timestamp: January 25, 2023, 09:19:19 pm
content: My GPSDO design averages the 1pps arrivals over a period (it seems 256 seconds is a good compromise between stability of the OCXO and the variability of the 1pps arrival times). Even though there is 22ns jitter in the raw figures, the average is statistically reliable within 2ns. Cheap GPS modules don't calculate the time accurate to 2ns due to all sorts of reasons, so it is good enough. The only way to beat this limitation is a dual frequency GPS module or where available SBAS augmentation. Then use the proprietary messages to adjust the 1pps arrival. A question I ask of GPSDO constructors is how accurate do you need? I only got one answer. If 1 part in 10^-10 is good enough, cheap GPS modules and averaging will deliver it. Better than that, be prepared to open your wallet.

author: miro123
author_rank: Frequent Contributor
timestamp: January 26, 2023, 07:51:52 pm
content: Easy explanation for beginners.later on you can look herehttps://www.eevblog.com/forum/projects/lars-diy-gpsdo-with-arduino-and-1ns-resolution-tic/