Signal Theory

From Fourier analysis to digital filter design — the mathematics of signals and systems

Course Overview

Signal theory is the mathematical backbone of modern communications, control systems, audio engineering, medical imaging, and countless other fields. This course takes you from the fundamentals of continuous-time signals through Fourier analysis, the Laplace and Z transforms, sampling theory, and into practical digital signal processing with FFT algorithms and filter design.

What makes this course unique:

  • Full MathJax equations: Every theorem is stated precisely with complete derivations
  • Interactive demos: Live Fourier series visualisation with up to 50 harmonics
  • Fortran backend: High-performance FFT, PSD, and filter kernels (signal_kernels.f90)
  • Python wrapper: NumPy/SciPy fallback via SignalProcessor class
  • REST API: Flask endpoints for FFT, PSD, filtering, sinc reconstruction, and spectrograms

8 Chapters

Backend Architecture

Fortran 90

signal_kernels.f90

8 optimised routines: FFT, DFT, Welch PSD, IIR/FIR filters, sinc interpolation, windowing.

Python Wrapper

signal_backend.py

SignalProcessor class via f2py with graceful NumPy/SciPy fallback.

Flask API

signal_app.py

6 REST endpoints: /api/fft, /api/psd, /api/filter, /api/fourier, /api/sinc, /api/spectrogram.

# Build Fortran kernels

cd backend && f2py -c signal_kernels.f90 -m signal_kernels --opt="-O3 -march=native"

# Run Flask API

cd backend && python signal_app.py