I am currently trying to recover the I&Q of a O-QPSK signal generate from the standard XBEE arduino module using a B200. I can get somehow get a "look-like" of a constellation. Here an screenshoot: OQPSK - constellation

I highlight the zone where there is a symbol recover. When I run the acquisition I can see symbol at the places. Here we just see one because there is a limited number of points displayed. However what is the rest? I got a SPS (sample per symbol) of 2. A part of the rest is certainly the transistion, but I am quite sure there is phase noise also. How can I attenuate those points. My flowgraph is just a UHD source feed into the polyphase clock source which is sent to a costa loop and after that there is my QT constellation sink.

[EDIT] A other picture with less points on it: enter image description here

  • 1
    $\begingroup$ could you add a picture of your actual flow graph, too? What does the constellation look like before the PFB clock sync? $\endgroup$ Commented May 21, 2016 at 19:06
  • 1
    $\begingroup$ @MarcusMüller I checked the direct input, it seem that my USRP's gain was too high because there was saturation on that constellation. I will investigate furthermore. I am starting to have a decent signal. $\endgroup$
    – MathieuL
    Commented May 23, 2016 at 13:48
  • $\begingroup$ that's great to hear! I think it would be cool if you could update your question over the next few days :) I'm looking forward to hearing how well the PFB clock sync works on O-PSK $\endgroup$ Commented May 23, 2016 at 14:26
  • $\begingroup$ @MarcusMüller You seem to use GNU-Radio, or to have knownledge about the API. Could you tell me the meaning of sample per symbol in the case of the PFB clock sync. Tutorial on PSK say that the sps is use to match the hardware sampling rate to the symbol/rate, but I don't get the meaning of that because the tutorial is limited to a simulation. $\endgroup$
    – MathieuL
    Commented May 23, 2016 at 18:29
  • $\begingroup$ It means exactly that: How long, in samples, is a single symbol? $\endgroup$ Commented May 24, 2016 at 13:25

1 Answer 1


The phase recovery was finaly perform in Matlab. Because the signal we are studying (Zigbee) send a preamble before the communication start, we can compensate for the group delay and the channel's distortion with a anti-causal analysis of the expected signal and the received signal.

The GNU-Radio's blocks weren't efficient at recovering O-QPSK's signal. However with fact that we don't real time treatment of the signal, Matlab was finaly most suitable way to resolve the O-QPSK demodulation of the Zigbee signal.


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.