Math for Signal Processing
We cannot get very far with gnuradio projects without mastering the
math behind signal processing. I am working on refreshing my 25
year old college EE training and find it is not too difficult. In fact,
it is amazing what resources students today have with symbolic algebra,
calculus and plotting software like Derive, etc. In 1979 we were still using punch cards!
Complex Mixing
One rule of thumb of old real signal mixing is that you get the sum and
difference frequencies in the mixing product. That is, mixing f1 and f2
results in f1+f2 as well as f1-f2, as shown in line 11 below (see also
this wikipedia article).
The product in line 13 contains both sum (w0+w1) and difference (w0-w1).
However, interestingly, complex mixing produces only a sum, which is
cleaner to work with as we don't have to worry about filtering out unwanted
products. Using the popular natural log (ê) based exponentials to represent
complex sinusoidals as in line 4, we only have to add exponents to multiply
the terms, resulting in line 7, which shows only the sum of the two signals
w0 and w1. That the difference cancels out can be shown by expanding the
exponential as in line's 5 and 6 and noticing that the difference terms,
[cos(w0t - w1t) - cos(w0t - w1t)] and [sin(w1t - w0t) + sin(w0t - w1t)]
drop out leaving line 8, which is equal to line 9. In these equations î
is the imaginary unit, square root of -1. To get difference frequencies,
complex signals allow us to add a negative frequency.