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.