# Why is automatic modulation classification hard?

There is a huge amount of research into automatic modulation classification (AMC) using machine learning.. Why is AMC a hard/difficult problem that we need to use machine learning or even deep learning to solve it?

There is a small number (a few dozens) of different modulations, so I would assume we could just try to demodulate a signal using each classification and see what works. I've read a few papers on the subject of AMC and adversarial attacks against modulation, however none motivate why the need to use machine learning in the first place.

• My personal view is that people throw machine learning at any problem they can’t be arsed to figure out themselves. YMMV
– Peter K.
Jun 20, 2022 at 21:59
• @PeterK. +1 for the comment! Jun 20, 2022 at 22:54
• @PeterK. I agree, with the dissent that, "figure out" can be both much lower yield per unit effort invested, and, be simply worse than ML. Then there's also just load(my_data) into Keras tutorial. Jun 21, 2022 at 20:08
• @OverLordGoldDragon Fair enough! I'm just down on people not exerting their brains at all. :-)
– Peter K.
Jun 21, 2022 at 20:36
• ML sometimes is preferable for the cases where CFO and interference type effects exist on the signal. Dec 7, 2022 at 18:00

1. Amplitude modulation and frequency modulation decompositions are non-unique. AM example:

$$\cos(A)\cos(B) = .5[\cos(A+B) + \cos (A - B)]$$

1. No single linear transform can perfectly decompose all AM-FM signals, due to the uncertainty principle. In time-frequency analysis, our chosen kernel will have a certain time or frequency resolution that can handle some signals but not others. Extremes example, what excels at time localization will be terrible at multi-component separation:

1. "There is a small number (a few dozens) of different modulations" There's plethora, and "few dozens" is hardly "small". Have a look at test cases.

Non-ML methods boil down to clever workarounds about the uncertainty principle, by guessing (assuming) things about signals we'll encounter. The root of the problem is, we're bad at combining these guesses to encompass every possibility: a highly time-localized decomposition and a highly frequency-localized one aren't easily compatible.

NNs, on the other hand, excel at it. An NN is a big bag of nonlinearities that's tuned to given data and given optimization objective. This objective drives gradients that by definition strive to attain whatever decomposition is necessary to succeed at the task. The stronger the NN's priors (assumptions), the less data it'll take to learn, but also the lesser its ability to generalize: on the opposite end lie the remarkably successful transformer networks.

To name a popular method that fails in practice, the Hilbert transform can only perfectly extract an A.M. envelope if 1) the carrier is a pure sine, 2) envelope's frequencies don't exceed carrier's, proven here - and the greater the deviation from these two criteria, the worse the extraction.

• Yet we can perfectly extract the AM when the carrier is not a pure sign (just not with the Hilbert alone) Aug 13, 2022 at 12:44

There is no need to use ML, it's just that neural networks are great classifiers under certain conditions. There are many classical AMC algorithms that work pretty well, too.

But, let's consider your claim that you could just demodulate a signal using all known demodulators and "see what works". How do you define that a demodulator "works?" Any passband signal can be demodulated with any demodulator to produce a baseband signal. How can you automatically determine whether the demodulated signal "works"?

Since this approach does not work very well, most AMC algorithms try to infer the modulation type itself from the properties of the passband signal (or rather its complex envelope), both in frequency and time domains.