Comment

Comment by gabia

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...*

parent gabia 4 years ago

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton