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.

Prerequisites
  • 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.

  1. Signals and sampling
  2. Discrete-time systems
  3. Noise and SNR
  4. The z-domain
  5. The frequency domain
  6. Filter design
  7. Filter structures
  8. Smoothing
  9. Biquad filters
  10. Multirate systems
  11. Convolution, correlation, and modulation
  12. DSP on a microcontroller

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.

Interactive tools

After working through the sequential chapters, try the capstone exercise, an end-to-end signal processing pipeline that ties everything together.

Each chapter takes roughly 1–2 hours to read and work through, including exercises.

Practice problems for each chapter: Exercises