Help needed, please...

Add useful snippets of code or links to entire SDR projects.
Post Reply
Posts: 3
Joined: Mon Aug 13, 2018 1:50 pm

Help needed, please...

Post by hanslammerts » Fri Aug 31, 2018 1:04 pm


For the last week I've been searching for a solution to something I would like to have, but wasn't able to find anything that would suit my needs.

I own a RSP1, run Debian 9,and I am aware of the commandline tool play_sdr, which can record raw I/Q from the RSP.
Particularly interested in digital mode FT8, I'd like to be able to decode this mode in a similar way that WSJT-X does.
As far as I understand how this works, decoding happens someway along these lines:

1) SDR receives a couple of Khz around the designated FT8 frequencies.
2) These samples are saved as AUDIO .wav files, one for every 15 seconds of reception.
3) The FT8 decoder 'listens' to these audio wav files for decoding.

My questions:
1) is there a possibility to use commandline tools to receive and write AUDIO wav files directly ?
2) if not, is it possible to use play_sdr, record only a bandwidth of about 5 Khz around the known FT8 frequencies, in raw IQ ?
3) What tool would one use to convert these raw I/Q files to AUDIO wav files, if possible ? Sox ?
4) Does anyone know of a tool that can decode FT8 directly from raw I/Q .wav files ?

Since I'm only interested in receiving FT8 (for now), I do not need the complete GUI of WSJT-X, but would like to do the same using just scripts.
I'm also using SoapySDR to send data from the Linux machine to which my RSP1 is connected to another machine (Linux) that has GQRX, WSJT-X and GridTracker installed, so I'm familiar with using SoapySDR and SoapySDRRemote. Not sure if I could use this network data directly for my FT8 decoder....

If anyone has an idea what road I should follow, please let me know.

Last edited by hanslammerts on Thu Jan 01, 1970 12:00 am, edited 0 times in total.
Reason: No reason

Posts: 37
Joined: Sun Dec 25, 2016 4:24 pm

Re: Help needed, please...

Post by fventuri » Mon Sep 03, 2018 7:48 pm

most of the SDRs (including the RSPx's) cannot just 'receive a couple of kHz' around a given frequency - what they do is to 'sample' a typically much larger bandwidth (from 200kHz to several MHz in the case of the RSPs) and return a stream of I/Q values for the 'receiver' software to process (this I/Q stream is pretty much what people call a 'time series' in many CS fields).
By processing I mean operations like filtering the signal (and this would allow the signal bandwidth to go down to a couple of KHz), demodulating (see below), or other 'fancy' stuff, like decimating, interpolating, etc. As you can see some of these operations are better performed in the so called 'frequency domain' (as opposed to the 'time domain' of the original I/Q stream) and therefore you'll also see operations like FFT (Fast-Fourier Transform) and its inverse (IFFT)
Long story short, given the nature of FT8 (and pretty much any other digital mode), you would demodulate it as an SSB signal (typically USB) and then send the demodulated signal to an FT8 decoder (like WSJT-X).
Since you are on Linux and seem interested in command line tools, you may want to look in GnuRadio (, which has also a good 'Suggested Reading' page (
Another pure command line set of tools is CSDR ( by András Retzler (of OpenWebRX fame) - the examples in the github page should allow you to get a good idea on how it works.

Last but not least, you'll have to figure out how to do the FT8 decoding; I don't think that WJST-X has a command line interface (but I might be wrong) - another option could be JTDX (, but I don't think it supports command line either.

Hope this helps,
Last edited by fventuri on Thu Jan 01, 1970 12:00 am, edited 0 times in total.
Reason: No reason

Post Reply