Re: how to use the gr_mpsk_receiver_cc

Did anyone use it to receive pi/4 DQPSK signal before?

In the op25-dev project http://sedition.org.au/op25/ we see a
very common variant of PI/4 DQPSK, so-called CQPSK/LSM.

Experimentation has shown that the gr_mpsk_receiver_cc() is not
optimal for CQPSK. There seem to be multiple causes, e.g.,:

  1. PI/4 (D)QPSK apparently looks enough like 8-PSK that the standard
    GR QPSK phase detector has difficulty achieving phase lock. There’s
    a hack to rotate the second of every two symbols by 45 degress which
    seems to give a large improvement [see Fig 10. of my LSM page
    at http://www.lightlink.com/mhp/lsm/ ]

  2. At least for the specific case of LSM/CQPSK, it was found that a
    Gardner symbol timing loop was superior to the M&M loop (and to the
    GR PFB clock sync block) as used in the GR receivers.

The op25 site has example code for using both the gr_mpsk_receiver_cc
as well as a complete working example using Gardner’s method, including
the PI/4 hack mentioned above.

Finally, you should also take a look at the new “magic” PFB receiver
(dqpsk2.py in GR) for your application…

Max

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs