Finding n Amplitudes by DFT, what is correct normalization

Please forgive me if this has already been asked. Let us assume an example with $$x(t) = \sum_{i=1}^N A_i \sin(2\pi f_i t)$$ under a given sampling frequency $$f_s$$, frequencies $$\omega_i$$ and Amplitudes $$A_i$$. My ideas was to calculate the DFT transform $$\tilde{x}(\omega)$$, find the peaks of $$|\tilde{x}(\omega)|$$ and infer the original amplitudes from them.

However, there are several obstacles.

1. There is leakage, and the Maximum of the peak is a bad indicator for the Amplitude of the signal; the normalization factor seems to be dependent on several factors.
2. The Peaks overlap.
3. I need a window function to get rid of the side lobes, which again changes my normalization.

Do you have experience in doing this? What is the best practice? Any useful literature?

• If you can, just sample the signal for a longer time. That will increase the "true" resolution of your DFT and you'll be able to tell the peaks apart.
– MBaz
Commented Feb 19, 2019 at 15:38
• possibly a near duplicate of dsp.stackexchange.com/questions/28448/… Commented Feb 19, 2019 at 15:54
• Check out my answer here for a start: dsp.stackexchange.com/questions/56038/… Commented Mar 21, 2019 at 20:15