Forums

Symbol Synchronization for QPSK

Started by Praveen May 10, 2006
Hello all,

I am trying to fix up my symbol synchronizer for QPSK using early-late
gate method.  Now the whole idea is this:

I generate a qpsk wave and save it as a sound file in one system.  I
play the sound file and the sound file gets recorded through a mike in
another system about 2m away.  Now, the problem with the received file
is that there is no constant envelope (which is obvious, but what beats
me is that the variations are too much).  I synchronize the carrier not
through PLL, but by raising my received signal by a power of four and
through a digital counter, I get my carrier to the desired frequency
but the phase is gone for a toss! I then do a symbol
synchronization....to it using early late gate method.

Can anyone of  you please tell me if anything is wrong in the above
steps?

Thanks,
Praveen

"Praveen" <praveen.gk@gmail.com> wrote in message 
news:1147236017.253739.107170@g10g2000cwb.googlegroups.com...
> Hello all,
<...see original post>
> Can anyone of you please tell me if anything is wrong in the above > steps? >
Hi Praveen - difficult to tell from your description what is wrong. One thing you can do is to cut out the transmission and reception part , just take your QPSK modulated sound file over to the other system and play it into your carrier recovery, demodulation and symbol synchronisation software as though you had received it. Hopefully this will get rid of the awkward envelope variations. Could you describe in a little more detail how you divide down your X4 recovered carrier and how you mix it with the received stream to downconvert to complex baseband? (If that's what you are doing). Some information on your symbol period compared with your sampling period would probably also be useful. Best of Luck - Mike
Hi Mike,

Thanks for the reply.  I am raising my signal to the power of four,
pass it throug a BPF of cut off 4fc, then through a divide by 4
counter, get the square wave, and then pass i through a BPF of cut off
fc to remove the high frequency components.  Similarly for the sine
wave, I pass it through a 2 bit adder instead of a counter.  After I
multiply my received signal with the carrier, I do not take it back to
complex baseband.  I then pass it to the symbol synchronizer.

My symbol synchronizer is as follows : I use early, ontime and late
gates, which are separated by delta samples.  I compare the output of
early and late gate and if one of them is more than the other, I
increase my step size accordingly for the next symbol.  My symbol sync
is going wrong...but since the coding looks logical, I am not able to
figure out the catch.

A strange thing I observed, my system works better if I dont used
symbol sync and carrier sync! If i used carrier sync, the BER is about
40% and if I don't use symbol sync or carrier sync, it is about 35%!!!!

Thanks,
Praveen

"Praveen" <praveen.gk@gmail.com> wrote in message 
news:1147277803.624266.174470@v46g2000cwv.googlegroups.com...
> Hi Mike, > > Thanks for the reply. I am raising my signal to the power of four, > pass it throug a BPF of cut off 4fc, then through a divide by 4 > counter, get the square wave, and then pass i through a BPF of cut off > fc to remove the high frequency components. Similarly for the sine > wave, I pass it through a 2 bit adder instead of a counter. After I > multiply my received signal with the carrier, I do not take it back to > complex baseband. I then pass it to the symbol synchronizer.
Hi Praveen, I still don't get what you are doing here, sorry. Is Fc your center frequency? ( i.e. the notional frequency of your carrier before you modulated it). is 4Fc the center frequency of the band-pass filter following your *4 multiplier? Is 'the sine wave' your modulated input signal and what does the two bit adder do? What does the cut-off frequency of a band-pass filter mean? <snipped as things are already weird enough so far thank you> Best of Luck - Mike
Praveen wrote:
> Hi Mike, > > Thanks for the reply. I am raising my signal to the power of four, > pass it throug a BPF of cut off 4fc, then through a divide by 4 > counter, get the square wave, and then pass i through a BPF of cut off > fc to remove the high frequency components. Similarly for the sine > wave, I pass it through a 2 bit adder instead of a counter. After I > multiply my received signal with the carrier, I do not take it back to > complex baseband. I then pass it to the symbol synchronizer. > > My symbol synchronizer is as follows : I use early, ontime and late > gates, which are separated by delta samples. I compare the output of > early and late gate and if one of them is more than the other, I > increase my step size accordingly for the next symbol. My symbol sync > is going wrong...but since the coding looks logical, I am not able to > figure out the catch. > > A strange thing I observed, my system works better if I dont used > symbol sync and carrier sync! If i used carrier sync, the BER is about > 40% and if I don't use symbol sync or carrier sync, it is about 35%!!!! > > Thanks, > Praveen
This sounds like it isn't close to working in either case. Here's another way to think about QPSK demodulation for your situation. First, generate four phases of a sinusoid at your nominal carrier frequency. Mix the input signal with all four phases and lowpass filter the four results to remove the sum terms. Next, multiply all four results together -- this is your phase detector. Apply the product to a lead-lag loop filter and feed the result back into the phase accumulator that was used to generate the four sinusoids. This feedback will steer your received symbols onto the I and Q axes. Your data can then be synchronized from the sine and cosine ouputs of the LPFs. John