On 3/6/22 1:36 PM, Krishna Makhija wrote:
Hello Tom,

Yes, the GPSDOs are working well. However, when I use each as a reference
to a separate radio, I find there is a slow phase change over time between
said radios. I imagine this is expected since there will always be some
error between two discrete oscillators. However, I am hoping to use the PPS
and FEE metadata to compute what the phase *should* have been in
post-processing. So far, it is not working out for me. I am wondering if
that is even possible or if my math is just wrong.

Bob,

The SDRs have an LO running at 150 MHz (~6.66 ns) so a PPS wander of +- 10
ns is >360 deg. With a common-mode reference I see a small phase change (+-
3-4 deg) but that is not an option for my application.

Where does the PPS offset come from? Isn't it from the positioning error?
Typical GPS receivers have 1-3 m of positioning error which should give
you +- 10 ns. Why is this a "dream" performance? It should be expected from
any modern GPS receiver.

Thanks for your inputs so far.

Krishna

The PPS offset can come from multiple sources - At some point, the GPS receiver has an oscillator and counts down to generate the PPS, so any given PPS transition is going to be synced to the edges of that internal oscillator.  That leads to things like hanging bridges and wander between the time quantization of the PPS and the actual GPS epoch.  A typical spec is that the 1pps is within 20-50 ns of "true" (e.g. corresponding to an internal clock of 50-20 MHz), but the statistics of that error are dependent on the receiver.

Very few GPS receivers these days actually lock an internal oscillator to the GPS signal - rather they compute observables like code phase and epoch phase in terms of the local reference, then compute what the 1pps should be (solving for position, etc.) and then set a register so that the receiver puts out a pulse at the right time.  On *some* receivers, they'll put out estimates of the difference between the 1pps time and their current estimate of code "true" 1pps.  After all, the actual signal from the satellites are all skewed from each other, so the "true epoch" is a mathematical construct.

You've got two 1pps sources - so as a first step, you might hook them up to a counter and look at their relative performance.

Indeed, if you are not moving, and you've got two receivers side by side (so ionospheric effects, and solid earth tides, and all the other "less than a meter" phenomena are common) you should be able to get a *calculated* uncertainty in the single digit nanoseconds between the receivers.

But you don't just have receivers - you've got GPSDOs, so what you're seeing is an oscillator, divided down to 1Hz, with the oscillator pushed around to match GPS.  The 1pps from this will have different statistics than a 1pps from a bare receiver.  Think of it as the 1pps from GPS (with its 20-50 ns somewhat uniformly distributed uncertainty) run through a not necessarily linear filter.

You sort of have two choices in front of you:

Understand the nature of the GPSDO filters and be able to de-embed their contribution algorithmically - this is not easy.

Measure the instantaneous output of the GPSDO against GPS observables, and use some post processing to figure out what it really is. Then you can remove the delta between "true" estimated time and "GPSDO estimated time"



_______________________________________________
time-nuts mailing list -- [email protected] -- To unsubscribe send an 
email to [email protected]
To unsubscribe, go to and follow the instructions there.

Reply via email to