I have samples of a signal that contains an AM signal added to an FM signal with the same carrier frequency $f_c$. The AM signal is a sinusoid with frequency $f_{AM}$ and the FM signal is a sinusoid with frequency $f_{FM}$.
I know how to recover $f_{AM}$ and $f_{FM}$ when I have only an AM signal or only an FM signal, but my techniques are not working when I try to recover $f_{AM}$ and $f_{FM}$ from the sum. For the AM signal, I'm taking the FFT and finding peaks at $f_c$ and $f_c + f_{AM}$. For the FM signal, I'm finding the time-derivative of the signal and taking the FFT, which gives me a peak at $f_{FM}$. When I take the FFT of the sum, I can see peaks at $f_c$ and $f_c + f_{AM}$, but when I take the FFT of the time-derivative of the sum, I don't get a single neat peak anywhere near $f_{FM}$.
What should I do to recover both $f_{AM}$ and $f_{FM}$?
EDIT: A partial solution I've found is to proceed in two stages. First I find the AM component by taking the FFT (this gives $f_c$ and $f_c + f_{AM}$). Then I eliminate the AM component by dividing each sample by its magnitude. Taking the fft of the time-derivative of this normalized signal gives me a spike at $f_{FM}$, but it also gives me a lot of other spikes. Any suggestions on how to make this give a cleaner answer?