There is always an unknown phase between the transmitter and receiver.
In addition, the clocks between the transmitter and receiver are never
running at exactly the same frequency. FWIW, the oscillator on the
USRP is spec'd to 50ppm.
Eric
GMSK is a constant amplitude modulation. So unless I am misunderstanding
something (which is entirely possible), if you plot the complex baseband
signal with real for X and imag for Y, the result should be a
constant-amplitude circle regardless of where in the symbol you are
sampling, and regardless of any carrier freq discrepancy between the tx and
rx. A carrier freq offset will make the phasor spin faster or slower, but it
should still have constant magnitude.
I'd seen the 50ppm number before, and that's part of the reason I asked the
second question about adding improved carrier recovery. I was noticing a
freq difference of ~5 kHz @ somewhere in the 200-300MHz range (that's about
20ppm, so in line with our expectations), and it was really making the M&M
clock recovery block in gmsk.py struggle. I'm guessing that M&M depends on
zero crossings for clock recovery, so when it's input (which is normally in
the [-1, 1] range) gets a DC offset such that it's now [-0.5, 1.5] for
example, it has problems.
I'm interested in your IIR suggestion. It seems like what we want to do is
essentially high-pass filter the output of the FM demod to get rid of the DC
offset. Were you recommending low-pass filtering the FM demod output to
estimate the DC bias and then subtracting that off from the original signal?
Why an IIR filter rather than a FIR? Which IIR block would you choose?
Thanks again for your continued patience.
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio