While we are on the topic of clock recovery and someone more knowledgeable than me is reading :) I would like to pose a question to Bob. How might one do clock recovery on a M-ary CPM signal? It sounds like a ML sequence technique might be an option but is there a simpler ad-hoc technique that works as well? My "superiors" tell me to just do clock recovery on a 2-ary modulated preamble and then hold it for the rest of the packet when it switches to your M-ary mode. I suppose this would work but I think it might be a little too much work in GNU right now until the meta data extra channel thing is ready, right? For simplicity I would prefer a technique that could run on streaming data like the M&M.
thanks Jeff -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Bob McGwier Sent: Friday, April 11, 2008 1:45 PM To: George Nychis; gnuradio mailing list Subject: Re: [Discuss-gnuradio] M&M impl, its parameters, and why does itwork for GMSK? George Nychis wrote: > Thanks for the response. > > You're correct, it can work with complex or real input. GMSK and the > MSK implementation are both using the real input, passed on from > gr_quadrature_demod_cf. Here is the MSK impl: > https://moo.cmcl.cs.cmu.edu/trac/cmu_sdrg/browser/phys/802.15.4/trunk/s rc/python/ieee802_15_4.py#L84 > > > I'm not sure if I and Q are meant to be de-staggered before hand or not. > > - George > George, Jeffrey: You are discovering by inference in the M&M research work what most communications professionals know because someone told them (usually Matlab) ;-). Staggered QAM and MSK minimize envelope variation and as such, the nonlinearity in M&M generates a much weaker clock tone. At the risk of bringing up sore topics, Matlab uses M&M where it is appropriate. For MSK and GMSK, they use a fourth order nonlinearity to generate the clock tone. I use them and their large R&D shop as "proof by intimidation" rather than going through all of the arguments why this should be so but they start from the small envelope variation I mentioned. google search Matlab MSK-type signal timing recovery. They have my favorite timing author ever (Umberto Mengali) referenced. Long before M&M wrote, Umberto Mengali wrote a paper on the asymptotic maximum likelihood clock recovery method. After you approximate the hyperbolic tangent with the simplest first order approximation and use two tap differentiator, VOILA, M&M pops out. -- AMSAT Director and VP Engineering. Member: ARRL, AMSAT-DL, TAPR, Packrats, NJQRP, QRP ARCI, QCWA, FRC. ARRL SDR WG Chair "Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." - Brian W. Kernighan _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio