mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-22 20:28:42 -05:00
232 lines
12 KiB
Plaintext
232 lines
12 KiB
Plaintext
//Status: edited
|
|
|
|
=== Frequency Calibration
|
|
|
|
Many _WSJT-X_ capabilities depend on signal-detection bandwidths of no
|
|
more than a few Hz. Frequency accuracy and stability are therefore
|
|
unusually important. We provide tools to enable accurate frequency
|
|
calibration of your radio, as well as precise frequency measurement of
|
|
on-the-air signals. The calibration procedure works by automatically
|
|
cycling your CAT-controlled radio through a series of preset
|
|
frequencies of carrier-based signals at reliably known frequencies,
|
|
measuring the error in dial frequency for each signal.
|
|
|
|
You will probably find it convenient to define and use a special
|
|
<<CONFIG-MENU,Configuration>> dedicated to frequency calibration.
|
|
Then complete the following steps, as appropriate, for your system.
|
|
|
|
- Switch to FreqCal mode
|
|
|
|
- In the _Working Frequencies_ box on the *File | Settings | Frequencies*
|
|
tab, delete any default frequencies for *FreqCal* mode that are not
|
|
relevant for your location. You may want to replace some of them with
|
|
reliably known frequencies receivable at your location.
|
|
|
|
+
|
|
|
|
TIP: We find major-city AM broadcast stations generally serve well as
|
|
frequency calibrators at the low frequency end of the spectrum. In
|
|
North America we also use the standard time-and-frequency broadcasts
|
|
of WWV at 2.500, 5.000, 10.000, 15.000, and 20.000 MHz, and CHU at
|
|
3.330, 7.850, and 14.670 MHz. Similar shortwave signals are available
|
|
in other parts of the world.
|
|
|
|
- In most cases, start by deleting any existing file `fmt.all` in the
|
|
directory where your log files are kept.
|
|
|
|
- To cycle automatically through your chosen list of calibration
|
|
frequencies, check *Execute frequency calibration cycle* on the
|
|
*Tools* menu. _WSJT-X_ will spend 30 seconds at each
|
|
frequency. Initially no measurement data is saved to the `fmt.all`
|
|
file although it is displayed on screen; this allows you to check your
|
|
current calibration parameters.
|
|
|
|
- During the calibration procedure, the radio's USB dial frequency is
|
|
offset 1500 Hz below each *FreqCal* entry in the default frequencies
|
|
list. As shown in the screen shot below, detected signal carriers
|
|
therefore appear at about 1500 Hz in the _WSJT-X_ waterfall.
|
|
|
|
- To start a measurement session, check the *Measure* option and let
|
|
the calibration cycle run for at least one complete sequence. Note
|
|
that, while measuring, any existing calibration parameters are
|
|
automatically disabled so you may have to increase the *FTol* range if
|
|
your rig is off frequency by more than a few Hertz in order to capture
|
|
valid measurements.
|
|
|
|
image::FreqCal.png[align="left",alt="FreqCal"]
|
|
|
|
With modern synthesized radios, small measured offsets from 1500 Hz
|
|
will exhibit a straight-line dependence on frequency. You can
|
|
approximate the calibration of your radio by simply dividing the
|
|
measured frequency offset (in Hz) at the highest reliable frequency by
|
|
the nominal frequency itself (in MHz). For example, the 20 MHz
|
|
measurement for WWV shown above produced a measured tone offset of
|
|
24.6 Hz, displayed in the _WSJT-X_ decoded text window. The resulting
|
|
calibration constant is 24.6/20=1.23 parts per million. This number
|
|
may be entered as *Slope* on the *File | Settings | Frequencies* tab.
|
|
|
|
A more precise calibration can be effected by fitting the intercept
|
|
and slope of a straight line to the whole sequence of calibration
|
|
measurements, as shown for these measurements in the graph plotted
|
|
below. Software tools for completing this task are included with the
|
|
_WSJT-X_ installation, and detailed instructions for their use are
|
|
available at https://physics.princeton.edu/pulsar/k1jt/FMT_User.pdf.
|
|
|
|
Using these tools and no specialized hardware beyond your
|
|
CAT-interfaced radio, you can calibrate the radio to better than 1 Hz
|
|
and compete very effectively in the ARRL's periodic Frequency
|
|
Measuring Tests.
|
|
|
|
image::FreqCal_Graph.png[align="left",alt="FreqCal_Graph"]
|
|
|
|
After running *Execute frequency calibration cycle* at least once with
|
|
good results, check and edit the file `fmt.all` in the log directory
|
|
and delete any spurious or outlier measurements. The line-fitting
|
|
procedure can then be carried out automatically by clicking *Solve for
|
|
calibration parameters* on the *Tools* menu. The results are
|
|
displayed as in the following screen shot. Estimated uncertainties
|
|
are included for slope and intercept; `N` is the number of averaged
|
|
frequency measurements included in the fit, and `StdDev` is the root
|
|
mean square deviation of averaged measurements from the fitted
|
|
straight line. If the solution seems valid, you are offered an
|
|
*Apply* button to push that automatically sets the calibration
|
|
parameters in *File | Settings | Frequencies | Frequency Calibration*.
|
|
|
|
image::FreqCal_Results.png[align="center",alt="FreqCal_Results"]
|
|
|
|
For a quick visual check of the resulting calibration, stay in
|
|
*FreqCal* mode with the *Measure* option cleared. _WSJT-X_ shows
|
|
the adjusted results directly on the waterfall and the displayed
|
|
records.
|
|
|
|
=== Reference Spectrum
|
|
|
|
_WSJT-X_ provides a tool that can be used to determine the detailed
|
|
shape of your receiver's passband. Disconnect your antenna or tune to
|
|
a quiet frequency with no signals. With _WSJT-X_ running in one of
|
|
the slow modes, select *Measure reference spectrum* from the *Tools*
|
|
menu. Wait for about a minute and then click *Stop*. A file
|
|
named `refspec.dat` appears in your log directory. When you check
|
|
*Ref Spec* on the *Wide Graph*, the recorded reference spectrum will
|
|
then be used to flatten your overall effective passband.
|
|
|
|
=== Phase Equalization
|
|
|
|
*Measure phase response* under the *Tools* menu is for advanced MSK144
|
|
users. Phase equalization is used to compensate for group-delay
|
|
variation across your receiver passband. Careful application of this
|
|
facility can reduce intersymbol interference, resulting in improved
|
|
decoding sensitivity. If you use a software-defined receiver with
|
|
linear-phase filters there is no need to apply phase equalization.
|
|
|
|
After a frame of received data has been decoded, *Measure phase
|
|
response* generates an undistorted audio waveform equal to the one
|
|
generated by the transmitting station. Its Fourier transform is then
|
|
used as a frequency-dependent phase reference to compare with the
|
|
phase of the received frame's Fourier coefficients. Phase differences
|
|
between the reference spectrum and received spectrum include
|
|
contributions from the originating station's transmit filter, the
|
|
propagation channel, and filters in the receiver. If the received
|
|
frame originates from a station known to transmit signals having
|
|
little phase distortion (such as a station known to use a properly
|
|
adjusted software-defined transceiver), and if the received signal is
|
|
relatively free from multipath distortion so that the channel phase is
|
|
close to linear, the measured phase differences will be representative
|
|
of the local receiver's phase response.
|
|
|
|
Complete the following steps to generate a phase equalization curve:
|
|
|
|
- Record a number of `wav` files that contain decodable signals from
|
|
your chosen reference station. Best results are obtained when the
|
|
signal-to-noise ratio of the reference signals is 10 dB or greater.
|
|
|
|
- Enter the callsign of the reference station in the DX Call box.
|
|
|
|
- Select *Measure phase response* from the *Tools* menu, and open each
|
|
of the `wav` files in turn. The mode character on decoded text lines
|
|
changes from `&` to `^` while _WSJT-X_ is measuring the phase
|
|
response, and it changes back to `&` after the measurement is
|
|
completed. The program needs to average a number of high-SNR frames to
|
|
accurately estimate the phase, so it may be necessary to process
|
|
several `wav` files. The measurement can be aborted at any time by
|
|
selecting *Measure phase response* again to toggle the phase
|
|
measurement off.
|
|
|
|
+
|
|
|
|
When the measurement is complete, _WSJT-X_ saves the measured
|
|
phase response in the *Log directory*, in a file with suffix
|
|
".pcoeff". The filename contains the callsign of the reference
|
|
station and a timestamp, for example `K0TPP_170923_112027.pcoeff`.
|
|
|
|
- Select *Equalization tools ...* under the *Tools* menu and click the
|
|
*Phase ...* button to view the contents of the *Log directory*. Select
|
|
the desired pcoeff file. The measured phase values will be plotted as
|
|
filled circles along with a fitted red curve labeled "Proposed". This is
|
|
the proposed phase equalization curve. It's a good idea to repeat the
|
|
phase measurement several times, using different wav files for each
|
|
measurement, to ensure that your measurements are repeatable.
|
|
|
|
- Once you are satisfied with a fitted curve, click the *Apply* button
|
|
to save the proposed response. The red curve is replaced with a
|
|
light green curve labeled "Current" to indicate that the phase
|
|
equalization curve is now being applied to the received data. Another
|
|
curve labeled "Group Delay" appears. The "Group Delay" curve shows
|
|
the group delay variation across the passband, in ms. Click the
|
|
*Discard Measured* button to remove the captured data from the plot,
|
|
leaving only the applied phase equalization curve and corresponding
|
|
group delay curve.
|
|
|
|
- To revert to no phase equalization, click the *Restore Defaults*
|
|
button followed by the *Apply* button.
|
|
|
|
The three numbers printed at the end of each MSK144 decode line can be
|
|
used to assess the improvement provided by equalization. These numbers
|
|
are: `N` = Number of frames averaged, `H` = Number of hard bit errors
|
|
corrected, and `E` = Size of MSK eye diagram opening.
|
|
|
|
Here is a decode of K0TPP obtained while *Measure phase response* was measuring
|
|
the phase response:
|
|
|
|
103900 17 6.5 1493 ^ WA8CLT K0TPP +07 1 0 1.2
|
|
|
|
The "^" symbol indicates that a phase measurement is being accumulated
|
|
but is not yet finished. The three numbers at the end of the line
|
|
indicate that one frame was used to obtain the decode, there were no
|
|
hard bit errors, and the eye-opening was 1.2 on a -2 to +2
|
|
scale. Here's how the same decode looks after phase equalization:
|
|
|
|
103900 17 6.5 1493 & WA8CLT K0TPP +07 1 0 1.6
|
|
|
|
In this case, equalization has increased the eye-opening from 1.2 to
|
|
1.6. Larger positive eye openings are associated with reduced
|
|
likelihood of bit errors and higher likelihood that a frame will be
|
|
successfully decoded. In this case, the larger eye-opening tells us
|
|
that phase equalization was successful, but it is important to note
|
|
that this test does not by itself tell us whether the applied phase
|
|
equalization curve is going to improve decoding of signals other than
|
|
those from the reference station, K0TPP.
|
|
|
|
It's a good idea to carry out before and after comparisons using a
|
|
large number of saved `wav` files with signals from many different
|
|
stations, to help decide whether your equalization curve improves
|
|
decoding for most signals. When doing such comparisons, keep in mind
|
|
that equalization may cause _WSJT-X_ to successfully decode a frame
|
|
that was not decoded before equalization was applied. For this
|
|
reason, be sure that the time "T" of the two decodes are the same
|
|
before comparing their end-of-line quality numbers.
|
|
|
|
When comparing before and after decodes having the same "T", keep in
|
|
mind that a smaller first number means that decoding has improved,
|
|
even if the second and third numbers appear to be "worse". For
|
|
example, suppose that the end-of-line quality numbers before
|
|
equalization are `2 0 0.2` and after equalization `1 5 -0.5`. These
|
|
numbers show improved decoding because the decode was obtained using
|
|
only a single frame after equalization whereas a 2-frame average was
|
|
needed before equalization. This implies that shorter and/or weaker
|
|
pings could be decodable.
|
|
|
|
NOTE: Further details on phase equalization and examples of fitted
|
|
phase curves and eye diagrams can be found in the article on MSK144 by
|
|
K9AN and K1JT published in {msk144}.
|