[time-nuts] Characterising frequency standards
Bruce Griffiths
bruce.griffiths at xtra.co.nz
Wed Apr 8 12:27:54 UTC 2009
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.
>>
>>
>
>
>
>
More information about the time-nuts
mailing list