If you understand basic mathematics and know how to program with Python, you're ready to dive into signal processing. While most resources start with theory to teach this complex subject, this practical book introduces techniques by showing you how they're applied in the real world. In the first chapter alone, you'll be able to decompose a sound into its harmonics, modify the harmonics, and generate new sounds.
Author Allen Downey explains techniques such as spectral decomposition, filtering, convolution, and the Fast Fourier Transform. This book also provides exercises and code examples to help you understand the material.
You'll explore:
Periodic signals and their spectrums Harmonic structure of simple waveforms Chirps and other sounds whose spectrum changes over time Noise signals and natural sources of noise The autocorrelation function for estimating pitch The discrete cosine transform (DCT) for compression The Fast Fourier Transform for spectral analysis Relating operations in time to filters in the frequency domain Linear time-invariant (LTI) system theory Amplitude modulation (AM) used in radio Other books in this series include Think Stats and Think Bayes, also by Allen Downey.
Allen Downey is a Professor Emeritus at Olin College and the author of a series of freetextbooks related to software and data science, including Think Python, Think Bayes, and Think Complexity, which are also published by O’Reilly Media. His blog, Probably Overthinking It, features articles on Bayesian probability and statistics. He holds a Ph.D. in computer science from U.C. Berkeley, and M.S. and B.S. degrees from MIT.
This book teaches the fundamentals of DSP, often using audio as the signal. I liked that the book is short (only ~150 pages), fairly cheap, very pragmatic (some theory, but not too much, focused on understanding the basics and being able to put that knowledge to use) and comes with github repo with notebooks with prepared examples from the book. Indeed, for being so short it covers a lot of ground. I found that the topics were introduced in a way that was easy to follow. I really did like the structure of the book. I'm happy with the understanding I got to DSP even without doing the exercises. Initially I didn't like that the author has made his own ThinkDSP python library but after a while I saw the benefit. The book introduces the library, how to use it, and then the rest of the book benefits from the compact code due to the library. In short, I recommend the book as an intro to DSP.
I enjoyed reading this book, especially the first half of the book, in the second half the book went more into frequency domain analysis where I was actually hoping it was going to remain more applied to sound and music.
Personally I'm not such a big fan of the entire python abstraction layer that was constructed and during my reading I invested some time in diving a bit deeper in the numpy and scipy's myself.
Very pragmatic cookbook for DSP in Python. Without much of theory and full of practical implementations. Can be useful for research work and DSP software development. Don't forget to get Github repository with code examples.
Very nice intro to DSP. Explains basic concepts and shows code how to implement them. Easy to follow. Bonus is nicely refactored code which is easy to read. If you want to get quick intro to DSP this is a book for you.
What an intro to DSP. basic concepts and shows code how to implement them explaining well. Easy to understand. Bonus is nicely refactored code which is easy to read. If you want to get quick intro to DSP this is a book for you.