Decoding FSK modulated signal

Hey,

I’ve some home automation equipment here using the sub-ghz band that I
managed to capture with a RTL dongle. From the data sheet and the
register settings of the TI CC1100 transceiver chip that is used inside
the device I figured out the RF parameters used, i.e. 102kHz channel
bandwidth, 2-FSK modulation, 19.2k baudrate, syncbyte etc.

Attached is a screenshot of a GRC waveform I used to capture the
preamble of a single packet. Channel 2 is simply the output of a
quadrature demod block connected to a scope GUI block. I’d like to
decode that into a sequence of bits to run preamble detection etc.

I’ve seen a few OOT modules that do similar stuff but was wondering if
there is a GR’ish way to this, maybe a set of generic blocks that could
be used for that?

Thanks
Andre

[1] http://i61.tinypic.com/35mjm08.png

On Mon, Apr 14, 2014 at 01:25:48PM +0200, Andre P. wrote:

Attached is a screenshot of a GRC waveform I used to capture the
preamble of a single packet. Channel 2 is simply the output of a
quadrature demod block connected to a scope GUI block. I’d like to
decode that into a sequence of bits to run preamble detection etc.

I’ve seen a few OOT modules that do similar stuff but was wondering if
there is a GR’ish way to this, maybe a set of generic blocks that
could be used for that?

It looks like you are on the right track! For the next steps, I
recommend a low pass filter (with perhaps 20 kHz cut-off) followed by
M&M clock recovery and binary slicer. Check out the recent “ASK
demodulation help” thread for more details. Try setting the decimation
of the LPF to something that gives you 2 to 5 samples per symbol.

Your graph looks like the preamble is at about 1.92 kbps, not 19.2 kbps,
so I suspect that you have an error somewhere in your sample rate
configuration.

Mike

On 04/14/2014 05:40 PM, Michael O. wrote:

It looks like you are on the right track! For the next steps, I
recommend a low pass filter (with perhaps 20 kHz cut-off) followed by
M&M clock recovery and binary slicer. Check out the recent “ASK
demodulation help” thread for more details. Try setting the decimation
of the LPF to something that gives you 2 to 5 samples per symbol.

Hi Mike,

thanks! That’s exactly what I was looking for. I think I have to play
around with the synchronizer settings but the results are already quite
promising.

I’ll keep you updated.

Thanks again
Andre

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs