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.
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 of Computer Science at Olin College of Engineering. He has taught at Wellesley College, Colby College and U.C. Berkeley. He has a Ph.D. in Computer Science from U.C. Berkeley and Master's and Bachelor's degrees from MIT.
The animal on the cover of Think DSP is a smooth-billed ani (Crotophaga ani), a large bird that is part of the cuckoo family. It is found in Florida, the Bahamas, Caribbean islands, and parts of Central and South America.
Smooth-billed anis have black plumage, long tails, and large ridged beaks. They feed on the ground, with a diet made up of termites, insects, and even small lizards and frogs. The birds prefer semi-open habitats with a mix of fields and brushy thickets. As human settlements and deforestation have affected their territory, anis have adapted by frequenting farm pastures and eating the insects flushed out by livestock.
This species is very social and is always found in noisy groups. Mating pairs nest communally with several other couples, taking turns to construct a bowl-shaped nest high in a tree, incubate eggs, and feed the chicks. Each female lays 4-7 eggs, but nests have been found with up to 29 eggs.
The cover image is from the Braukhaus Lexicon. The cover fonts are URW Typewriter and Guardian Sans. The text font is Adobe Minion Pro; the heading font is Adobe Myriad Condensed; and the code font is Dalton Maag's Ubuntu Mono.
I bought the book as soon as I saw that it was a new text by Allen Downey, as I am a huge fan of his work. The book proved to be as amazing as I was expecting, explaining clearly the basics of digital signal processing based on demostrating the computational approach and not getting bogged down in mathematical detail. This is a perfect first book to learn signal processing, but it requires prior knowledge of Python (readers without such background can easily acquired with the first of Downey's books: Think Python). The short length of the book means that it can easily incorporated in a Python course, but also means that more advanced readers might not find new information about the subject. Finally, keep in mind that the book does not teach how to perform signal processing with the SciPy module, because the emphasis is in understanding the algorithms and this is beautifully shown by the author writing his own functions. I can't wait for the next book of the author's and highly recommend any of his titles.
Bottom Line Yes, I would recommend this to a friend