Virtual Contesting with FT8
Matt Roberts - matt-at-kk5jy-dot-net
Published: 2025-05-14
Updated: 2025-05-22
In previous articles, I described different receiving
antennas for the HF bands, along with
experiences using FT8 to chase large
numbers of contacts. The latter is essentially a 24/7
contesting mode, with DXing and contact count the main goals.
After watching the robot make several tens of thousands of contacts
on the air, and largely wearing out my
favorite HF radio,
I started a project to try FT8 as a
non-contact sport,
so to speak. Many robots and DX-chasers on HF send only signal
reports during contacts, which makes FT8 into little more than a
snowstorm of radio beacons.
That makes FT8's style of "contesting" into an activity that
could be rewarding to
SWL
operators, too.
The idea of SWL DXing
isn't new. It is a hobby as old as the earliest days of
radio. Many contests
support SWL entrants. This project extends the idea of using
an FT8 robot to log large numbers of virtual contacts, which I will
call vQSOs, over very long spans of time, to automate DXing with very
inexpensive SDR
hardware.
My own goals here are data collection and analysis, but this same approach
could easily be used by SWL contest competitors, to gather very impressive
log files for real radiosport events.
The Station
For this project, I chose the increasingly popular LoG
antenna, with some minor updates from the original design. First,
I enlarged the loop to make it 20' per side. This is a 33% increase
in perimeter, giving a 77% increase in area. Second, I'm using the
loop as an all-band receiving antenna. I normally recommend the LoG
only for long wavelengths, but this time, it's going to run all bands, from
160m to 6m.
For the receiver, I chose the
RTL-SDR v3,
mostly because it is dirt-cheap, even by 2025 standards. I can buy a
handful of them for the same price as a single high-performance reciever.
This makes the activity approachable for even the most modest budget. My
receiver is actually four of these devices, connected to the antenna via splitter,
which makes the receiver design scalable. Four devices can take turns
scanning across several bands at once. Six receivers could cover all
the contest bands, including 160m, without having to scan — each dongle
could be dedicated to a single band full-time.
The RTL-SDR is not well-known for its sensitivity, especially on the HF
bands, so I upgraded the "team" of receivers with an upconverter,
to get better performance below 25MHz. The upconverter was an inexpensive
HamItUp Nano.
This shifts the spectrum captured by the antenna upwards by roughly 125MHz,
which places the HF bands in roughly the low VHF range for the receivers,
where they have far better performance.
Since the upconverter was intended for use with a single receiver, I pass the
output of the upconverter through an again inexpensive
common TV amplifier,
to keep the signals at each receiver nice and strong. This
mostly offsets
the splitter losses. Since the LoG antenna is a negative-gain
device, I also placed a
very nice HF preamplifier
between the antenna and the upconverter.
Strangely enough, the LoG antenna sometimes generates too much signal
when paired with the RPA-1, so I found that a
step attenuator between
the output of the RPA-1 and the upconverter could help me set the output to a
level where the receivers have plenty of signal to work with, but not enough
signal to drown them. Getting the levels right helps performance of cheap
receiver dongles immensely.
So the entire receiver chain currently looks a bit like this:
LoG antenna → HF preamp → Step Att → Upconverter → VHF preamp → 1:4 splitter → RTL-SDR x4 → USB hub → PC
...with everything after that done in software.
The Software
A while back, I gave up on the WSJT-X software for FT8, for a number of reasons,
and replaced it with custom software that allows me to
operate FT8 from the command line under Linux. That allows me to easily
run several long-term receivers to capture FT8 decodes. Each RTL-SDR is
assigned to its own instance of an FT8 softmodem, which generates text spots
from the audio from that receiver. It even uploads to the
PSKreporter
website while it runs.
That software package includes a utility to allow me to read and analyze the
long ALL.TXT logs generated by the decoders. Part of the output of that
utility is an ADIF log, showing the vQSOs it has captured.
Diagrams and details of the software stack can be found in the
FT8 Modem article.
Analysis - the fun part
There are all kinds of analyses that could be done with the data that is
captured. My own goals are to see how active the bands are, and how
the bands perform over time. Saving the data to an ADIF file allows
for existing analysis tools to aid whatever study is desired.
It may seem a little frivolous to make a contact log of stations you
didn't work, but by using "contest rules" to identify
unique stations and/or grids per band, later investigations using
that data will place all stations on a much more even footing. This
is statistically significant because otherwise, robots that call CQ 24/7
will appear in the data thousands or millions of times, while hand-operated
stations (if such a thing actually exists in FT8) may show only sparsely.
By using contesting QSO counting rules, the two vastly different types of
station operations appear in the log with relatively equal weight per call,
making analysis far more meaningful.
As an example analysis, here's a list of the top 40 DX destinations in
the log as of mid-May 2025, out of a list of nearly 200:
vQSOs Country
20641 Japan
10031 Germany
9821 Italy
9800 Spain
7072 United Kingdom
5265 France
4892 Brazil
4756 Russia
3899 Australia
3514 Poland
3381 Indonesia
2914 Netherlands
2912 Argentina
1802 Belgium
1676 Portugal
1472 Cuba
1224 Greece
1212 Ukraine
1162 Switzerland
1091 Chile
1085 Colombia
1082 Czech Republic
1037 Finland
1023 Denmark
910 Austria
905 Venezuela
889 New Zealand
876 Sweden
857 Norway
821 Romania
777 Dominican Republic
759 Croatia
679 Slovenia
668 Hungary
625 China
572 Bulgaria
562 South Africa
541 South Korea
463 Ireland
429 Slovakia
Other examples of analytical results include spots by day/hour, vQSOs per day/hour,
grid square counts and mean distances, calls per band, etc.
A more involved data dive might compare spots per clock hour per band, where
the software shows which hours of the day are most active for any given band.
This can be helpful for bands like 10m that are very sensitive to time-of-day.
Current Data
I am just getting started with this. Right now, my FT8 SWL station gulps
down over a million spots per week, and logs between 200 and 500 vQSOs each
day, so the data production rate is both impressive and interesting.
As part of the project, I am starting an analysis page called the LiveLoG.
This will show aggregate statistics from the spot and vQSO log files, to track
performance over time. That page can be found here:
Link: KK5JY vContest LiveLoG
The plan is to update that page at least daily, so stay tuned.
—
Copyright (C) 2025 by Matt Roberts, All Rights Reserved.