Calculating Holdover

Holdover is what happens when the primary timing reference goes away for some reason and the local oscillator is left to its own devices (for a fairly well maintained summary of the topic see the Wikipedia article Holdover in synchronization applications)

The question is: How much can you trust the local oscillator and for how long?

Answering this is an exercise in calculating the Holdover you can expect from a given oscillator. As outlined in the article and the references it links to, there is a ‘standard’ way to approach this using the formulas listed in MIL-PRF-55310 and ITU G.810.

Taking the example from MIL-PRF-55310 (for a full explanation take a look at the Wikipedia entry):

$T(t) = T_0 + \int_0^t R(t)\,dt\ + \epsilon(t) = T_0+(R_0t + \frac{1}{2}At^2+...) + \int_0^t E_t(t)\, dt + \epsilon(t)$

In practical applications $R_0$ is often treated as an initial (static) frequency error and $A$ as the aging (drift) rate, and it is possible with just those two numbers to get a sense for acquired phase error during holdover by calculating:

$T(t) = T_0 + R_0t + \frac{1}{2}At^2$

However this presents three major challenges. Firstly given a target phase accuracy $T$ at time $t$, we have to solve for $R_0$ and $A$. How do we know which R and A values to aim for? Secondly in this simplified solution we have overlooked the contribution from the environment, $E_t(t)$ and thirdly we have also not accounted for random effects in the term $\epsilon(t)$.

There are resources on the Vectron site that can help to resolve some of these additional challenges (e.g. the whitepapers Simplifying Holdover Design in Synchronization Applications, Holdover Oscillators Application Note and The Influence of Oscillator Behavior on Accumulated Phase Error during Dynamic Environmental Conditions are a good place to start). Visit the Vectron Holdover page to learn more