Signal / Noise

When you first load a spectrum, we do a quick estimation of the noise which is used to set the initial contour level (the positive/negativeContourBase) of your spectrum. This allows fast loading of spectra and ensures your spectrum has a reasonable initial contour level when you first open it in a SpectrumDisplay. A full noise estimation would slow things down. Because this initial noise estimation is not very accurate, the spectrum's noiseLevel (and corresponding negativeNoiseLevel) is not actually set at this point.

If you want accurate information about the noise in your spectrum, you can right-click on your SpectrumDisplay and select Estimate Noise (or use the shortcut EN). This will bring up the Estimate Noise pop-up which allows you to estimate the noise for all the spectra in the active SpectrumDisplay. You can estimate the noise either using the Visible Area or Random Sampling methods. You will get back information about the mean, standard deviation and min/max points of the noise sample used. The Estimated noise level is set at 3.5 times the standard deviation of the noise. Assuming a Gaussian/Normal distribution of the noise, this should set your noiseLevel just above (or pretty much at the maximum value of) your noise.

The pop-up allows you to re-estimate the noise if you wish and to set the spectrum noiseLevel to the Estimated noise level.

This method will take all the points of the spectrum which are currently shown in the active SpectrumDisplay and use these to estimate the noise. This method assumes that the region shown only contains noise, so you first have to zoom into a part of the spectrum without any peaks before you bring up the Estimate Noise pop-up.

The Random Sampling method will select a number of points in your spectrum to use for the noise estimation. Typically, a minimum of 3% of points per axis up to a maximum of 10,000 points are used. Of these points, lots of random subsets are chosen and used to estimate the mean and standard deviation of the noise. The subset with the lowest standard deviation is the final one used. This ensures that you are less likely to have accidentally included a real signal in your random sample.

On a 1D spectrum you can visualise the noise level by right-clicking and selecting Show Noise Thresholds. If the noise hasn't yet been estimated for the Spectrum/Spectra being shown, then it will be estimated at this point using the Random Sampling method. If this is happening, it may take a moment before the noise levels are drawn. You can move the noise level interactively if you wish. Please note that the noise threshold is separate from the level above/below which peaks are picked. To see these levels, you can right-click and select to view the Peak Picking Exclusion Area. This can also be modified interactively.

Once the noise level of a Spectrum has been estimated, the signal / noise value (S/N) of a Peak is automatically calculated and displayed in the PeakList).

When considering peak signal / noise values, it is worth remembering that there are several ways of calculating the signal / noise value of a peak. One method is based on traditional signal theory where the signal to noise ratio is measured in terms of the square root of the fraction between the power of the signal intensity and the power of the noise intensity (Hyberts et al. 2013). This is typically how NMR spectrometers will measure the signal / noise. It is, however, somewhat dependent on the specifics of how you acquired your spectrum (e.g. sweep widths, carrier position, acquisition length, possible use of apodisation, probe shimming and tuning).

Many NMR spectroscopists, however, define the signal / noise as:

$$signal/noise = \frac{A}{\sigma_{noise}} $$

where A is the height of the peak of interest and σ_{noise} is the standard deviation (also sometimes referred to as the root mean square or rms) of the noise. The advantage of using this definition is that it takes account of the fact that NMR spectroscopists typically work with signal averaging. When you double the number of scans, the signal will double, but the noise will only increase with by a factor of √2. Thus, by using this definition of signal / noise, a doubling of scans leads to an increase in the signal / noise value of √2 which is a convenient relationship. It is this definition of signal / noise which we have started using from Version 3.2.2 onwards. The signal / noise reported in your project is calculated on the fly and will therefore depend on the version of the program you are using, not the age of the project.

Previously (versions 3.0-3.2.1), we used the equation used by Varian:

$$signal/noise =\frac{2.5A}{N_{pp}}$$

where A is the peak height and N_{pp} is the peak-to-peak noise, i.e. the full spread of the noise from the minimum to the maximum signal in the noise region. We approximated N_{pp} to 2 * noiseLevel, i.e. 7 * σ_{noise} (unless you had manually changed the noiseLevel yourself, of course).

Note that the equation used by Bruker is:

$$signal/noise =\frac{A}{2 \cdot noise}$$

where A is again the peak height and

$$noise=\sqrt{\frac{ \sum_{i=-n}^{n}y(i)^2 -\frac{1}{N} \left( \left( \sum_{i=-n}^{n}y(i)\right)^2+\frac{3\cdot\left( \sum_{i=1}^{n}i(y(i)-y(-i))\right)^2}{N^2-1}\right)}{N-1}}$$

where N is the total number of points in the noise region, n = (N-1)/2 and y(i) is the n^{th} point in the noise region.