Basics
A learning path through the foundations of DSP
These chapters build on each other. Start at the beginning and work through in order; each one assumes you’ve read what came before.
The tone here is pedagogical. We take time to build intuition, work through examples, and make sure the concepts land before moving on.
- Mathematics: calculus (derivatives, integrals), basic probability (mean, variance), complex numbers (\(e^{j\theta}\))
- Programming: Python with NumPy basics (arrays, indexing, plotting with Matplotlib)
- No prior DSP knowledge required (we start from scratch)
By the end of this path you will understand how signals are sampled and reconstructed, how digital filters work in both time and frequency domains, and how to design filters that meet real-world specifications.
- Signals and sampling
- Discrete-time systems
- Noise and SNR
- The z-domain
- The frequency domain
- Filter design
- Filter structures
- Smoothing
- Biquad filters
- Multirate systems
- Convolution, correlation, and modulation
- DSP on a microcontroller
Each chapter takes roughly 1 to 2 hours to read and work through, including its exercises where it has them.
Applied techniques
Standalone techniques, each solving a specific practical problem. Read them in any order once you have the sequential chapters under your belt; they do not form a strict sequence.
- Zero-phase filtering: forward-backward filtering without phase distortion
- Zero-crossing detection: frequency estimation, event detection, and hysteresis
- Detrending: removing slow drifts for stationarity and clean spectra
Interactive tools
- Pole-Zero Explorer: drag poles and zeros around the z-plane and watch the magnitude and phase response update in real time. A hands-on companion to Chapter 4 and Chapter 5.
Practice
Chapters 1 to 6 each have a graded set of 18 to 21 practice problems with solutions in the Exercises section, capped by the capstone exercise: an end-to-end pipeline that ties the first six chapters together, from sampling and noise analysis through pole placement and spectral estimation to filter design. Practice for the later chapters is thinner: chapters 7, 10, and 11 carry inline exercise sets at the end of the chapter, and chapters 8, 9, and 12 currently have none. Closing that gap is planned work, not a design choice.
After the twelve chapters
The Topics section is where the workshop continues, and its guided arcs are the natural next tier. They pick up at different points of this path:
- Feature extraction opens from Chapter 5, so start it whenever the frequency domain feels solid; its third page, wavelets, also leans on the filter banks of Chapter 10.
- Noise & stochastic processing builds on Chapter 3 and Chapter 5, treating noise as a subject in its own right rather than a nuisance term.
- Estimation & detection reads best after the noise arc and assumes comfort with basic probability. Its opening page, Estimation basics, is the bridge from the mean-and-variance probability you have used since Chapter 3 to the likelihood reasoning the rest of the arc runs on.
The standalone topics outside the arcs can be read in any order; the full topic index lists everything.