[time-nuts] Help understanding an ADEV

Bob Stewart bob at evoria.net
Thu Sep 11 17:21:48 EDT 2014

Hi Tom,

And thank you very much for taking the time to look at this.  No, I don't know what the heck a lot of this means, and it's no surprise that I used the wrong tool.  I had noticed the first few seconds of bad data, but didn't think it would matter over long sample sessions.  

I'll take some time to get this together properly and see what I can find out.  The new PIC arrives tomorrow, so I'll know pretty quickly if there is a big improvement in the noise.

Thank you again, and everyone else who has taken even a moment of time to help me during this project!


 From: Tom Van Baak <tvb at LeapSecond.com>
To: Discussion of precise time and frequency measurement <time-nuts at febo.com> 
Sent: Thursday, September 11, 2014 3:53 PM
Subject: Re: [time-nuts] Help understanding an ADEV

> I've been wondering if it would be better to look in the frequency domain.  
> I'll have to look at Tom's site to see if he has code to do that.
> Bob

Hi Bob,

Ok, I think I found the problem with your plot. There's one mistake, one misunderstanding, and a miscalibration.

1) It appears you're allowing bogus DAC readings to pollute the ADEV calculation. Based on the raw data you kindly sent, your nominal DAC value is about 2.1 volts and your DAC voltage typically changes by tens or low hundreds of microvolts.

However the first couple of data points are 0.0 and 1.0 volts. The ADEV calculation is therefore seeing changes of millions (!) of microvolts. This completely messes up every ADEV calculation at every tau of your plot. You must feed clean data into any ADEV calculation. Either fix your instrumentation, or put checks in your scripts, or visually examine time series data before you blindly feed it into a statistical formula or a tool.

I don't know why the plotting package you used does not show these points. Those four bogus points should have been an instant red flag.

2) Realize that we normally make ADEV plots only from phase data or from frequency data. Phase data is the net time difference (or time interval) between the DUT and the REF. Units are seconds. Frequency data is the (normalized) relative frequency difference between the DUT and the REF. This is unitless.

Now in your case, you want to make an ADEV plot from DAC data. This is ok, since DAC voltage is essentially a proxy for frequency offset. But you can't feed DAC or frequency data into the adev1 tool, since that tool expects phase data only. Make sense?

The details are that ADEV is based on the 2nd difference in phase, which is the 1st difference in frequency. You have accidentally feed frequency data into a phase calculation and the result is some sort of 3rd difference! This is not what you want.

The solution is either to integrate your DAC or frequency data so it looks like phase. Or, just use a tool that will take frequency data instead of phase data. Stable32 and TimeLab offer this option. Or you can use adev1f.exe (www.leapsecond.com/tools/) which I just made for you.

3) To get an accurate ADEV plot you must scale your arbitrary DAC voltage to real Hz. Use the known or measured EFC offset and gain to convert absolute voltage to relative voltage to relative frequency error. This data can then be given to Stable32 (Data Type: Freq), or TimeLab (File data: Frequency difference), or feed directly to the new tool, adev1f.

Let me know if you have any questions.


time-nuts mailing list -- time-nuts at febo.com
To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
and follow the instructions there.

More information about the time-nuts mailing list