A three-year plan for signal processing, from the first Fourier transform to reproducing papers. I wrote it for myself and I am working through it alongside the field radio plan and the electrical engineering master's: the radio supplies the signals, the degree supplies the proofs, and this is the practice in between.
The checklist and the gate log are mine. Signed out, the page is read-only.Blocks are scored on gates, not hours. A gate is a thing built or a problem set finished, with a tolerance or a clock on it, and the block is done when the gate passes.
Each block lists practice that scores you as well as reading: problem sets with answers, graded courses, plots that are right or wrong. Those cannot report back here, so I write their results in the gate log: a problem set score, a time, a measured error in decibels.
Eight ideas carry the whole subject; everything after is one of them applied. Each stage returns to all eight at more depth, and the second column is what owning one looks like.
| Idea | You own it when |
|---|---|
Two views of every signal Time and frequency are the same information in different coordinates, and the Fourier transform is the change of basis. Every operation has a meaning in both. | You say what a time-domain operation does to the spectrum, and the reverse, before running it, and the plot agrees. |
Linear time-invariant systems A linear time-invariant system is its impulse response. Convolution in time is multiplication in frequency, which is filtering, echo, blur and a radio channel in one sentence. | Given an impulse response you sketch the frequency response by hand; given a spectrum you say what the system does to a step. |
Sampling and aliasing Sampling below twice the bandwidth folds high frequencies onto low ones, and no later processing can undo it. This is why anti-alias filters exist and why sampling faster is rarely the first fix. | You choose a sample rate and an anti-alias filter for a new sensor from its bandwidth, and you can show an alias on a plot and name where it came from. |
The time-frequency tradeoff Resolution in time and in frequency trade off; a short window locates an event and smears its frequency. Spectrograms, wavelets and filter banks are different bargains with the same limit. | You pick a window and its length for a given signal, say what the choice costs, and read leakage off a spectrum without being told it is there. |
Poles and zeros A discrete filter is a rational function of z. Zeros carve notches, poles make resonances, the pole radius decides stability, and the phase response is a design choice, not an accident. | You place poles and zeros by hand to meet a rough specification, and say whether the result is stable and what its group delay does to a pulse. |
Noise is a signal too Real work is estimating something from a noisy measurement. Signal-to-noise ratio, power spectral density, correlation, the matched filter and the Cramér-Rao bound are the vocabulary. | You say how much averaging a measurement needs for a target signal-to-noise ratio, and why the matched filter is the best you can do against white noise. |
Finite precision Quantization adds noise, coefficient rounding moves poles, and fixed-point arithmetic overflows and wraps. Textbook filters fail in hardware for these reasons and no others. | You take a floating-point filter to fixed point, predict its noise floor before running it, and show on a pole-zero plot where the rounding moved the poles. |
It is all linear algebra Every transform is a change of basis. Fourier, cosine and wavelet bases are chosen; principal components are learned from the data. Seeing transforms as projections is what lets you invent one. | You write the discrete Fourier transform as a matrix, say when it is orthogonal, and derive a new transform from a property you want it to have. |
| Study | Five hours a week from the block's reading, in sittings of at least an hour, with the problems done as they come rather than saved for later. |
|---|---|
| Code | Three hours a week in Python with NumPy and SciPy, or MATLAB. Every idea from the week's reading is run against a signal the same week. |
| Derive | Twenty minutes a day rederiving one result from memory on paper: a transform pair, a filter's response, an estimator's variance. Timed, checked against the book, kept. |
| Real signals | One recording a week from the radio, a microphone or a sensor, processed end to end and plotted in both domains. |
| Review | Sunday evening: read the week's log, score the derivations, write the next week's three priorities. |
Months 1 to 6
The goal is intuition, not proofs: to read a spectrum and predict what a filter will do before running it. Everything is done in code against real signals, and the mathematics is only what the code needs.
You leave when aliasing, leakage and phase distortion are things you have caused on purpose, fixed, and can explain with a plot.
Months 1 to 2
Signal processing is complex numbers, linear algebra and a little probability worn smooth. The block is short because the point is fluency, not coverage; the proofs come in the journeyman stage.
Practice
Solutions are posted. Do the problem set before the solution, score it, log the fraction right.
Problems grouped by theme with solutions. Log each set as a fraction right.
Spaced repetition for the formulas. The daily review count and the retention rate are the score.
Gate
Twenty problems in ten minutes with no errors: complex multiplication and division in both forms, Euler's formula in both directions, a two by two inverse and its eigenvalues, and the mean and variance of a sum of independent variables.
Reading
Free. The only chapter of this book to read out of order.
Free. Sixteen short videos; the pictures the rest of the plan assumes you carry.
Free. Strang's lectures, problem sets and exams.
Free. Boyd and Vandenberghe. Vectors, matrices and least squares with the signals already in the examples; the book to keep open through the whole plan.
Free. Blitzstein's lectures and the book, which is also free online.
Months 2 to 4
The Fourier transform is the field's one trick, and it is learned by computing it, plotting it and being surprised. Smith's book is the text because every chapter ends in something you can run.
Practice
Prandoni and Vetterli, EPFL; the first of four courses. Graded quizzes and programming assignments, free to audit. Log every quiz score.
Every chapter ends in exercises with solution notebooks. Do them before looking; log which you got without the solution.
Ten pairs from memory in ten minutes, checked against the table. Log the count right; twenty is the standard by the end of the block.
Gate
From a bare Python session: write the DFT from its definition, check it against the FFT to within one part in a million, then build a spectrogram of a recording you made and point to the leakage, the aliasing you introduced deliberately, and the window's main lobe, all inside sixty minutes.
Reading
Free. Steven W. Smith. The beginner's text: no proofs, every idea shown, every chapter runnable.
Free. Allen Downey. Signal processing in Python, code before mathematics, with notebooks for every chapter.
Free. Jack Schaedler. An interactive primer on the DFT; an evening, before Smith's chapter 8.
3Blue1Brown. Twenty minutes; watch it before Smith's chapter 8 and again after.
Reducible. Why the FFT is fast, from polynomial multiplication up.
The library you will lean on once you have written each thing once yourself.
Months 4 to 6
A filter is the first thing anyone is paid to build, and the first place the two domains have to be held in mind at once. Finite and infinite impulse response, windows, poles and zeros, and the phase you did not think about.
Practice
The second EPFL course, on filters. Graded; log every quiz and assignment score.
Design a filter there, then reproduce its coefficients yourself from the same specification. Log the largest coefficient difference and the response difference in decibels.
Pick a random specification, design by hand, check against the library. Five in an hour, each within one decibel of specification, is the standard.
Gate
Given a specification with a passband edge, a stopband edge, a ripple and an attenuation: design one FIR and one IIR filter that meet it, implement both without a filter design library, and show the measured response meets every number within half a decibel, inside two hours.
Reading
Free. Chapters 14 to 21 are the block.
Free. Julius O. Smith, Stanford. The clearest treatment of poles, zeros and the z-transform that exists, with audio to listen to.
Richard G. Lyons, third edition. The practitioner's book: what the equations mean and the tricks nobody writes down. Read alongside Smith, and keep it for the journeyman stage.
Months 7 to 18
The goal is rigor, and the ability to design rather than apply. This is where most people stall, because the mathematics gets real and the problem sets are long. The two Oppenheim books are the spine, with their problems done, and the master's courses land here.
You leave when you can take a vague requirement, choose the transform and the filter structure, justify the choice on paper, and predict the failure modes before testing.
Months 7 to 10
The beginner stage was pictures and code. This is the same material with proofs, done through the problem sets of the course everyone else took. It is where the intuition gets checked against the mathematics and found to be mostly right.
Practice
Eleven sets with solutions. Score each before reading the solution; log the fraction right.
Two quizzes and a final, with solutions. These are the gate; take them under the clock and log the percentage.
Gate
MIT 6.003's two quizzes and the final, taken closed book under their own time limits from the archive, each scored at eighty percent or better.
Reading
Oppenheim and Willsky, second edition. The standard text for a reason: the problems.
Free. Ulaby and Yagle, second edition, from Michigan. The same ground as Oppenheim and Willsky, with solutions on the site, if the paid book is out of reach.
Free. Lectures, recitations, problem sets, exams, all with solutions.
Hwei Hsu, fourth edition. Hundreds of solved problems; the drill book for this block and the next.
Free. Short lectures on every topic in the block, with a map of what each one assumes. For the one idea a chapter that did not land.
Free. Brad Osgood's lectures. The Fourier transform in more depth than either textbook, including distributions; watch after the sampling chapter.
Months 10 to 14
The professional core of the subject, from the book every practitioner has on the shelf and the lectures its author gave. Multirate, filter design done properly, spectral analysis, and what finite precision does to all of it.
Practice
With solutions. Score each before reading the solution; log the fraction right and the time taken.
Markus Kuhn's course: compact notes and short programming exercises with a radio and radar flavour. Do the exercise sheets; log the fraction right.
Notebooks on the DFT, filter design, spectral estimation and quantisation, runnable in the browser. Each ends in a result to check; log which matched.
The third EPFL course: sampling, interpolation, multirate and quantization. Graded; log the scores.
The fourth EPFL course: a modem, image processing, and real-time. Graded; the modem is the bridge to the radio block.
Gate
A fixed-point IIR filter running on a microcontroller in real time, with the measured noise floor and passband within one decibel of what you predicted on paper before flashing it, and the prediction in the log before the measurement.
Reading
Free. Oppenheim and Schafer, third edition, the whole book as a PDF on MIT OpenCourseWare since 2026. Everything in the block is in it.
Free. Oppenheim's twenty lectures, filmed. Older than the book and the same author, so they agree.
Free. The graduate course on the book, with problem sets and solutions.
Free. Julius O. Smith. The DFT from complex numbers up, with every proof.
Free. Twenty-five full lectures from Rensselaer, following Proakis and Manolakis. The second angle on every chapter, filmed in a real classroom.
Proakis and Manolakis, fifth edition. The other standard text, with more problems than Oppenheim and a chapter on filter banks and wavelets the older book lacks.
Arm's fixed and floating-point library for Cortex-M. The fixed-point task runs on it.
Months 14 to 18
Everything so far assumed you knew the signal. Real work is pulling one out of noise, and saying how well that can be done at all. Statistical signal processing is the half of the subject the deterministic books leave out, and it is where most industrial work lives.
Practice
With solutions. Score each before the solution; log the fraction right.
Each chapter's exercises have solutions in the notebook. Do them blind; log which needed the solution.
Derive the bound for a new parameter from memory, one a week: amplitude, phase, delay, frequency, direction. Timed; log the minutes and whether it matched the book.
Gate
A frequency estimator for a tone in noise whose measured variance sits within one decibel of the Cramér-Rao bound above the threshold, with the bound derived by hand in the log and the threshold effect shown on the plot.
Reading
Steven M. Kay. The estimation book; the Cramér-Rao bound, maximum likelihood and least squares done once and properly.
Steven M. Kay. The detection book, same author, same care.
Steven M. Kay. The probability the two volumes assume, taught by the same hand, with code.
Free. Oppenheim and Verghese's course, with the full text of their book as lecture notes. The bridge from deterministic to statistical.
Free. Roger Labbe. The Kalman filter taught by building it in notebooks, from the one-dimensional case up to the unscented and particle filters.
Months 12 to 18, alongside the two blocks above
Depth in one application is what makes the theory stick, and radio is the one whose signals are already in the pack. Every idea in the plan appears in a receiver, and a receiver you wrote every line of is the proof you understood them.
Practice
Every chapter ends in exercises against the receiver. Log which decode and which do not, and what the fix was.
Each tutorial ends in a flowgraph that works or does not. Log the time from opening the tutorial to a working graph.
The theoretical curves for each modulation. Your loopback measurement against them is the score; log the gap in decibels at three points.
Gate
A demodulator you wrote, no GNU Radio blocks, that decodes a real over-the-air digital signal end to end, with a measured bit error rate in loopback within one decibel of the theoretical curve across the range you tested.
Reading
Free. Marc Lichtman. The best applied signal processing text on the web, every idea with Python you run against the receiver.
Free. Prandoni and Vetterli. The EPFL courses' textbook, ending in a modem built from the theory.
Michael Rice. Synchronisation, timing and carrier recovery as discrete-time signal processing. Nothing else covers it as well.
Free. The official tutorials, which are the course; the wiki is the reference.
Months 19 to 36
The goal is inventing methods and knowing where the standard tools break. The reading turns into papers, the problems into reproductions, and the signals into ones the textbook assumptions fail on: nonstationary, nonlinear, nonuniformly sampled, on hardware with a drifting clock.
You leave when your first instinct about a new problem is usually right, you know which of your instincts are unreliable, and you can explain the tradeoff to someone at each stage below you.
Months 19 to 24
The journeyman knew the transforms. The expert knows why they are the ones they are and how to make a new one: Hilbert spaces, frames, wavelets, and the discovery that a signal sparse in some basis can be recovered from far fewer samples than Nyquist asks for.
Practice
Solutions to selected exercises are on the site. Do a chapter's exercises before checking; log the fraction right.
Reproduce every figure in the paper from scratch. Log which you could reproduce and the largest discrepancy.
Gate
A sparse recovery experiment reproducing the published phase transition to within five percent of the curve, with your own matching pursuit and your own wavelet transform, and a two-page write-up someone at the journeyman stage can follow.
Reading
Free. Vetterli, Kovačević and Goyal. The subject rebuilt from linear algebra and approximation, with the companion volume on Fourier and wavelets.
Stéphane Mallat, third edition. The wavelet book, now also the sparsity book.
Free, the authors' copy. Candès and Wakin, IEEE Signal Processing Magazine, 2008. The survey that started most people; ten pages.
Foucart and Rauhut. The theory behind the survey, with proofs; the first textbook on the subject and still the reference.
Gilbert Strang. The linear algebra the block leans on, from the person who taught it in the first block, now with the data-driven bases.
Months 24 to 30
The filters so far were designed once and fixed. The world is not: channels change, noise moves, and sources are somewhere. Adaptive filters, nonlinear state estimation and arrays are the three ways the subject follows a moving target.
Practice
Each chapter's experiments have published results. Reproduce them; log the largest gap between yours and the book's.
Chapters 10 to 12 cover the extended, unscented and particle filters with exercises. Do them blind; log which needed the solution.
Gate
Direction of arrival on a real array you built, MUSIC against a beamformer, with the measured bearing error under two degrees on a known source and the resolution limit shown against the textbook's prediction.
Reading
Simon Haykin, fifth edition. The adaptive filtering reference, with computer experiments in every chapter.
Dan Simon. Kalman, H-infinity and nonlinear filters with the derivations in full and the code online.
Harry L. Van Trees. Part four of Detection, Estimation and Modulation Theory; the array processing reference.
Free, from the authors. Stoica and Moses. Parametric and nonparametric spectral estimation, from the people who did most of it.
Bar-Shalom, Li and Kirubarajan. The tracking reference, for the nonlinear filtering task once Simon has been read.
A five-channel coherent receiver, if the array is to be radio rather than acoustic.
Months 30 to 36
Past this point the reading is papers and the practice is reproducing them, which is the fastest way to find out where a method quietly cheats. The bridge to machine learning is here too: a convolutional network is a learned filter bank, and knowing that is what tells you when the classical method wins.
Practice
A peer-reviewed journal of reproductions. A submission accepted there is the block's gate graded by someone else; log the review.
The field's annual conference, each May. Attending is the reading; a workshop submission is the score. Log either.
Gate
Three published papers reproduced to within the authors' reported numbers, or a documented reason why they cannot be, each with public code and a write-up, in twelve months.
Reading
Tutorials and surveys, written to be read. The monthly reading.
The journal of record. The papers to reproduce come from here.
Brunton and Kutz, second edition. The bridge from signal processing to machine learning, with the lectures free on the site.
Sergios Theodoridis, second edition. Machine learning written by a signal processing professor in the language of this plan: adaptive filters, sparsity and Bayesian estimation first.
Free. Goodfellow, Bengio and Courville. Chapter 9, on convolutional networks, is the one to read as a signal processing text.
Every book the blocks read from, in one place, with what it is for. Free ones are marked. The paid ones are worth a used copy of the edition named, and a library will have most of them.
| Book | Stage | Why this one |
|---|---|---|
| The Scientist and Engineer's Guide to Digital Signal Processing Steven W. Smith Free | Beginner | The first book. No proofs, every idea shown, every chapter something you can run the same evening. |
| Think DSP Allen B. Downey Free | Beginner | The same ground as Smith in Python notebooks, code before mathematics. Read the two together. |
| Introduction to Digital Filters with Audio Applications Julius O. Smith III Free | Beginner | Poles, zeros and the z-transform explained better than anywhere else, with audio to hear the difference. |
| Understanding Digital Signal Processing Richard G. Lyons, third edition | Beginner | The practitioner's book: what the equations mean, and the tricks that are in no other textbook. The one to buy first. |
| Signals and Systems Alan V. Oppenheim and Alan S. Willsky, second edition | Journeyman | The standard undergraduate text, and MIT 6.003 follows it. The problems are the reason. |
| Signals and Systems: Theory and Applications Fawwaz T. Ulaby and Andrew E. Yagle, second edition Free | Journeyman | Michigan's free signals and systems text, with solutions on the site. The substitute for Oppenheim and Willsky if the paid book is out of reach. |
| Schaum's Outline of Signals and Systems Hwei P. Hsu, fourth edition | Journeyman | Hundreds of solved problems. The drill book, not the textbook. |
| Discrete-Time Signal Processing Alan V. Oppenheim and Ronald W. Schafer, third edition Free | Journeyman | The professional reference. Every practitioner has it, the free MIT lectures are by its author, and since 2026 the book itself is free on OpenCourseWare. |
| Digital Signal Processing: Principles, Algorithms, and Applications John G. Proakis and Dimitris G. Manolakis, fifth edition | Journeyman | The other standard text. More problems than Oppenheim and Schafer, and Radke's free lectures follow it. |
| Mathematics of the Discrete Fourier Transform Julius O. Smith III Free | Journeyman | The DFT with every proof, from complex numbers up. The rigorous companion to the beginner stage. |
| Fundamentals of Statistical Signal Processing, Volume I: Estimation Theory Steven M. Kay | Journeyman | Estimation done once and properly: bounds, maximum likelihood, least squares, Bayesian. Every later block cites it. |
| Fundamentals of Statistical Signal Processing, Volume II: Detection Theory Steven M. Kay | Journeyman | Detection with the same care as the first volume. Read after it. |
| Intuitive Probability and Random Processes using MATLAB Steven M. Kay | Journeyman | The probability the two volumes assume, taught by the same hand. Skip it if Stat 110 and a random processes course are already done. |
| Kalman and Bayesian Filters in Python Roger R. Labbe Jr. Free | Journeyman | The Kalman filter built up in notebooks from the one-dimensional case. The best free thing on the subject. |
| PySDR: A Guide to SDR and DSP using Python Marc Lichtman Free | Journeyman | Applied signal processing against a real receiver, every idea with code. The radio block's text. |
| Signal Processing for Communications Paolo Prandoni and Martin Vetterli Free | Journeyman | The EPFL courses' textbook, ending in a modem built from the theory. The bridge between the two Oppenheim books and radio. |
| Digital Communications: A Discrete-Time Approach Michael Rice | Journeyman | Synchronisation as signal processing. The book to read before writing a receiver's timing and carrier recovery. |
| Foundations of Signal Processing Martin Vetterli, Jelena Kovačević and Vivek K Goyal Free | Expert | The subject rebuilt from Hilbert spaces and approximation. The book that turns a journeyman's toolbox into a theory. |
| A Wavelet Tour of Signal Processing: The Sparse Way Stéphane Mallat, third edition | Expert | Wavelets, time-frequency and sparsity from the person who did much of it. |
| A Mathematical Introduction to Compressive Sensing Simon Foucart and Holger Rauhut | Expert | Compressed sensing with the proofs. Read after the survey, when the phase transition experiment raises the question of why. |
| Linear Algebra and Learning from Data Gilbert Strang | Expert | The linear algebra of the expert stage: the singular value decomposition, low rank, and the bases you learn from data. |
| Adaptive Filter Theory Simon Haykin, fifth edition | Expert | The adaptive filtering reference, with computer experiments to reproduce. |
| Optimal State Estimation Dan Simon | Expert | Kalman, H-infinity and nonlinear filters with the derivations in full and the code online. The Kalman book after Labbe. |
| Estimation with Applications to Tracking and Navigation Yaakov Bar-Shalom, X. Rong Li and Thiagalingam Kirubarajan | Expert | The tracking reference: nonlinear filtering and data association, for when the Kalman filter meets a real target. |
| Optimum Array Processing Harry L. Van Trees | Expert | The array processing reference. Fourteen hundred pages; the block reads four chapters of it. |
| Spectral Analysis of Signals Petre Stoica and Randolph Moses Free | Expert | Spectral estimation, parametric and not, by the authors of most of it. Free from the authors. |
| Data-Driven Science and Engineering Steven L. Brunton and J. Nathan Kutz, second edition | Expert | The bridge to machine learning, with every chapter's lectures free on the site. |
| Machine Learning: A Bayesian and Optimization Perspective Sergios Theodoridis, second edition | Expert | Machine learning from the signal processing side: adaptive filters, sparsity and Bayesian estimation before anything is called a network. |
| Deep Learning Ian Goodfellow, Yoshua Bengio and Aaron Courville Free | Expert | Chapter 9 on convolutional networks, read as a signal processing text: a learned filter bank, and when a designed one still wins. |