My IQ sampler is measuring a QPSK carrier at a set frequency/bandwidth (40MSamp/s), but shifts the signal spectrum to baseband. My signal is 1.5Msym/s, but sampling at 1.5Msym/s gives me a constellation of a circle due to the phase difference between the carrier and the IQ sampler clock.

I still need to synchronize to the carrier, but I now have a 0Hz carrier? Do I try a costas loop with a 0Hz center VCO? So far I haven't had much luck. Any ideas? Thanks everyone.

  • 1
    $\begingroup$ It sounds like you haven't yet performed symbol timing synchronization. You need to do this: otherwise, your 1.5 MSPS signal won't line up with the proper sampling instants of the signal. This is separate from carrier phase synchronization, which is also important if you're making a coherent receiver. $\endgroup$
    – Jason R
    Sep 11, 2018 at 12:12
  • $\begingroup$ You could configure your equipment to shift the signal to a small intermediate frequenc (say, 3MHz) and then perform carrier synchronization there. $\endgroup$
    – MBaz
    Sep 11, 2018 at 12:51
  • $\begingroup$ I recommend doing the carrier recovery directly at baseband using the complex (I and Q) signal, after proper timing recovery as Jason has suggested. See this link for implementing timing recovery dsp.stackexchange.com/questions/51810/… and then this link for the carrier recovery implementation specific to QPSK (or QAM): dsp.stackexchange.com/questions/17297/… $\endgroup$ Sep 11, 2018 at 19:30

1 Answer 1


The following depicts a QPSK Carrier Recovery loop that works on the baseband I and Q samples following proper decisions from a Timing Recovery Loop. For more information on this implementation see

High modulation index PSK - carrier recovery

QPSK Carrier Recovery

And for more information on a Timing Recovery implementation that can precede this see:

Symbol timing synchronization using a high sampling rate

(Copying the links here since the question asked would not lead you easily to the prior titles)


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.