An Introduction to Signal Processing in Chemical Analysis

An illustrated essay with software available for free download

Last updated March, 2012

Tom O'Haver
Professor Emeritus
Department of Chemistry and Biochemistry
University of Maryland at College Park
E-mail: toh@umd.edu

This essay is also available as a single 92-page printable document in
OpenOffice
, Word , and PDF formats (March 2012 version)

IntroductionConvolution
Signal arithmeticDeconvolution
Signals and noiseFourier filter  
Smoothing 
Integration and peak area measurment 
Differentiation 
Curve fitting A: Linear Least Squares
Resolution enhancement 
Curve fitting B: Multicomponent Spectroscopy 
Harmonic analysis   Curve fitting C: Non-linear Iterative Curve Fitting 

Software used to generate the figures and examples

Programs written for Matlab (for PC, Macintosh, or Unix)

Peak Finding and Measurement  Interactive Fourier Filter 
Interactive Smoothing, Derivative, and Peak Sharpening  Interactive Peak Fitter 
Interactive Power Spectrum Demo 
The TFit Method for quantitative absorption spectroscopy

 SPECTRUM, simple freeware signal processing program for Macintosh OS 8


Unsolicited Comments from Users:

"...the tutorials on your website have been of tremendous help to me."

"I find your Introduction an excellent starting point."

" ... very useful for teaching in an Instrumentation course for M.Sc postgraduates in analytical chemistry. The sequence of the topics and the explanations are very clear."

"[Y]our web site has such excellent content...."

"I tried the demo version of SPECTRUM and I think is a very useful tool for the introduction of signal processing to analytical chemistry students."

" ... a splendid program."

"I have been reviewing your webpage on signal processing and am very impressed with the clarity of the presentation."

"...really clear and concise."

"Thanks...for your excellent code."

"Congratulations on a very useful and rather easy tool."

"Thank you for developing such a nice tool."

"Your Interactive Peak Fitter ... is very helpful."

"Your peak finding and fitting scripts ... turned out handy in analyzing my research data."

"I appreciate all the work that must have gone into the PeakFit matlab coding. I've been using it for a couple of weeks, now, and it is becoming extremely useful."

"Thank you for your Matlab function findpeaks(). It is quite literally EXACTLY what I was looking for and far better than I could have hoped."

"Thank you so much for designing and creating MATLAB code for scientists! It's such a great resource to have code on MATLAB Central. I really appreciate your efforts."

"Thank you for making available your absolutely superb Peakfinder software. It is a snap to use...."

"Wonderful program."

"This program is fantastic."

"...incredibly useful...."

"... thanks for all the spectroscopy MatLab scripts that you have written and meticulously documented.  Finding them has saved me more than a few hours."

"...excellent piece of software...really useful and instructive".


"...I would like to express my thanks for making such a wonderful tool for derivative spectroscopy, it has been much help for me!

"...Interactive Fourier Filter is a great tool to help with low-, high-, band-pass-, and band-stop filtering, and best of all, you can view the effect of filtering parameters on your time-series as you change them! "

" I have been using iSignal for the past day to analyze my data, and it works GREAT!.... I am able to extract lots of information from my spectra now."

"...thanks for the great tool! Saved me a lot of work."

"...iPeak ... is very useful."

"Great code....Wonderfully documented!"

"I am using your peakfitter in Matlab and love it....worked like a charm"



First edition created in 1995. Last updated March, 2012. This site is a retirement project maintained by Prof. Tom O'Haver, Professor Emeritus, 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. Number of unique visits to this site since May 17, 2008: