discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] FSK demodulation questions


From: Andy Walls
Subject: Re: [Discuss-gnuradio] FSK demodulation questions
Date: Tue, 18 Oct 2016 15:39:28 -0400

>                              From: 
> Ellis, Duane
> 
> 
>                              Date: 
> Tue, 18 Oct 2016 18:57:33 +0000
> 
> ______________________________________________________________________
> Hi,
> 
> I've been working towards an FSK demodulator scheme using GNU radio (more 
> specifically, the signals are GFSK)
> I've read through this example: 
> https://nccgroup.github.io/RFTM/fsk_receiver.html
> 
> Specifically it talks about the "add_const" block, the value of which was 
> determined by trial and error for the specific data set in use.
> 
> This "constant" is actually the frequency error value
> 
> Here, in this slide deck (slide 2)
>         http://www.qsl.net/kb9mwr/projects/dv/apco25/GnuradioFourLevelFSK.pdf
> 
> They show a frequency correction feed back loop from the FSK4 demodulator to 
> the front end, but uses a custom module.
> 
> I'm looking for a simpler way to do this using "stock components" that are 
> already in Gnu Radio.
> 
> I can of course - make this work for one specific transmitter, and one 
> specific 
> receiver. This solution does not work well when I have 50 different 
> transmitters, I need a solution that can adjust dynamically.
> 
> Any suggestions for stock components? Or another example?

So, if you want a "near" stock, open loop, coarse frequency estimation
and correction for GMSK (GFSK with h=1/2), then have a loog at gr-ais'
square_and_fft_sync_cc block, along with its freqest block:

https://github.com/bistromath/gr-ais/blob/master/python/gmsk_sync.py
https://github.com/bistromath/gr-ais/blob/master/lib/freqest_impl.cc

It works because the spectrum of a GMSK signal has two spectral peaks
spaced equidistant from the center frequency.

It works best with continuous, fairly evenly distributed, between mark
and space, data.  It can get fooled at the start or end of a burst, or
during a long run of mark or space.

-Andy

> Thanks.





reply via email to

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