DSPRelated.com
Forums

Oqpsk Demodulator

Started by Eshwar varma May 16, 2015
Hi all ,
      I implement qpsk demodulator on National instruments Fpga . Now i want to Demodulate  Oqpsk signal . As the difference between qpsk and oqpsk is  only the delay of one bit period in q channel.
 
Q1. Can a qpsk demodulator with some changes  demodulate oqpsk data ?

Q2. If it works , what changes  i should  make ?
           flow of qpsk demodulater what i made..
               1. frequency shifter (input from step 4)
               2. Matched filter
               3. AGC
               4.  coarse frequency offset estimator (Rife and broostyn algorithm).
               5. Timing recovery (Gardener)
               6. DDPLL
               7. symbol demapping
        
      what are the stages to be modified?

Q3. suggest me some papers ?  


Thanks in advance...
On 16.05.2015 9:04, Eshwar varma wrote:
> Hi all , > I implement qpsk demodulator on National instruments Fpga . Now i want to Demodulate Oqpsk signal . As the difference between qpsk and oqpsk is only the delay of one bit period in q channel. > > Q1. Can a qpsk demodulator with some changes demodulate oqpsk data ? > > Q2. If it works , what changes i should make ? > flow of qpsk demodulater what i made.. > 1. frequency shifter (input from step 4) > 2. Matched filter > 3. AGC > 4. coarse frequency offset estimator (Rife and broostyn algorithm). > 5. Timing recovery (Gardener) > 6. DDPLL > 7. symbol demapping > > what are the stages to be modified? > > Q3. suggest me some papers ? > > > Thanks in advance... >
Hi, Eshwar. Until an engineer with hands-on experience of building these systems hopefully appears in this thread, I suggest you to try to become the local OQPSK expert in few quick and easy steps: (1) Open the books "Synchronization Techniques for Digital Receivers" by Mengali and D'Andrea and "Digital Communications: A Discrete Time Approach" by Rice. (2) Browse the contents of the books, and carefully study every part whose title mentions either "OQPSK", "offset formats" or "offset QPSK". You would be surprised with how effective that would be! (3) While reading, note any references to articles which sound interesting. After you are done with the books, browse any articles you like. Best regards, Evgeny.
On Fri, 15 May 2015 23:04:06 -0700 (PDT), Eshwar varma
<eshwar93.india@gmail.com> wrote:

>Hi all , > I implement qpsk demodulator on National instruments Fpga . Now i want to Demodulate Oqpsk signal . As the difference between qpsk and oqpsk is only the delay of one bit period in q channel.
Just to clarify, the delay between the I and Q channels is one-half symbol period for OQPSK..
>Q1. Can a qpsk demodulator with some changes demodulate oqpsk data ?
Yes.
>Q2. If it works , what changes i should make ? > flow of qpsk demodulater what i made.. > 1. frequency shifter (input from step 4) > 2. Matched filter > 3. AGC > 4. coarse frequency offset estimator (Rife and broostyn algorithm). > 5. Timing recovery (Gardener) > 6. DDPLL > 7. symbol demapping > > what are the stages to be modified?
The main thing that gets weird with OQPSK is that the timing and phase synchronization are no longer independent. If the carrier phase isn't correct, the timing loop cannot lock, and this is different from a QPSK system. For QPSK the usual acquisition sequence for a continuous signal is for the timing loop to lock, since it can lock regardless of carrier phase, and once timing is locked the carrier loop can then lock the phase since it has proper symbol timing. In an OQPSK system if the phase rotates ninety degrees the timing loop wants to shift a half-symbol. So if there is a carrier frequency offset and the constellation is rotating quickly, the timing loop essentially cannot lock. There is also an additional ambiguity in that which two symbol halves go together switches, so that whatever phase ambiguity the demodulator eventually locks on to, you may also have to eventually sort out which bits from I go with which bits from Q, since they are no longer aligned. Once locked, however, an OQPSK demodulator is essentially a QPSK demodulator that shifts one channel a half-symbol somewhere before the slicer. The only real trick is how to get it into a locked condition, and there are many ways to do that. The simple way, if you have a lot of time, is to sweep the frequency very slowly. When the frequency offset is low the demod can lock when the phase lands on a happy place for the timing and phase loops to lock. If you have a system with a preamble or acquisition sequence, then things may get much easier since the acquisition and ambiguitiy problems can be solved by processing the preamble. After that the demodulator is just a QPSK demodulator with the appropriate half-symbol channel shift.
>Q3. suggest me some papers ? > > >Thanks in advance...
Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com
HI all ,
   
      For Oqpsk my plan is if i can do timing recovery (Carrier Phase insensitive). then i can simply delay Q channel by 1/2 symbol duration than i want to use Decision directed Pll to remove phase and fine and frequency offsets. 

      For Qpsk i used Gardener TED algorithm .I read some literature on it they said even if we apply a signal which is delayed by 1/tb in q channel it will introduce timing jitter if there is any phase offset in carrier frequency (so, IT IS PHASE SENSITIVE).

      so in my plan as i want to use timing sync before Fine frequency sync .I should not use Gardener TED algorithm . so i searched google and i found a algorithm which is carrier phase insensitive SQUARING AND DIFFERENTIATING BASED TED . 

  LINK :http://www.4shared.com/office/HBCbR8a2ce/Timing_Error_Detector_for_OQPS.html

    With this type of TED can i use NCO and parabolic interpolater to correct IT ???

