A Pragmatic* Introduction to Signal Processing

 with applications in chemical analysis

An illustrated essay with free software to download

Last updated April 4, 2014

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 121-page printable document written in OpenOffice and saved in
Open Document** , Word   , and PDF formats. April 4, 2014 version.  Readability index
This web site can be downloaded in archived HTML format complete with all linked software (74 MBytes).
* 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

Introduction Fourier deconvolution 
Signal arithmetic Fourier filter
Signals and noise  Integration and peak area measurement
Smoothing  Curve fitting A: Linear Least Squares  
Differentiation  Curve fitting B: Multicomponent Spectroscopy 
Resolution enhancement Curve 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 Signal Analysis      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:

"...thank you for the immense role your book has played in my perusal of research...."

"Thank you so much for this wonderful teaching tool! "

"Your lessons on signal processing are really useful and intriguing...."

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

"I was really surprised by the efficiency of your explanations ..."highly realistic and pragmatic."

"Thanks for your amazing contribution."

"Thank you for sharing your excellent work...."

"I found your signal processing pages ... very helpful!"

"I recently found your website and Iím really impressed, great work! "

"Thank you for your time and the wonderful material (software and text) you have put up on your website."

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

"I loved your article on smoothing."

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

"I find your Introduction an excellent starting point."

"...really clear and concise."

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

"Thanks...for your excellent code."

"...thank you for taking the time to create these incredible tools."

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


Copyright (c) 2013, Thomas C. O'Haver (toh@umd.edu)
 
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.


THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
First edition created in 1995. Last updated April, 2014. This website was created with SeaMonkey. 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: