discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Discuss-gnuradio] Question about carrier syncronization for demodulatin


From: 2 1
Subject: [Discuss-gnuradio] Question about carrier syncronization for demodulating QPSK/BPSK signal.
Date: Thu, 1 Jun 2006 18:16:15 +0800

Hi, all
 
The problem is HOWTO do carrier syncronization.
I am using two USRP with FLEX 2400, one for Tx, the other for Rx. The RF of both Tx and Rx are tuned to 2.45GHz.
I generate and transmit a QPSK signal. At the receiver, an obvious frequency deviation can be observed from the fft sink. And of course, nothing can be demodulated. (using simple correlator to deframing, no seqno outputs). So I adjust Tx RF a little bit, and I realy get some seqno from simple_correlator, but they are uncontinuous and snatchy, which means the manual freq adjustment is not so accuracy.
I think the linear bidimention mouduation such as BPSK/QPSK/16QAM requires much more accurate syncronization of carrier than FSK does.
 
There are already some discusses on the archive about BPSK demod, but I still have no idea about that.
http://aphex.media.mit.edu/wiki/tiki-index.php?page=BPSK
I read the code and find that the author wrote a costas loop which require sinusoid input. This scheme will produce higher speed baseband signal, which cost much USB bandwidth. I wonder if only pure IQ complex at the speed of QPSK symbol rate can do carrier sync and demodulation.
 
Thanks!
 
The following are the key src code of my QPSK mod/demod.

qpsk_tx.py:
src = "" (gr.sizeof_char, filename, options.repeat)
framer = gr.simple_framer (payload_size)        
bytes_to_syms = gr.bytes_to_syms ()
qpsk_mod = gr.float_to_complex()
interp = gr.interp_fir_filter_ccf (8, interp_taps)
...# usrp init
self.connect (src, framer, bytes_to_syms, qpsk_mod, interp, gain, u)

qpsk_rx.py:
filter = gr.fir_filter_ccf (1, rx_taps) 
c2f = gr.complex_to_float()
corr = gr.simple_correlator (payload_size)
filesink = gr.file_sink (gr.sizeof_char, options.filename)
self.connect (u, filter, c2f, corr, filesink)

 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]