Introduction

Why Signal Processing?

Signal processing is the mathematical language of the physical world. Audio, radio, seismic, medical imaging, radar, communications — every digital system that interacts with the real world processes signals. It sits at the intersection of mathematics, physics, and engineering.

The Fourier transform alone underpins MP3, JPEG, Wi-Fi, MRI, spectroscopy, speech recognition, and gravitational wave detection. Understanding it at the algorithmic level gives you a window into how the digital world actually works.

How This Course Works

Each lesson introduces one concept, explains the mathematics, and asks you to implement it in pure Python — no NumPy or SciPy. You will build everything from scratch: sinusoids, DFT, windowing, FIR and IIR filters, convolution, correlation, and spectral features.

What You Will Build

  1. Signal Fundamentals — Sinusoids, the Nyquist theorem, quantization, signal power, energy, RMS, and linear convolution
  2. Fourier Analysis — DFT, IDFT, power spectrum, Hann windowing, and STFT frame extraction
  3. Digital Filters — Moving average, FIR filters with sinc kernels, and first-order IIR filters
  4. Applications — Cross-correlation, autocorrelation, spectral centroid, and spectral flatness

Let's start with the simplest signal there is.

Next →