I am trying to choose the best approach to digitally analyse a signal, which is a mix of an unknown number (but less than 16) fundamental signals at specific frequencies (e.g., sines).
The goal is to determine which of the fundamental signals are present in the signal.
Some of the fundamental signals might be distorted, so they are actually more like square waves than sine waves.
I can decide what the fundamental signals are going to be, including their frequencies, waveforms and amplitudes, since I am going to generate them digitally.
However, I have no control over the distortion process, which can increase the amplitude of the fundamental signals by some unknown amount, resulting in distortion of some or all of the fundamental signals.
The analysis approach should be robust, such that it can still figure out which signals are present even if all the fundamental signals have been distorted.
The fundamental signals all have limited bandwidth, obviously, and the total bandwidth in which to fit the fundamental signals is also limited.
One idea I've already had is to increase the amplitude of the fundamental signals over a short window of time, such that for a brief moment in the window, they will get through without being distorted, making the job of detecting using an FFT easier.
But perhaps there is a much better way to deal with this? I haven't explored other techniques like wavelets, Kalman filters, etc. and to be honest my signal processing knowledge is a bit limited.