index previous next

Resolution enhancement (Peak Sharpening)

Figure 9 shows a spectrum on the left that consists of several poorly-resolved (that is, partly overlapping) bands. The extensive overlap of the bands makes the accurate measurement of their intensities and positions impossible, even though the signal-to-noise ratio is very good. Things would be easier if the bands were more completely resolved, that is, if the bands were narrower.

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.

where Rj is the resolution-enhanced signal, Y is the original signal, Y'' is the second derivative of Y, and k is a user-selected weighting factor. It is left to the user to select the weighting factor k which gives the best trade-off between resolution enhancement, signal-to-noise degradation, and baseline flatness. The optimum choice depends upon the width, shape, and digitization interval of the signal. The result of the application of this algorithm is shown on the right. The component bands have been artificially narrowed so that the intensities and positions can be measured. However, the signal-to-noise ratio is degraded.

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).

Click to view enlarged figure
Click to enlarge

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.


SPECTRUM, the freeware signal-processing application that accompanies this tutorial, includes this resolution-enhancement algorithim, with adjustable weighting factor and derivative smoothing width.
Interactive Resolution Enhancement for Matlab




Before Peak Sharpening in iSignal


After peak sharpening in iSignal

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:

R = Y - k2Y'' + k4Y''''

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.


index previous next
Last updated July, 2011. This page is maintained by Prof. Tom O'Haver , Department of Chemistry and Biochemistry, The University of Maryland at College Park. Comments, suggestions and questions should be directed to Prof. O'Haver at toh@umd.edu.
Unique visits since May 17, 2008: