Hi,

Given an RRC filtered 4FSK signal (similar to ETSI DMR), the task was to
use the FM demodulator and perform soft symbol decoding with the
convolutional decoder in GNU radio, using only existing GNU radio blocks
and without writing a separate block for FSK symbol discrimination.

What I came up with was to use the FM demodulator combined with the phase
modulator to obtain 4 complex symbols which can then be converted to
floating point and interleaved for use with the convolutional decoder which
works with (-1, 1) symbols. The flowgraph I came up with can be seen here
(based on 3.7.13.4):
https://github.com/qradiolink/qradiolink/blob/next/gr/gr_demod_4fsk_sdr.cpp

I would be interested in criticism from experts here, flaws in the graph,
limitations, obvious mistakes, better ways to do it etc. So far, I haven't
figured out yet how to compensate in the flowgraph for small carrier
frequency misalignment between TX and RX. The flowgraph does work though
for the general case where there is no frequency difference between TX and
RX, tested with a PlutoSDR.

Thanks,
Adrian

Reply via email to