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
Hi all,
i have an USRP1 with DRX and RFX900 daughterboard and wanted to play a
bit with the basic tetra decoder.
Which kind of daughterboard has been successfully tested with the
current osmocom tetra?
Fabio
When i interpret para 4 of ETSI TS 100 392-15 it looks like the channels
are spaced at 25Khz.
The default low_pass used in all of the demods is 25Khz.
But when i look in the FFT of the complex signal, the 25Khz specified in
the cutoff_freq of firdes.low_pass causes a passband of twice the width.
Isn't this way to much? Shouldnt the cutoff_freq be 12.5Khz, giving a
passband of 25Khz? (Or is there an intentional spectral overlap between
adjacent channels?)
If this is the cause, should we just change the parameter to filterwidth
or channelspacing and use a /2 in the cutoff parm?
Gr. Sim
I've identified 4 carriers in the 400Mhz band, with a clear 4 state
constellation. Is there an easy way to verify it is indeed tetra? I'm
using grc.
Gr. Sim