discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] BBN 802.11 bbn_80211b_rx.py


From: yyzhuang
Subject: Re: [Discuss-gnuradio] BBN 802.11 bbn_80211b_rx.py
Date: Mon, 28 Jul 2008 16:03:16 -0700 (PDT)

Yes!

"The problem we are overcoming is the USB data rate bottleneck, which is
limited to 32 MBps. Although this bit rate is high enough for many
applications of gnuradio, for an 802.11b receiver it is not sufficient,
because of the signal's bandwidth. The RF bandwidth of an 802.11b signal is
11 MHz. The minimum possible sampling rate (due to the Nyquist sampling
criteria) is 22 Msamples/sec. Assuming a resolution of 8 bits for each I and
Q sample, we require 2*22M = 44 MBps through the USB, which is clearly over
the limit. Because of these limits, the current gnuradio receiver
implementation of 802.11b (credit to BBN) reduced the signal bandwidth to 4
MHz prior to sending it through the USB. Effectively, the sub-sampled signal
arrives at the PC with very low SNR. Typically, 802.11b packets transmitted
at the 1 Mbps rate can be received, but only at short range."

This is why the output of the script is all 1Mbps. 
If we modify the script a bit, can we tune gnuradio to an 802.11b channel
and pick up all available access points (and their 1 mbps comm with wireless
clients)? Do we have 802.11g implementation right now?
Thanks a lot for help 


