So your digital mode software is configured to control your transceiver via CAT control (excellent!). The software indicates that you are currently on the 20m band in FT8 mode, so your radio has been tuned to 14.074MHz USB (or digital mode, which is in-turn configured for upper-sideband). Good! Everything is coming together.
You have good time synchronization and so you start to decode some signals, all separated by some value of frequency. Excellent! You are on track to make contacts. In fact, this is good enough for most people – you are “on the air” and can make your exchanges and all is well. That is, until you wonder to yourself: “how accurately am I reporting the frequency of these exchanges?” or “can I improve my accuracy of frequency reporting?” or even “what is the frequency precision between our stations?”
Welcome to the inner struggles of VE3BUX
If you are not concerned with chasing accuracy and precision, then you are probably a well adjusted individual who enjoys more actual operating time, and have no need to read on. If you are however curious about adopting new and frankly unhelpful compulsions, read on.
Synthesized transceivers tend to display a frequency dependent offset which closely approximates a linear dependence involving factors such as oscillator age, stability, temperature and operating conditions. Can we both measure and account for such an offset (or error)? Yes we can!
Follow me for a thought experiment for a moment. Imagine you know of a transmitter that has extremely high accuracy and stability. Imagine this transmitter is transmitting a 1 kHz tone at exactly 14.1 Mhz on USB (single peak at 14.101’000 MHz on a spec-an). You would expect that if you tune your radio to 14.100’000 Mhz that you should receive a pure tone at 1 kHz audio frequency (as measured by an oscilloscope or spectrum analyzer). Instead, you measure an audio tone at 1037 Hz, or done differently, you tune your radio until you receive a tone of 1 kHz (or no beat frequency) and note the dial frequency reads 14.100’037 MHz. You have just measured a frequency difference of a mere 37 Hz. What does that mean though? It means that between your radio and the distant station, you have a frequency difference of +37 Hz over what you agree are the same frequency. What is this in oscillator terms? It is simply (ΔfHz / fMHz) = (37 / 14) = 2.6 PPM difference. This 2.6 PPM would be considered as “not bad” for a standard oscillator. Consider how this may compare with a TCXO such as (TXCO-9 for the FT-857D which boasts 0.5 PPM) or something like a GPSDO with 10 MHz output at 0.001 PPM.
The authors of the truly amazing WSJT-X software have coded in the ability to automatically tune to various frequency (and time) standards, allowing the measurement of frequency differential between the highly stable time/frequency standards and the receiving station (you). With enough samples, a “best fit” correction factor for your particular station set up can be computed. This allows for compensation to be done in software, tuning the radio a little high or low to account for the measured offset. This gets you in to the single-digit Hz accuracy realm! We are talking sub-PPM range! (e.g. 9 Hz / 14.074 MHz = 0.63 PPM)
To start the calibration process, I found it useful to copy my current configuration file into a new version, specifically made for the purpose of tuning to the various time/frequency standards in my area. You will then edit the new configuration file to remove the FreqCal mode frequencies which would not apply due to your location and/or propagation.
First, start by cloning your current (usually default) configuration.
This is done by clicking on “Configurations” at the top of the main WSJT-X window, selecting your current configuration (indicated by the black circle on the left), and clicking on “Clone”.
If you have multiple configurations, it is best to clone one which has been proven to work with your current setup. The WSJT-X software needs to be able to reliably control the transceiver via CAT controls in order to tune through the frequency standard list. You need at least two frequency measurements to calculate the slope and X-intercept of a dial-error vs frequency function.
Give your new configuration profile a useful name, something to indicate its purpose. I use the name “FreqCal”. Change the name by once again clicking on “Configurations”, selecting “Default – Copy” and then “Rename”.
Next, you will need to “load” your new FreqCal configuration. This is done by clicking on “Configurations”, and selecting “FreqCal” and then “Switch To”. The WSJT-X window will disappear and re-appear with the FreqCal configuration file loaded.
Once you have loaded your new configuration file, try changing radio frequencies by clicking on the “operating band” to the left of the frequency display in the WSJT-X software. You should see the radio’s displayed frequency change as you “tune around the bands” in the software.
Next, we will pare down the list of frequencies that the FreqCal mode uses to measure its reference carriers.
I like to reduce my FreqCal setting to include only FreqCal mode frequencies. This is accomplished by clicking on “File”, then selecting “Settings” and once the window appears, select the “Frequencies” tab at the top.
You can sort the list of frequencies by clicking on “Mode” (as indicated in the red box). I select all frequencies which are not associated to the FreqCal mode and then delete them by right-clicking and select “Delete”. I saved my list of FreqCal only frequencies and exported them for future use / reference. The list is available for download and subsequent loading into future configuration files. You can replace the current list of frequencies of your configuration by right clicking in the “Working Frequencies” list and selecting “Load …” and opening the FreqCal.qrg file I’ve made public.
With your frequency list configured, it is time to run the frequency calibration routine. This is done by clicking on “Tools” and then selecting “Execute frequency calibration cycle”.
Enabling the frequency calibration cycle simply means that the WSJT-X software will automatically cycle through the FreqCal frequencies which you have selected in your configuration file. Once you confirm that the automatic band switching is working and that you can see a carrier “tone” on the waterfall (or corresponding data in the “decode window”), you are set to start actually measuring the frequency differences. The next step is to click on “Measure” and wait.
As the frequency calibration measurement cycle progresses, you will see operating frequency, expected audio frequency, measured audio frequency, computed frequency difference, signal level and “S/N” ratio information populate the data window. I like to set the T/R time to 30s and run the measurement routine so that at least two cycles of the entire frequency list have been completed.
Next, you stop the measurement cycle by clicking on “Measure” and then click on “Tools” and then “Solve for calibration parameters”.
If you have enough good data, the software will calculate the slope and intercept values of the linear-dependence function that you have measured. It is important to note that any significant changes in station conditions (such as large temperature changes) should prompt a new calibration routine.
With a good calibration solutine available, you can “Apply” the values to the current configuration file (which is your FreqCal configuration).
On the next pop-up window, you will be asked if the fmt.all file should be renamed as fmt.bak. Select “No” this time, we want to “import” that same data into your other configuration(s) without having to manually enter the calibration data each time.
It would be a good idea to write the calibration data somewhere as a good start-point in case the data is lost in the software.
When prompted to rename the fmt.all file, you should select “No” for each configuration file that you plan to update / use unless you only have one main configuration file.
In most cases, you are fine to simply load your “Default” configuration (Configuration -> Default -> Switch to) and then click on Tools -> Solve for calibration parameters, select “Apply” and then “Yes” to delete calibration measurements.
You can now verify that the slope and intercept data have been applied to your configuration file by clicking on “File”, then selecting “Settings” and once the window appears, select the “Frequencies” tab at the top.
That’s it! You now have sub-PPM frequency resolution (with respect to the time/frequency standards used). If all operators would perform this calibration routine, you would be better able to trust the frequency data being reported. This is particularly useful / true of pskreporter.info data.
For the benefit of pskreporter.info users, It might be worth adding a line in the “antenna description” line of the “station information” section found under File -> Settings -> Frequencies to report something to the effect of:
“xyz antenna type; freq cal sub PPM via FreqCal”
This data is displayed in pskreporter.info as the antenna description when someone hovers on your station to see when and at what frequency you last heard a particular callsign.
One method is to right-click in the white space, select “Insert”. You then select the band of interest and write / paste in your narrative. This is an adequate method if you only use one or two bands.
A quicker method of adding more than just a couple of bands involves clicking in the “Working Frequencies” window, pressing Ctl-A to “select all” and drag the list into the “Station Information” window.
Once fully populated with bands, delete any unused bands and copy/paste your narrative into the antenna section by double-clicking on the “Antenna Description” line beside any remaining bands.
At this point, you have both measured and corrected any frequency offset which your station suffered from. You should now enjoy a much higher level of accuracy and precision while on the bands. You may even notice that more signals seem to be sent & received on even number frequencies (often in 50Hz increments). Enjoy!