[ADXA] Multi RX decoding (FT8/FT4/Q65) experiments

Charles McKenzie kf5tl at outlook.com
Wed May 6 20:57:07 EDT 2026


Jussi you just made my head hurt trying to follow you, but very interesting, this seems to be a follow up from an email from Joel a few months ago concerning this concept but applying it to ft8 is really interesting ! 
73
KF5TL 
Sent from my iPhone

> On May 6, 2026, at 4:21 PM, Jussi Eloranta via ADXA <adxa at mailman.qth.net> wrote:
> 
> Hi,
> 
> If there are Linux users out with a radio that has dual RX capability
> then you may want to try out the following (must be able to compile C
> programs).
> 
> When using multiple RX antennas (low bands) diversity receive has been
> widely used to improve CW/SSB copy. But how about digital modes like
> FT8? The first thought is to mix the audio from the two RXs into one and
> let WSJT-X decode that. However, there are two issues with this: 1)
> there tends to be a small audio phase difference between the two audio
> signals in practice (as observed on my K4D) and adding them up does not
> give great results, and 2) the noise from both antennas will also be
> mixed together. The next thought is to use two separate WSJT-X instances
> to decode each RX separately (use -r option to start the 2nd one). While
> this works, it is somewhat cumbersome to use while running QSOs because
> the two WSJT-X's do not talk to each other. I initially did this such
> that the audio from the two RXs on the radio was directed to left and
> right stereo audio channels. One WSJT-X read the left and the second the
> right channel. The nice thing is that this performs decodes during
> identical time windows with the two antennas.
> 
> OK, then I decided to improve things a bit. I wrote a piece of code
> (called multi) that sits between WSJT-X GUI and the JT9 decoder (name of
> the program that decodes FT8/FT4/...). Multi gets the decodes from *two*
> JT9 instances (one for each RX), processes them, and passes them on to a
> single WSJT-X GUI. When running QSOs, the WSJT-X GUI gets decodes from
> both RXs without any extra hassle. Processing here means that multi
> picks the decode from the two RXs that has the best signal to noise
> (SNR) and drops the other one. It can also filter decodes based on a
> given CTY file or collect statistics for antenna comparison. It will
> insert information about the relative antenna performance in the decoded
> text (see attached photo as an example). Before the decoded message
> field one can now find:
> 
> =   Both RXs had SNR within 2 dB of each other.
> a   RX a (or antenna attached to RX a) was better than b by more than 2 dB
> b   RX b was better than a by more than 2 dB
> A  RX a was better than b by more than 8 dB
> B  RX b was better than a by more than 8 dB
> A! Only RX a was able to decode (not present on b).
> B! Only RX b was able to decide (not present on a).
> 
> As a sanity check, running the two RXs with identical antennas will give
> '=' for all stations. So no big differences between the two RXs & the
> program behaved as expected.
> 
> At least for me this has improved (and simplified) my low band RX on FT8
> a great deal. My RX antennas have different polarizations and this can
> help with (slow) variation of polarization. Also the arrival angle can
> vary. But, of course, if these variations are faster than the FT8 RX
> period then this probably won't help much (other than the directivity
> factor of the antennas). But my initial observation is that this
> approach works surprisingly well in practice. One could also envision to
> have remote SDR receivers sitting at each RX antenna and then get
> decodes from them (over wifi or wired ethernet)  into single WSJT-X.
> 
> Let me know if you are interested in testing this. I wrote a bit more on
> my blog page on this (source code on github):
> 
> http://aa6kj.hopto.org/wp/?p=153
> 
> Jussi (aa6kj)
> 
> ps. The attached photo also shows two waterfall displays - one for each
> RX. I should take another photo when 80m is actually open properly.
> 
> pps. And if there are Linux users out there with Bandmaster V then I
> have managed to reverse engineer their protocol & have example code
> showing how to set the antenna relays from C program.
> 
> <multi.jpeg>
> ______________________________________________________________
> ADXA mailing list
> Home: http://mailman.qth.net/mailman/listinfo/adxa
> Help: http://mailman.qth.net/mmfaq.htm
> Post: mailto:ADXA at mailman.qth.net
> 
> This list hosted by: http://www.qsl.net
> Please help support this email list: http://www.qsl.net/donate.html


More information about the ADXA mailing list