[time-nuts] Allan Variance Processor for TAC32Plus

Brian Kirby kirbybq at bellsouth.net
Tue Aug 16 00:45:59 EDT 2005

For those of you using TAC32Plus, I have written a program that will 
convert data from a "T" file to Allan variances. If you are interested, 
please send an email and I will send you the program.

Data Processor for Modified Allan Variance
V1.01, Copyright August 2005 by Brian Kirby N4FMN

This program is design to manipulated data from the TAC32Plus software 
package. It
will calculate Allan Variance for 1-second data rates, and Modified 
Allan Variance for 2,
3, 4, 5, 6, 7, 8, and 9-second rates, and decades' rates to 10,000 
seconds (37

This program was created to produce accurate outputs. I had previously 
used a
spreadsheet program to process data to calculate Allan variances and it 
had several
limitations. The first problem is the spreadsheet program is limited to 
64K input lines.
This limitation makes it impossible to process 1-second data for a day 
or any other data
over 64K elements.

The program was written and compiled with QuickBasic Extended (Professional
Development System V7.0). This program uses IEEE double-precision 
calculations. This program was tested with MS-DOS V6.22, Windows NT4 
SP6A, and
Windows 2000 SP4.

The program expects to work in a directory in the root directory named 
C:\TAC. It
expects a "T" file from TAC32Plus, and this file has to be renamed 
DATA.CSV for the
program to use it. The "T" file has to be recorded at a 1 second rate. 
You can combine
multiple "T" files by copying them at the command prompt to combine 
them. An
etc. A "T" file recorded in a 1 second rate, generates around 4.8 MB per 
day. At the
present, this program uses the 6th data element only, the corrected time 
measurement, of the "T" file. If you use a different stop/start 
reference for your
HP53131A time interval counter, instead of a GPS receiver, you may 
consider turning off
sawtooth correction in TAC32.

When executing the program you should see progress indicators showing 
data is being
extracted. During the extraction process, the program will generate many 
CSV files,
which can be used with other programs. After extraction, the program 
will generate and
display variances, samples, and range on the display. The program will 
generate a file
named RESULTS.TXT, which will be the results of the calculations. Note 
the file
expresses scientific notation as D instead of E. This is a byproduct of 
QBX running
double precision floating-point math. The program will also generate a 
second file
named RESULTSE.TXT, which uses abbreviated results and uses E for 

Output format for the file and display is 1) Averaging periods, in 
seconds; 2) Modified
Allan variance, in scientific numbers; 3) Samples converted (minus 1 
sample for the
results of variance samples), and 4) Range which is maximum time 
interval error, in
nanoseconds, of the measurement.

If you want to save the data generated previously, you need to move it 
before executing
the program again – the program will overwrite previously generated data.

If you find an error, I would appreciate a notification via email at 
kirbybq at bellsouth.net
Please report which version of the program you were using, and report 
all details of the
errors that occurred.

As a benchmark, I have included some performance data on various 
processors and
operating systems. This data is the time it took the program to complete 
processing a 19
MB files, about 4 days of data.

300 Mhz Pentium II, Windows NT4 SP6A 18 minutes, 7 seconds
400 Mhz AMD K6-2, Windows NT4 SP6A 11 minutes, 14 seconds
500 Mhz Pentium III, Windows 2000 SP4 12 minutes, 17 seconds
500 Mhz AMD K6-2, Windows 2000 SP4 12 minutes, 25 seconds
1 Ghz Athlon, MS-DOS V6.22 17 minutes, 31 seconds *
1 Ghz Athlon, Windows NT SP6A 5 minutes, 57 seconds
1 Ghz Athlon, Windows 2000 SP4 5 minutes, 53 seconds
1.6 Ghz Pentium M, Windows 2000 SP4 3 minutes, 2 seconds
2.4 Ghz Celeron, Windows 2000 SP4 5 minutes, 38 seconds

Note: For whatever reasons, I noticed it was hitting the hard drive all 
the time.

The only error message I have encountered is when executing the program 
and it does not
find the input file DATA.CSV. The error message is: "File not found in 
line no line
number in module ALLANVAR at address 0DC1:3D60. Hit any key to return to

The compiled program size is 99 Kb.


More information about the time-nuts mailing list