There are 2 tuning parameters that need to be extracted from the recorded data. These are the tuning offset, in Hz, due to the receiver being tuned to a slightly different frequency from that of the transmitter, and the clock rate difference between the sound card clock at the transmitter and the sound card clock at the receiver.
Both of these parameters are used to set the local oscillator frequencies used in the phase demodulation process. Additionally, the clock rate difference is used to generate the initial estimate of the number of receiver clock periods per codeblock.
Below is a plot showing the initial estimate of the clock rate difference for the 7 recordings made by KB4YZ on 06 April 2001, from transmissions made by VK3LM. All 7 of these recordings were successfully decoded. The height of each bar is set to 1. It is only the horizontal spread of values that is significant here.
Below is a plot showing the second estimate of the clock rate difference for the 7 recordings made by KB4YZ on 06 April 2001, from transmissions made by VK3LM. Note that the spread of values is less than it was for the initial estimate.
Below is a plot showing the initial estimate of the clock rate difference for the 11 recordings made by W8ZCF on 05 and 06 April 2001, from transmissions made by VK3LM, which were successfully decoded. The height of each bar is set to 1. It is only the horizontal spread of values that is significant here.
Below is a plot showing the second estimate of the clock rate difference for the 11 successfully recordings made by W8ZCF on 05 and 06 April 2001, from transmissions made by VK3LM. Note that the spread of values is less than it was for the initial estimate.
The data for the above 4 plots were generated by finding and analyzing the leader (fixed modulation) section of the signal.
The next 2 images list the steps taken to calculate the initial estimate of the clock rate difference. This initial estimate is the slope of the best fit straight line to the plot of measured frequencies vs. ideal frequencies.
Below is a list of the steps taken to get the second estimate of the clock rate difference (between Tx sound card and Rx sound card).
After more processing, described below, the final estimates of the clock rate difference for the 7 recordings made by KB4YZ on 06 April, 2001, from transmissions by VK3LM, are shown in the plot below.
Note the relatively narrow spread, compared to the first and second estimates, for the same recordings.
After more processing, described below, the final estimates of the clock rate difference for the 11 successfully decoded recordings made by W8ZCF on 05 and 06 April, 2001, from transmissions by VK3LM, are shown in the plot below.
Note the relatively narrow spread, compared to the first and second estimates, for the same recordings.
The steps listed in the next 2 images are used to go from the second estimate of the clock rate difference to the final estimate of this number.
As a part of this process, each of the subcarriers is phase demodulated, and the locations of all framing sequences, used in subsequent processing, are determined.
A block diagram of the phase demodulator is shown below. The input is the sequence of sample values in the .wav file. The output, for each subcarrier, is the corresponding sequence of normalized phase change values. The normalization is such that +1 unit of phase change produced by the modulator results in +1 being produced as the corresponding demodulator output.
This same structure is used for all of the subcarriers. Fsc is the local oscillator used for the respective subcarrier. Fsc is set based on the final tuning parameters.
Since the C library acrtangent function only provides the principal value, the "ARCTAN" block removes the discontinuities that would exist if the principal value was used directly.
The "DELAY" block provides a delay of one symbol period. Subtracting the angle values separated in time by one symbol period is the "differential" portion of this "differential phase demodulator".
The "AVERAGE" block averages 24 adjacent "differences" and divides by the unit phase step, to produce the final demodulator output. This averaging helps reduce the intersymbol interference produced by the low pass filters.
Links to: