1

This sounds like quite a basic question but it surprised me, how is SNR actually measured?

You have the incoming signal:

enter image description here

It seems like the SNR is just the visual comparison of the peak signal 'amplitude' to the noise 'amplitude'. In this case the signal 'amplitude' clearly includes noise as well, because it is summed together i.e. it is the sum of the noise 'amplitude' at that frequency and the signal 'amplitude' at that frequency because 'amplitude' in this case referring to volt-seconds under the curve of a complex sinusoid at that frequency times the signal (which contains the noise sinusoid and signal sinusoid at that frequency, which creates a greater amplitude sinusoid at that frequency and therefore there is more area (volt-seconds) under the curve when that sinusoid is multiplied by a complex sinusoid of the same frequency.

I'm assuming the received signal power would be calculated by squaring the $V_{RMS}$ of the samples taken and I assume noise is also sampled at a separate occasion to get the $N_{RMS}$ (or so called noise variance, but real noise doesn't have a 0 mean i.e. no 0 frequency component), or it uses a frequency spectrum analyser or something to get the voltseconds at unused frequencies and then integrate it with respect to frequency i.e. $s^{-1}$ to get the average voltage and then square it to get the average power, the problem with that being that you can't measure the noise on the frequencies that are used, so I would think that it is acquired separately, like in the wifi layer 1 preamble and training sequences.

But the signal comes in as the signal+noise, so surely it's actually (signal (${V_{RMS}}^2$ + noise ${V_{RMS}}^2$) / noise ${V_{RMS}}^2$) that is being measured, unless noise is deliberately subtracted from the signal i.e. received signal (${V_{RMS}}^2$ - noise ${V_{RMS}}^2$) / noise ${V_{RMS}}^2$ to get the SNR? I'm assuming that the traditional $P_{\text{signal}}$ means the signal without the noise and not the received signal as it is seen.

lennon310
  • 3,590
  • 19
  • 24
  • 27
Lewis Kelsey
  • 259
  • 2
  • 12
  • 1
    I disagree that the SNR can be measured as depticted in the picture. First, spectral analyzers don't mesure signal amplitude directly. Second, it ignores the scope's resolution bandwidth. – MBaz Oct 09 '20 at 18:30
  • See for example the first seven minutes of https://www.youtube.com/watch?v=PNMOwhEHE6w – MBaz Oct 09 '20 at 18:35
  • @MBaz I agree with you because that isn't showing the noise and signal power. The power is the area under the frequency spectrum of a transform of a time domain signal measured in power – Lewis Kelsey Oct 14 '20 at 00:10
  • Yes -- that I can agree with, although technically it's the area under the power spectrum. Many spectrum analyzers either do that by default or can be configured to do so. – MBaz Oct 14 '20 at 01:58

1 Answers1

4

The SNR is simply the mean-square of a demodulated symbol divided by the variance of the signal, or in dB:

$$\DeclareMathOperator{\SNR}{SNR}\SNR =10\log_{10}(\mu^2/\sigma^2)$$

$$=20\log_{10}(\mu/\sigma)$$

A typical metric for this in receiver equipment is the Error Vector Magnitude (EVM) where an "error vector" is the Euclidean distance from the actual sample at the optimum timing location in each symbol to the actual symbol location in a reference waveform (as the distance to closest decision boundary, just prior to decision). EVM is the normalized rms of the error vectors over multiple samples, where the waveform and the decision boundaries are scaled to either the rms amplitude or a maximum amplitude in the constellation, depending on which standard is used. We can therefore use one sample for every symbol to compute a sufficient number of errors to derive a statistical quantity.

EVM

See this post for more details on computing EVM from which the above graphic was copied: How to calculate EVM in %age of an Equalized Constellation in 16QAM?, but to describe it simply we statistically estimate with enough samples the standard deviation of this normalized error. The EVM is the average of the noise magnitudes as a percentage of the normalized constellation which represents the signal. (The average of the magnitudes is not the same as the magnitude of the average ($\mu$) so an additional small adjustment factor for this is needed in translating EVM to SNR that depends on the signal constellation used and the normalization that was used for computing EVM).

The relationship between EVM and SNR is therefore:

$$\SNR = 20\log_{10}(1/\text{EVM}) - K$$

Where $K$ is an adjustment factor depending on the peak-to-average of the constellation and how the constellation was normalized to the peak for computing EVM.

