[time-nuts] Characterising frequency standards
Bruce Griffiths
bruce.griffiths at xtra.co.nz
Wed Apr 8 13:28:42 UTC 2009
Steve Rooke wrote:
> 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?
>
>
The total measurement time is only deceased by 1 sec at the most if you
delete every second line.
The resampled data now has a sampling interval of 2 sec for the entire
measurment time.
The original data samples are phase differences measured on the second
every second.
The resampled data are phase differences measured every 2 seconds on the
corresponding second transition.
> 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.
>>
>>
>
>
>
>
More information about the time-nuts
mailing list