Mohammad Hamed Firooz wrote:
> 
> 802.11b standard uses 11 chip barker code for spreading. It means each 
> bit is converted to 11 bits and for DBPSK and QBPSK modulation it leads 
> to a signal with 11MHz bandwidth. When you downsample data with 8 (-d 
> 8) it means you cut the frequency to 4Mhz (instead of 11MHz) and it 
> means you reduce your signal strength.
> 
> BBN transmitter code doesn't use barker spreading. They use raised 
> cosine and its spreading factor (or gain) is less than 11. So receiver 
> doesn't have to cut the frequency and it works fine.
> 
> Did I get your question right?
> 
> Quoting yyzhuang <address@hidden>:
> 
>>
>> But when I use one usrp for tx and another for rx, no need to specify "-d
>> 8".
>> Could you tell me why is this? Thanks
>>
>>
>> Mohammad Hamed Firooz wrote:
>>>
>>> 802.11b standard use barker spreading, So if you want to receive data
>>> from a standard 802.11b transmitter you have to use barker. For
>>> decimation it should be as high as possible because 802.11b receiver
>>> needs more more than 22M complex sample per sec to work correctly. But
>>> USB cannot handle that much bit-rate so we have to downsample it to
>>> 8McSps. This reduces SNR which reduces receiver performance and range
>>> of activity.
>>>
>>> regards,
>>> hamed
>>>
>>> Quoting yyzhuang <address@hidden>:
>>>
>>>>
>>>> Thanks.
>>>>
>>>> When I use "./bbn_80211b_rx.py -f 2.44G -v -b ", no packets get printed
>>>> out.
>>>> But the output of "./bbn_80211b_rx.py -f 2.462G -d 8 -b -v " is normal,
>>>> we
>>>> got a bunch of packets:
>>>>
>>>> Bits Per Encoded Sample = 8
>>>> adc frequency =  64000000
>>>> decimation frequency =  8
>>>> input_rate =  8000000
>>>> gain =  45.0
>>>> desired freq =  2462000000.0
>>>> baseband frequency 2460000000.0
>>>> dxc frequency -2000000.0
>>>> Samples per data bit =  8
>>>>>>> gr_fir_ccf: using SSE
>>>> PKT: len=77, rssi=-22, src=00:13:46:16:28:AA, time=557560, rate=1 Mbps
>>>> PKT: len=77, rssi=-29, src=00:13:46:16:28:AA, time=1786312, rate=1 Mbps
>>>> PKT: len=77, rssi=-26, src=00:13:46:16:28:AA, time=1991192, rate=1 Mbps
>>>> ...........
>>>>
>>>> I checked the code:
>>>>
>>>> parser.add_option("-d", "--decim", type="int", default=16,
>>>>                          help="set fgpa decimation rate to DECIM
>>>> [default=%default]")
>>>> parser.add_option("-b", "--barker", action="store_true",
>>>>                          default=False,
>>>>                          help="Use Barker Spreading
>>>> [default=%default]")
>>>>
>>>> -d 8 is setting the fpga decimation rate to 8, and -b means Use Barker
>>>> Spreading. How should we know what decimation rate and spreading to
>>>> use?
>>>> Thanks.
>>>>
>>>> BTW, if one ursp for tx and one for rx, we dont have to specify these
>>>> options:
>>>> on the sending side: ./bbn_80211b_rx.py -f 2.44G -v -b
>>>> Using TX d'board A: Flex 2400 Tx MIMO B
>>>>>>> gr_fir_ccf: using SSE
>>>> spb:       8
>>>> interp:   32
>>>> (spb = samples/baud, default 8; interp = fpga interpolation rate,
>>>> default
>>>> 32
>>>> )
>>>>
>>>> on the receiving side: ./bbn_80211b_tx.py -f 2.44G
>>>> Bits Per Encoded Sample = 8
>>>> adc frequency =  64000000
>>>> decimation frequency =  16
>>>> input_rate =  4000000
>>>> gain =  45.0
>>>> desired freq =  2440000000.0
>>>> baseband frequency 2436000000.0
>>>> dxc frequency -4000000.0
>>>> Samples per data bit =  8
>>>>>>> gr_fir_ccf: using SSE
>>>> PKT: len=1477, rssi=-10, src=20:61:6e:64:20:73, time=16024824, rate=1
>>>> Mbps
>>>> PKT: len=1477, rssi=-12, src=20:61:6e:64:20:73, time=16036920, rate=1
>>>> Mbps
>>>> PKT: len=1477, rssi=-11, src=20:61:6e:64:20:73, time=16049016, rate=1
>>>> Mbps
>>>> PKT: len=1477, rssi=-13, src=20:61:6e:64:20:73, time=16061112, rate=1
>>>> Mbps
>>>>
>>>> Thanks!
>>>>
>>>>
>>>> Brian Padalino wrote:
>>>>>
>>>>> On Mon, Jul 28, 2008 at 12:28 PM, yyzhuang <address@hidden> wrote:
>>>>>>
>>>>>> What does "combination of the LO in the front end and the digital
>>>>>> downconverter" mean please?
>>>>>
>>>>> For general radio architecture, please see:
>>>>>
>>>>>     http://en.wikipedia.org/wiki/Superheterodyne
>>>>>
>>>>> Generally, the LO/synthesizer has some discrete step size (12.5kHz,
>>>>> 250kHz, etc).  To get down to baseband, the resultant signal is then
>>>>> shifted in frequency down using the digital downconverter:
>>>>>
>>>>>     http://en.wikipedia.org/wiki/Digital_Down_Converter
>>>>>
>>>>> Brian
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Discuss-gnuradio mailing list
>>>>> address@hidden
>>>>> http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>>>>>
>>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://www.nabble.com/BBN-802.11-bbn_80211b_rx.py-tp18642793p18700741.html
>>>> Sent from the GnuRadio mailing list archive at Nabble.com.
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Discuss-gnuradio mailing list
>>>> address@hidden
>>>> http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>>>>
>>>
>>>
>>>
>>> ----- End forwarded message -----
>>>
>>>
>>> --
>>> Mohammad Hamed Firooz
>>> ECE Department, U of Utah
>>> Salt Lake City
>>> UT, 48112
>>>
>>>
>>> _______________________________________________
>>> Discuss-gnuradio mailing list
>>> address@hidden
>>> http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>>>
>>>
>>
>> --
>> View this message in context: 
>> http://www.nabble.com/BBN-802.11-bbn_80211b_rx.py-tp18642793p18701054.html
>> Sent from the GnuRadio mailing list archive at Nabble.com.
>>
>>
>>
>> _______________________________________________
>> Discuss-gnuradio mailing list
>> address@hidden
>> http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>>
> 
> 
> 
> -- 
> Mohammad Hamed Firooz
> ECE Department, U of Utah
> Salt Lake City
> UT, 48112
> 
> 
> _______________________________________________
> Discuss-gnuradio mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> 
> 

-- 
View this message in context: 
http://www.nabble.com/BBN-802.11-bbn_80211b_rx.py-tp18642793p18701676.html
Sent from the GnuRadio mailing list archive at Nabble.com.





reply via email to

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