On Wed, Jun 22, 2011 at 12:43 PM, Nick Foster <n...@ettus.com> 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
_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio