The second edition of Think DSP is not for sale yet, but if you would like to support this project, you can buy me a coffee.
Preface#
Signal processing is one of my favorite topics. It is useful in many areas of science and engineering, and if you understand the fundamental ideas, it provides insight into many things we see in the world, and especially the things we hear.
But unless you studied electrical or mechanical engineering, you probably haven’t had a chance to learn about signal processing. The problem is that most books (and the classes that use them) present the material bottom-up, starting with mathematical abstractions like phasors. And they tend to be theoretical, with few applications and little apparent relevance.
The premise of this book is that if you know how to program, you can use that skill to learn other things, and have fun doing it.
With a programming-based approach, I can present the most important ideas right away. By the end of the first chapter, you can analyze sound recordings and other signals, and generate new sounds. Each chapter introduces a new technique and an application you can apply to real signals. At each step you learn how to use a technique first, and then how it works.
This approach is more practical and, I hope you’ll agree, more fun.
Who is this book for?#
The examples and supporting code for this book are in Python. You should know core Python and you should be familiar with object-oriented features, at least using objects if not defining your own.
If you are not already familiar with Python, you might want to start with my other book, Think Python – or any of the other introductions to Python.
The code for this book uses NumPy and SciPy extensively. If you are familiar with them already, that’s great, but I will also explain the functions and data structures I use.
I assume that the reader knows basic mathematics, including complex numbers. You don’t need much calculus – Chapter 9 discusses integration and differentiation, but if you have not taken calculus, you can skip that chapter. I use some linear algebra, but I will explain it as we go along.
Have fun!
Think DSP: Digital Signal Processing in Python, 2nd Edition
Copyright 2024 Allen B. Downey
License: Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International