How to synchronize RX with TX?

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.

I’m looking forward to your helpful advices.

On Thu, 2011-06-23 at 00:03 +0900, Songsong G. wrote:

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

On Wed, Jun 22, 2011 at 12:43 PM, Nick F. [email protected] wrote:

either TX or RX should start earlier than the other.
extensively researched. There are three types of synchronization which
To solve #2, real communication systems generally use a preamble, a

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 “Lets Assume the
System is Synchronized.”

Tom