Hacker News new | past | comments | ask | show | jobs | submit login
The Scientist and Engineer's Guide to Digital Signal Processing (dspguide.com)
154 points by graderjs on March 6, 2022 | hide | past | favorite | 15 comments



I strongly disagree with the approach of avoiding complex numbers because its "so complicated that most scientists and engineers can't spare the time to learn or use it". Full disclosure though: my training is physics, so I'm pretty biased (and will use 'i' instead of 'j' with great prejudice).

E.g. frequency mixing without complex numbers is a mess of trig-identities, and (at least to me) it's not clear at all why multiplying various terms should eventually result in the desired outcome. Whereas with complex numbers: exp(2pi i f1 t) exp(2pi i f2 t) = exp(2pi i (f1+f2) t). Other concepts are similar.

In my mind the beauty of DSP is one can work directly with complex base-band signals, rather than splitting into I and Q and then doing all sorts of shenanigans which obscure the underlying modulation/demodulation schemes - which are often quite simple but appear complicated once physical components are required (vs doing it all in software). From a historical perspective of course that stuff is all very interesting, but less helpful if you want to learn the core concepts.

The author also says most textbooks do use complex numbers which I don't doubt, but most of the resources I've found online avoid them, I usually find I can understand what's going on much better after converting it back (and hence eliminating 3/4 of the maths).

If this interests anyone - I started making a little tutorial on GMSK out of frustration about this issue, currently no actual notes, just implementations (which may not be perfect! I am not an expert) https://github.com/gabi-a/DSP_SatComms_Tutorial/blob/main/Si...*


You're right that complex numbers simplify the math incredibly. Being able to move everything to the baseband is a huge help.

I think the fundamental problem is that:

1) there isn't a whole lot of comfort with complex numbers generally, so getting rid of them makes the material seem more approachable - at the cost of being significantly more complicated, and

2) a lack of good resources for implementing common DSP algorithms in actual hardware. The jump from Matlab to raw C is mystifying to many people (myself included in many cases).

I actually prefer Lyons's Understanding Digital Signal Processing as an intro text over this one.

I also really benefitted from having a good teacher in this stuff. Dan Boschen with DSPrelated runs some great online classes on DSP that helped me immensely in understanding this material. About $200 for five classes, with tons of great iPython notebooks of examples. (He was the one who helped me get the "all math works the same at baseband" advantage of complex numbers.)


Based on the current trend the wireless modulation eco-system is moving towards time-frequency-spatial-polarization for better capacity and reliability. Not unlike the 3D graphics/multimedia eco-system sooner or later quaternion math will soon be a common thing, and textbook need to be re-written, expanded and updated due to complex number's limitations.


Don’t you mean preiudice?


Haha! :D


gottem :P XD


Worth noting that complex numbers are not avoided entirely in Smith's DSP book, they are introduced in the last few chapters. FWIW Smith's book was the one that helped me (who didn't take any math classes after high school) get a basic grasp on audio DSP principles.


Makes no sense to me, imaginary numbers came into the first year engineering course when I studied it. There's no way it would be either too hard or unfamiliar to engineers.


I strongly agree with you. Somewhat counter-intuitively to their naming, complex numbers make DSP much simpler. And they’re really not very complex.


This is the book which enabled me to code up a solution to parse an image to synthesize it's audio equivalent ... then to listen to the audio to synthesize it's equivalent output image ... job done when output image matched input image ... power of the complex plane


Interesting to see this here. I bought this book and I sometimes reference the free online PDFs too. This is a great book for those interested in engineering and signals.


This is a canonical resource I've used and seen used for years. It has helped kick off musical careers, as well as hobbyists.

Another great approachable resource

https://www.katjaas.nl/home/home.html


This is one of the best technical books I've ever read, up there with the likes of K&R. And in a field where all other books are horribly overcomplicating the material :/


A tremendous book. Every signal processing engineer should have it.


This is one of the best beginner books on DSP. Many “reference” textbook authors can learn a lot from the quality of writing and presentation in here.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: