If you understand basic mathematics and know how to program with Python, youre 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 theyre applied in the real world. In the first chapter alone, youll 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. Youll 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. -- Provided by publisher.
- Think Python
- Think Data Structures
- Think Java
- Think Perl6 (!)
- Modeling and Simulation in Python
- Probably Overthinking It
And more [1]. He's a prolific writer, and very generous for offering many of them for free. I read several of them online or through O'Reilly, and bought printed copies just to appreciate his work. Really enjoyed Think DSP, Think Complexity, Think Bayes, etc.
[1] https://www.amazon.com/stores/Allen-Downey/author/B001O8NBPS
> Moreover, the American Institute of Mathematics maintains a list of approved open-source textbooks. https://aimath.org/textbooks/approved-textbooks/
I also like the (free) Green Tea Press books: Think Stats, Think Bayes, Think DSP, Think Complexity, Modeling and Simulation in Python, Think Python 2e: How To Think Like a Computer Scientist https://greenteapress.com/wp/
And IDK how many times I've recommended the book for the OCW "Mathematics for Computer Science" course: https://ocw.mit.edu/courses/electrical-engineering-and-compu...
There may be a newer edition than the 2017 version of the book: https://courses.csail.mit.edu/6.042/spring17/mcs.pdf
"A Digital Signal Processing Primer" by Ken Steiglitz is a nice but rigorous intro to the subject. Written by an EE academic, it's more mathematically rigorous than Smith or Lyons.
Allen Downey's "Think DSP" is also worth a look, though its focus is more conceptual than practical, IMO.
Here's a few:
Think Complexity
https://github.com/AllenDowney/ThinkComplexity2
Think DSP
https://github.com/AllenDowney/ThinkDSP
Think Stats
https://github.com/AllenDowney/ThinkStats/
Think Bayes