Figure 9. A peak sharpening algorithm has been applied to the signal on the left to artificially improve the apparent resolution of the peaks. In the resulting signal, right, the component bands are narrowed so that the intensities and positions can be measured.
Here use can be made of peak sharpening (or resolution enhancement) algorithms to artificially improve the apparent resolution of the peaks. One of the simplest such algorithims is based on the weighted sum of the original signal and the negative of its second derivative.
Here's how it works. The figure below shows, in Window 1, a computer-generated peak (with a Lorentzian shape) in red, superimposed on the negative of its second derivative in green). (Click on the figure to see a full-size figure).
The second derivative is amplified (by multiplying it by an adjustable
constant) so that the negative sides of the inverted second derivative
(from approximately X = 0 to 100 and from X = 150 to 250) are a mirror
image of the sides of the original peak over those regions. In this
way, when the original peak is added to the inverted second derivative,
the two signals will approximately cancel out in the two side regions
but will reinforce each other in the central region (from X = 100 to
150). The result, shown in Window 2, is a substantial (about 50%)
reduction in the width, and a corresponding increase in height, of the
peak. This works
best with lorentzian-shaped peaks; with gaussian-shaped peaks, the
resolution enhancement is less dramatic (only about 20%). Note that the
basline of either side of the resolution-emhanced peak is not quite
flat, because the cancellation of the original peak and the inverted
second derivative is only approximate; the adjustable weighting factor
k is selected to minimize this effect. An interesting property
of this procedure is that it does not change the total peak area (that
is, the area under the peaks) because the total area under the curve of
the derivative of a peak-shaped signal is zero (the area under the
negatives lobes cancels the area under the positive lobes).
Because differentiation and smoothing are both linear techniques, the amplitude of a sharpened signal is therefore proportional to the amplitude of the original signal, which allows quantitative analysis applications employing any of the standard calibration techniques). As long as you apply the same signal-processing techniques to the standards as well as to the samples, everything works.
Note: Another signal processing technique that can increase the resolution of overlapping peaks is deconvolution, which is applicable when the broadening function responsible for the overlap of the peaks is known. Deconvolution of the broadening function from the broadened peaks is in principle capable of extracting the underlying peaks shapes, whereas the resolution enhancement technique described here can not be expected to do that.
|
The custom Matlab function enhance.m
uses a slightly more advanced algorithm that extends the above approach
by adding in a small amount of the 4th derivative of the signal:
This function has the form Enhancedsignal=enhance(signal,k2,k4,SmoothWidth), where "signal" is the original signal vector, the arguments k2 and k4 are 2nd and 4th derivative weighting factors, and SmoothWidth is the width of the built-in smooth. The resolution-enhanced signal is returned in the vector Enhancedsignal. Click on this link to inspect the code, or right-click to download for use within Matlab. The optimum values depend on the peak shape and width. For peaks of Gaussian shape, a reasonable value for k2 is PeakWidth2/25 and for k4 is PeakWidth4/800 (or PeakWidth2/6 and PeakWidth4/700 for Lorentzian peaks), where PeakWidth is the full-width at half maximum of the peaks expressed in number of data points. iSignal is a Matlab function that performs resolution enhancement for time-series signals, using the above enhance function, with keystrokes that allow you to adjust the 2nd and 4th derivative weighting factors and the smoothing continuously while observing the effect on your signal dynamically. The E key turns the resolution enhancement function on and off. View the code here or dowload the ZIP file with sample data for testing. iSignal calculates the sharpening and smoothing settings for Gaussian and for Lorentzian peak shapes using the Y and U keys, respectively. Just isolate a single typical peak in the upper window using the pan and zoom keys, then press Y for Gaussian or U for Lorentzian peaks. (The optimum settings depends on the width of the peak, so if your signal has peaks of widely different widths, one setting will not be optimum for all the peaks). You can fine-tune the sharpening with the F/V and G/B keys and the smoothing with the A/Z keys. The Interactive Resolution Enhancement function for Matlab 6.5 has sliders that allow you to adjust the resolution enhancement parameters (2nd derivative factor k2, 4th derivative factor k4, and the smooth width) while observing the effect on the signal output dynamically. It can handle signals of virtually any length, limited only by the memory in your computer. Requires Matlab 6.5. (If you have access to Matlab, you may download a set of Matlab resolution-enhancement m-files (16 Kbytes), ResolutionEnhancement.zip, so that you can experiment with all the variables at will and try out this technique on your own signals). See InteractiveResEnhance.htm for more information about this program. Video Demonstration. This 15-second, 1.7 MByte video (ResEnhance3.wmv ) demonstrates the Matlab interactive resolution enhancement function InteractiveResEnhance.m. The signal consists of four overlapping, poorly-resolved Lorentzian bands. First, the 2nd derivative factor (Factor 1) is adjusted, then the 4th derivative factor (Factor 2) is adjusted, then the smooth width (Smooth) is adjusted, and finally the Factor 2 is tweeked again. |