A Pragmatic* Introduction to Signal Processing

 with applications in chemical analysis

An illustrated essay with free software to download

Last updated May 19, 2013

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 116-page printable document written in OpenOffice and saved in
Open Document** , Word   , and PDF formats. May 14, 2013 version.  Readability index
This web site can be downloaded in archived HTML format complete with all linked software. 

IntroductionFourier deconvolution 
Signal arithmeticFourier filter
Signals and noise  Integration and peak area measurment
Smoothing Curve fitting A: Linear Least Squares  
Differentiation Curve fitting B: Multicomponent Spectroscopy 
Resolution enhancementCurve fitting C: Non-linear Iterative Curve Fitting 
Harmonic analysis  Hyperlinear quantitative absorption spectrophotometry 
Fourier convolution
Case studies 

List of functions and demonstration scripts for Matlab and Octave  

Signal Processing Tools: Comparison of interactive functions written for Matlab

Peak Finding and Measurement Interactive Fourier Filter 
Interactive Smoothing, Derivative, and Peak Sharpening     Peak Fitter  
Interactive Power Spectrum Demo 
Interactive Peak Fitter  

Areas of application where these programs are being applied 

Citations in published papers  


Octave, a free alternative to Matlab, mostly compatible.


 SPECTRUM, simple freeware signal processing program for Macintosh OS 8


Unsolicited Comments from Users:

"I have no words to describe how excited I am and how thankful I am about your work. This is...a teaching paradise...really priceless."

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

"I found your Peak Fitter program to be incredibly useful for some work I am doing...."

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

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

"Great code....Wonderfully documented!"

"[It's] exactly what I needed....The result looks really great!"


* Pragmatic: Relating to matters of fact or practical affairs, often to the exclusion of intellectual or artistic matters; practical as opposed to idealistic.
** What is Open Document format? See
http://www.coolutils.com/Formats/ODT
(c) 1996, 2012, T. C. O'Haver.  First edition created in 1995. Last updated May, 2013. This site created with  Document made with KompoZer. 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: