discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] BBN's 802.11b code


From: Daniel Sumorok
Subject: Re: [Discuss-gnuradio] BBN's 802.11b code
Date: Thu, 26 Jun 2008 12:03:41 -0400

Hi Sri,
The time synchronization (i.e. bit timing) is done by the bbn.slicer_cc module. There is no real phase or frequency synchronization, because the demodulator uses a differential demodulation technique. I don't have any text book reference, but the time synchronization basically passes the channel filter though an energy detector and picks the sample offset with the highest average energy. As far as the mod/demod it is just differential phase shift keying, however it includes a "scrambler", which XORs the data with a pseudo-random sequence in order to avoid long series of modulated 1's or 0's. The code is complicated by the fact that all data (including the preamble) passes through the scrambler, and qpsk packets all start with some bpsk data, so the scrambler input needs to switch from bpsk to qpsk at a precise point in the packet bit stream. The bbn_dqpsk_demod_cb.cc function simultaneously demodulates dbpsk and dqpsk and generates two output streams. The differential demodulation is done using inner and outer products of the complex samples. (The current sample is projected onto the previous sample, and the current sample is projected onto a 90-degree rotated version of the previous sample.) A module higher up the chain feeds the scrambler with the appropriate demodulator output stream (bpsk, or qpsk), depending of the context of the packet being demodulated.

 -Dan

At 11:24 AM 6/26/2008, sri ram wrote:
Hello all,
I am trying to understand the BBN code for 802.11b. I must state upfront that I am not an expert in communication systems.

802.11b uses dBPSK and dQPSK modulations for its 1Mbps and 2Mbps rates. I explored how a dBPSK module looks like and I am able to make sense of the code in gnuradio-core/src/python/gnuradio/blks2impl/dbpsk.py. The receiver structure matches with what I have seen in communication textbooks.

However, the dBPSK demod receiver used in the BBN code (gr-bbn/src/bbn/bbn_dpsk_demod_cb.cc) seems different from the technique used in main gnuradio dbpsk module. This also does not include timing and carrier sync loops. Can someone explain what this code does and point me to any link/textbook which describes the demodulation technique? Is there some documentation for the BBN code and references to the text/paper for the mod/demod techniques used?

Thanks,
Sri
_______________________________________________
Discuss-gnuradio mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio





reply via email to

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