FFT - preferred way of tone detection I am using FFT to detect certain frequencies (DTMF). I can clearly see the frequencies in the spectrum. Is there a preferred / optimal way to decide if a certain frequency is present or not by looking at the spectrum?

I can think at least of:


Bin absolute value (ie. bin amplitude)
Difference between maximum bin and second highest
Ratio between maximum bin and second highest
Ratio between maximum bin and sum of all others
Number 4 : Comparing narrow-band energy to the energy of the total spectrum is a commonly described method of DTMF detection.  This may involve using more than one FFT result bin and/or interpolation between bins. 

The other methods depend on whether one has an accurate estimate of the signal level, noise floor, and how well the tone frequency is centered in a single FFT bin (related to frequency, sample rate, FFT length and window).