# How to estimate SNR on a spectrum analyser

In the picture, the spectrum analyser shows 1kHz has about -5dB and noise between -40dB and -60dB (I'll just pick a value somewhere in the middle, or -50dB). So the SNR according to the equation:

$$SNR = 10 \;log \big({ S \over N}\big) = 10 log \big({ -5dB \over -50dB}\big) = -10 dB$$

But in the tutorial where the picture originated from they can quickly estimates a 60dB SNR just by looking at the spectrum analyzer. How to estimate SNR just by looking at the spectrum?

You are using the above formula wrong! It is for converting signal and noise power in linear scale to SNR in logarithmic scale. For signal and noise power expressed in dB (log scale!):$$SNR (dB) = S(dB) - N(dB)$$

• I don't get it. Doesn't the R in SNR mean Ratio and SNR should be a ratio of something? If I skip the log at least that should be S(dB) / N(dB)? Subtracting the two will give me Signal-to-Noise-Difference....
– KMC
Jul 23, 2021 at 14:15
• @KMC The values in dB are already logarithmic. Taking the ratio of the powers they represent is done by subtracting the log-scale dB values. Jul 23, 2021 at 14:38
• @nanofarad so I should first take out the log, do the ratio, then log it again: SNR = 10 log [ 10^S(dB) / 10^N(dB) ] = 10 * 45 = 450 (dB) !
– KMC
Jul 23, 2021 at 14:59
• You didn't take the log out properly. Your conversion should be 10 log [10^(S in dB / 10) / 10^(N in dB / 10)] because the conversion to dB involved multiplying by 10. Jul 23, 2021 at 15:02
• Provided that you have S and N in W or mW, $SNR = S/N$ (linear scale). For log scale, $SNR(dB) = 10log(S/N) = 10log(S) - 10log(N)$. However, $10log(S)$ and $10log(N)$ are signal and noise power in log scale but you are already have them in log scale. Therefore, as @nanofarad said, you only need to take the difference. Jul 23, 2021 at 15:14

First you need to know the resolution bandwidth setting you are using on the analyzer.

If you are seeing say, -50dB noise on screen, that is -50dB noise in that bandwidth. Now you need to integrate the noise in every slice of that bandwidth over the whole bandwidth of interest. So if RBW=200Hz (my guess from the width of your 1 kHz peak) then noise in (for example) 20kHz bandwidth is 20000/200 * -50dB or -30dB.

S/N is then the difference between signal (-5dB) and noise (-30dB).

• How did you see 200Hz? If each interval is approximately 1kHz, the range or bandwidth shown in the picture would be roughly 10kHz. If I integrate it by means of the area that would be -50dB * 10kHz = 500kdB?
– KMC
Jul 24, 2021 at 0:56
• Three misconceptions in one short comment... 1) 200Hz was visual guesswork from the width of the 1 kHz signal peak compared with its distance from the X axis LHS (presumably 0Hz). Replace my guesswork with the actual figures you can get from the analyzer. 2) -50dB * 10kHz is dimensionally wrong but see *. -50dB * 10000 would be correct IF the RBW was 1 Hz; or -50dB * 10000Hz / 1 Hz. But the peak is clearly not 1 Hz wide so you still need to find the real RBW and use -50dB * (full BW/RBW). 3) 10000 times as much as power must be converted to dB first : it is 40dB, so -50dB * 10000 is -10dB.
– user16324
Jul 24, 2021 at 12:06
• (*). You can express noise power density as dB/Hz (or noise voltage density as dBV/sqrt(Hz). In that form you can simply multiply by the bandwidth (and dimensionally divide by 1Hz) : 10000Hz/1Hz is then simply 40dB in noise power. For voltage, sqrt(10000 Hz) / sqrt(1Hz) = 100 = ... once again, 40dB.
– user16324
Jul 24, 2021 at 12:12