I have some iq data recordings of a 2-FSK waveform that I've created periodograms from. How do you estimate the SNR of this waveform in the frequency domain? I've heard two opinions:


  • Integrate the signal band power over the excursion
  • Find a clear area of the spectrum and integrate the noise power over the same bandwidth
  • Divide the two quantities: SNR = signal power/noise power
  • This seems weird because FSK is just two tones and integrating the signal over the excursion is just integrating a lot of noise and very little signal


  • Find the peak signal power of one of the tones
  • Estimate the median of the noise floor power
  • Divide peak signal by median of noise floor: SNR = peak / median
  • This also seems weird because depending on the snapshot of data, the amplitude of the tones is different. SNR isn't changing but this method doesn't give a constant SNR.

If I could collect the same iq data with the waveform turned off (just receiver noise), would it make the calculation any simpler?

enter image description here enter image description here


1 Answer 1


I've used the first technique before. The idea is that you have some chunk of time domain samples where you know only noise is present and use that to get an estimate of the noise power, $P_n$. Then you determine the total received power, which will have contributions from both signal and noise, $P_{s+n}$. When you take the ratio of these, you get:


For high SNR, the extra $1$ doesn't matter too much but to be exact the SNR estimate should be:


  • $\begingroup$ So, that would be a time domain approach, right? $\endgroup$ Feb 22, 2021 at 17:38
  • $\begingroup$ @random_dsp_guy yeah that is what I intended, but Parseval says you could do it either in time or frequency if you had to for some reason. $\endgroup$
    – Engineer
    Feb 22, 2021 at 18:12

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.