[time-nuts] Multi-oscillator synchronization (was: Question about the PLL of Trimble Thunderbold)

Attila Kinali attila at kinali.ch
Wed Oct 31 19:29:25 EDT 2018

On Wed, 31 Oct 2018 14:45:06 -0700
"Tom Van Baak" <tvb at LeapSecond.com> wrote:

> Question for the list -- who of you have done multi-oscillator PLL's? Can two 
> 10 MHz OCXO be locked to within 10 or 1 ps? For now, ignore cable issues and > assume they're right next to each other.

I've done that at the beginning of my PhD[1], though it's probably not
exactly what you have in mind. Synchronizing an arbitrary number of clocks
(or oscillators) is pretty easy. The limit of synchronity is given by:
1) uncertainty of delays between nodes
2) uncertainty of measurement at each node
3) length of measurement interval vs stability of local oscillator

If we ignore 1) and assume that the oscillators are stable within
the measurement interval, then 3) can be ignored as well, which
leaves 2) as the only limit of synchronization.

The limit of pulse measurement is, depending on the method used,
between 0.5ps and 2ps. To go below that, one has to use something
that either is able to amplify the phase difference (e.g. DMTD)
or average over multiple measurements to remove some noise.
That said, the long term stability of any of these measurements is,
as far as I am aware of, in the order of a few ps unless path differences
can be constantly measured and calibrated out (e.g. by injecting
a pilot tone into a DMTD system [2]).

There are also commercial multi-input phase comparison systems available,
based on DMTD or DMTD-like systems.

Compared to that, the algorithm part is easy, safe for one point:
There is a slight problem with connvergence of phases, if arbitrary
starting phases are allowed. In that case, it's possible to come up with
situation in which the whole system will never converge, even if all
the nodes are working correctly. 
So far, we have not been able to come up with any system/algorithm
that would work always. Fortunately, these situations seem to be
fragile enough that in reality we have never seen this happening.
And if a startup phase is allowed, then it's also pretty easy to
ensure that initial synchronization ensures convergence.

Other than that, the system can be quite considerably simplified
and some of the synchronizatino limits become tighter, if byzantine
fault-tolerance is not required. It's even pretty easy to show
that, if only crash faults are allowed, and all nodes have the same
view (up to noise), then a simple averaging or median works well.

Summa sumarum, what can be done and how it will perform is mostly
a matter of the external conditions of the system, i.e. whether
pulse or sine synchronization can be done, whether there are 
dedicated cables between the nodes or synchronization has to
piggy pack on existing protocol on the cables or even whether
it has to be done wirelessly, what the distance is, etc pp

			Attila Kinali

[1] "Fault-tolerant Clock Synchronization with High Precision",
by Kinali, Huemer, Lenzen, 2016

[2] "2π Low Drift Phase Detector for High-Precision Measurements",
by Szymon Jablonski, Krzysztof Czuba, Frank Ludwig, and Holger Schlarb, 2015

Science is made up of so many things that appear obvious 
after they are explained. -- Pardot Kynes

More information about the time-nuts mailing list