[Table of Contents]
[Previous section]
[Next section]
Interactive Resolution Enhancement
A Matlab implementation of a mathematically simple, quickly-computable resolution
enhancement technique for time-series signals consisting of partially
overlapping peaks. It is based on subtracting the scaled,
smoothed 2nd derivative and adding the scaled, smoothed
4th derivative to the original signal. The algorithm can be
customized for signals of different types by adjusting the
scaling factors for the derivatives and the width of the
smoothing function. The routines here have sliders that
allow you to adjust the resolution enhancement parameters
continuously while observing the effect on your signal
dynamically. Click here to download the ZIP file "InteractiveResEnhance.zip" that also includes supporting functions, self-contained demos to show how it works. You can also download it from the Matlab File Exchange.
Video Demonstration
This 15-second, 1.7 MByte video in WMV format (ResEnhance3.wmv
) demonstrates this resolution enhancement technique. 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.
enhance function
function Enhancedsignal=enhance(signal,factor1,factor2,SmoothWidth)
Basic function for resolution enhancement by the even-derivative
method. The arguments factor1 and factor2 are the weighting factors
for the 2nd and 4th derivatives.
SmoothWidth is the width of the
smoothing function applied to the derivatives. Optimum values for
factor1 and factor2 depend
on the width and the shape of the peaks in the signal, and
also on the desired trade-off between resolution enhancement
(peak width reduction) and baseline artifacts that are a
by-product of the method. As a starting point, a reasonable
value for factor1 is PeakWidth2/25 and for factor 2
is PeakWidth4/833 for peaks of Gaussian shape
(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. The easiest way to determine the optimum values for your data is to use InteractiveResEnhance, described below.
InteractiveResEnhance
 Click to view enlarged figure |
Interactive optimization of derivative resolution enhancement for
your own data. Requires Matlab 6.5. To use this, place the data to be enhanced in
the global vector "signal", then execute this file. It plots the
data and displays sliders for separate real-time control of 2nd
and 4th derivative weighting factors (factor and factor2) and
smooth width. (Larger values of factor1 and factor2 will reduce
the peak widths but will cause artifacts in the baseline near
the peak. Adjust the factors for the best trade-off). Use
the minimum smooth width needed to reduce excess noise.
The resolution-enhanced signal is placed in the global vector
"Enhancedsignal". (If the range of the sliders is inappropriate
for your signal, you can adjust the slider ranges in lines 27-29).
|
DemoResEnhance
 Click to view enlarged figure |
Self-contained demo of resolution enhancement for a
simulated signal of four overlapping peaks. Requires Matlab 6.5. Displays sliders for
separate real-time control of 2nd and 4th derivative
weighting factors (factor and factor2) and smooth width.
Larger values of factor1 and factor2 will reduce the
peak width but will also cause artifacts in the baseline near
the peak. Adjust these factors for the the best compromise.
Use the minimum smooth width needed to reduce excess noise
(too much smoothing will reduce the resolution enhancement). |
DemoResEnhance2G
 Click to view enlarged figure |
Similar to DemoResEnhance, but for a single Gaussian peak.
This allows you to experiment with the adjustable parameters that
work best for a peak of Gaussian shape. You can change the width of the peak in line 26.
The estimated width of the resolution-enhanced peak is
computed and displayed above the graph, to make it easier to determine the extent of resolution enhancement quantitatively. Try to adjust the parameters until the
estimated peak width is as small as possible, while still giving acceptable baseline flatness. |
DemoResEnhance2L
 Click to view enlarged figure |
Similar to DemoResEnhance, but for a single Lorentzian peak. Requires Matlab 6.5.
This allows you to experiment with the adjustable parameters that
work best for a peak of Lorentzian shape. You can change the width
of the peak in line 26.
The estimated width of the resolution-enhanced peak is
computed and displayed above the graph, to make it easier to determine the extent of resolution enhancement quantitatively. Try to adjust the parameters until the
estimated peak width is as small as possible, while still giving acceptable baseline flatness. |
ZIP file containing all of the above Interactive Resolution Enhancement functions and demos.
Tom O'Haver
Professor Emeritus
Department of Chemistry and Biochemistry
The University of Maryland at College Park
toh@umd.edu
http://www.wam.umd.edu/~toh
[Table of Contents]
[Previous section]
[Next section]