Let's say I have precise "reference" clock and I want to measure frequency of some other "target" clock, as precisely (let's say ~12-15 digits) and as fast as possible.

In the simplest case one might just count periods, but solution will converge very slowly...

One might measure rough frequency, use PLL to generate reference clock with almost the same frequency and measure phase difference change with slow, high-resolution ADC.

But is there a way to achieve better results (faster solution convergence) by mixing reference clock and target clock somehow, and measure it with high-speed high-resolution ADC? I.e. is there an approach benefiting from high-speed high-resolution ADC?

  • \$\begingroup\$ A lot depends on what order of magnitude the "reference", "target", and ADC conversion clocks have. In order for the ADC to be useful here it needs to have a clock that is much faster than the one you're trying to measure. \$\endgroup\$
    – pjc50
    Jan 8, 2015 at 12:20
  • \$\begingroup\$ Also, 15 sig. fig. is asking a lot of any measurement system! You'll need to count across a very high number of cycles to make that measurement however you do it. \$\endgroup\$
    – pjc50
    Jan 8, 2015 at 12:22
  • \$\begingroup\$ @pjc50 That implies rubidium frequency standard, which could optionally be fine-tuned to GPS clock. Reference and target clocks are around 10Mhz, which could be further multiplied/divided by PLL's as needed. ADC might be something like 100 MSPS / 14-bit. \$\endgroup\$ Jan 8, 2015 at 13:47
  • \$\begingroup\$ How fast is your target for "fast" frequency measurement? \$\endgroup\$
    – pjc50
    Jan 8, 2015 at 13:59
  • \$\begingroup\$ Expensive commercial equipment (thinksrs.com/products/SR620.htm) only offers 11 digits over a sampling period of a second, which sounds about right. \$\endgroup\$
    – pjc50
    Jan 8, 2015 at 14:04

1 Answer 1


What you are trying to do is very challenging. Frequency measurement boils down to measuring the time T between corresponding points on the signal waveform (e.g., rising zero crossings) over some number of periods N. The period of the waveform is T/N, and equivalently, the frequency is N/T.

Simple frequency counters just count the number of times that the signal crosses a fixed voltage threshold over a fixed amount of time, and the resulting measurement is relatively crude, with a potential error in N of ±1 whole cycle. This, combined with the accuracy of the counter's internal timebase, determines the accuracy of any particular measurement.

What you are proposing by using an ADC is much more sophisticated, but there are still many issues to overcome before you get to the level of accuracy you're proposing. You'll know N exactly, so the accuracy depends entirely on your ability to measure T. See the following diagram.

timing diagram

To start with, the samples you take are not going to be synchronized to the signal waveform, so it will be necessary to interpolate the position of the actual zero-crossing from the samples on either side of it. The problem is that each sample, represented by a "fuzzy" ellipse above, has a significant amount of uncertainty associated with it.

There are voltage errors, caused by:

  • the basic resolution of the ADC
  • nonlinearities
  • noise
  • calibration (scale and offset)

There are also timing errors, caused by:

  • sampling frequency error
  • jitter
  • ADC aperture error

This means that your estimate of the actual waveform (shown as the heavy black lines) could be anywhere in the "error band" represented by the dashed lines. In other words, the interpolated position of each zero crossing will have a timing uncertainty associated with it, shown as ΔT. Note that voltage errors contribute to ΔT because of the finite slope of the signal at each zero-crossing.

The overall period that you're measuring could be as small as T – ΔT or as large as T + ΔT, for a total error of 2ΔT. This means that if you want 12 digits of accuracy, 2ΔT must be less than T × 10-12. Assuming you're taking measurements "quickly" (i.e., T is on the order of 1 second), this means that ΔT must be less than 0.5 ps. 15-digit accuracy would require ΔT less than 0.5 fs. These are not easy numbers to achieve.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.