PI/4 DQPSK

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/tetra@lists.osmocom.org/.

ikjtel ikj1234i at yahoo.com
Tue Mar 22 15:13:05 UTC 2011


Thanks for including my "cqpsk.py" decoder module in your distribution.

That looks to be a very old version and there have been some further
discoveries since that time which I wanted to pass along, FWIW...

First, the Costas frequency lock loop in GR seems to work much better
for PI/4 DQPSK signals if it's patched in phase_error_tracking() :

#if ENABLE_COSTAS_CQPSK_HACK
  if (d_interp_counter & 1)    // every other symbol
    sample = sample * PT_45;    // rotate by +45 deg
  d_interp_counter++;
#endif /* ENABLE_COSTAS_CQPSK_HACK */

The effect of adding this hack to the code can be seen in Fig. 10 at
my page http://www.lightlink.com/mhp/lsm/
With the patch included, the time to achieve lock is much improved...

Second, I've found that a Gardner symbol timing loop works much better
in our application than the M&M loop used in GR gr_mpsk_receiver().

Both of these improvements are included in a new GR block which has
been optimized for the particular flavor of "PI/4 CQPSK" (LSM).  It's in our svn repo - see

http://sedition.org.au/op25/wiki/BuildInstructionsPage

Look for the block in the repeater/src/lib tree - see
repeater_gardner_costas_cc.cc

YMMV ;-)

[update: Tues. morning] two more things...

1. There is also a new Polyphase Filter Bank receiver which has been added in the latest versions of GNU Radio.  It would be interesting to test and compare the performance of that receiver with the current one...

2. Would it be possible to post complex sample files (preferably not encrypted) to permit evaluation of this signal type?

Best Regards

73 de KA1RBI

Max


      




More information about the tetra mailing list