Monday, August 24, 2015

[Discuss-gnuradio] Capturing DMR (MOTOTRBO) data with gnuradio

Hello there,

I am trying to capture DMR/MOTOTRBO data packets (not voice) with gnuradio. I have found gr-dsd block that successfully decodes the signal in question. Only problem is that gr-dsd does not "unpack" the data packets, it only outputs voice audio (float).

All I get from gr-dsd (apart from voice) is output like this (in terminal):
....
[slot0]  slot1   Slot idle   
 slot0  [slot1]  CSBK        
[slot0]  slot1   Slot idle   
 slot0  [slot1]  CSBK        
[slot0]  slot1   Slot idle   
 slot0  [slot1]  RATE 1/2 DATA
[slot0]  slot1   Slot idle   
 slot0  [slot1]  CSBK        
[slot0]  slot1   Slot idle   
 slot0  [slot1]  RATE 1/2 DATA
...

The target system is Ubuntu 14.04LTS (if it makes any difference).
Another option is not to use gr-dsd, but plainly demodulate the signal with C4FM/4FSK (for which I am yet to find a stand alone demodulator that works with current gnuradio), and then cut out the data in "post".

I have looked at the gr-dsd source and it is way too complicated for my skill set to modify it to output data as byte stream.

I have tried to install gr-op25 (just so I can use 4FSK demod block), but it was way too "heavy" (way too many dependencies).
I failed to install gr-fsk4 (http://vk2lk.com/Wireless/Franks/GnuradioFourLevelFSK.html), it looks like it is incompatible with current gnuradio (it fails on missing gnuradio-core).

I suspect it is possible to come up with 4FSK demod with just using standard gnuradio blocks, my understanding of signal processing is very limited...

TL;DR: how can I extract the byte contents out of DMR data packets with gnuradio?


Thanks a lot!

Sergei.

No comments:

Post a Comment