Ahmed FASIH is a user on octodon.social. You can follow them or interact with them if you have an account anywhere in the fediverse. If you don't, you can sign up here.

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” (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 (jackschaedler.github.io/circle).

I was asked thoughtful question: why *not* read Oppenheim/Schaffer? Long-winded answer: we teach DSP the same *wrong* way we teach calculus: remember limits→derivatives→integrals? Well, Newton &co did integrals, then Cauchy &co did derivatives, and only then did Weierstrass &co nail down limits. High school calc reverses the history order and the usefulness order because it turns out that for integrals and derivatives to be rigorous, you need limits. This took us centuries to understand.

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.

Ahmed FASIH @22

(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.)

· Web · 0 · 1

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.