1
$\begingroup$

I'm not sure if this is the right place to post this question, but will try anyway :-)

I recently started reading up on the field of automated modulation classification (AMC) where an algorithm tried to classify which modulation scheme an RF signal is using (eg BPSK, QPSK, etc..). Some if the common approaches include higher order statistics, deep neural networks, etc...

My question is, at least for digital modulation schemes with constellation diagrams, why cant this problem be solved by a very simple solution: try decoding the signal using various modulation schemes and see which gives you the most confidence. Confidence can be measured by something like mean distance to the closest constellation point of that scheme.

I realize that this may not be the fastest solution to the problem, and it cannot easily be applied to analog schemes (e.g. FM), but would it at least work? What would be its biggest issues?

Thanks

(PS: my background in not anywhere close to digital communications, so forgive any ignorance)

$\endgroup$
1
  • $\begingroup$ One problem would be complexity: you'd have to implement and run all those decoders. But I think it's a nice idea, you should go ahead and simulate it and see well how it works. $\endgroup$
    – MBaz
    Feb 13, 2020 at 22:15

1 Answer 1

1
$\begingroup$

try decoding the signal using various modulation schemes and see which gives you the most confidence

well, simply because your "confidence" measure is basically equivalently hard to design generally enough as the other methods you mention.

Also, the search space is simply too humongous. How would you decode all possible combinations of constellations, symbol rates, with unknown phase and timing offsets, over all possible combinations with multi-carrier systems without any prior attempt to narrow things down? How low would your detection thresholds have to be so you could classify even without having done system-specific synchronization (which you can't do, without first assuming a system)?

$\endgroup$
7
  • $\begingroup$ That is true, but any classifier (as far as I know) only has a finite amount of output classes. Traditional ML based classifiers will scale much better with increased classes though. In practice, I believe that actual amount of potential mod schemes would be fairly low (<10?) $\endgroup$ Feb 14, 2020 at 0:08
  • $\begingroup$ Sadly, that's far from true. You forget that we're not only talking about BPSK, QPSK, $2^N$-QAM, but also of differential variants, a lot of legacy/low complexity modulations (ASKs, OOK), FSKs in the most wonderful pulse shapes, then spreading techniques… alone dicking around with multiple carriers makes that problem exponentially hard, not even incorporating the fact that as an observer, you rarely have perfect SNR, see the same Doppler or even have the same understanding of how long 1 s is. $\endgroup$ Feb 14, 2020 at 0:19
  • $\begingroup$ And that's only "common" ones for terrestrial comms. Satellite TV? Why not 30-PSK! IoT waveforms? Well, Lora has this funky "it's always a linear chirp, but cyclically shifted, and the shift contains the data". Space-time block codes will make your single-antenna receiver think that two BPSKs look like 8-PSK, maybe. Generally, telling 16-QAM from 8-PSK is very hard unless you have great SNR. How would you tell 28-QAM from 32-QAM? It's the same, just missing a few symbols. Look at a OFDM signal in time domain: it's approximately gaussian distributed. So, it looks like WGN in a sharp band... $\endgroup$ Feb 14, 2020 at 0:23
  • $\begingroup$ You just throw decoders on that. How so? How does a "knows nothing" 16-QAM decoder work, even if exposed to an actual 16-QAM of unknown timing, rate, frequency offset and drift? How much worse is your expected confidence than should you happen to hit an 8-PSK just right in time by accident? $\endgroup$ Feb 14, 2020 at 0:24
  • $\begingroup$ #Checkmated. Good points! Makes me wonder how AMC is actually done in real life at all. I have mostly been working with the open-source RadioML dataset (deepsig.io/datasets) w/ 24 classes and a range of SNR values. This approach ignores all the different variations and of the schemes and effects of more complex channel noise though... $\endgroup$ Feb 14, 2020 at 0:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.