Fri Dec 7 09:36:31 CET 2007
the most elegant solution seems to be to use a cordic I,Q->A,P
transform, so both the AGC and PLL have proper data to work on.
For use in the demodulator, the constant scaling factor is not a
problem. What I would like to do is to perform sequential updates: use
Q to update I and then use the updated I to update Q. With a=s2^(-n)
this amounts to:
| 1 a | | 1 0 | | 1 + a^2 a |
| | * | | = | |
| 0 1 | | a 1 | | a 1 |
Which is no longer a scaled rotation. Correcting this looks like more
hassle than just performing the update in parallel.
I don't need a lot of phase resolution. 8 bit is definitely enough.
Hmm.. Is going to be a lot of work..