This would be affected by the portion of the noise as in the OP's figure that is within the bandwidth of the receiver after demodulation just prior to symbol decision (which is the noise bandwidth we are concerned with: the waveform bandwidth).

Dan Boschen
  • 50,942
  • 2
  • 57
  • 135
  • I know the calculations for EVM and MER. So is that how SNR is typically calculated then? $\text{SNR} = 20\log_{10}(100%/\text{EVM}) - K$?, where EVM is the EVM in percentage: $$\frac{\sqrt{\frac{1}{N} \sum_{n} \left(E[n]\right)^2}}{|S_{\text{max}}|} \times 100%$$ As far as I know $S_{\text{max}}$ is the magnitude of the furthest constellation point in the scheme.. so 'signal' means the signal as it was transmitted, rather then received?. And how many samples is it estimated over? 1 symbol worth of samples or does it use the samples in the last X symbols or something – Lewis Kelsey Oct 14 '20 at 01:06
  • @LewisKelsey Signal is as it is received and the received waveform constellation is normalized in the equation. How many samples is similar to how many samples do you need to estimate the true variance of a random process.... combined with the consideration of how stationary that random process is. Make sense? – Dan Boschen Oct 14 '20 at 01:18
  • So is K making the '100%' in $100%/\text{EVM}$ take into account the received signal? Isn't this just MER then? (signal vector V RMS over error vector RMS) because EVM alone is error vector V RMS over max constellation point voltage. – Lewis Kelsey Oct 14 '20 at 02:03
  • EVM is against a pure reference signal so is truly isolating the noise component alone - if your V RMS is just the RMS of this reference constellation then it is the same thing so you need to define here what you are actually using for V RMS to be clear. There is also a difference between V RMS and |V| rms so we need to be clear in the definition — which isn’t always consistent from standard to standard. – Dan Boschen Oct 14 '20 at 02:21
  • But given any definition we can derive the relationship to SNR using this approach. Every sample is signal + noise and the estimate of that is a statistical estimation process. – Dan Boschen Oct 14 '20 at 02:22
  • 1
    @LewisKelsey Notice here https://en.wikipedia.org/wiki/Error_vector_magnitude they say for EVM "The ideal signal amplitude reference can either be the maximum ideal signal amplitude of the constellation, or it can be the root mean square (RMS) average amplitude of all possible ideal signal amplitude values in the constellation. " while elsewhere you find other definitions. As they do in this paper: https://eprints.soton.ac.uk/263112/1/paper_101.pdf But here they "define" it as the outermost point: https://www.ieee802.org/16/tg1/contrib/802161c-01_28.pdf – Dan Boschen Oct 14 '20 at 11:23
  • So I haven't been able to find a consistent definition which implies for any given application of EVM where it is introduced to be used, it is important to provide the definition for that use (I updated the linked answer with that comment as they are generally important in this context. – – Dan Boschen Oct 14 '20 at 11:49
  • Yes I wasn't sure whether it was the amplitude of the maximum constellation point or the RMS of what the signal vector should have been – Lewis Kelsey Oct 14 '20 at 18:46
  • @LewisKelsey so for EVM it could be either so you always have to ask. For SNR it would have to be the rms of the constellation if the actual symbols are equiprobable, or weighted accordingly for other cases: for instance if you knew the maximum constellation points were always transmitted over a certain duration, then the SNR would be computed from those points. – Dan Boschen Oct 14 '20 at 19:59
  • unrelated but is there a term for information rate divided by BER to get the rate of correct data after error correction; although I know this doesn't really make much sense to measure this as it would actually be lower due to higher layer protocols resending packets – Lewis Kelsey Oct 15 '20 at 07:36
  • 1
    Depends on your correction implementation, for example look into the error correction capability of block codes and the terminology related to that. (If confused after your brief research ask as a separate question; we are encouraged to avoid extended or unrelated discussion in the comments) – Dan Boschen Oct 15 '20 at 12:15
  • Is RSSI just the square of the RMS of the vectors of the received constellation points prior to channel gain equalisation? – Lewis Kelsey Nov 02 '20 at 03:24
  • 1
    @LewisKelsey There is no real standardized approach to measuring RSSI or what it means but typically is a signal strength indicator that is proportional in dB to the received signal level. Depending on receiver implementation, it is often derived from the AGC in that it is the inverse of the gain provided for gain equalization - but often this gain is distributed into front end gain change and further digital gain change-- in which case RSSI can be the derived from those. – Dan Boschen Nov 02 '20 at 04:41