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 updatedDecember 24, 2017.
(Recently updated files)
Aretirement project byTom O'Haver, Professor Emeritus
Department of Chemistry and Biochemistry
University of Maryland at College Park
Have a question or suggestion? E-mail me:email@example.com
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
, 2017 version. Readability index
* 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
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.
Microsoft Excel 2013 OpenOffice Calc 4.1.1
Unsolicited Comments from Users:
"It is the best source in the entire internetwith such a detailed information, description, examples and theory provided on programmatic realization of peak related techniques and analysis. "
"...the mostunderstandabledocumentation Ive ever encountered!"
" It is as good as, if notbetter than, any similar books availablein the market".
"...aclear, organized, accessible, and intuitiveresource...."
"I ... have never seen before (I have years of experience in this field) such acomplete approachtowards tackling almost all the analysis problems from scratch...."
"I like your writing style because it'sclear and concise, and your prose flows so smoothly."
"The signal processing topics you cover are sowonderfully practical...truly impressive."
"I ... amvery impressed with the clarityof the presentation."
"... trulyone of bestpractical description I have ever seen."
"I liked the way everything is setup and explained."
"...I think it's thebest explanation I've ever seen. "
"...excellentdocumentation and coding...."
"...thank you for theimmense roleyour book has played in my perusal of research...."
" This is...ateaching paradise.. . reallypriceless.
"What you do makes the world better!""
"I found your explanation....verysimple and clear. "
" I was reallysurprisedby the efficiency of your explanations ..."highly realistic and pragmatic."
"The sequence of the topics and the explanations arevery clear."
"I found your curve fitting website and it isawesome...."
"Loveyour web pages.... MANY thanks for all the effort, hard work and time -- not to mention theclarity."
"This site istremendous...."
"...I'mastonishedby your work."
"...yourfantasticarticle...has helped me a lot"
"...it is anabsolutely fantasticteaching 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 awonderfuljob...."
"...such an enormous amount of knowledge and applied code! It is anenormous helpfor analysing my data."
"...anexcellent source of informationfor a subject that I have only encountered scatterered books."
"...thank you profusely .... your website has beenextremely helpful."
"...after days of trying and failing...your sitewas 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."
"... surelythe way into heaven is to post excellent software online for others to use to do science. "
"...thank you for taking the time to create theseincredibletools."
" I am grateful andoverwhelmedby your kindness in sharing your hard work with us"
"This is agreatwebsite..."
"...yousaved my timea lot."
"Your effort to produce and maintain this site isGREATLY appreciated."
"Your online resource for signal processing isfantastic!"
" I found your essay to beextremely helpful."
"...suchusefultools and educational materials!"
"...your webpage about signal processing ... wasvery helpfulto me."
"...great materialon the subject."
"...very muchhelping and informative."
"Wonderfulsite. I have already added it to my favorites."
"Your web pages are afantastic resource."
"...your signal processing website, book, and Matlab codes ... embodiedthe solution I was searching for."
" I cannot wait to start class and utilize themarveloustool that you have provided for us."
"Without your website, I wouldn't know what to do."
" ... asplendidprogram."
"...really anexcellentsource of information...."
" I find your work on Signal Processingextremely helpful...."
"...easy to use and understand..."
" ...saved me many hoursof work...."
"I am so thankful for your website...It hashelped me significantly...."
"Thank you so much for thiswonderfulteaching tool! "
" ...the tutorials on your website have been oftremendous helpto me."
"I find your Introduction anexcellentstarting point."
"Thanks for youramazingcontribution."
"Thank you for sharing yourexcellentwork...."
"...wonderfultutorial on peak fitting."
"I recently found your website and Im really impressed,greatwork! "
"Thank you for your time and thewonderfulmaterial (software and text) you have put up on your website."
"Your lessons on signal processing arereally useful and intriguing...."
" I have no words to describe howexcitedI am and how thankful I am about your work."
"I found your ... websiteextremely helpful."
"I found your signal processing pages ...very helpful!"
" Ilovedyour article on smoothing."
"...really clearand concise."
" ...very usefulfor teaching in an Instrumentation course for M.Sc postgraduates in analytical chemistry.
"[Y]our web site has suchexcellentcontent...."
"I tried the demo version of SPECTRUM and I think is avery usefultool for the introduction of signal processing to analytical chemistry students."
" Your work isvery helpfulto my research."
"...your site...has somevery valuableinformation relevant to the projects Im currently working on."
"...really nice tutorial and Matlab functions that areextremely usefulin many fields of research."
"Very generous of you to makeso much useful materialfreely available."
"I found your websitevery informative."
Copyright (c) 2016, Thomas C. O'Haver (firstname.lastname@example.org)
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 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 December, 2017. Created with
. This site is aretirement project and
international community service
, maintained byProf. 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 email@example.com, currently residing in Naples, FL, and in Silver Spring, MD.
A Brief History of Mine
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?)