FT8 and splatter and the ugliness of ALC

NOTE: This was written before the GFSK modification to FT8 that has solved most of the inter-symbol and start-up splats.  Leaving it here for historic interest, but the overdriven audio issue is still valid. The low tones issue with harmonics is mostly solved if you select split or fake-it split, so you never transmit with a base tone less than 1500 Hz, but that’s just a Band-Aid, you should set your TX level slider so you only just reach the power you want.  If the power does not back off 3dB when you drop the WSJT-X slider by 3dB, you are not in the linear zone yet.

I have been playing with FT8 on 144MHz, as there is loads of activity, but there are also some rotten signals.  Hard to understand why, when the mode is supposed to be very narrow and it is full carrier, so it ought to work even with a class-C non-linear amplifier, like FM, right?  Well, as it turns out, perhaps not.

Being neighbourly, I decided I had better check out my Elad FDM-DUO SDR radio and make sure I understood how to drive it without causing problems for others.  As FT8 is a constant-carrier mode, I thought that normal intermodulation distortion from amplifier nonlinearity should not be an issue.  However, there are well-characterised sidebands from the modulation which need to be taken into account, and that changes the picture quite radically.

FT8 uses eight tones, spaced 6.25Hz, and they are modulated by FSK at 6.25 symbols per second. The tones take up less than 50Hz in theory, but there is a wide comb of FM/PM products either side.  The relationship is complex as there are different sized FSK steps in multiples of 6.25Hz.  Rather than try to do any analysis, and going back to University days with Bessel functions and other terrors from the past, I simply ran a CQ call from WSJT-X 1.8 in FT8 mode and used Spectrum Lab to look at the generated signal directly from the output stream of the program, using a Virtual Audio Cable.

So this what the raw FT8 for “CQ G4DBN IO93” looks like when averaged over 10 seconds.  At around -60dB relative to the peak tones, it is 400Hz wide.  At -90dB it is still there at about 2kHz wide.

OK, so now we feed that via a USB audio interface, still in digital form, to the SDR radio.  The DUO has a low-level 0dBm output which I use for LF and for VHF/UHF/SHF transverters.  That output is spectacularly clean on SSB with a digital two-tone drive, so as you’d expect, the FT8 output from the DUO is pretty good. I used a good quality 10dB SMA 50 ohm attenuator on the 0dBm output for this test.

That looks very similar to the raw audio from WSJT-X, again about 400Hz wide (two divisions) at about -60dB relative to the peak tone levels. This was using much wider FFT bins on the 4406 than in Spectrum Lab. The blip as the left is carrier feedthrough, at least -70dB relative to the peak tones.  The cut-off from about 300Hz above that is caused by the audio tailoring in the DUO. So it looks like, even at 100% on the slider, the 0dBm output is pretty much a perfect copy of the input, with no additional spreading.

Right.  Now to test the main output, through the QRP linear amplifier in the DUO.  I set the output to 5 watts through a 30dB 4GHz-rated power attenuator and the 10dB SMA attenuator, leaving everything else pretty much alone.  For the test, I did the same thing as for the 0dBm output test, firing up a CQ, then starting the analyser after a couple of seconds and leaving it running for about 10 seconds.  Here is what it looked like:

Now there are some new artefacts in there.  One is a bit of 100Hz PSU hum on the carrier at -80dB relative to the tones, and that is mixed with the main tones. Same with the carrier feedthrough at -70dB, it seems to have a bit of the signal at -80dB on the LF side. Very low-level, all of those features.

At the -60dB level, the width is still about 400Hz. I’d say that was still remarkably clean.

A closer-in view of the 5W output looks like this:

That is in 2Hz bins, and shows the same 400Hz width at -60dB as in the original WSJT-X audio source.

A 20kHz wide view is like this (note that the larger FFT bins mean the noise floor is raised by 17dB relative to the plot at 2kHz wide)

OK, so overall, it looks decent, clean and presentable.

However, that is not the full story.  I was seeing wideband clicks (more like splats actually) at the start of  some transmissions.  To capture those, I ran the E4406A analyser in peak capture mode with wide FFT bins and let it collect for 15 minutes.  Things started to look very much less pleasant at that point.

Here is a plot.  The blue trace is the maximum seen at each FFT bin, the yellow trace is the current active transmission spectrum.  Width is 10kHz.  You need to take the spectrum with a bit of a pinch of salt because the bin size is 200Hz, to make sure I could capture the very fast splats.

Now that is pretty grim, with some serious energy at -60dB from the peak around 9kHz wide instead of 400Hz in the original waveform.  So, what is going on here?

The DUO appears to have that spawn of the Devil, ALC. It is setting the overall level based on a running average of the original signal.  As usual with *ANY* ALC system , this is really bad news, as the initial attack results in a bit of an overshoot, then the amplitude is dragged back to the preset ALC cap, and after a few milliseconds, it settles down, but the fast amplitude and phase change that the ALC imposes results in wideband AM/PM modulation and that nasty splat.

Checking what is going on, the Windows device which represents the digital audio input to the FDM-DUO was set to a level of 100 in Windows Sound. I wound that back until the mean level of the transmission fell back to around 90% of the ALC-limited power.  That was at  a level of 60 in my case.

Retesting for another 15 minutes with no other changes, the spectrum was improved hugely:

The raised noise floor of the blue line is an artifact of the wide resolution bandwidth, but the shape of the spectrum looks very much like the original, at least up to 2700Hz and down to 300Hz, where the transmit filters chop off the modulation sidebands.

Charlie NN3V put me on to this with a question on the EladSDR@groups.io mail forum, so thanks to him for setting me off on this interesting investigation!

Right, so that should be an improvement in the cleanliness of my FT8 and other constant-carrier digimode signals.  We are done. Or perhaps not…

There are a couple of issues still there.  That sharp LF cutoff is pretty close to the peak of the modulated envelope, only 25dB down.  Cutting off the higher-order modulation products is going to have an effect on the demodulation process as it will cause distortion of the symbols.  The tests were done with FT8 set to 890Hz, but imagine if it was at 450Hz, like some signals I’ve seen.  That leads to serious distortion of the symbols and may explain why some signals are hard to decode even when they are loud.

There is another issue with using low-ish tone settings.  Here is a transmission from a local that I saw today.  The tone setting in FT8 was about 320Hz. 

In the spectrum grab, you can see a set of eight tones at nearly 20Hz spacing, starting at 960Hz or so, then another set or eight, much weaker, spaced more than 30Hz apart starting at 1600Hz.  These must be odd harmonics of the original audio.  A pretty good justification for the WSJT-X recommendation to use frequencies around 1500Hz so that any harmonics are out of the transmit passband.  It would also mean that the skirt of the LF side would not be cut off so much.

I’ve been labouring under the misapprehension that FT8 was “about 50Hz” wide, but it is actually a *lot* wider, and even though it is a nice, well-behaved constant-carrier mode, ALC pumping in the initial milliseconds of each transmission is still able to make you into a very bad neighbour.

No obvious sign of the 50/100Hz mains hum sidebands I see on a lot of WSPR signals, but that’s a whole other blogpost!