> -----Original Message----- > From: Martin Dvh [mailto:[EMAIL PROTECTED] > Sent: Monday, January 29, 2007 4:37 PM > To: Tom Rondeau; gnuradio mailing list > Subject: Re: [Discuss-gnuradio] QAM, carrier tracking and clock recovery > > Tom Rondeau wrote: > >>-----Original Message----- > >>From: [EMAIL PROTECTED] [mailto:discuss- > >>[EMAIL PROTECTED] On Behalf Of Martin Dvh > >>Sent: Sunday, January 28, 2007 6:15 PM > >>To: gnuradio mailing list > >>Subject: [Discuss-gnuradio] QAM, carrier tracking and clock recovery > >> > >>Hi All, > >>I am trying to build a working QAM modulator/demodulator, based on the > >>existing BPSK/QPSK code. > >> > >>Is the Mueller and Muller clock-recovery as used in the current QPSK > >>examples also usable for QAM? > >> > >>I couldn't find a good description of the algorithm or the parameters. > >> > >>For clock recovery the only options I found on the net which are > supposed > >>to work for QAM are modified early/late tracking and modified > >>zero-crossing. > >>Has anybody any info on this? > >> > >>I am also looking for the best option for carrier-tracking. > >>For QAM there are special requirements for carrier-tracking and clock- > >>recovery. > >>A simple costas loop will not do for carrier tracking. > >> > >>This is what I have so far: > >> > >>For now I implemented a to-the fourth-power PLL for carrier tracking. > >>(PLL locks to the fourth power of the input, output is divided by four) > >>This is supposed to work for all QAM versions and should NOT suffer from > >>catastrophic collaps when the BER gets too high. > >>(The other option. Decision based carrier-tracking does suffer from > >>catastrophic collaps.) > >>The disadvantage is the long time before lock. > >> > >>For clock-recovery I am trying to use the existing clock-recovery. > >> > >>I am fiddling with the parameters and I do get a non-very-stable but > >>recognisable QAM constellation as output of the clock-recovery when I > use > >>a > >>very slow timeconstant for my PLL. > >>No packets get through yet, I think because the PLL only locks after a > lot > >>of symbols are missed and the constellation is not very stable. > >> > >>The output constellation of the output of the clock-recovery now can be > >>seen in: > >>http://www.olifantasia.com/projects/gnuradio/QAM/screenshots/ > >>The output files (--log) before and after clock-recovery is in > >>http://www.olifantasia.com/projects/gnuradio/QAM/ > >> > >>greetings, > >>Martin > > > > > > Martin, > > > > I've been doing a bit of work on this problem and have two developer > > branches open for this. In branches/developers/trondeau/digital-wip you > will > > find QAM modulator code; I have transmitted this and received it on my > > Signature signal analyzer and see the perfect constellations. The code > also > > performs Gray coding on the constellation. This code only has the QAM > > modulator side and no demodulator. This should be very quick to work up, > and > > it sounds like you might already have it. > Yes, I already have similar working code. > > > > In branches/developers/trondeau/digital-wip2, I've been doing > modifications > > on the MPSK receiver and implementing D8PSK. This work is almost > complete > > and will be merged into the branch soon. I would look the > 'gr_mpsk_receiver' > > block code from now on. It's decision-aided and does the Costas loop and > M&M > > (a modified version) at the same time and improves the DQPSK reception. > > > Do you have any links for a desciption of the MM algorithm and its > parameters and/or performance.
Yep, and it's in the code ;) If you look at gr_clock_recovery_mm_cc.h, there's a reference to a good receiver book that goes over the basic M&M loop. In my developer branch, gr_mpsk_receiver_cc.h has a link to a paper with a modified M&M loop implemented here. Tom _______________________________________________ Discuss-gnuradio mailing list [email protected] http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
