On Thu, Jun 01, 2006 at 08:54:28AM -0400, Tom Rondeau wrote: > Eric and my team at Virginia Tech just got done creating a full > differentially encoded QPSK transceiver. There's still a bit left to be done > on it, but the basic building blocks should all be checked in by now. For > carrier synchronization of a QPSK waveform, we use the classic fourth order > Costas loop approach, a block you can find as gr_costas_loop_cc. Set the > alpha value somewhere around 0.005 - 0.05 to get started (and play with it > from there). The beta value should be about an order of magnitude smaller > (it's been set to 0.25*alpha^2; I'm not sure where that comes from, though). > The next two arguments are the max and min frequency deviation in terms of > scaled frequency, so 0.05 and -0.05 work well. The final value of the > reference phase can just be set to 0. This block's been around for a bit of > time and used in BPSK. > > > > >From here, you'll need to worry about symbol synchronization. We build a > complex modified Mueller and Muller clock recovery circuit for this called > gr_clock_recovery_mm_cc (this file existed already, but we modified it > some). Set mu=0.05, omega is approximately the samples per baud, > gain_mu=0.05, gain_omega=0.25*mu^2, and omega_rel_limit=0.5. These values > will get you started. > > > There are other blocks available now to do differential encoding and > decoding to handle the phase ambiguity generated by the Costas loop (the > final constellation can be in any one of 4 rotations). In the GMSK2 > examples, I know the benchmark_xpsk_tx.py generates the differentially > encoded QPSK signal. If not there yet, soon the benchmark_xpsk_rx.py should > do the synchronization and differential demodulation once a few more things > are worked out. > > Tom
There are still a few things to finish rearranging, then we should have a good QPSK (and most likely BPSK) implementation. I've refactored the GMSK code to use (and test) some of the new ideas. Stay tuned... Eric _______________________________________________ Discuss-gnuradio mailing list [email protected] http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
