DIFAR DEMULTIPLEXING SOFTWARE DESCRIPTION AND PERFORMANCE
GeneralGreeneridge sells DIFAR demultiplexing software for DOS, UNIX, and OS/2. It is modular so that the user can provide an input module to match his/her sampled data. The output filter must be matched to the input sample rate. Presently, software filters exist for sample rates of 48 kHz and 50 kHz; others can be accommodated.
Command-line usage is:
input_fn is the binary data file containing a DIFAR multiplexed signal. This is binary format, 16-bit integers, most significant byte first.
samples is an integer representing the number of input samples to process. This number must lie between 0 and 2^32 (4294967296)
decimation is an integer representing the output decimation factor, 0 - 2^32. A factor of one will generate an output sample for each input sample, a decimation factor of two will output every other sample, and so on. No internal filtering is performed. Large decimation values are useful for looking at the PLL lock flags without generating huge output files. Note that the effective sample output sample rate is Fs/(decimation_factor), and therefore aliasing of the omni, east-west, and north-south demodulated signals can occur.
parameter_fn is an optional parameter file that, if specified, will override the programmed defaults. The user must be careful in modifying these parameters. Commonly modified parameters are the PLL natural frequency (Fn) and damping ratios (zeta) for acquisition and tracking.
The program will also read the file 'DIFARLPF.FLT' which contains the (IIR) low-pass filter coefficients for reconstruction of the omni, east-west, and north-south signals. A high-pass characteristic with 3 Hz break is cascaded. The file must be present in the working directory.
Input file scalingThe input file should be scaled so that the 7.5 kHz and 15 kHz pilots produce about 1000 counts RMS deviation each, and no clipping should occur with full modulation. The scaling is not critical but will aid in acquisition. There are AGC loops on both the 7.5 and 15 kHz pilots so that (once acquired) changes in amplitude will be tracked. Omni, E-W, and N-S amplitudes are not AGC'd - assuming phase-lock, they will vary in direct proportional to input levels.
DIFAR.EXE output parametersOutput of the DIFAR.EXE program is as follows:
omni east-west north-south nco_frequency lock_75_flag lock_15_flag
Note that the fidelity of the omni signal is in general not correlated with the lock flags because it does not need to be demodulated by a local reference. The east-west and north-south signals, however, require a coherent local reference in order to be demodulated correctly, that is, without frequency shift or crosstalk. Their integrity is thus not to be believed unless BOTH lock flags are set.
This data is written to STDOUT and may be redirected to a file by using the DOS redirection operator '>'. For example, to generate an output data file 'OUTPUT.DAT' containing every fourth demodulated sample from an input file called 'DIFAR.DAT', reading and processing 48000 samples, and using the default parameters, use
DIFAR DIFAR.DAT 48000 4 > OUTPUT.DAT
In addition, error and status messages from DIFAR.EXE are written to STDERR and will not be redirected. These include file open or read errors, as well as lock flag changes and NCO resets.
Parameter file formatSixteen parameters are available to the user for modification. They must appear in the order shown. The floating point value can be followed by any non-numerical characters which will be ignored, allowing the inclusion of comments. The parameters are (default values shown):