I support the March for Science

A Pragmatic* Introduction to Signal Processing

 with applications in scientific measurement

An illustrated essay with free software to download

This is a work in progress, last updated October 17, 2017. (Recently updated files)

A retirement project by Tom O'Haver , Professor Emeritus
Department of Chemistry and Biochemistry
University of Maryland at College Park
Have a question or suggestion? E-mail me: toh@umd.edu
Join our group on Facebook


No cost, no
ads, no sign-in/registration, no eye candy, no frames, no hype, no Java, no Flash, no kidding. Completely free since 1993.

This essay is also available as a 150-page, indexed, printable document written in OpenOffice and saved in
Open Document** , Word   , and PDF formats. October
17, 2017 version.  Readability index
A paperback printed version is available from Amazon CreateSpace in black-and-white ($11.00 US) and in color ($30.00 US).
This entire web site can be downloaded in archived HTML format complete with all linked software (150 MBytes).

Who uses this site?
   Feedback from users
  Site search:

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 
Peak sharpening   Curve fitting C: Non-linear Iterative Curve Fitting 
Harmonic analysis A Combination of Methods
Fourier convolution
Appendix and Case Studies 

* 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

 The Animated Zoo of Tools and Demos

Catalog of downloadable software

Comparison of Interactive Signal Processing Tools for Matlab

Spreadsheets for Measurement Calibration

  Peak Finding and Measurement
 Interactive Fourier Filter
 Interactive Smoothing, Derivative, and Signal Analysis     Peak Fitter
Matlab File Exchange "Pick of the Week"
 Interactive Power Spectrum Demo 
 Interactive Peak Fitter  

Areas of application where these programs are being applied  (PDF file)

Citations in published papers  (PDF file)


Software used in this essay


Matlab, a high-performance commercial numerical computing environment and programming language that is widely used in research and education, for Windows, Macintosh, and Linux.


  

Octave, a free alternative to Matlab, mostly compatible, for Windows, Macintosh, and Linux.


 

SPECTRUM, simple, freeware, 90s-era signal processing program, for Macintosh OS 8.


Click to enlarge    Click to
          enlarge

Microsoft Excel 2013                    OpenOffice Calc 4.1.1


Unsolicited Comments from Users:

" It is the best source in the entire internet with such a detailed information, description, examples and theory provided on programmatic realization of peak related techniques and analysis. "

"...the most understandable documentation Iíve ever encountered!"

"It is as good as, if not better than, any similar books available in the market".

"...a clear, organized, accessible, and intuitive resource...."

"I ... have never seen before (I have years of experience in this field) such a complete approach towards tackling almost all the analysis problems from scratch...."

"I like your writing style because it's clear and concise, and your prose flows so smoothly."

"The signal processing topics you cover are so wonderfully practical...truly impressive."

"I ... am very impressed with the clarity of the presentation."

"... truly one of best practical description I have ever seen."

"I liked the way everything is setup and explained."

"...I think it's the best explanation I've ever seen. "

"...excellent documentation and coding...."

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

"This is...a teaching paradise...really priceless."

"What you do makes the world better!"

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

"The sequence of the topics and the explanations are very clear."

"I found your curve fitting website and it is awesome...."

"Love your web pages.... MANY thanks for all the effort, hard work and time -- not to mention the clarity."

"This site is tremendous...."

"...[an] indispensable tool...."

"...I'm astonished by your work."

"...your fantastic article...has helped me a lot"

"...it is an absolutely fantastic teaching resource."

"...your Intro. to Signal Proc. book and software ... [is] ... helpful and thorough."

"Thanks again for your generous contributions to the scientific and engineering community, you might not get a lot of feedback (or hopefully you do) but your work is greatly appreciated and will continue to benefit us for years to come."

"...your website...represents a wonderful job...."

"...thank you profusely .... your website has been extremely helpful."

"...after days of trying and failing...your site was able to solve my problem in half an hour."

"I have no words to describe how helpful this is to me ... explaining what they do and how they can be used; on top the examples make it even better."

"... surely the way into heaven is to post excellent software online for others to use to do science."

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

"I am grateful and overwhelmed by your kindness in sharing your hard work with us"

"This is a great website..."

"...you saved my time a lot."

"Your effort to produce and maintain this site is GREATLY appreciated."

"Your online resource for ďsignal processingĒ is fantastic!"

" I found your essay to be extremely helpful."

"...such useful tools and educational materials!"

"...your webpage about signal processing ... was very helpful to me."

"...great material on the subject."

"...very much helping and informative."

"Wonderful site. I have already added it to my favorites."

"Your web pages are a fantastic resource."

"...your signal processing website, book, and Matlab codes ... embodied the solution I was searching for."

" I cannot wait to start class and utilize the marvelous tool that you have provided for us."

"Without your website, I wouldn't know what to do."

" ... a splendid program."

"...really an excellent source of information...."

"I find your work on Signal Processing extremely helpful...."

"...easy to use and understand..."

"...saved me many hours of work...."

"I am so thankful for your website...It has helped me significantly...."

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

"it really helped me."

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

"I find your Introduction an excellent starting point."

"Thanks for your amazing contribution."

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

"...wonderful tutorial on peak fitting."

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

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

"I found your ... website extremely helpful."

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

"I loved your article on smoothing."

"...really clear and concise."

" ... very useful for teaching in an Instrumentation course for M.Sc postgraduates in analytical chemistry.

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

"Your work is very helpful to my research."

"...your site...has some very valuable information relevant to the projects Iím currently working on."

"...really nice tutorial and Matlab functions that are extremely useful in many fields of research."

"Very generous of you to make so much useful material freely available."

"I found your website very informative."

"Thank you, Tom, for being a great citizen of MATLAB Central and the File Exchange! You are what makes this community thrive." (http://blogs.mathworks.com/pick/2016/09/09/most-activeinteractive-file-exchange-entry/)


Copyright (c) 2016, 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 October, 2017. Created with SeaMonkey. This site is a retirement project and international community service, maintained by Prof. Tom O'Haver, Professor Emeritus, Department of Chemistry and Biochemistry, The University of Maryland at College Park, currently residing in Naples, FL. Comments, suggestions and questions should be directed to Prof. O'Haver at toh@umd.edu, currently residing in Naples, FL, and in Silver Spring, MD.

A Brief History of Mine

using the Google Books Ngram Viewer

Digital began to pull away from analog in the 1950s and now completely dominates.

In the mid 1990s, Web sites began to dominate earlier publishing technologies.

Transistors, invented in the late 1940s, pulled ahead of vacuum tunes in the 50s. By the early 80s, integrated circuits chips were dominant.

Statistics and quantitative signal and data processing have long been important, using computers after the 1950s.

"Derivative", "smoothing", and "convolution" are old concepts, but other signal processing terms don't become common until more recently.

The most common derivative orders have long been the first and second; higher older are much less used.

The Savitzky-Golay smooth is now the most often mentioned data smoothing technique. (What was going on the "triangular smooth" in the 1800s?)

The Gaussian profile is the most commonly encountered peak shape.

Measures of precision in the presence of random noise increased with the availability of electronic instrumentation.