time-nuts@lists.febo.com

Discussion of precise time and frequency measurement

View all threads

Determining Allan Deviation From Interpolated Peak Frequency Readings

MG
Mark Goldberg
Wed, Dec 6, 2017 10:43 PM

I am making frequency measurements as described on the following pages:

https://sites.google.com/site/perseusmods/
and
https://sites.google.com/site/spectrumlabtesting/

using wide FFT bins and Spectrum Lab's peak frequency interpolation
function. I would appreciate comments as to the effectiveness of this
approach. I have a thick skin, so any criticism is welcome if it improves
the process.

73,

Mark
W7MLG

I am making frequency measurements as described on the following pages: https://sites.google.com/site/perseusmods/ and https://sites.google.com/site/spectrumlabtesting/ using wide FFT bins and Spectrum Lab's peak frequency interpolation function. I would appreciate comments as to the effectiveness of this approach. I have a thick skin, so any criticism is welcome if it improves the process. 73, Mark W7MLG
AK
Attila Kinali
Fri, Dec 15, 2017 12:42 PM

Hey Mark

On Wed, 6 Dec 2017 15:43:49 -0700
Mark Goldberg marklgoldberg@gmail.com wrote:

https://sites.google.com/site/perseusmods/
and
https://sites.google.com/site/spectrumlabtesting/

using wide FFT bins and Spectrum Lab's peak frequency interpolation
function. I would appreciate comments as to the effectiveness of this
approach. I have a thick skin, so any criticism is welcome if it improves
the process.

The approach using FFT works, but just using the peak frequency, you throw
away half of the data (the phase) and also limit yourself in precision
to the bin width. It's not 100% clear that estimating the frequency
using an FFT is unbiased in this case, thus you might get worse (or better)
results than what the oscillator actually does.

What you are trying to do is spectral estimation from a limited number of
samples. You want to have some kind of continuity, that might allow you to
track minute changes from block you are processing to the next block.
The easiest way to do this would be to downconvert the signal on the PC
to zero Hz and take the phase information (simplest way: use a NCO as a
reference, then pass the reference and signal into a CORDIC to get the phase
difference). Recording this phase difference should give you a lower floor
for *DEV than your FFT method. It will also alow you to track small phase
changes (aka small frequency fluctuations) that happen over long periods.
Sherman and Jördens[1] describe the approach in more detail.

Other than that, the general approach looks ok.

		Attila Kinali

[1] "Oscillator metrology with software defined radio",
by Sherman and Jördens, 2016
https://arxiv.org/abs/1605.03505

It is upon moral qualities that a society is ultimately founded. All
the prosperity and technological sophistication in the world is of no
use without that foundation.
-- Miss Matheson, The Diamond Age, Neil Stephenson

Hey Mark On Wed, 6 Dec 2017 15:43:49 -0700 Mark Goldberg <marklgoldberg@gmail.com> wrote: > https://sites.google.com/site/perseusmods/ > and > https://sites.google.com/site/spectrumlabtesting/ > > using wide FFT bins and Spectrum Lab's peak frequency interpolation > function. I would appreciate comments as to the effectiveness of this > approach. I have a thick skin, so any criticism is welcome if it improves > the process. The approach using FFT works, but just using the peak frequency, you throw away half of the data (the phase) and also limit yourself in precision to the bin width. It's not 100% clear that estimating the frequency using an FFT is unbiased in this case, thus you might get worse (or better) results than what the oscillator actually does. What you are trying to do is spectral estimation from a limited number of samples. You want to have some kind of continuity, that might allow you to track minute changes from block you are processing to the next block. The easiest way to do this would be to downconvert the signal on the PC to zero Hz and take the phase information (simplest way: use a NCO as a reference, then pass the reference and signal into a CORDIC to get the phase difference). Recording this phase difference should give you a lower floor for *DEV than your FFT method. It will also alow you to track small phase changes (aka small frequency fluctuations) that happen over long periods. Sherman and Jördens[1] describe the approach in more detail. Other than that, the general approach looks ok. Attila Kinali [1] "Oscillator metrology with software defined radio", by Sherman and Jördens, 2016 https://arxiv.org/abs/1605.03505 -- It is upon moral qualities that a society is ultimately founded. All the prosperity and technological sophistication in the world is of no use without that foundation. -- Miss Matheson, The Diamond Age, Neil Stephenson