- Amplitude modulation and frequency modulation decompositions are non-unique. AM example:
$$
\cos(A)\cos(B) = .5[\cos(A+B) + \cos (A - B)]
$$
- 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:
- "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.
load(my_data)
into Keras tutorial. $\endgroup$