wspr module for SDRconnect
A WSPR listener with a Qt based front end for use with the SDRconnect framework
For "listening" to wspr, one needs a little more patience than for e.g. FT8. In wspr, the transmitter transmits - starting on the even minutes - a smallband signal (app 6 Hz), usually pretty weak, for about 113 seconds. (Of course the next minute will be even again, and a new message can be sent.) The wspr module is designed such that when reading the message, i.e. for a period of 114 seconds frequency selection is turned off. Selecting another frequency will be recorded and delayed until the pause after completion of the read process.
wspr signals can be heard (better: seen) on a number of predefined frequencies, and - obviously - usually one sees on a single frequency a bunch of messages.
An extract from the messages can be uploaded to the so-called pskReporter site. On that site one can see the locations of the transmitters whose messages are received.
Decoding is tough, happily there is a ready-made set of functions that will do the hard work (wsprd). **It must be stressed that the copyrights for those functions belongs to Joe Taylor and Steven Franke **, and those functions are included integrally in the code for this program..
Important: The wspr Module (as other modules) use the WEBSOCKET interface to the SDRconnect system. Be sure that the selector to enable the WebSocket Server in SDRconnect is enabled, it is probably nit enabled by default.
The main widget contains two parts:
- the control part on the left,
- the message part on the right.
WSPR frequencies are standardized. So the widget contains a selector with presets for frequencies in the common amateur bands. On the picture, it shows that the 40m band is selected and the selected frequency is 7040100 Hz. For selecting alternatice frequencies, the Freq button, when touched shows a small widget wirh a keypad
with which a frequency can be selected.
Touching the button save freq stores the currently selected frequency in
the preset list.
Of course, SDRconnect itself provides ample opportunities to select a frequency.
It is important to realize that - as said, the messages are transmitted on even seconds and last for 113 seconds. The wspr module is such that once it started reading, it considers changes to frequencies done on the wspr window to be *REQUESTS to be handled after completing the message.
The window shows when reading the number of seconds already read, and otherwise the (usually few) minutes before the next read starts.
Parameters for the decoding process of the wspr messages are
- number of passes, as can be expeted, a higher number of passes over the data might result in more accurate decoding. The spinbox with number "2" here can be used to set that number.
- subtraction, the basic idea here is that once a message has been decoded, it can be encoded again, and the signal of the encoded message is subtracted from the signal that came in, hopefully to make decosding of other messages possible.
- quickmode, as the name suggests decoding is faster, but at the price of less accuracy;
- hashtable, as the name suggests, results can be stored in a hashtable for later use
As said, (part of) each message can be send to the pskReporter. In order to do that, one needs to have set an identity. Touching the button labeled set identity shows a small widget where a callsign, a locator and an antenne description can be given. Of course, this information is stored and meintained between program invocations. I am not a real radio amateur, just a listener, so the callsign I am using is the official "listener"'s number.
If no identity is known to the software, messages are NOT sent to the pskReporter sire.
The button report is used to start (and stop) the software that will handle the communication to the pskReporter. The picture shows - below the report button the message "sending to pskServer". If not "on" the label at the bottom will be red. On starting the process, the software tries to start the local browser with the map of the psk reporter.
Touching the button labeled "dump" controls the dumping. On touching in when dumping, i.e. with the button text "WRITING", dumping stops. On touching the button when not dumping, a file selection menu will show, with a suggested name already filled in for saving the output.
The format of the output is in csv format, i.e. the resulting file can be read with OpenOffice or - when running Windows - the Windows variant of the software, as shown in the picture below
The repository contains both an AppImage and a Windows installer Of course it is possible to create an executable, A ".pro" file is available for use with qmake and make There is NO CMakeLists.txt file
The core of this software, the code implementing the decoding process, is - apart from some localization options - litterally included. That code, the code in the "wsprd" subdirectory is copyright Joe taylor and Steven Franke, with minot modification by Guanael Jouchet.
The copyrights of the KISS library belong to Mark Borgerding and are gratefully acknowledged. Of course, the copyrights of the Qt-framework are gratefully acknowledged.
All other stuff copyright J van Katwijk, Lazy Chair Computing




