discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] GNU Radio and USRP baseband demodulation/decoding


From: Ed Criscuolo
Subject: Re: [Discuss-gnuradio] GNU Radio and USRP baseband demodulation/decoding
Date: Fri, 06 Feb 2009 08:56:07 -0500
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.2) Gecko/20030208 Netscape/7.02

Einar Thorsrud wrote:
> Hi all,
>
> I am trying to use the USRP with the LFRX daughterboard to receive a
> baseband signal coming from an external RF-frontend (the signal is
> originally 2-PSK passband). I am a GNU Radio novice, and have some
> difficulties understanding how to synchronize to and decode the
> NRZI-coded baseband signal. I suppose ones the synchronization is done
> the actual decoding will be easy.
>
> I find it difficult to understand the process of synchronizing, what I
> would like to see is some kind of guide or feedback on how to pick
> exactly the correct number of samples for each symbol, enabling the
> decoding of the signal symbol for symbol.
>
> What would be the correct approach to solve this problem?


There are two different kinds synchronizing: bit level and packet
level.

For bit synchronizing, you'll want to use the clock recovery block
based on the M&M algorithm.  It will find the bits and resample
the data stream at the bit rate.  It requires a minimum of
2 samples per bit to work.  I've found that anywhere from 2-4
samples per bit works fine.

The output of the clock recovery block is still a stream of
"soft bits" that can take on any value between +1 and -1.  You
need to then put it thru a bitslicer to convert it to a stream
of 1's and 0's.

Once you have the actual binary bitstream, decoding NRZI is easy.
There's a custom block to do this provided in the "GMSK Spacecraft
Groundstation" project in CGRAN:

https://www.cgran.org/wiki/Projects

This project would be good for you to study, as it represents
a real-world application that does something very similar to
what you want, performing both bit and packet synchronization.

@(^.^)@  Ed





reply via email to

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