-
CASDE spectrogram program [source]
[binary]. This program pops up a window
which plots a spectrogram of a single channel in a CASDE file. Provisions
are made for reading both from a CASDE file and directly from tape.
This program was developed using Red Hat Linux v5.1, but should be easily
portable to other versions of UNIX.
To compile the program:
1. Create a directory called spec2a and
unpack the compressed tar file there.
2. cd matrix
3. make libmatrix.a
4. cd ..
5. make spec2a
To run the program (examples):
spec2a -f ffp34.5 1.0 0.5 1 1
This reads the CASDE file ffp34.5 and plots a spectrogram of
ACO ID (array) 1, channel 1 (mid way on the array). It uses a 1 second
window with 50% overlap.
spec2a -t /dev/nst0 4 0.2 0.5 1 1
This reads the fifth CASDE file from the tape (I count from zero, and
the fifth file is file number 4) /dev/nst0. It plots a spectrogram
of ACO ID (array) 1, channel 1, using a 0.2 second window with 50% overlap.
-
CASDE tape file extraction program [source]
[makefile]. This program extracts
a series of files from an FFP DLT tape onto the local hard drive.
Using this utility, one can obtain near real-time performance (4.5 MB/sec)
in transferring data to disk. You will need the CASDE spectrogram
program listed above.
To compile, insert the CASDE tape file extraction
program extract_files.c and its makefile into the same directory
as spec2a.c.
Then type:
make
extract_files
-
CASDE single tape copy program [source]
[makefile]. If you have a large
amount of disk space, but only one DLT drive, this program can be useful.
It reads files from the source tape and writes them to temporary files
in the current directory, then writes the files to a blank tape.
This program can write to different DLT tape densities; it was used to
furnish a DLT4000 compatible tape to MIT Lincoln Labs.
To compile, insert the CASDE single tape copy
program
single_tape_copy.c and its makefile into the same directory
as
spec2a.c.
Then type:
make
single_tape_copy
-
CASDE timestamp generation program [source]
[makefile]. This is used to
extract timestamps from the CASDE file. Originally, we intended to
rely on the number of frames from the beginning of an IRIG-timestamped
run. However, since the LTAS dropped frames, the only way we can
estimate the begin time of a file is to check the NT system time, recorded
at the beginning of the file. Two problems: the NT clock was often
wrong, and its drift was unknown.
To compile, insert the source file and its makefile
into the same directory as spec2a.c
Then type:
make
timestamp
-
CASDE data quality measurement program [source]
[makefile]. This program reads
an entire CASDE file and reports whether data has been dropped. If
so, it tells where they were dropped and on what low-frequency channels.
This program works by reading in all FFP data and performing a 64 point
weighted FFT. If the high frequency bin shows a +/- 15 dB discontinuity,
it is judged as a dropped frame. (FFP data was low-pass filtered
at roughly 1.8 kHz before writing to tape. Any data above this would
indicate the presence of a broadband "click.") Results can be read/plotted
using this MATLAB script.
Warning: this program takes approximately 9 hours per tape to run
on a Pentium-II/333.
To compile, insert the source file and its makefile
into the same directory as spec2a.c
Then type:
make
qual
-
CASDE file header diagnostic [source]
[makefile]. This program prints
the entire header of a CASDE file. This is useful for diagnosing
problems in the CASDE header reading programs.
To compile, insert the source file and its makefile
into the same directory as spec2a.c
Then type:
make
dump_header
-
CASDE single channel extraction program [source]
[makefile]. This program extracts
a single channel of FFP data and writes it to an output file, in the correct
(host machine's) byte order. This is useful for doing a quick-look
at the data from MATLAB.
To compile, insert the source file and its makefile
into the same directory as spec2a.c
Then type:
make
extract_channel
-
CASDE multiple channel extraction program [source]
[makefile]. This program extracts all
channels of FFP data and writes them to multiple output files (one for each channel), in the correct
(host machine's) byte order. This is useful for dumping an entire FFP data file into a form which
is more palatable for MATLAB.
The header for the output files is as follows:
- uint32 byteorder; (this should be 1. If it is not, you must swap bytes)
- uint32 acoid; ACO ID (1 - 5 for low freq, 6 - 10 for high freq)
- uint32 cn; Channel number (1 - 30 for low freq, 1 - 4 for high freq)
- double fs; Sampling frequency, in Hertz
- uint32 data_format; Data type: 16 or 32 bit integers?
- unit32 starting_frame; Starting frame in the file
- IrigTime zero_time; Actual time of frame number 0
- IrigTime starting_time; Derived time of first frame of the file. Note:
this time may not be correct due to data drop-outs in the LTAS recorder
The IrigTime structure is as follows:
- uint32 yearday
- uint32 hour
- uint32 minute
- uint32 second
- uint32 usec
To compile, insert the source file and its makefile
into the same directory as spec2a.c
Then type:
make
extract_multiple_channels
-
Engineering tone frequencies from FFP tape 34, file
3. Each file (ffp34.3.ACO.CHANNEL.tone) is in a binary format, with
the tone reading routines in casde_tone_func.c
and casde_tone.h.