Think DSP: Digital Signal Processing in Python
Allen B. Downey, Franklin W. Olin College of Engineering
Copyright Year: 2012
ISBN 13: 9781491938454
Publisher: Green Tea Press
Conditions of Use
This book covers all the topics I would hope to see in an introductory DSP course. read more
This book covers all the topics I would hope to see in an introductory DSP course.
I did not see any errors of fact in the equations, code, or derivations.
Python is obviously a common and popular language, but by relying heavily on a specific toolbox I wonder if this textbook's exercises will become clunky or outdated in the future if the toolbox is not supported well.
The text is clear if you already have a good Python background. Starting with a programming-forward approach rather than math-forward is an interesting choice (and not how I teach DSP), but it may be a good starting point for some CS majors who are more comfortable with coding than calculus. Some of the equations did not render very legibly in the web version of the text.
The style and aesthetic are very consistent throughout.
The book should be able to be read at a slower pace, leaving out some of the more advanced topics, for an introductory undergraduate DSP course.
I did not agree with the ordering of topics in the book at all: some topics (e.g. noise) which seem quite easy to introduce up front were reserved until many chapters after much more advanced topics had already been covered.
Some of the equations did not render clearly in the web version of the text.
The grammar was clear and correct throughout.
Overall this was a useful textbook for introducing signal processing concepts to an audience that already has a good Python background. Based on the background of my students, I don't think I'll be using it in my DSP course (currently taught in Matlab) based on the resources available through MathWorks. But if I have to switch to Python in the future for cost reasons, I would consider using this text.
Table of Contents
- 1 Sounds and signals
- 2 Harmonics
- 3 Non-periodic signals
- 4 Noise
- 5 Autocorrelation
- 6 Discrete Cosine Transform
- 7 Discrete Fourier Transform
- 8 Filtering and Convolution
- 9 Differentiation and Integration
- 10 LTI systems
- 11 Modulation and sampling
About the Book
Think DSP is an introduction to Digital Signal Processing in Python.
The premise of this book (and the other books in the Think X series) is that if you know how to program, you can use that skill to learn other things. The author is writing this book because he thinks the conventional approach to digital signal processing is backward: most books (and the classes that use them) present the material bottom-up, starting with mathematical abstractions like phasors.
About the Contributors
Allen B. Downey is an American computer scientist, Professor of Computer Science at the Franklin W. Olin College of Engineering and writer of free textbooks.
Downey received in 1989 his BS and in 1990 his MA, both in Civil Engineering from the Massachusetts Institute of Technology, and his PhD in Computer Science from the University of California at Berkeley in 1997.
He started his career as Research Fellow in the San Diego Supercomputer Center in 1995. In 1997 he became Assistant Professor of Computer Science at Colby College, and in 2000 at Wellesley College. He was Research Fellow at Boston University in 2002 and Professor of Computer Science at the Franklin W. Olin College of Engineering since 2003. In 2009-2010 he was also Visiting Scientist at Google Inc.