Hi egonotto,

Sorry for the delay in answering your post. I had to first of all make sure that the following discussion was unaffected by a slight issue that we found in PicoScope 6.

When working in Spectrum mode you need to be aware that, although we are working with digital values and you have what looks like an instantaneous FFT plot, in order to perform the calculation, the bandwidth of measurement needs to be split up into frequency bins in order to produce the FFT values. Processing the time domain signal in frequency bins means that the FFT calculation is acting like a narrow-band spectrum analyzer that sweeps over the bandwidth of the signal spectrum. As it is only considering a small spread of noise for each calculation this has the effect of pushing the noise down by an amount known as the process gain, which is calculated as 10 Log ( number of bins / 2 ).

So, for instance, if the number of bins is 32768 (the default) then the process gain is:

10 Log (32768 / 2) = 42.14dB

We can demonstrate how this affects the SNR in an example:

Process gain worked exampleIn the attached data file you can see that the SNR automatic measurement is 77.43dB. This is the decibel ratio of the noise to the 1kHz sine-wave from the internal Signal Generator. When you add the process gain (as previously calculated) to this you get an FFT noise floor of:

77.43 + 42.14 = 120.57dB

You can also see that, with the display mode set to "Average Hold", when you place the bottom ruler in the middle of the noise floor, and the top ruler on the top of the 1KhZ waveform, the rulers measure 118.5dB of signal to noise level. As the measurements are approximations, this is close enough to the software calculated value + process gain.

You can see the process gain in action when you double the number of bins ("Spectrum Options->Spectrum Bins") and the displayed noise floor drops by 3dB, (i.e. the process gain increases from 42.14dB to 10 Log (65536 / 2) = 45.15dB)

We can confirm that the software is doing the right thing by performing a calculation for the signal to noise ratio based upon the signal waveform and noise captured in the above example:

SNR worked exampleSNR is calculated as follows:

SNR = 20 Log ( RMS value of signal / RMS value of noise)

= 20 Log ( ( peak to peak value of signal / 2 * √ 2 ) / peak to peak value of noise / 2 * √ 2 )

In the above screenshots you can see that we have zoomed in to the Time Domain (Scope Mode) waveform to measure the peak-to-peak noise, and the peak-to-peak signal waveform, with the PicoScope voltage rulers, and the values we get are 1.799V for the p-p signal, and 213uV for the p-p noise. So, using these values:

SNR = 20 Log ( (1.799 / 2 * √2 ) / ( 213 * 10^-6 / 2 * √ 2 ) )

= 20 Log ( 1.799 / 0.000213)

= 75.41dB

Using this calculated value the SNR + process gain is 118.55dB !

Now, the video you referred to on you tube is using a version of PicoScope that had an error in the calculation for SNR. The noise floor in the spectrum plot of the video is at the same (or similar) level to what we had above, but the SNR is at 97dBc. For a 16-bit Scope the maximum possible range is 97.6dB, but in Spectrum mode the minimum number of bins that you can have is 128, so there must be a process gain of at least 18dB to subtract (and that's without considering the quantization noise, input noise and signal noise).

Regards,

Gerry