Fullduplex operation in FT4/FT8 via QO-100
By Matthias, DD1US, January 30th 2023
FT4 and FT8 are getting very popular digital operation modes on QO-100. Most radio amateurs seem to use the software WSJT-X in combination with SDR-Console.
Even though those digital modes need very little uplink power (ERP) we can often see, that many users are transmitting with excess uplink power.
Unfortunately, WSJT-X does not support full duplex operation which helps to monitor the own signal, adjust the uplink power and in addition check the signal quality. Also, in full duplex mode possible collisions of the transmission with other users can be detected and the uplink frequency can be accordingly adjusted rather than increasing the uplink power.
Searching for a solution I contacted Uwe DG2YCB, who is part of the development team of WSJT-X. Uwe was very responsive and helpful and recommended to use 2 instances of WSJT-X. It turned out that this is a very nice solution not only helping to monitor the own signal but also enabling to monitor the same frequency simultaneously for FT4 and FT8 emissions.
Below I will explain how to setup the software. Many thanks to Uwe DG2YCB for his helpful advice. By the way Uwe is the source for the versions “WSJT-X_improved” and “JTDX_improved”.
You can always run multiple instances of WSJT-X (or “WSJT-X_improved”) or JTDX (or “JTDX_improved”) at the same time. They will then work independently of each other.
To track your signal on the QO-100, you only need to run a second instance using your downlink signal from the satellite as audio source. In fact, the two instances of WSJT-X can share the same port of a virtual audio cable. I am using VAC from Eugene V. Muzychenko.
I assume that you start WSJT-X via a hyperlink on the screen and work with Windows, but with Linux or macOS it works in principle analogously.
The instances work as follows:
- Copy the "WSJT-X" screen hyperlink and paste it twice somewhere on your desktop, so that you now have a "WSJT-X - Copy" and "WSJT-X - Copy(2)" hyperlink there as well.
- Right-click on the "WSJT-X - Copy" link and open "Properties". There you will find the path where you installed the program, e.g. C:\WSJT\wsjtx\bin\wsjtx.exe. Now add an instance name with --rig-name= ... an instance name, e.g. C:\WSJT\wsjtx\bin\wsjtx.exe --rig-name=TX.
- Do the same with "WSJT-X - Copy(2)", except that for Destination you enter e.g. the following: C:\WSJT\wsjtx\bin\wsjtx.exe --rig-name=RX.
- Rename the two new screen hyperlinks, e.g. WSJT-X - TX and WSJT-X - RX.
- Now you can start and run both instances completely independent from each other.
Of course, now both of your new instances will start with fresh settings, so you would have to re-enter all your data. But you can also easily copy the existing data. This is how it works:
- Open your very first instance (the "zeroth", so to speak, the one you open via the normal "WSJT-X" hyperlink). Click there on "Open log directory". Technically the (normally hidden) system folder "C:\Users\USERNAME\AppData\Local\WSJT-X" opens in the explorer now. Your settings are respectively in the file WSJT-X.ini, and your logbook in wsjtx_log.adi.
- Copy these two files (or all of them). Now click on the arrow up in the explorer, so that you get to C:\Users\USERNAME\AppData\Local\. You will now see two folders "WSJT-X - TX" and "WSJT-X - RX" next to the "WSJT-X" folder. Open the folder with TX and copy your copied files into it. Rename the file "WSJT-X.ini" to "WSJT-X - TX.ini" (overwrite the existing one).
- Close your very first WSJT-X instance (so to say the "zeroth").
- If you now click on your new "WSJT-X - TX" screen hyperlink, the new "first" instance of WSJT-X will open, but it now looks exactly like your previous one ("zeroth"). From now on work only with this one and adjust the settings under Settings -> Audio regarding the paths for Save Directory and AzEl Directory accordingly.
- Repeat steps 1-5 for your second instance, the one that opens when you hyperlink to the "WSJT-X - RX" screen.
- Now only a few small things are missing.
- Close your zeroth and your first instance.
- Open your second ("RX") instance again, which now looks the same as your first ("TX") instance. Go to the Settings menu and change the audio source, if necessary, so that it takes over the downlink signal of your Sat-RX.
- Move the two windows for WideGraph and the main menu a bit to the right.
- Start your new first ("TX") instance again, which can now be opened and closed completely independent from the second one.
- Move the windows for the two instances so that they are arranged sensibly next to each other.
From now on, work only with your new two instances, because starting the "zeroth" instance at the same time would "shoot down" the other two. Of course, the "zeroth" instance will continue to work as usual, as long as the two new ones are not open. You can run only two instances independently of each other, if they are started with the extension --rig-name=XYZ).
If you are using SDR-Console and have enabled in “Transmit Options” the option “Mute receiver during transmit”, then the spectrum and waterfall display will be muted or dimmed according to the set volume reduction. It is better to disable the option “Mute receiver during transmit” when operating FT4 or FT8 in full duplex mode.
Also make sure that the receiver you are using does not have the squelch function enabled.
Here are some screenshots how my setup looks like. I am using 6 receiver windows to monitor the two CW beacons (10489.5 and 10490.0MHz), the PSK beacon (10489.750MHz), the Multimedia beacon (10489.9935MHz), listen to a SSB-QSO (10489.690MHz) and to operate in FT4/FT8 (10489.540MHz):
When operating in SSB mode I am using the Transmit setting “Normal”, when operating FT4/FT8 I am using the setting “Other”. Thus, I can adjust my output power (by drive and gain settings) for each mode and switch simply between them.
Another option is to change the transmit power in the WSJT GUI (slider on the right).
You have now two waterfall windows, the upper called “WSJT-X – TX” and the lower “WSJT-X – RX”. In the lower window you can see your own transmit signal (marked with the red bar) and also other signals transmitted while you are transmitting. You can see there also signals and thus avoid transmitting on the same frequency as they are using.
If you are not in a QSO you can also use the “WSJT-X – RX” instance to monitor a second digital mode. For instance, you can use the instance which is used for transmit (“WSJT-X – TX”) to monitor FT-8 signals while the other instance (“WSJT-X – RX”) is used to receiving signals in FT-4. If you then find an interesting station, you want to have a QSO with, you simply switch both windows in the same mode and use the “WSJT-X – TX” instance to make the QSO.
I hope this description will help others to optimize their operations in FT4/FT8 via QO-100.
Many thanks to Uwe DG2YCB for his kind support.
Questions are always welcome. Please send them to my Email address given below.