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.

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