The figure below 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.

Here use can be made of

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

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 effect is most dramatic with Lorentzian-shaped peaks; with Gaussian-shaped peaks, the resolution enhancement is less dramatic (only about 20 - 30%).

The reduced widths of the sharpened peaks make it easier to distinguish overlapping peaks. In the example on the right, the raw signal (blue line) is actually composed of three overlapping Lorentzian peaks at x=200, 300, and 400, but the peaks are so wide - their halfwidths are 200, which is greater than their separation - that they blend together in the raw data, forming a wide asymmetrical peak with a maximum at x=220. The result of derivative sharpening (red line) clearly shows the underlying component peaks

Note that the baseline of either side of the resolution-enhanced peak is not quite flat, especially for a Lorentzian peak, 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. Peak sharpening will have little or no effect on the baseline, because if the baseline is linear, its derivative will be zero, and if it is gradually curved, its second derivative will be very small compared to that of the peak.

Mathematically, this technique is a simplified version of a converging Taylor series expansion, in which only the

R

where Y'' and Y'''' are the 2nd and 4th derivatives of Y. The result is a 26% reduction in width for a Gaussian peak, as shown in the figure on the left (Matlab/Octave script), and a 60% reduction for a Lorentzian peak (script). This is the algorithm that was used in the overlapping peak example above. (It's possible to add a sixth derivative term, but the series converges quickly and the results are only slightly improved, at the cost of increased complexity of

There is no universal optimum value for the derivative weighting factors; it depends on what you consider the best trade-off between peak sharpening and baseline flatness. However, a good place to start for a Gaussian peak are k

Sj = Y_{j} + k_{1}Y

With the correct first derivative weighting factor, kA useful property of all these derivative addition algorithms is that they do not change the

Because differentiation and smoothing are both linear techniques, the superposition principle applies and the amplitude of a sharpened signal is directly 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.

Peak sharpening can be useful in automated peak detection and measurement to increase the ability to detect weak overlapping peaks that appear only as shoulders in the original signal. Click for animated example. Peak sharpening can be useful before measuring the areas under overlapping peaks, because it's easier and more accurate to measure the areas of peaks that are more completely separated.

Of course, this method introduces

The self-contained function PowerMethodDemo.m demonstrates the power method for measuring the area of small shouldering peak that is partly overlapped by a much stronger interfering peak (Graphic). It shows the effect of random noise, smoothing, and any uncorrected background under the peaks.

SPECTRUM, the freeware signal-processing application for Mac OS8 and earlier, includes this resolution-enhancement algorithm, with adjustable weighting factor and derivative smoothing width.

The symmetrization of exponentially modified Gaussians (EMG) by the weighted addition of the first derivative is performed by the template PeakSymmetricalizationTemplate.xlsm (graphic). PeakSymmetricalizationExample.xlsm is an example application with sample data already typed in. There is also a demo version that allows you to determine the accuracy of the technique by internally generated overlapping peaks with specified resolution, asymmetry, relative peak height, noise and baseline: PeakSharpeningAreaMeasurementEMGDemo2.xlsm (graphic). These spreadsheets also allows further second derivative sharpening of the resulting symmetrical peak.

EffectOfNoiseAndBaselineNormalVsPower.xlsx demonstrates the effect of the power method on area measurements of Gaussian and exponentially broadened Gaussian peaks, including the different effect that random noise and non-zero baseline has on the power sharpening method. It shows that higher values of power (cell O9) reduce the peak width, makes the EMG peak more Gaussian, reduces the effect of the background (cell B6), and reduces the noise (cell B5) on the baseline but increases it near the peak maximum. Smoothing (cell B7) has little effect on the average peak area, but improves the reproducibility of the power method in the presence of noise.

Here's a simple example that creates a signal consisting of four partly-overlapping Gaussian peaks of equal height and width, applies both the derivative sharpening method and the power method, and compares a plot (shown below) comparing the original signal (in blue) to the resolution-enhanced version (in red):

y=exp(-(x-4).^2)+exp(-(x-9).^2)+exp(-(x-12).^2)+exp(-(x-13.7).^2);

y=y+.001.*randn(size(x));

k1=

SharpenedSignal=ProcessSignal(x,y,0,35,3,0,1,k1,k2,0,0);

figure(1)

plot(x,y,x,SharpenedSignal,'r')

title('Peak sharpening (red) by the derivative method')

figure(2)

plot(x,y,x,y.^6,'r')

title('Peak sharpening (red) by the power method')

Left: Derivative method. Right: Power method

The power method (right) is effective, but it
introduces non-linearity and messes with the peak amplitudes and
areas, which must be corrected later, whereas the derivative
method preserves the original peak areas and the ratio between
the peak heights.

The symmetricalization of asymmetric peaks by the weighted addition of the first derivative is performed by the function ySym = symmetricalize(t,y,factor,smoothwidth,type,ends) and demonstrated for the exponentially modified Gaussians (EMG) by the self-contained Matlab/Octave function EMGplusfirstderivative.m and for the exponentially modified Lorentzian (EML) by EMLplusfirstderivative.m. In both of these, figure 1 shows the symmetricalization and Figure 2 shows the additional 2nd and 4th derivative sharpening. Both of these routines report the before and after halfwidth and area of the peak, and they measure the resulting symmetry of the processed peak two ways: (a) by the ratio of the leading edge and trailing edge slopes (ideally -1.000) and (b) by the R2 of the least-squares fit to the initial Gaussian and Lorentzian shapes peak shape before exponential broadening respectively (ideally 1.000).

**Segmented derivative peak sharpening**.
If the peak widths vary substantially across the signal, you
can use the *segmented *version SegmentedSharpen.m, for which the input
arguments factor1, factor2, and SmoothWidth are *vectors*.
The script DemoSegmentedSharpen.m,
shown on the right, uses this function to sharpen four
Gaussian peaks with gradually increasing peak widths from left
to right with increasing degrees of sharpening, showing that
the peak width is reduced
by 20% to 22% compared to the original. DemoSegmentedSharpen2.m
shows four peaks of the *same *width sharpened to
increasing degrees.

The symmetricalization of asymmetric peaks by the weighted addition of the first derivative is performed by the function ySym = symmetricalize(t,y,factor,smoothwidth,type,ends) and demonstrated for the exponentially modified Gaussians (EMG) by the self-contained Matlab/Octave function EMGplusfirstderivative.m and for the exponentially modified Lorentzian (EML) by EMLplusfirstderivative.m. In both of these, figure 1 shows the symmetricalization and Figure 2 shows the additional 2nd and 4th derivative sharpening. Both of these routines report the before and after halfwidth and area of the peak, and they measure the resulting symmetry of the processed peak two ways: (a) by the ratio of the leading edge and trailing edge slopes (ideally -1.000) and (b) by the R2 of the least-squares fit to the initial Gaussian and Lorentzian shapes peak shape before exponential broadening respectively (ideally 1.000).

ProcessSignal, a Matlab/Octave command-line function that performs smoothing, differentiation, and peak sharpening on the time-series data set x,y (column or row vectors). Type "help ProcessSignal". Returns the processed signal as a vector that has the same shape as x, regardless of the shape of y. The syntax is

Processed=ProcessSignal(x,y, DerivativeMode, w, type, ends,Sharpen, factor1, factor2, SlewRate, MedianWidth)

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 2

* Before Peak Sharpening in
iSignal After peak sharpening in
iSignal*

iSignal 5.95 can also use the power transform method (press the

iPeak, a Matlab interactive peak detection and measurement program, has a built-in peak sharpening mode that is based on this technique. See ipeakdemo5.

*Real-time* peak
sharpening in Matlab is discussed in Appendix Y**.**

Last updated Seeptember, 2018. This page is part of "

Unique visits since May 17, 2008: