Sat Oct 6 21:30:01 CEST 2007
the pic18 has a hardware multiplier, which is nice. however, computing
signed multiplication takes quite a hit compared to unsigned. i was
wondering if i can do an amplitude-only demodulator using only signed
the entire function is unsigned -> unsigned.
signal -> mixer -> I / Q -> I^2 + Q^2 -> LPF
[EDIT: deleted a long erroneous entry. the thinking error was about
the commutation of the LPF and the squaring operation. the above
expression just gives the average signal power.]
the correct formula is:
X -> (I,Q) => LPF -> || . ||^2
that's completely symmetric wrt to phase.
the LPF is straightforward: a simple 1-pole will probably do if i keep
the bitrate low. a 2^n-1 coefficient is easy to implement without
the I=XC and Q=XS multiplications can probably be simplified since X =
x-h and C = c-h have no DC components. here h = 2^(bits-1).
I = X C
= (x-h) (c-h)
= xc - hx - hc + h^2
= xc - h(x + c - h)
= xc - h(x - h + c - h - h)
= xc - h(X + C + h)
= xc - h^2
which is quite intuitive: take the average of xc, but remove the dc