|
From: | stevie.glass |
Subject: | [Discuss-gnuradio] Demodulating APCO P25 signals |
Date: | Mon, 18 Feb 2008 13:03:20 +1000 |
User-agent: | Mozilla-Thunderbird 2.0.0.9 (X11/20080109) |
Hi, I'm trying to demodulate P25 signals using GNURadio. The specification says I should be able to use a single common DQPSK receiver to recover either the 4 level FM (C4FM) or the CQPSK signals - the difference being channel bandwidth (12.5KHz vs 6.25KHz) and that the DQPSK is also amplitude as well as phase modulated. For my first attempt I've used the GNURadio DQPSK block - here's what I've done:
The other thing that causes me to think its not right is that according the spec P25 uses a form of DQPSK where each successive symbol is shifted in phase from its predecessor by 45 degrees (pi/4 radians). Yet the spec also includes the following table which seems to shows a 90 shift between symbols. I am confused about the spec and unsure as to what the DQPSK block expects.
So, is this really a pi/4 encoding or pi/2? Is the DQPSK block suitable for demodulating P25? Am I using sensible values for the M&M clock recovery/channel filter? Are there any other obvious mistakes? On a related note, there's a demodulator for a very similar system (RD-LAP) described at http://radiorausch.googlepages.com. The author has much more signal processing chops than I (the described code doesn't use the DQPSK demod block but a custom one). Sadly, there's no code or contact email there. If anyone knows the author perhaps they'll point them to me so I can beg or borrow that code. Steve [1] original signal as capured by usrp_rx_cfile (2MB file) [2] FFT peak values of original sampled signal [3] complex baseband signal (2MB file) [4] FFT peak values for baseband signal [5] oscilloscope snapshot of part of the baseband signal [6] Demodulator program demod_file_p25.py (warning for svn trunk users: this code still uses gr.flow_graph!) |
[Prev in Thread] | Current Thread | [Next in Thread] |