[time-nuts] Characterising frequency standards

Bruce Griffiths bruce.griffiths at xtra.co.nz
Wed Apr 8 13:10:27 UTC 2009


Steve Rooke wrote:
> Bruce,
>
> But the sampling interval is still 1 sec and you can see by my notes
> that I explicitly give this on the command line for adev1.exe.
>
>   
The sampling interval is indeed 1sec in the original data.
However, if you delete every second sample the sampling interval in the
resultant data is then 2 sec.

> OK, I'll have a go at compiling it as it is just a command line program.
>
> 73,
> Steve
>
> 2009/4/9 Bruce Griffiths <bruce.griffiths at xtra.co.nz>:
>   
>> Steve
>>
>> Therein lies your problem.
>> adev1  defaults to a sampling interval of 1 sec. (read the C source code).
>> TvB's documentation explicitly states that you should supply the
>> sampling interval. (its a command line argument for adev1.c).
>>
>> adev1.c is a simple command line program that uses stdin and stdout so
>> porting it to a linux command line (non graphical) program should be
>> straightforward.
>> You can even use redirection and pipes should you need them.
>>
>> You can try porting it to Scilab which is free courtesy of the French
>> Government.
>>
>>
>> Bruce
>>
>> Steve Rooke wrote:
>>     
>>> Bruce,
>>>
>>> I set nothing, as indicated in my text, I just delete data points, IE.
>>> a file of 400000 records now becomes 200000. I'm trying to get my head
>>> round this as the absolute requirement for continuous data seems
>>> unneeded. What you have to remember here is that the data set I'm
>>> working with consists of discrete measurements of the period of each
>>> pulse. If it was timestamps, then there would be problems.
>>>
>>> I don't know how much MATLAB costs but I would guess it is way out of my budget.
>>>
>>> 73,
>>> Steve
>>>
>>> 2009/4/9 Bruce Griffiths <bruce.griffiths at xtra.co.nz>:
>>>
>>>       
>>>> Steve
>>>>
>>>> The data file doesn't include the time interval between samples so do
>>>> you set this in some way?
>>>> If so you need to set it to 1s for the unaltered data, to 2s when you
>>>> take every 2nd sample, and 1s when you take the first 200,000 samples.
>>>>
>>>> In principle you could use CANVAS (available on request from USNO -
>>>> however you may have to wait a few days while they decide whether to
>>>> grant your request.) for such analysis in Linux but you would then need
>>>> the Linux version of Matlab.
>>>> Or you could request that it be compiled for Linux - a fairly simple
>>>> task if one has the Linux version of Matlab.
>>>>
>>>> In principle you should be able to port the m source files to Scilab,
>>>> but there are some subtle differences between Scilab and Matlab so this
>>>> may take a while.
>>>>
>>>> Bruce
>>>>
>>>> Steve Rooke wrote:
>>>>
>>>>         
>>>>> Bruce,
>>>>>
>>>>> But how does that explain the output of Tom's adev1 program which
>>>>> still seems to give a a good measurement at tau = 1s?
>>>>>
>>>>> 73,
>>>>> Steve
>>>>>
>>>>> 2009/4/8 Bruce Griffiths <bruce.griffiths at xtra.co.nz>:
>>>>>
>>>>>
>>>>>           
>>>>>> Steve
>>>>>>
>>>>>> If you delete every second measurement then your effective minimum
>>>>>> sampling time is now 2s and you can no longer calculate ADEV for tau< 2s.
>>>>>> You can still calculate ADEV for tau = 100,000 sec.
>>>>>>
>>>>>> If you delete all but the first 200,000 lines then you can calculated
>>>>>> ADEV for tau=1sec and up to tau= 25,000 sec with reasonable accuracy.
>>>>>>
>>>>>> You shouldn't lose sight of the fact that ADEV and OADEV are both
>>>>>> estimates of the Allan deviation.
>>>>>>
>>>>>>
>>>>>> Bruce
>>>>>>
>>>>>> Steve Rooke wrote:
>>>>>>
>>>>>>
>>>>>>             
>>>>>>> Tom,
>>>>>>>
>>>>>>> I understand fully the points that you have made but I have obviously
>>>>>>> not made my point clear to all and i apologise for my poor
>>>>>>> communication skills.
>>>>>>>
>>>>>>> This is what I'm getting at:
>>>>>>>
>>>>>>> Using your adev1.exe from http://www.leapsecond.com/tools/adev1.htm
>>>>>>> and processing various forms of gps.dat from
>>>>>>> http://www.leapsecond.com/pages/gpsdo-sim/gps.dat.gz.
>>>>>>>
>>>>>>> C:\Documents and Settings\Steve Rooke\Desktop>adev1.exe 1 <gps.dat
>>>>>>>
>>>>>>> ** Sampling period: 1 s
>>>>>>> ** Phase data scale factor: 1.000e+000
>>>>>>> ** Total phase samples: 400000
>>>>>>> ** Normal and Overlapping Allan deviation:
>>>>>>>
>>>>>>>        1 tau, 3.0127e-009 adev(n=399998),   3.0127e-009 oadev(n=399998)
>>>>>>>        2 tau, 1.5110e-009 adev(n=199998),   1.5119e-009 oadev(n=399996)
>>>>>>>        5 tau, 6.2107e-010 adev(n=79998),    6.1983e-010 oadev(n=399990)
>>>>>>>       10 tau, 3.1578e-010 adev(n=39998),    3.1549e-010 oadev(n=399980)
>>>>>>>       20 tau, 1.6531e-010 adev(n=19998),    1.6534e-010 oadev(n=399960)
>>>>>>>       50 tau, 7.2513e-011 adev(n=7998),     7.3531e-011 oadev(n=399900)
>>>>>>>      100 tau, 4.0029e-011 adev(n=3998),     4.0618e-011 oadev(n=399800)
>>>>>>>      200 tau, 2.1512e-011 adev(n=1998),     2.1633e-011 oadev(n=399600)
>>>>>>>      500 tau, 9.2193e-012 adev(n=798),      9.1630e-012 oadev(n=399000)
>>>>>>>     1000 tau, 4.9719e-012 adev(n=398),      4.7750e-012 oadev(n=398000)
>>>>>>>     2000 tau, 2.6742e-012 adev(n=198),      2.5214e-012 oadev(n=396000)
>>>>>>>     5000 tau, 1.0010e-012 adev(n=78),       1.1032e-012 oadev(n=390000)
>>>>>>>    10000 tau, 6.1333e-013 adev(n=38),       6.1039e-013 oadev(n=380000)
>>>>>>>    20000 tau, 3.8162e-013 adev(n=18),       3.2913e-013 oadev(n=360000)
>>>>>>>    50000 tau, 1.0228e-013 adev(n=6),        1.5074e-013 oadev(n=300000)
>>>>>>>   100000 tau, 5.8577e-014 adev(n=2),        6.7597e-014 oadev(n=200000)
>>>>>>>
>>>>>>> So far, so good. Now I delete every even line in the file which leaves
>>>>>>> me with 200000 lines of data (400000 lines in original gps.dat file).
>>>>>>> (awk 'and(NR, 1) == 0 {print}' <gps.dat >gps1.dat)
>>>>>>>
>>>>>>> C:\Documents and Settings\Steve Rooke\Desktop>adev1.exe 1 <gps1.dat
>>>>>>>
>>>>>>> ** Sampling period: 1 s
>>>>>>>
>>>>>>>
>>>>>>>               
>>>> INCORRECT!!
>>>> sampling period is now 2s.
>>>>
>>>>         
>>>>>>> ** Phase data scale factor: 1.000e+000
>>>>>>> ** Total phase samples: 200000
>>>>>>> ** Normal and Overlapping Allan deviation:
>>>>>>>
>>>>>>>        1 tau, 3.0257e-009 adev(n=199998),   3.0257e-009 oadev(n=199998)
>>>>>>>        2 tau, 1.5373e-009 adev(n=99998),    1.5345e-009 oadev(n=199996)
>>>>>>>        5 tau, 6.3147e-010 adev(n=39998),    6.3057e-010 oadev(n=199990)
>>>>>>>       10 tau, 3.3140e-010 adev(n=19998),    3.3067e-010 oadev(n=199980)
>>>>>>>       20 tau, 1.7872e-010 adev(n=9998),     1.7810e-010 oadev(n=199960)
>>>>>>>       50 tau, 7.9428e-011 adev(n=3998),     8.1216e-011 oadev(n=199900)
>>>>>>>      100 tau, 4.2352e-011 adev(n=1998),     4.3265e-011 oadev(n=199800)
>>>>>>>      200 tau, 2.2001e-011 adev(n=998),      2.2593e-011 oadev(n=199600)
>>>>>>>      500 tau, 9.6853e-012 adev(n=398),      9.5441e-012 oadev(n=199000)
>>>>>>>     1000 tau, 5.0139e-012 adev(n=198),      5.0387e-012 oadev(n=198000)
>>>>>>>     2000 tau, 2.7994e-012 adev(n=98),       2.7090e-012 oadev(n=196000)
>>>>>>>     5000 tau, 1.4280e-012 adev(n=38),       1.2214e-012 oadev(n=190000)
>>>>>>>    10000 tau, 7.4881e-013 adev(n=18),       6.5814e-013 oadev(n=180000)
>>>>>>>    20000 tau, 7.6518e-013 adev(n=8),        3.7253e-013 oadev(n=160000)
>>>>>>>    50000 tau, 2.4698e-014 adev(n=2),        1.3539e-013 oadev(n=100000)
>>>>>>>
>>>>>>> Obviously we don't have enough data now for a measurement of 100000
>>>>>>> tau but the results for the other tau are quite close, especially when
>>>>>>> there are sufficient data points. Now this is discontinuous data,
>>>>>>> exactly what I was trying to allude to.
>>>>>>>
>>>>>>> OK, so now I take only the top 200000 lines of the gps.dat file (head
>>>>>>> -200000 gps.dat >gps2.dat)
>>>>>>>
>>>>>>> C:\Documents and Settings\Steve Rooke\Desktop>adev1.exe 1 <gps2.dat
>>>>>>>
>>>>>>> ** Sampling period: 1 s
>>>>>>> ** Phase data scale factor: 1.000e+000
>>>>>>> ** Total phase samples: 200000
>>>>>>> ** Normal and Overlapping Allan deviation:
>>>>>>>
>>>>>>>        1 tau, 3.0411e-009 adev(n=199998),   3.0411e-009 oadev(n=199998)
>>>>>>>        2 tau, 1.4985e-009 adev(n=99998),    1.4999e-009 oadev(n=199996)
>>>>>>>        5 tau, 6.1964e-010 adev(n=39998),    6.2010e-010 oadev(n=199990)
>>>>>>>       10 tau, 3.1315e-010 adev(n=19998),    3.1339e-010 oadev(n=199980)
>>>>>>>       20 tau, 1.6499e-010 adev(n=9998),     1.6495e-010 oadev(n=199960)
>>>>>>>       50 tau, 7.1425e-011 adev(n=3998),     7.3416e-011 oadev(n=199900)
>>>>>>>      100 tau, 3.9940e-011 adev(n=1998),     4.0730e-011 oadev(n=199800)
>>>>>>>      200 tau, 2.1488e-011 adev(n=998),      2.1558e-011 oadev(n=199600)
>>>>>>>      500 tau, 8.4809e-012 adev(n=398),      9.0886e-012 oadev(n=199000)
>>>>>>>     1000 tau, 4.9223e-012 adev(n=198),      4.7104e-012 oadev(n=198000)
>>>>>>>     2000 tau, 2.4335e-012 adev(n=98),       2.4515e-012 oadev(n=196000)
>>>>>>>     5000 tau, 1.0308e-012 adev(n=38),       1.0861e-012 oadev(n=190000)
>>>>>>>    10000 tau, 5.9504e-013 adev(n=18),       6.1031e-013 oadev(n=180000)
>>>>>>>    20000 tau, 3.6277e-013 adev(n=8),        3.1994e-013 oadev(n=160000)
>>>>>>>    50000 tau, 1.0630e-013 adev(n=2),        1.6715e-013 oadev(n=100000)
>>>>>>>
>>>>>>> Is there any Linux tools for calculating adev as I'm having to run
>>>>>>> Windows in a VMware session?
>>>>>>>
>>>>>>> 73,
>>>>>>> Steve
>>>>>>>
>>>>>>> 2009/4/8 Tom Van Baak <tvb at leapsecond.com>:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>               
>>>>>>>> Steve,
>>>>>>>>
>>>>>>>> You've asked a couple of questions. Let me start with this.
>>>>>>>>
>>>>>>>> It is true that if one were only interested in the performance
>>>>>>>> of a pendulum (or quartz or atomic) clock for averaging times
>>>>>>>> of one day that all you would need is a series of time error
>>>>>>>> (aka phase) measurements made about the same time once
>>>>>>>> a day (doesn't have to be that exact). After one week, you'd
>>>>>>>> have 7 error measurements (=6 frequency =5 stability points)
>>>>>>>> and this is adequate to calculate the ADEV for tau 1 day.
>>>>>>>> This alone allows you to rank your clock among all the other
>>>>>>>> pendulum clocks out there. Note also you get time error and
>>>>>>>> rate error from these few data points too.
>>>>>>>>
>>>>>>>> As another example, suppose you have a nice HP 10811A
>>>>>>>> oscillator and want to measure its drift rate. In this case you
>>>>>>>> could spend just 100 seconds and measure its frequency
>>>>>>>> once a day, or even once every couple of days. Do this for
>>>>>>>> a month and you'd have several dozen points. If you plot
>>>>>>>> these frequency measurements you will likely see that they
>>>>>>>> approximately fall on a line; the slope of the is the frequency
>>>>>>>> drift rate of the 10811. The general shape of the points, or
>>>>>>>> the fit of the line is a rough indication of how consistent the
>>>>>>>> drift rate is or if it's increasing or decreasing.
>>>>>>>>
>>>>>>>> Neither of these examples require a lot of data. Both of these
>>>>>>>> are real-world examples.
>>>>>>>>
>>>>>>>> OK so far?
>>>>>>>>
>>>>>>>> /tvb
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> 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.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>               
>>>>>> _______________________________________________
>>>>>> 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.
>>>>>>
>>>>>>
>>>>>>
>>>>>>             
>>>>>
>>>>>           
>>>> _______________________________________________
>>>> 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.
>>>>
>>>>
>>>>         
>>>
>>>
>>>       
>> _______________________________________________
>> 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