discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Discuss-gnuradio] TETRA demodulator advices


From: Timothée COCAULT
Subject: [Discuss-gnuradio] TETRA demodulator advices
Date: Fri, 27 Nov 2015 17:54:14 +0100

Hi,

I am writing a TETRA demodulator with GNU Radio Companion without any OOT block. 

My flowgraph works but as I don't have a signal processing background, I'm not really sure that my choice of the blocks and their parameters is the best for my purpose. 

The TETRA modulation uses PI/4 DQPSK with a bitrate of 36 kHz (symbol rate of 18 kHz), and a RRC filter.

For now, my decoder consists of :

* Freq Xlating FIR Filter : to center and low-pass the signal, and lower the sample rate to have about 2 SPS.
* Fractional resampler : to have exactly 2 SPS
* Feed Forward AGC : to normalize the amplitude to 1
* FLL Band Edge : to fine-tune the frequency
* Polyphase Clock Sync : to sample the symbols at the right timing
* Differential Phasor : to get the difference between two symbols
* Constellation decoder : to discretize the symbols
* Unpack K bits : to convert the symbols to bits.

The flowgraph and screenshots can be found at https://github.com/Tim---/tetra-toolkit/tree/master/grc .

Do you have any advice on how to improve this flowchart ?


Bonus questions :

* using the FLL band edge after the low-pass seems odd because, even if it can recover frequency offset, some of the bandwidth will be lost.
Should I use the error ouput of the FLL to change the freq used by the Freq XLating FIR FIlter ? If yes, is there an example of this somewhere ?

* at first I wanted to use the Constellation receiver, but from what I understand the constellations in gnuradio work by first discretizing the signal, then doing the diff.
This does not work with PI/4 DQPSK because you need to first diff the complex samples, then discretize.
Is there any way I could cheat to create a PI/4 DQPSK constellation in gnuradio ?


Thanks in advance,

Timothée.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]