What is Fractional Frequency Offset / Drift?


Fractional Frequency Offset (FFO, sometimes referred to as Fractional Frequency Deviation) is a measure of the accuracy of a frequency. It is used in two places in ITU-T clock specifications:

1. The free-run frequency accuracy specification, which reports the frequency of a clock at start-up, before it has been locked to any other reference

2. In the holdover specification (long-term transient response), where it reports the drift of a clock away from frequency to which it was previously locked

The basic definition is given in ITU-T Recommendation G.810 by the following equation:


  • y(t) is the FFO at time t,

  • ν(t) is the frequency being measured

  • νnom is the nominal frequency (or reference frequency)

It is typically reported as a value in “parts per million” (ppm) or “parts per billion” (ppb). For example, the free-run frequency accuracy of an SDH clock is <4.6ppm, while the carrier frequency accuracy required in cellular mobile radio is <50 ppb.

How is it measured?

FFO is normally calculated by the change in the phase error of a clock over a period of time. A frequency offset shows up as a sloping line on a TIE plot, where the gradient of the slope indicates the frequency offset. For example, in the following graph, the TIE at 10s is 500ns, while at 0s it is 0ns. Hence the clock has changed by 500ns over 10s, and has an FFO of 50ppb.

The problem with using just two points to measure FFO is that there may be significant noise in the measurement. If there is, it is very easy to calculate the wrong value, as shown in the plot below. Here the FFO is the same (50ppb) but there is ±50ns of noise added to the phase error. As you can see, the gradient can vary between 40 and 60ppb, depending on which points are selected to compare.

Therefore an estimation function is given in Telcordia GR-1244-CORE to help remove the noise:


  • y(t) is the FFO at time t

  • xi are the samples of TIE data, in nanoseconds

  • N is the number of samples

  • τ0 is the interval between samples, in seconds

  • 0 is the width of the data window, in seconds
    (sometimes called the regression time, or the integration time)

This looks like a complicated equation, but it is actually just a simple linear weighting function. The function weights all the points according to their distance from the centre of the data window (furthest away with the largest weighting), then sums them all together, subtracting the first half sum from the second half. This works very effectively to remove the noise and obtain an accurate estimate of the FFO.

The important parameter in this equation is the width of the data window chosen (the regression time, or the Nτ0 parameter in the equation). This has a critical effect on the result, as the longer the regression time, the more noise is removed. As the original purpose for the FFO metric is to evaluate the frequency offset and drift (change in frequency) of an oscillator, the choice of regression time is a balance between removing the short-term phase noise, and the overall stability of the oscillator. If the regression time is too small, the short-term phase noise will affect the calculation, while if it is too large, the calculation will start to remove the longer-term drift of the oscillator.

So, the writers of GR-1244-CORE came up with recommendations on the regression time for different types of oscillator:

  • Stratum 3 clock: 60s (this is equivalent to the oscillator in an EEC, G.8262)

  • Stratum 3E clock: 1000s (this is equivalent to a G.812 Type III clock)

  • Stratum 2 clock: 10000s (this is equivalent to a G.812 Type II clock)

As you can see, the more stable the oscillator, the longer the recommended regression time (for more information on what stratum levels mean, see the article What are Stratum Levels?). Unfortunately, when the G.81x series of recommendations were produced in the 1990s, the ITU-T did not include these regression times in the specifications, nor did they recommend regression times for the other clock types they developed,

Fractional Frequency Drift

Fractional frequency drift (FFD) is the rate of change of FFO over time. An oscillator that is drifting is changing in frequency. This happens with temperature changes, or with ageing. As the second derivative of phase, it can also be estimated from the phase samples, xi, this time using a quadratic weighting function:

This is even more sensitive to noise than the FFO estimation, and hence requires a much longer regression time, Nτ0:

  • Stratum 3 clock: 7100s
    (this is equivalent to the oscillator in an EEC, G.8262)

  • Stratum 3E clock: 45000s
    (this is equivalent to a G.812 Type III clock)

For Stratum 2 clocks, the regression time is so long it is not practical to estimate FFD.

How are these parameters used?

As mentioned earlier, the FFO parameter is used in two places in clock recommendations:

  • In the free-run frequency accuracy

  • In the holdover specification

Free-run Frequency Accuracy

Free-running conditions occur at equipment start-up, before the clock is synchronised to anything else; or after a long period of holdover, when any frequency information it might have had from being locked to a reference is so old it is no longer usable. Therefore the frequency of the clock is controlled by the local oscillator, with no external reference exerting any control over the output frequency. As an example, this is the specification for the frequency accuracy of a synchronous equipment clock (e.g. EEC) from G.8262:

The key point to note here is the time interval – the clock is expected to maintain this level of frequency accuracy for periods in excess of a month or a year. This is essentially forever. Obviously it is not practical to measure this on a piece of equipment, since measurement periods of over a month are excessive. As this frequency is entirely governed by the local oscillator, the burden here is on the oscillator manufacturer to guarantee the frequency accuracy of their oscillators to within 4.6ppm under all operating conditions.

Any measurement on a piece of equipment is only a spot check on the frequency accuracy rather than a complete verification. As a rough guide, the measurements should be around 100 times the regression period to provide a reasonable level of confidence that the device is within specification.

Holdover Specification

The holdover specification (or “long term transient response”) governs the frequency output of a clock after it has lost its input reference. It is expected that the clock should maintain the same frequency that it was locked to, but gradually drift away as the frequency of the oscillator changes through ageing and temperature changes. The phase change, ∆T(S), during holdover is modelled by the following equation:

  • S is the time after entry into holdover

  • a1 is the initial frequency offset after entry into holdover (the FFO)

  • a2 is the maximum frequency offset under variable temperature

  • b is the maximum rate of change of frequency after entry into holdover (the FFD)

  • c is the maximum size of any step change in phase on entry into holdover

Of these parameters, a1 and c are governed mainly by the design of the clock itself, while a2 and b are governed mainly by the performance of the local oscillator chosen.

There is a difference between how these are applied in the performance specification of the clock between the European 2048kbit/s hierarchy, and the N. American 1544kbit/s hierarchy. The European (Option 1) specifications place a limit on the phase change, ∆T(S), while the N. American (Option 2) specifications place an additional limit on the FFO and the FFD. Therefore verification of FFO and FFD is normally required only for Option 2 clocks.


Fractional Frequency Offset (FFO) and Fractional Frequency Drift (FFD) were originally developed to characterise the performance of oscillators. They are used in clock specifications in two places, free-run frequency accuracy and holdover, both of which are primarily driven by the performance of the oscillator.

For holdover specifications, the European 2048kbit/s hierarchy (option 1 clocks) places a limit on the phase change, while the N. American 1544kbit/s hierarchy (option 2 clocks) places a limit on the FFO and FFD as well as the phase change. Therefore the main application for FFO and FFD is characterising the holdover performance of Option 2 clocks.

The most important parameter, the regression time or Nτ0 parameter, is not defined in the ITU-T specifications. Recommended values may be found in the Telcordia (formerly Bellcore) GR-1244-CORE specification, or alternatively the ANSI T1.101 standard.