FML. A programmer just asked someone for advice on learning a bit about the signal processing/Fourier transforming that goes on around here, and that someone replied with “<long pause> Uh, I’d start with an undergrad linear systems book… Oppenheim and Schafer.” WORST ANSWER EVER, gods help the poor programmer.
My advice, likely too hastily offered to said programmer, with exhortations to ignore the previous advisor, turned out to be: (1) DFT chapter of “Scientist and Engineer’s Guide to Digital Signal Processing” (http://www.dspguide.com/CH8.PDF) and any subsequent chapters of interest (e.g., digital filters), and (2) Jack Schaedler’s “Circles, Sines, and Signals” explorable explanation (https://jackschaedler.github.io/circles-sines-signals/).
So a professional mathematician who wants to master calculus (they call it real analysis) would need to start with the very subtle and tricky reasoning behind why limits work, use that to show how derivatives work, and finally properly explain why integrals work. You need the difficult and esoteric stuff (limits) to trust the easier and more useful stuff (integrals). But it makes zero sense to teach high school calc that way—nobody learns any of it anyway.
So undergrad electrical engineering curricula try to do the same thing with DSP—start from esoteric, hyperfine linear systems theory, build up convolution, Fourier series and transforms, and finally spectral analysis. That’s the order needed for a mathematically rigorous development, but a terrible order for understanding something that’s much more approachable in practice.
Telling a senior developer to read Oppenheim/Shaffer to understand more about the Fourier theory they’re implementing for you is (maybe?) like telling a mechanic who wants to build an engine from scratch to read a book on differential equations… lazy answer.
(It’s completely stupid, teaching calc to high schoolers and most undergrads. I asked my favorite math prof at Ohio State, Dr Ferrar, why they didn’t teach discrete math [class he was teaching me] in high school instead of calc/trig. He said, “The only reason high schools started teaching calc was because Upper Arlington [rich school district in Columbus, Ohio] started teaching calc, and oh, we all now need to do it.” It’s a fad, it’s bad, and should stop. Stats/discrete math is way better.)