[time-nuts] Divide by five

Magnus Danielson magnus at rubidium.dyndns.org
Mon Nov 10 02:45:48 EST 2014

On 11/09/2014 05:18 PM, Chris Albertson wrote:
> On Sat, Nov 8, 2014 at 11:13 PM, Neil Schroeder <gigneil at gmail.com> wrote:
>> At one point I was considering phase locking all of them together - but
>> again that seemed less than straightforward.  You can do it PLL back to
>> back, but is there a way to have a loop that contains multiple clocks?  I
>> would think the "telephone game" would apply.
> NTP does this but on a MUCH lower frequency and longer time scale.   But I
> think NTP's general method could apply.   NTP will accept any number of
> reference clocks.  (Yes sone people run NTP using just one GPS receiver as
> a reference but best practice is to use five references.)  NTP compares the
> set of ref. clocks with each other and first tries to find the subset of
> clocks that track each other, assuming the outliers are "wrong".  It
> continuously checks this and maintains a set of "true tickers".  From these
> it computes a consensus time using a weighted average of the "true"
> clocks.  The weights are based on the jitter and other quality measuring
> statistics.  Using this method reference clocks can be taken on and off
> line without need to re-start NTP.
> You could do the same thing with a set of local oscillators.    Divide each
> down to 1PPS then every second you compare their phases.  Keep statistics
> on drift and standard deviation relative to your "consensus phase".   You
> then discipline an OCXO (or several OCXOs) to output that consensus.
> Like NTP you might accept reference from any number of GPSes or Rb or other
> standards.   You controller might pick the best OCXO in real time as the
> output.
> I figure the first generation where we are now, where we build a GPSDO
> using just one GPS and one OCXO and next generation would use multiples of
> each.
> There is not a lot of fancy electronics required.  Just some phase
> comparators that can run once per second.  The once pre second data rate is
> so slow that ANY $5 micro controller could keep up with even a dozen
> reference clocks.  I'd likely us one of the ARM based Arduinos because they
> are easy enough to program that the barrier to entry is low enough others
> might be able to contribute.  (Think about this if you want to make your
> design public.  If the technology is exotic,no one but you will contribute
> to further development.)
> If you like those FPGA boards then you can usually synthesize a CPU and run
> the controller code on that.

The NIST ensemble-processing is run on a pair of old 386 machines, or at 
least was when I did the tour in 2012. They operate redundantly and 
process for 40 s every 12 min, which is enough for the atomic clocks 
involved. They then steer the clock synthesis for the various 
time-scales they maintain.

The NTP steering has a similar approach and origin.


More information about the time-nuts mailing list