[time-nuts] Characterising frequency standards
Steve Rooke
sar10538 at gmail.com
Wed Apr 8 13:19:48 UTC 2009
2009/4/9 Bruce Griffiths <bruce.griffiths at xtra.co.nz>:
> 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.
Doesn't that imply that the data point should correspond to the whole
sampling period and not just half of it?
73,
Steve
>> 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.
>>>
>>>
>>
>>
>>
>>
>
>
> _______________________________________________
> 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.
>
--
Steve Rooke - ZL3TUV & G8KVD & JAKDTTNW
Omnium finis imminet
More information about the time-nuts
mailing list