[time-nuts] Using aliasing of reference clock to PPS to determine phase offset.

David Cureton david.cureton at ceos.com.au
Thu Jul 25 04:29:03 UTC 2024


Hi Time-nuts 

I have been considering building a GPS-DSO by running a microprocessor off a 10Mhz OCXO and using the GPS PPS from capture the timer counter running at 10Mhz. 

In a perfectly timed world each counter capture would have 10e6 counts on each capture of the timer which gives me frequency lock by I have no idea about phase of the reference clock with respect to the PPS. 

So I would have ambiguity of synchronisation of around 1uS based on a 10Mhz reference. 

Two options I can see are: 

1) increase the counter clock to 100Mhz to reduce the ambiguity by 10 

2) Discipline the reference clock to be a non-integer multiple of the PPS and use aliasing to determine the phase of the reference clock with respect to the phase of the GPS pps signal . 

i.e if I discipline the reference clock to be 10.0000005Mhz (10Mhz plus 0.5Hz) then the count of each clock should alternate 


10,000,000 
10,000,001 

if I discipline my reference clock to 10.0000001 (10Mhz plus 0.1hz) then the sample counts should be 

10,000,000 
10,000,000 
10,000,000 
10,000,000 
10,000,000 
10,000,000 
10,000,000 
10,000,000 
10,000,000 
10,000,001 

Therefore on the 10th sample that has a solitary extra 1 pulse I know that the phase of the reference clock and the PPS signal are very close to each other conveying a10 times increate in the knowledge of the relative phase of each signal. 

The software disciplining can ensure that the system remain phase locked by expecting every 10th sample to have an extra count and accumulating and gently slew the reference to maintain this. 

On other GPSDO projects they go to some length to have a phase comparator to do this work, however I think this achieves the same provided the application can handle a clock that is not exactly 10Mhz 

Maybe this approach would all be swamped by phase noise of the reference oscillator and/or PPS signal. 

Any thoughts on this before I commit to testing this in hardware? 


Regards, 
David 







More information about the Time-nuts_lists.febo.com mailing list