thanks in advance....
On 24.06.2015 7:42, Eshwar varma wrote:
> HI all , > > For Oqpsk my plan is if i can do timing recovery (Carrier Phase insensitive). then i can simply delay Q channel by 1/2 symbol duration than i want to use Decision directed Pll to remove phase and fine and frequency offsets. > > For Qpsk i used Gardener TED algorithm .I read some literature on it they said even if we apply a signal which is delayed by 1/tb in q channel it will introduce timing jitter if there is any phase offset in carrier frequency (so, IT IS PHASE SENSITIVE). > > so in my plan as i want to use timing sync before Fine frequency sync .I should not use Gardener TED algorithm . so i searched google and i found a algorithm which is carrier phase insensitive SQUARING AND DIFFERENTIATING BASED TED . > > LINK :http://www.4shared.com/office/HBCbR8a2ce/Timing_Error_Detector_for_OQPS.html > > With this type of TED can i use NCO and parabolic interpolater to correct IT ??? > > thanks in advance.... >
Hi Eshwar, Yes, you can. NCO and interpolator perform the function of a resampler (i.e., changing the input sample rate to whatever output sample rate you need, like 4 samples per symbol). The resampler utilizes timing error information produced by the TED, but in other respect it works independently from the TED. So, yes. Moreover, there are other options to build a resampler, like using multirate signal processing (see 2001 Harris "Multirate Digital Filters for Symbol Timing Synchronization in Software Defined Radios"). For some reason I don't understand, at comp.dsp a multirate resampler is considered the mainstream option. Evgeny.
>On 24.06.2015 7:42, Eshwar varma wrote:
> For Oqpsk my plan is if i can do timing recovery (Carrier Phase > insensitive). then i can simply delay Q channel by 1/2 symbol duration > than i want to use Decision directed Pll to remove phase and fine and > frequency offsets.
One thing to consider is that OQPSK is often (perhaps always) code-speak for FSK (with appropriate parameters). So if you are doing a literature search for timing recovery methods, you may wish to look at those used for FSK, as well as those used for QPSK.
> so i searched google and i found a algorithm which is carrier phase > insensitive SQUARING AND DIFFERENTIATING BASED TED .
Squaring followed by filtering is very popular. (Perhaps bandpass filtering is more common than differentiation.) Good luck. Steve
Does the squaring and differentiating TED algorithm work in feedback loop and with nco and interpolater used for correction?

 In every paper i read they all used it in feed forward mode .