Processing parameters in 1D experiments
This is an interactive demo showing how the appearance of the NMR spectrum is affected by certain processing parameters, particularly zero-filling and window functions. See below for an explanation. You may find it useful to have the demo open in a separate window while reading the text.
Signal options
Signal 1:
Signal 2:
Acquisition parameters
Base parameters:
Derived parameters:
(Changing this alters both DW and AQ, but keeps TD constant)
(Changing this alters TD, but leaves DW and SW unchanged)
(Changing this alters DW, SW and AQ, but leaves TD unchanged)
Processing parameters
Explanation of processing parameters
The raw FID (time-domain) is processed into the spectrum (frequency-domain) using a Fourier transform. Several other processing steps can also be applied: here I will cover zero-filling and apodisation/window functions, but other steps include phasing, baseline correction and linear prediction. Before I discuss these further, I first want to talk a little bit about the Fourier transform, as I think it will be useful later.
In general, a Fourier transform is a mathematical tool that lets you reinterpret a signal that varies in *time* as a sum of signals with different *frequencies*. (Or alternatively, lets you reinterpret a signal that varies in *space* as a sum of signals with different *wavelengths* - this is what is used in X-ray crystallography for example.) The specific version we use is called a discrete, complex Fourier transform, which means that:
1) We have to measure the signal at a number of equally spaced time points, and we get a list of equally spaced frequencies back. The more time points we measure, the more different frequencies we have in our spectrum. The total number of points in the FID is in theory always equal to the total number of frequencies in the spectrum, though see below for why this often isn't true in practice.
2) We measure two values at each time point (the x and y components of the magnetisation), and we get a spectrum with both a real part and a complex part. We normally just look at the real part, and only use the imaginary part for phasing. We have to do this so we can distinguish signals that are to the left and right of the centre frequency - without it, all signals would be mirrored around the centre of the spectrum!
A final point is that most/all NMR software uses a version of the Fourier transform that only works if the number of time points is a power of 2 (eg 1024, 2048, 4096 etc). It turns out this makes it much, much faster to compute the Fourier transform - a critical consideration when it used to take minutes or hours to process even a 1D spectrum! In principle there are other algorithms that do not have this requirement, but I don't think any current software uses them.
As discussed previously, the choice of acquisition parameters determines the spectral width and resolution. Specifically, the spectral width SW is inversely proportional to the time between points in the FID (the dwell time), and the resolution is inversely proportional to the total acquisition time (AQ). The first of these is always true, but the second is a bit more complicated.
We'll go through a simple example to start. Suppose we set TD to 128, and our spectral width to 10 Hz (much smaller than in a real spectrum, but ok as an example). This means the dwell time DW is 0.1 seconds, and the acquisition time AQ is 6.4 seconds. Fourier transforming this give us a real spectrum with 64 points - confusingly Bruker have defined the spectrum size SI to only include the real points, while the FID size TD includes both real and complex points. So set SI to 2^6. Finally set T2 of the signal to 1 second, which is a reasonable proton T2 for a small molecule.
If you try setting this up in the tool above, you might notice something annoying about the spectrum. The spectral resolution is about 0.16 Hz, but the peak width is only about 0.3 Hz (because it's 1/(pi*T2)). This means the main part of the peak is covered by only ~4 peaks, which isn't enough to capture the shape accurately for integration. You can increase the spectral resolution by increasing the acquisition time, but this adds noise to the spectrum - if you look at the FID, you can see that the signal has already died away after about 4 seconds, so anything after that is just noise. You can prove this for yourself by setting the noise level to 0.1 and increasing TD to 2048 and SI to 10^10: the new spectrum looks terrible compared to our initial one.
Zero-filling
What we need is a way of improving the spectral resolution without increasing the noise. And there is a surprisingly simple solution: zero-filling. With zero-filling, you simply add zeros to the end of your FID, effectively increasing the acquisition time. This then increases the resolution of the spectrum, solving our earlier problem of having too few points to clearly define the peak shape. Most spectra you see will have had the FID extended this way, often to 2 or 4 times their original length. Topspin does zero-filling automatically whenever SI is greather than 0.5*TD - you can try playing around with it above by increasing SI while leaving TD unchanged.
Why does zero-filling work? I was pretty surprised when I first learnt about it, as it seemed to massively improve the appearance of spectra just by adding made-up, meaningless data. I think there are two things that contribute. Firstly, when we look at just the real spectrum, we lose half the information that was present in the FID - the other half is in the imaginary part of the spectrum, which we usually ignore because it's harder to interpret. Zero filling to twice the original length allows that information to contribute to the real part of the spectrum too, leading to a genuine increase in resolution. You can see this in our example if you create a second signal 0.3 Hz away from the first one: the peaks merge when SI is set to 2^6, but two peaks are just visible when SI is increased to 2^7.
When you zero-fill beyond 2x the original FID length, the practical resolution of the peaks doesn't increase further, but the peak shapes can become better defined as more points are added. Adding more zero-filling effectively interpolates new points in the spectrum between the old ones, which can result in a smoother spectrum. This leads us to the second way in which zero-filling helps: by extending the FID, we are adding our knowledge that the signal doesn't increase again after it has decayed. The Fourier transform itself doesn't make any assumptions about what happens outside the FID, which limits the resolution with which it reconstructs the spectrum. By zero-filling, we are using our not-explicitly-measured knowledge of how the signal must behave to increase the resolution.
Zero-filling is so effective, that you can sometimes increase the signal-to-noise by truncating the part of your FID after the signal has died away (which only contributes noise) and replacing it with zeros. In Topspin, you can do this by setting the TDeff processing parameter to the number of FID points you want to keep. You can play around with it in the tool above by reducing TD while keeping SI constant.
Window functions
Window functions (also known as apodisation) are also very commonly applied during processing. When you apply a window function, you multipy the entire FID by another function, most commonly an exponential decay. I'll start by discussing how window functions are used to increase signal to noise, then move on to how they are used to remove truncation artefacts.
The noise remains constant throughout the FID, but the signal gets smaller as it decays. Therefore the signal-to-noise is highest at the start of the FID, and drops towards the end. We already saw how truncating noise from after the signal decay could increase the sensitivity: we could increase it further if we could somehow emphasise the first part of the signal, while de-emphasising later parts. We can do this by multiplying the FID by an exponential decay function. This has little effect on the start of the FID, but suppresses the low signal-to-noise regions at the end very effectively - there's usually no need to truncate an FID processed this way, because the noise at the end is suppressed almost to zero by the window function.
The disadvantage of the exponential window function is that it makes it seem as if your signal decays faster, leading to broader lines in the spectrum (hence why it is often referred to as line broadening). This is an unavoidable tradeoff: increasing the signal-to-noise ratio with a window function always decreases the resolution. The trick is to find an exponential function that reduces the noise without having too bad an effect on the linewidth. Incidentally, if your signal to noise is already high you may find it useful to turn off the applied-by-default line broadening: it may allow you to resolve small couplings and overlapping peaks.
The exponential window function is controlled in Topspin by the LB parameter (the window function is defined as exp(-LB*pi*t)). This has te effect of adding LB Hz to all the linewidths in the spectrum. It turns out that the optimal signal-to-noise is found when LB is equal to the natural linewidth at half height. 0.3 Hz is often used as a default for proton spectra, while carbon spectra are usually processed with 1 Hz line broadening. But you can often play around to get better results. It can be particularly useful when you have signals broadened by intermediate exchange: these can be lost in the noise with standard processing parameters, but emerge when a large (eg 10 Hz or higher) line broadening is applied.
Truncation artefacts and apodisation
There is a second use for window functions, which is used in almost all 2D spectra. In most 2D experiments, the FID in the indirect dimension is not long enough to cover the entire signal decay. This is often also the case for the direct dimension, because of limits imposed by decoupling or storage space. You can replicate this by setting a long T2 in the demo (eg 10 seconds), and making sure SI is large enough to give you some zero filling.
When the FID is truncated in this way, it leads to artefacts called sinc wiggles around the base of the peaks (so called because their intensity is given by the sinc function, sin(x)/x). These positive and negative sidebands can obscure weaker peaks, and make spectrum interpretation, peak picking and integration difficult.
These artefacts are caused by the sudden cutoff between the end of the signal and the start of the zero-filling. You can remove them by multiplying the FID by a window function that tapers to zero at the end of the data: the most common choices are a sine function or a sin^2 function (usually called quadratic sine). After applying either window function, there is no longer a sudden jump in intensity and the sinc wiggles disappear. At some point someone decided to call this "apodisation", which means "cutting off the feet". It's a pretty ridiculous name, but for once I don't think NMR spectroscopists are to blame - the term seems to be used in signal processing more generally, so maybe it's the physicists' fault ;)
The downside of apodisation is that it does increase the linewidth, potentially up to doubling it. This is because it suppreses the end of the FID, which contains the high-resolution information. Quadratic sine increases the linewidth slightly more, but also suppreses the artefacts more completely. Either way, the increased linewidth is usually a price worth paying for removing the sinc wiggles.
The sine and quadratic sine window functions can be further controlled by a parameter called SSB in Topspin. With the standard value of 2, the window function drops smoothly from 1 to 0. When SSB=0 or 1, the function starts at 0, rises to 1 then falls again to 0. This is used for COSY experiments, where the interesting cross-peak information only occurs partway through the FID. SSB values higher than 2 give a function that starts positive, rises further and then falls to zero - this can be used to reduce the linewidth penalty, at the expense of some more artefacts. I have no idea why the parameter numbers work that way - maybe someone at Bruker knows...
As I've mentioned previously, nearly all 2d spectra have sine or quadratic sine window functions applied by default. They are not always necessary though: if you can collect enough points in the indirect dimension to fully capture the signal decay, you might be better off with an exponential window function. Similarly, for experiments *without decoupling* during acquisition (eg NOESY, TOCSY), you can increase TD to cover the entire signal decay and improve the resolution. Be careful though: doing this in an experiment with decoupling (eg HSQC) is a great way to damage your probe, and annoy all of your colleagues who use that instrument! If you need an HSQC with high resolution in the proton dimension, you could turn off decoupling or use an IPAP-HSQC.
There are other window functions which are useful in certain situations (eg. Gaussian or Traficante), but exponential and sine/quadratic sine are by far the most widely used. I hope you find this tool and information useful for processing your own spectra!