Is the NEO-6M PPS an unbiased estimator of 1Hz? - Page 1
Forum section: electronics / general

author: TimInCanada
author_rank: Regular Contributor
timestamp: November 07, 2019, 03:48:59 pm
content: I haven't been able to find if anyone has measured this. There is a UBlox appnote (https://www.u-blox.com/sites/default/files/products/documents/Timing_AppNote_%28GPS.G6-X-11007%29.pdf) on the 6 series used for timing. They give results for six hours without and with sawtooth correction:Without correction they're showing an average of -2.350 ns, and with correction -2.511ns. That sure seems like a lot, being 8.46 us per hour. (The statement in the appnote, "Please note that the average value is -2.35 ns, which could be set to zero by adding a user delay of the same but positive value.", isn't too comforting either. Do they mean all 6 series modules are off by that amount? Or do they mean every module would need to be calibrated against a cesium standard?) Wouldn't this amount of error mean a bug in the firmware?Texaspyro measured a F9P (https://www.eevblog.com/forum/metrology/ublox-f9p-pps-output-measurements/) and got an average of 0.000165522 ns without sawtooth correction and -0.109084539 ns with, also showing the sawtooth correction was shortening the pps a little over 0.1 ns.The Lars GPSDO used the pps from 6M modules, and seemed to report accurate long term averages.So, I'm puzzled. Has anyone measured the accuracy the 6M pps, and how did it come out?Tim

author: iMo
author_rank: Super Contributor
timestamp: November 07, 2019, 04:30:18 pm
content: That above accuracy of the 1PPS output is measured against a "reference" time:, ie. rubidium/cesium disciplined by GPS, etc.It does not mean you could accumulate the -2.5ns diffs against a "reference time" and it will then make 8.46us/hour, afaik.After 100hours it will be -2.5ns in average.Or otherwise, with the compensation the accuracy of the rising edge of the pulse at the 1PPS output will be -2.5ns in average (3ns stddev) against the reference edge.Mind the information in that pdf (page 10) the jitter free output signals are only those with frequency 48MHz/N, where N is an integer.

author: awallin
author_rank: Frequent Contributor
timestamp: November 07, 2019, 05:41:50 pm
content: FWIW, some recent F9T 1PPS data, against UTC(MIKE) (drift corrected active H-maser..)http://www.anderswallin.net/wp-content/uploads/2019/09/uBlox_F9T_timeseries-1-1024x680.pngand ADEV/TDEV:http://www.anderswallin.net/wp-content/uploads/2019/09/uBlox_oadev_tdev-1-1024x576.pngI think you need to refine your question, in order to get sensible answers.Are you interested in time(='phase') of the 1PPS, if so it needs to be measured against a time-scale such as UTC(k) at some UTC-lab, or some other approximation of UTC.Or are you interested in frequency, if yes, stability or accuracy, or both?all GNSS installations will have delays due to the antenna, antenna cable, and internal receiver delays. If you want the 1PPS to be a good approximation of UTC (as broadcast by GPS/galileo/glonass etc.) then you need to calibrate these delays.

author: TimInCanada
author_rank: Regular Contributor
timestamp: November 07, 2019, 09:51:07 pm
content: Quote from: imo on November 07, 2019, 04:30:18 pmNo, the way they present it, their PPS error must be accumulating. The histogram is the distribution of 21,567 period measurements of the PPS pulses. The article says it was over six hours, so those are sequential period measurements.Adding up all those measurements would give a sum 21,567 x (-2.350 ns) = 50.68 us short of 21,567 seconds.Assuming their master clock was perfect, the average frequency of their LEA-6T PPS would be 1.000 000 002 35 Hz, or 2350 ppt off.Assuming Texaspyro's 5071 was perfect, the average frequency of his F9P came out to 0.999 999 999 999 834 Hz, or 0.17 ppt off.Both tests were done over a period of several hours, maybe more for Tex's (I can't tell from the figures).I ask because many of the GPSDO projects are using something like the NEO-6M to discipline an oscillator using the PPS long term average. If that doesn't converge to 1 Hz, then the oscillators won't converge on 10 MHz.So, if a NEO-6M PPS is averaged over several hours, does it converge on 1 Hz?Tim

author: FriedLogic
author_rank: Regular Contributor
timestamp: November 08, 2019, 12:23:40 am
content: Quote from: TimInCanada on November 07, 2019, 09:51:07 pmNo, the error does not accumulate. It's not the error in the length of the 1s period (in which case it would accumulate) but rather the error between where the 1s pulse should be and where it actually is, which does not accumulate.

author: iMo
author_rank: Super Contributor
timestamp: November 08, 2019, 09:18:59 am
content: Quote from: TimInCanada on November 07, 2019, 09:51:07 pmThe NEO-6M is locked to the GPS signal. Except some variable propagation delays in the signal path, there is an uncertainty related to the NEO module as described in the above document, confirmed by the above measurement by awallin.The uncertainty of the example in the pdf - with 3ns stddev - says, that the pulses coming off the 1PPS output (it does not matter whether it is 8MHz, 10kHz or 1Hz) are off by -2.511ns in average with 3ns standard deviation (like with "3ns rms") when compared to the reference time (the reference time they have used is an rubidium/cesium source disciplined by the GPS). That -2.511ns with 3ns rms comes from the NEO module as the characteristics of the internal circuitry generating 1PPS.That -2.511ns is an averageoffset(it means it cancels out between two adjacent 1PPS signal rising edges) against the reference time they used for the measurement. So any measurement at any time they have done shows -2.511ns off in average against their reference time.Thus,based on that pdf - with compensation, with none other disturbing signal path effects- if you want to use the NEO's 1PPS output as an 1sec gating signal for your counter, while measuring an "exact" 1GHz frequency source, you will read 1.000.000.000 +/-20 (20=6.6*3ns) counts.PS: while using the NEO's 1PPS output as 1sec gating signal in "real conditions as shown in above awallin's graphics" you will read 1.000.000.000 +/- 140 counts..

author: TimInCanada
author_rank: Regular Contributor
timestamp: November 08, 2019, 04:07:55 pm
content: Ahh, my mistake. Thanks for the explanation guys. It all makes so much more sense now as those numbers being the phase error between two clocks, and not period errors of one clock measured by the other.Would it be fair to say, then, that all the Ublox modules will give an average PPS at 1 Hz, but some models may have less jitter than others?Tim

author: awallin
author_rank: Frequent Contributor
timestamp: November 08, 2019, 07:08:33 pm
content: Quote from: TimInCanada on November 08, 2019, 04:07:55 pmI don't know if they have room and power budget to package a vctcxo into the ublox packages (probably not any kind of ocxo..). with a better local oscillator you can cross over between the free-running LO and GNSS-steering with a longer time-constant, like so:https://www.thinksrs.com/images/instr/fs740/FS740_lockedLG.gif