SM 5 BSZ - WAVPAC, a program for packing and unpacking .WAV files.
(Mars 1 2002)
The lowest sampling speed for a .WAV file using the software that came along with my computer is 8kHz. For weak signal work, the bandwidth of 4kHz that this sampling rate permits is overkill.

WAVPAC takes the fourier transform of the .WAV file. The upper and lower limits F1 and F2, of the actual signal spectrum are determined from the transform.

If F1 is larger than F2/2 the signal is treated as a narrow band signal. It is multiplied by sin and cosine functions of the appropriate frequency, and the result is low pass filtered. This slowly varying signal can be represented by very few complex numbers. These are written in the .WAP file.

If F1 is smaller than F2/2 the signal is treated as a wide band signal. If F2 is above 2kHz the file can not be compressed if F2 is below 2kHz, the file is low pass filtered and unnecessary data points removed.

FORTRAN code of WAVPAC (6k bytes)
WAVPAC16.ZIP Packed .EXE file for use under Microsoft Windows in a DOS window and for use on old 16bit computers (29k bytes)
WAVPAC32.ZIP Packed .EXE file for 32bit computers running true MSDOS (59k bytes)

WAVPAC32 needs DOSXMSF.EXE. to be present in your path.
WAVPAC32 is more than twice as fast as WAVPAC16 on my pentium computer.

Frequency shifting

When a narrow band signal is unpacked, the complex numbers from the .WAP file are used to modulate a sine wave at the original frequency, which restores the original signal. If the sine wave is frequency shifted, the whole signal in the .WAV file becomes frequency shifted, exactly as if the BFO had been tuned differently during the recording of the original .WAV file.

To SM 5 BSZ Main Page