[Top][All Lists]
[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