GMSK decoder implementation

Digital Signal Processing using computers.

GMSK decoder implementation

Postby Olivier Fauchon » Mon Dec 26, 2005 5:15 pm

Hi,

I start a new project which consist of decoding AIS messages recoded
from radio equiment. Those messages are GMSK encoded.

Here is an example:
http://olivier.fauchon.free.fr/2ais_msg.wav

- What cool algorythm would you advice for decoding GMSK radio signals.

- Could someone send me implementations in C (or other language) ?

- Do you know some interesting article concerning GMSK decoding
techniques ?


Any explainations welcome.

Thank you !

--
Olivier Fauchon
Olivier Fauchon
 

Re: GMSK decoder implementation

Postby Vladimir Vassilevsky » Mon Dec 26, 2005 5:15 pm

Olivier Fauchon wrote:


I start a new project which consist of decoding AIS messages recoded
from radio equiment. Those messages are GMSK encoded.

Here is an example:
http://olivier.fauchon.free.fr/2ais_msg.wav

- What cool algorythm would you advice for decoding GMSK radio signals.

For BT > 0.3, discriminator + decision feedback will work just fine.

- Could someone send me implementations in C (or other language) ?

Yes. $1000.

- Do you know some interesting article concerning GMSK decoding
techniques ?

Sklar, Proakis or any other abc-book on digital communication.



Vladimir Vassilevsky

DSP and Mixed Signal Design Consultant

http://www.abvolt.com
Vladimir Vassilevsky
 

Re: GMSK decoder implementation

Postby Olivier Fauchon » Tue Dec 27, 2005 5:15 pm

Hi,

Thank you for all those interesting answers, a nice starting point for me.

I just found that project:

http://www.gnu.org/software/gnuradio/gnuradio.html

..... which seems to contains a gsmk decoder.

Thanks

--
Olivier Fauchon
Olivier Fauchon
 

Re: GMSK decoder implementation

Postby Vladimir Vassilevsky » Tue Dec 27, 2005 5:15 pm

john wrote:


AIS uses BT as low as 0.3, which puts you right at the limit of what a
simple implementation can handle. As you will find in your reading, as
BT drops lower the amount of intersymbol interference (ISI) increases.
At 0.3 you will have to do something about ISI to get decent
performance. The options include a decision feedback equalizer (DFE),
which can be quite simple, or a Maximum Likelihood Sequence Estimator
(MLSE), more complicated but powerful. Both of these techniques can sit
behind an FM discriminator followed by an Integrate and Dump (boxcar)
filter.

For the AWGN channel, GMSK BT > 0.3 and BER < 1e-2 the tradeoff of the
simple discriminator followed by 1-st order DFE versus the MLSE is only
about 1dB. If BT > 0.5 then the DFE can be omitted also. There is no
doubt the MLSE works better especially for fading channels and coded
transmission however the simple and cheap approach is widely used in the
GMSK applications.



Vladimir Vassilevsky

DSP and Mixed Signal Design Consultant

http://www.abvolt.com
Vladimir Vassilevsky
 

Re: GMSK decoder implementation

Postby john » Tue Dec 27, 2005 5:15 pm

Vladimir Vassilevsky wrote:
Olivier Fauchon wrote:


I start a new project which consist of decoding AIS messages recoded
from radio equiment. Those messages are GMSK encoded.

Here is an example:
http://olivier.fauchon.free.fr/2ais_msg.wav

- What cool algorythm would you advice for decoding GMSK radio signals.

For BT > 0.3, discriminator + decision feedback will work just fine.


- Could someone send me implementations in C (or other language) ?

Yes. $1000.

- Do you know some interesting article concerning GMSK decoding
techniques ?

Sklar, Proakis or any other abc-book on digital communication.


AIS uses BT as low as 0.3, which puts you right at the limit of what a
simple implementation can handle. As you will find in your reading, as
BT drops lower the amount of intersymbol interference (ISI) increases.
At 0.3 you will have to do something about ISI to get decent
performance. The options include a decision feedback equalizer (DFE),
which can be quite simple, or a Maximum Likelihood Sequence Estimator
(MLSE), more complicated but powerful. Both of these techniques can sit
behind an FM discriminator followed by an Integrate and Dump (boxcar)
filter.

There is a good article on MLSE by Bernard Sklar in the IEEE Comms
magazine. It is called "How I Learned to Love the Trellis." You will
need a Viterbi decoder with soft decision inputs and soft states
representing the levels that you see in the eye pattern.

I doubt that anyone will be sending you free C code for this. These
things typically cost a lot of money to develop and test.

John
john
 


Return to DSP

Who is online

Users browsing this forum: No registered users and 0 guests

cron