discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] How to synchronize RX with TX?


From: Tom Rondeau
Subject: Re: [Discuss-gnuradio] How to synchronize RX with TX?
Date: Wed, 22 Jun 2011 19:45:58 -0400

On Wed, Jun 22, 2011 at 12:43 PM, Nick Foster <address@hidden> wrote:
On Thu, 2011-06-23 at 00:03 +0900, Songsong Gee wrote:
> Hi,
>
>
> I'm trying to calculate BER for my communication system (just FSK and
> other simple schemes)
>
>
> I use two PCs and two USPRs for a TX and a RX.
> Altough I managed to run flow graphs for TX and RX simultaneously,
> either TX or RX should start earlier than the other.
>
>
> It results that RX USRP receives undesired signal if RX turns on
> earlier,
> and RX USRP cannot receive what TX sent if RX turns on later.
>
>
> Thus, I have a difficulty on making synchronization.

Synchronization is a classic problem in communications and has been
extensively researched. There are three types of synchronization which
will be necessary in any practical system:

1. Frequency synchronization
2. Packet synchronization
3. Clock recovery

To solve #1, you can use a PLL or Costas loop, pilot tones, or a
frequency estimator of your choice to remove the unavoidable carrier
frequency offset caused by using separate oscillators on TX and RX.

To solve #2, real communication systems generally use a preamble, a
predefined data sequence at the start of each transmission, which the
receiver can use to find the start of each transmission and to obtain a
channel estimate. If your transmission is continuous in nature, you
won't need to do this part.

To solve #3, Gnuradio includes two blocks designed to recover clocked
data from a demodulated signal: the M&M clock recovery block, and the
polyphase filterbank clock recovery block. Both are closed-loop
algorithms which attempt to recover clock-aligned data at the original
clock rate.

So unfortunately, the answer isn't really "it's easy, just do this". Any
communications textbook will include a treatment of the synchronization
problem on all three levels. Gnuradio does include a DPSK modulator and
demodulator which includes these steps; you might check out the source
code for that block to see how it's done. You can see an example
implementation in GRC in the
gnuradio-examples/grc/simple/dpsk_loopback.grc

--n


As Nick said, this is a classic problem in communications, and he gives a good overview of it here. My only problem with what he said is that "any communications textbook will include a treatment..." In my experience, if they mention the problem at all, they ignore any in-depth discussion. And if they do, it's usually a simple explanation of a phase locked loop, which is great if you have a carrier. This is a subject that I think is seriously underrepresented in communications courses at school.

A good treatment of the subject is fred harris' paper "Let’s Assume the System is Synchronized."

Tom




reply via email to

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