Is there an accepted way of determining the noise floor of a signal by looking at it in the frequency domain? Is it a matter of averaging all the bins, or median, or some more complex calculation like those described in the question below?

What's the best criterion for determining a frequency peak?

I want to determine the noise floor to set a threshold for determining whether or not my signal contains a given frequency.

  • $\begingroup$ What are the characteristics of the noise? Is it white or colored? $\endgroup$
    – Jason R
    Jan 11, 2013 at 14:23
  • $\begingroup$ White noise, though I'd love to hear how the answer differs for other colors as well. $\endgroup$ Jan 11, 2013 at 14:25
  • 2
    $\begingroup$ White noise is easier to characterize because you would expect it to be flat in the frequency domain. I should have asked before, but what are the characteristics of your signal? How much of the band is filled by signal versus noise? Is the signal always present, or do you have a chance to observe noise only? $\endgroup$
    – Jason R
    Jan 11, 2013 at 14:31
  • 1
    $\begingroup$ The signal is composed of frequencies that fall in the center-bin when doing an FFT (no spectral leakage). Ignoring noise and channel effects each frequency is either at maximum or at the noise floor. If four out of the possible n frequencies are "on" then each frequency should have 1/4th of the power of the whole signal (again, ignoring the noise floor) $\endgroup$ Jan 11, 2013 at 17:53
  • 2
    $\begingroup$ @DanSandberg: Without a windowing function, Parseval's theorem lets you calculate energy in time or frequency directly from the other domain. For Python's fft function, for instance: rms(fft(x))/sqrt(n) = rms(x) examples here So you have to decide what your signal looks like in the frequency domain, remove it, measure the leftover values, and multiply by sqrt(n) to get the RMS noise floor, for instance. $\endgroup$
    – endolith
    Feb 5, 2013 at 16:03

2 Answers 2


Since your noise is gaussian, then its power spectrum is flat. You may have some signal spectrum peaks, so they should be avoided. I would propose either median of the power spectrum samples or alpha-trimmed average of the power spectrum samples, or ultimately the inter-quartile average. All of these estimates are robust, you may choose any that fits best.


You need to normalize your data based on the type of window you are using to obtain your frequency domain representation of the data. The normalization differs depending on whether you are measuring a narrow band (your signal peak) or broadband (noise) signal. Once you have the data properly normalized, the power of the narrow band signal can be read directly from the data. The noise measurement must be estimated from the "noise floor" of the normalized frequency data. Your noise power estimate will be 6dB less than the noise floor. For a detailed discussion,

Go to this link: http://www.fhnw.ch/technik/ime/publikationen

Download the paper ""How to use the FFT for signal and noise simulations and measurements".


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.