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

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

An interesting property of this procedure is that it does not change the

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.

Peak sharpening can be especially 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.

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.

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

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 April, 2018. This page is part of "

Unique visits since May 17, 2008: