Re: [Discuss-gnuradio] RFX 900 200mW

2008-07-29 Thread Matt Ettus

Vincenzo Pellegrini wrote:


Hi everybody,
just a simple question:
does the RFX900 provide 200mW just out of the box? Do I have to take 
care of something in particular in order to obtain them?


Actually, what are the appropriate gain values that I should pass to 
subdev.set_gain() n order to maximize correctly the output power?


Sorry for bthering the list with such questions but I was unable to 
have them answered in the RFX900 section of the wiki.. maybe I'll add 
them myself once I'll have fully understood the issue..



That is a saturated power level.  For any linear signal you will need to 
back off a bit.  In any case, you control the output power by 
controlling the amplitude of the signal you send to the USRP.  +/-32767 
will be the max power but will result in RF clipping.  You will need to 
find the max power you can get with your particular signal and still 
maintain enough linearity.  If you need a dB or 2 more, you can bypass 
the ISM band filter with a cap of about 100pF and then cut the traces to 
the filter.


Matt



___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] New Book on GNU Radio

2008-07-29 Thread Rakesh Peter
Just came across this while surfing around...

http://www.mhprofessional.com/product.php?isbn=0071498834
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


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

2008-07-29 Thread Clark Pope



> "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 not true. Remember when you have complex samples the sample rate IS the 
bandwidth. So 802.11b can be covered with 11 Msps 8-bit I and Q or 22 MByte/s. 
So in 8-bit mode the 16 Msps standard USRP configuration can capture the signal.

I had done this previously though I modified my oscillator to be 44 MHz instead 
of 64 MHz because (a) the 4x symbol rate interpolation was easier and (b) to 
ease the datarate over the USB. I was able to demodulate all the 802.11b modes 
including the 11 mbps packets. 

-Clark
_
Stay in touch when you're away with Windows Live Messenger.
http://www.windowslive.com/messenger/overview.html?ocid=TXT_TAGLM_WL_messenger2_072008

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Flipping problem

2008-07-29 Thread isaacgerg

If this is true, why is it that the residual carrier is reported as zero? 
Are you suggesting that this value is not correct?

Isaac



Matt Ettus wrote:
> 
> isaacgerg wrote:
>> I am sending a known sequence of samples from one USRP to another using
>> the
>> Basix RX/TX d'boards setting the frequency to 24e6.
>>
>> When I rx the sequence, the correlation of it keeps flipping, but not in
>> a
>> way that suggests residual carrier.  It seems as if I am experiencing an
>> instantaneous flip.
>>
>> My gain on both the RX and TX is set to 500. The signal amplitude I rx is
>> ~1200. When I run the GRC model, the Rx says I have no residual carrier,
>> invert is set to false, the dxc frequency is set to -24e6 and the
>> baseband
>> to zero.  On the TX side, I have these same values with the exception of
>> the
>> dxc freq, it is not set to 24e6. Why the flip??   What do all these
>> things
>> mean???
>>
>> Is 24e6 a bad freq to use with the basic TX/Rx?
>>
>> Thanks in advance!
>>   
> 
> I believe what you are seeing here is that the two USRPs are on two 
> different frequencies.  This is not a fault of the USRP.  No two 
> oscillators will be on exactly the same frequency, and so in any 
> practical receiver you must synchronize. 
> 
> Matt
> 
> 
> ___
> Discuss-gnuradio mailing list
> Discuss-gnuradio@gnu.org
> http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Flipping-problem-tp18614309p18711285.html
Sent from the GnuRadio mailing list archive at Nabble.com.



___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Flipping problem

2008-07-29 Thread Brian Padalino
On Tue, Jul 29, 2008 at 8:42 AM, isaacgerg <[EMAIL PROTECTED]> wrote:
>
> If this is true, why is it that the residual carrier is reported as zero?
> Are you suggesting that this value is not correct?

I think all Matt is saying is that the two receivers are working off
of different local oscillators which cause a frequency offset causing
your correlation phasor to spin around.

Chances are if you plot phase of the correlation over time along with
the magnitude over time, you will see the magnitude doesn't get
smaller and the phase should smoothly rotate around at the rate which
your frequencies are off.

Does that make sense?

Brian


___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Flipping problem

2008-07-29 Thread Johnathan Corgan
On Tue, Jul 29, 2008 at 5:42 AM, isaacgerg <[EMAIL PROTECTED]> wrote:

> If this is true, why is it that the residual carrier is reported as zero?
> Are you suggesting that this value is not correct?

What GRC is reporting as "residual carrier" is not what you seem to
think it is.  It refers to how close the software was able to tune the
USRP to your requested frequency.  Usually this is in the millihertz
range, or zero, which is what you are seeing.

However, the tuning calculation assumes the USRP clock is exactly 64
MHz, which it never is.  Each USRP clock will be slightly different in
frequency, depending on manufacturing tolerances, temperature, age,
and other factors.  That is why it is rated at 20 ppm (parts per
million), which means the actual frequency can be anywhere from -20
ppm to +20 ppm away from 64 MHz, or +-1280 Hz.  At 24 MHz center
frequency, the USRP/BasicRX can actually be tuned to +-480 Hz around
that frequency.  And it's not even fixed; it will still drift within
this range, primarily due to thermal transients.  This difference from
exactly 24 MHz is *not* what the "residual carrier" term is reporting,
and there is no way for the software to "know" what this offset is.

So even if two USRPs are tuned to what they each think is 24 MHz, and
their tune functions report a "residual carrier" of 0, one will be
receiving at a slightly different frequency that the other is
transmitting, perhaps even a a kilohertz away (2*480 Hz).  As many
have mentioned, this will cause your received data to rotate in phase
at the difference in frequency, resulting in "flipped bits".  (The
effect is dependent on which type of modulation you are using,
however.)

Thus, your USRP is working, and 24 MHz is an okay frequency to tune
the BasicRx.   You just haven't implemented any receiver
synchronization in your software.

-- 
Johnathan Corgan
Corgan Enterprises LLC
http://corganenterprises.com/


___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Basic RX. - usrp_wfm_rcv.py

2008-07-29 Thread rita pfc
Hello,
I've started again from the begining. I have installed Ubuntu 7.1, not in a
virtual machine. In a Pentium IV, 3 GHz, with 2 GBytes of RAM. I have done
all this steps - http://gnuradio.org/trac/wiki/DebianPackages - . I run the
dial_tone.py and it sounds ok, so I suppose that GNU Radio is installed ok.
Then I run " ./usrp_wfm_rcv_nogui.py -f 40M -O plughw:0,0" and it's sounds
with noise, but I think this is because of the antenna. When I try to  run
"./usrp_wfm_rcv.py -f 102.4M -O plughw:0,0" I get this:
*Traceback (most recent call last):
  File "./usrp_wfm_rcv.py", line 290, in 
app = stdgui2.stdapp (wfm_rx_block, "USRP WFM RX")
  File "/usr/lib/python2.5/site-packages/gnuradio/wxgui/stdgui2.py", line
36, in __init__
wx.App.__init__ (self, redirect=False)
  File "/usr/lib/python2.5/site-packages/wx-2.6-gtk2-unicode/wx/_core.py",
line 7700, in __init__
self._BootstrapApp()
  File "/usr/lib/python2.5/site-packages/wx-2.6-gtk2-unicode/wx/_core.py",
line 7352, in _BootstrapApp
return _core_.PyApp__BootstrapApp(*args, **kwargs)
SystemError: wxEntryStart failed, unable to initialize wxWidgets!  (Is
DISPLAY set properly?)
Fallo de segmentación (core dumped)

*I have been reading other forums, but I don't know how to solve it. I know
that it's something wxWidgets, but ...
Thanks
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Basic RX. - usrp_wfm_rcv.py

2008-07-29 Thread Brian Padalino
On Tue, Jul 29, 2008 at 11:01 AM, rita pfc
<[EMAIL PROTECTED]> wrote:
> Hello,
> I've started again from the begining. I have installed Ubuntu 7.1, not in a
> virtual machine. In a Pentium IV, 3 GHz, with 2 GBytes of RAM. I have done
> all this steps - http://gnuradio.org/trac/wiki/DebianPackages - . I run the
> dial_tone.py and it sounds ok, so I suppose that GNU Radio is installed ok.
> Then I run " ./usrp_wfm_rcv_nogui.py -f 40M -O plughw:0,0" and it's sounds
> with noise, but I think this is because of the antenna. When I try to  run
> "./usrp_wfm_rcv.py -f 102.4M -O plughw:0,0" I get this:
> Traceback (most recent call last):
>   File "./usrp_wfm_rcv.py", line 290, in 
> app = stdgui2.stdapp (wfm_rx_block, "USRP WFM RX")
>   File "/usr/lib/python2.5/site-packages/gnuradio/wxgui/stdgui2.py", line
> 36, in __init__
> wx.App.__init__ (self, redirect=False)
>   File "/usr/lib/python2.5/site-packages/wx-2.6-gtk2-unicode/wx/_core.py",
> line 7700, in __init__
> self._BootstrapApp()
>   File "/usr/lib/python2.5/site-packages/wx-2.6-gtk2-unicode/wx/_core.py",
> line 7352, in _BootstrapApp
> return _core_.PyApp__BootstrapApp(*args, **kwargs)
> SystemError: wxEntryStart failed, unable to initialize wxWidgets!  (Is
> DISPLAY set properly?)
> Fallo de segmentación (core dumped)

I hate to just repeat the error, but is DISPLAY set properly?

You can check this by typing echo $DISPLAY.  If you don't see
something like localhost:0.0, then I don't think it is set properly.

It appears as if the software is unable to find your X-server.  Are
you running X locally?  Can you run other X programs from the same
terminal?

Brian


___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


RE: [Discuss-gnuradio] Flipping problem

2008-07-29 Thread Bob McGwier
I agree with this analysis unless Isaac tells us he has a carrier and baud
synchronizer in his system.  If he is looking at raw output from the USRP,
indeed the two oscillators (as they would in any real system) shift
frequency over time and drift in and out of any phase relationship.

Bob


ARRL SDR Working Group Chair
Member: ARRL, AMSAT, AMSAT-DL, TAPR, Packrats,
NJQRP, QRP ARCI, QCWA, FRC.
"Trample the slow   Hurdle the dead"


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
Matt Ettus
Sent: Tuesday, July 29, 2008 2:40 AM
To: isaacgerg
Cc: Discuss-gnuradio@gnu.org
Subject: Re: [Discuss-gnuradio] Flipping problem

isaacgerg wrote:
> I am sending a known sequence of samples from one USRP to another using
the
> Basix RX/TX d'boards setting the frequency to 24e6.
>
> When I rx the sequence, the correlation of it keeps flipping, but not in a
> way that suggests residual carrier.  It seems as if I am experiencing an
> instantaneous flip.
>
> My gain on both the RX and TX is set to 500. The signal amplitude I rx is
> ~1200. When I run the GRC model, the Rx says I have no residual carrier,
> invert is set to false, the dxc frequency is set to -24e6 and the baseband
> to zero.  On the TX side, I have these same values with the exception of
the
> dxc freq, it is not set to 24e6. Why the flip??   What do all these things
> mean???
>
> Is 24e6 a bad freq to use with the basic TX/Rx?
>
> Thanks in advance!
>   

I believe what you are seeing here is that the two USRPs are on two 
different frequencies.  This is not a fault of the USRP.  No two 
oscillators will be on exactly the same frequency, and so in any 
practical receiver you must synchronize. 

Matt


___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio



___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Channel measurements?

2008-07-29 Thread Nikhil
On Mon, Jul 28, 2008 at 6:14 PM, Mohammad Hamed Firooz
<[EMAIL PROTECTED]>wrote:

>
> That is not always true, actually it depends on when and where you are
> going to measure a channel, For example in a office during a day, channel
> could change several times in a second.
>




That's correct Hamed.  I don't disagree with what you just wrote.  By
"consistent with variations in the channel" in the message prior to the last
one, I was implying at a meaningful rate.  So probing an indoor channel 1000
times a second at peak people-traffic times is more than adequate.  And
between successive "probes" you have enough time to transfer the captured
sequence over the USB at a slower rate than the max. sampling rate of 64
MSamples per second in the Rx.  But this assumes you can store about 2kB of
data on the FPGA.

Nikhil







> So for indoor applications a channel sounder should be as fast as possible.
>
> I can refer you to these papers to study more channe behavior:
>
> K.Pahlavan, et.al. Indoor Geolocation Science and Technology
> N.Patwari, et.al. Robust Location Distinction using Temporal Link
> Signatures
>
> you can also see our website for more information and papers:
> http://span.ece.utah.edu/pmwiki/pmwiki.php?n=Main.PHY-basedDistinction
>
> regards,
> hamed
>
> Quoting Nikhil <[EMAIL PROTECTED]>:
>
>  On Fri, Jul 25, 2008 at 9:57 PM, Johnathan Corgan <
>> [EMAIL PROTECTED]> wrote:
>>
>>  On Fri, Jul 25, 2008 at 6:12 PM, Nikhil <[EMAIL PROTECTED]> wrote:
>>>
>>> > I'm curious -- in a channel sounder application what benefit, if any is
>>> > there to performing the cross-correlation on the FPGA?  This is
>>>  assuming
>>> > you are continuously transmitting the PRBS and computing the impulse
>>> > response at the receive end at a rate that is consistent with
>>> variations
>>> in
>>> > the channel (i.e. not continuously).
>>>
>>> The channel sounder transmitter is sending the PRNG modulated BPSK at
>>> 32 Mchips/sec.  You need to do the correlation at this speed; it's not
>>> possible to send that much data over the USB to the host.
>>>
>>
>>
>>
>> I was thinking that since you don't need to probe the channel at the Rx
>> continuously as it does not change that fast,  one solution would be to
>> buffer a sequence length (~2kB for a 511 bit m-seq) and then transfer it
>> over the USB link at a slower rate.
>>
>>
>>
>>
>>
>>>
>>> A channel sounder in software would work for chip rates less than 4
>>> Mchip/sec.  But that limits the resolution of your impulse response to
>>> about 250 ns per bin, or 75 meters per bin in the spatial domain.
>>>
>>> --
>>> Johnathan Corgan
>>> Corgan Enterprises LLC
>>> http://corganenterprises.com/
>>>
>>>
>>
>
> ___
> Discuss-gnuradio mailing list
> Discuss-gnuradio@gnu.org
> http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] RFX 900 200mW

2008-07-29 Thread Vincenzo
Thanks Matt!
really precious answer..
actually, transmitting an 8 MHz wide signal at 820MHz without bypassing
the ISM filter.. what kind of attenuation should I expect? ..I mean..
just a rough estimate of its magnitude..

thanks

vincenzo


On Tue, 2008-07-29 at 00:06 -0700, Matt Ettus wrote:
> Vincenzo Pellegrini wrote:
> >
> > Hi everybody,
> > just a simple question:
> > does the RFX900 provide 200mW just out of the box? Do I have to take 
> > care of something in particular in order to obtain them?
> >
> > Actually, what are the appropriate gain values that I should pass to 
> > subdev.set_gain() n order to maximize correctly the output power?
> >
> > Sorry for bthering the list with such questions but I was unable to 
> > have them answered in the RFX900 section of the wiki.. maybe I'll add 
> > them myself once I'll have fully understood the issue..
> 
> 
> That is a saturated power level.  For any linear signal you will need to 
> back off a bit.  In any case, you control the output power by 
> controlling the amplitude of the signal you send to the USRP.  +/-32767 
> will be the max power but will result in RF clipping.  You will need to 
> find the max power you can get with your particular signal and still 
> maintain enough linearity.  If you need a dB or 2 more, you can bypass 
> the ISM band filter with a cap of about 100pF and then cut the traces to 
> the filter.
> 
> Matt
> 



___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] Question on OFDM

2008-07-29 Thread Brook Lin

Hi All,

I am trying to do a multi-carrier transmission. I went through the
benchmark_ofdm_tx.py and benchmark_ofdm_rx.py files. How can I set the
specific subcarrier? Say, -d 32 --fft-length=512 --occupied-tones=200. What
I understand is that a 2M bandwidth is divided into 512 subcarriers, and 200
subcarriers are used. How are these 200 used subcarriers allocated? How I
should do if I only want to use the first and the last subcarrier or other
specific subcarrier?

Thanks,
Brook Lin
-- 
View this message in context: 
http://www.nabble.com/Question-on-OFDM-tp18718309p18718309.html
Sent from the GnuRadio mailing list archive at Nabble.com.



___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] modelsim help using megacells

2008-07-29 Thread George Nychis

Hi all,

I am having trouble running a testbench in ModelSim which uses 
megacells.  I added megacells such as fifo_4kx16_dc.v and fifo_1kx16.v, 
but when trying to simulate I get errors such as:


Error: (vsim-3033) 
Z:/gnychis/fpga/usrp/fpga/megacells/fifo_4kx16_dc.v(89): Instantiation 
of 'dcfifo' failed. The design unit was not found.


I can find dcfifo in the altera_mf library, and it builds just fine. 
I'm not sure how linking goes in ModelSim?  I added altera_mf to my 
search and still get an error:


# ** Error: (vsim-3033) 
Z:/gnychis/fpga/usrp/fpga/megacells/fifo_4kx16_dc.v(89): Instantiation 
of 'dcfifo' failed. The design unit was not found.

# Region: /tb_timestamps/rx_buffer/rx_usb_fifo
# Searched libraries:
# C:/altera/72sp2/quartus/eda/sim_lib/altera_mf
# work

I'd greatly appreciate any help.

Thanks!
George


___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] modelsim help using megacells

2008-07-29 Thread George Nychis



George Nychis wrote:

Hi all,

I am having trouble running a testbench in ModelSim which uses 
megacells.  I added megacells such as fifo_4kx16_dc.v and fifo_1kx16.v, 
but when trying to simulate I get errors such as:


Error: (vsim-3033) 
Z:/gnychis/fpga/usrp/fpga/megacells/fifo_4kx16_dc.v(89): Instantiation 
of 'dcfifo' failed. The design unit was not found.


I can find dcfifo in the altera_mf library, and it builds just fine. I'm 
not sure how linking goes in ModelSim?  I added altera_mf to my search 
and still get an error:


# ** Error: (vsim-3033) 
Z:/gnychis/fpga/usrp/fpga/megacells/fifo_4kx16_dc.v(89): Instantiation 
of 'dcfifo' failed. The design unit was not found.

# Region: /tb_timestamps/rx_buffer/rx_usb_fifo
# Searched libraries:
# C:/altera/72sp2/quartus/eda/sim_lib/altera_mf
# work

I'd greatly appreciate any help.



I think I survived with: vsim -L altera_mf work.tb_timestamps

Thanks!
George


___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] Re: Basic RX. - usrp_wfm_rcv.py

2008-07-29 Thread Patrick Strasser

Brian Padalino wrote am 2008-07-29 17:07:

On Tue, Jul 29, 2008 at 11:01 AM, rita pfc
<[EMAIL PROTECTED]> wrote:

Hello,
I've started again from the begining. I have installed Ubuntu 7.1, not in a
virtual machine. In a Pentium IV, 3 GHz, with 2 GBytes of RAM.


Much better, we do not support VMware.


SystemError: wxEntryStart failed, unable to initialize wxWidgets!  (Is
DISPLAY set properly?)
Fallo de segmentación (core dumped)


I hate to just repeat the error, but is DISPLAY set properly?


Did you use sudo? sudo sometimes has problems to get the X settings like 
DISPLAY and authority right.


If you are not really know what certain commands do, quote it in your 
messages. Even subtle or innocent looking things can be important for 
your problem, so tell us as much and as exact as possible what you did. 
Otherwise we are not able to reproduce the problem and find the missing 
or wrong part.


Patrick
--
Engineers motto: cheap, good, fast: choose any two
Patrick Strasser 
Student of Telematik, Techn. University Graz, Austria



___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] bbn_80211b_rx.py: how is the received packet handled please?

2008-07-29 Thread yyzhuang

Hello,

In the BBN 802.11 package, I see the scripts for receiver, and some lines of
code for packet handling as well.

==
def rx_callback(ok, payload):
size = struct.calcsize("@qHBB");
packet_data = payload[size:];
hdr = struct.unpack("@qHbB", payload[0:size]);
if len(packet_data) > 16:
data_hdr = struct.unpack("@BB", packet_data[10:16])
mac_str = "%02x:%02x:%02x:%02x:%02X:%02X" % \
  (data_hdr[0], data_hdr[1], data_hdr[2],
   data_hdr[3], data_hdr[4], data_hdr[5],)
else:
mac_str = "UNKNOWN"

print "PKT: len=%d, rssi=%d, src=%s, time=%ld, rate=%d Mbps" \
  % (hdr[1], hdr[2], mac_str, hdr[0], hdr[3]/ 10.0)
===

What does the struct.unpack do? Is it for formatting the packet for display?
coz when I tried to do this:  print "payload: %s" % payload, what got
displayed on the screen is like this:
payload: �,Q
���F(�F(�p��j{Yd!
䀹
 0H
  *2$`l�
And what exactly the "time" is? As I see in the script, is it in ticks?
means the time instance, or the inter-arrival time? 
-- 
View this message in context: 
http://www.nabble.com/bbn_80211b_rx.py%3A-how-is-the-received-packet-handled-please--tp18720769p18720769.html
Sent from the GnuRadio mailing list archive at Nabble.com.



___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] bbn_80211b_rx.py: how is the received packet handled please?

2008-07-29 Thread masond

Inlined responses:

Quoting yyzhuang <[EMAIL PROTECTED]>:


Hello,


Hi,


In the BBN 802.11 package, I see the scripts for receiver, and some lines of
code for packet handling as well.

==
def rx_callback(ok, payload):
size = struct.calcsize("@qHBB");
packet_data = payload[size:];
hdr = struct.unpack("@qHbB", payload[0:size]);
if len(packet_data) > 16:
data_hdr = struct.unpack("@BB", packet_data[10:16])




What does the struct.unpack do? Is it for formatting the packet for display?


Pretty much -- though it does more than that as well.
http://docs.python.org/lib/module-struct.html
struct.unpack() is also used by the mainline gnuradio code (see  
gnuradio-examples/python/(digital|ofdm)/benchmark_* for instance).



coz when I tried to do this:  print "payload: %s" % payload, what got
displayed on the screen is like this:
payload: 


That's because the 'payload' string isn't ascii- or unicode-formatted;  
it's raw binary data packed into a string because that's how python  
handles things that would be stored in a c struct.
If you unpack it with an appropriate format string, you can display  
the actual data received. (something close to but less ugly than

struct.unpack('!' + `len(payload)` + 'B',payload)
depending on what you want to see.)



And what exactly the "time" is? As I see in the script, is it in ticks?
means the time instance, or the inter-arrival time?


I'll defer to someone who's familiar with the BBN code.

--Mason





___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] What's wrong with this constellation?

2008-07-29 Thread masond

Howdy list,
My partner and I have been working on getting a QAM demodulator  
working on the gnuradio; the current patch, with lots of debugging  
spew still present, is located at  
http://www.cae.wisc.edu/~masond/gr-qam-patch-rev7.diff .


The current problem: When the constellation 'locks', it looks  
like the following:

http://www.cae.wisc.edu/~masond/figure3.png
(for qam16)
http://www.cae.wisc.edu/~masond/figure4.png
http://www.cae.wisc.edu/~masond/figure4.png
(for qam8)

The red Xes are the true constellation points, and the black dots  
are the output of the receiver. The amplitude of the receiver output  
seems to spray out pretty widely from the constellation point  
intended. Any ideas what could be causing this amplitude distortion?  
I've tried increasing the number of stages in the feedforward AGC to  
40 or 60 (as many as my receiver can bear without underruns) and it  
doesn't seem to impact it. The amplitude noise is present with a  
variety of mus and costas alphas (the ones used in those figures were  
alpha~.015 and gain-mu~.05-.075). I've also tried with several  
different --tx-amplitudes to see if it was a matter of some clipping  
or other artifact to no luck.


I know that for digital radio purposes the constellation doesn't  
have to be perfect, but rather 'good enough', so I would be inclined  
to let this go except for point 2:
  --The receiver frequently cycle-slips, with the longest string of  
un-slipped packets somewhere in the 2000 range on our USRPs. I think  
that this is being hurt by the amplitude noise pushing received points  
into neighboring constellation points and causing the receiver to  
correct for that.


I'm running out of ideas (I've tried only using the corner points  
as the patch does, using all points with weighting based on distance,  
weighting only the costas loop portion, weighting only the m&m timing  
portion...) and could use some suggestions or obvious things I may  
have overlooked.


--Mason




___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] bbn_80211b_rx.py: how is the received packet handled please?

2008-07-29 Thread Daniel Sumorok

At 04:33 PM 7/29/2008, yyzhuang wrote:


And what exactly the "time" is? As I see in the script, is it in ticks?
means the time instance, or the inter-arrival time?


"time" is a packet arrival timestamp, in microseconds, relative to the time 
the receiver is started.  It is calculated by counting received samples so 
it based off a clock in the USRP, not a clock in the PC.  By comparing the 
timestamps of two received packets you should be able to determine 
difference in actual arrival times to with a couple microseconds.


 -Dan 




___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] bbn_80211b_rx.py: how is the received packet handled please?

2008-07-29 Thread masond

Quoting "Y. Zhuang" <[EMAIL PROTECTED]>:


Thanks very much for help. So "@qHBB" and "@qHbB" actually mean the
format that we should unpack this string, right? What is the
differences between "@qHBB" and "@qHbB" then? and "@BB"?

Thank you



Yes. Basically, to summarize the python doc I linked, if you have  
binary data stored in a string you want to decode, each character in  
the python format string corresponds to one or more of the bytes in it  
(with the exception of the @ at the beginning. @ tells the byte order  
and alignment to use -- the system default in this case). Then q would  
be a long long, H an unsigned short, and B being an unsigned char.  
Also, @BB can be written as @6B, and you can construct the  
formatting strings dynamically if needed (if transmitting a variable  
length packet).


The difference between qHbB and qHBB is that the lowercase b in  
the middle is signed and the capital B is unsigned. (i.e. is the  
number stored in two's-complement.) Of course, what that means for the  
code is up to the coder.


--Mason




___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] bbn_80211b_rx.py: how is the received packet handled please?

2008-07-29 Thread yyzhuang

Thanks. I think it should be something from the 802.11 frame over the
wireless link.

Since I see the time and other stuff are got from the packet, could
you tell me how is the packet received from usrp (by sampling in the
usrp?), what is its format? and for how we can actually do with it, is
unpack the packet according to its format enough?

Thanks again


Daniel Sumorok wrote:
> 
> At 04:33 PM 7/29/2008, yyzhuang wrote:
> 
>>And what exactly the "time" is? As I see in the script, is it in ticks?
>>means the time instance, or the inter-arrival time?
> 
> "time" is a packet arrival timestamp, in microseconds, relative to the
> time 
> the receiver is started.  It is calculated by counting received samples so 
> it based off a clock in the USRP, not a clock in the PC.  By comparing the 
> timestamps of two received packets you should be able to determine 
> difference in actual arrival times to with a couple microseconds.
> 
>   -Dan 
> 
> 
> 
> ___
> Discuss-gnuradio mailing list
> Discuss-gnuradio@gnu.org
> http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> 
> 

-- 
View this message in context: 
http://www.nabble.com/bbn_80211b_rx.py%3A-how-is-the-received-packet-handled-please--tp18720769p18724383.html
Sent from the GnuRadio mailing list archive at Nabble.com.



___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] bbn_80211b_rx.py: how is the received packet handled please?

2008-07-29 Thread yyzhuang

That's the point. But to unpack a packet, we have to know exactly its format.
Hope someone can tell what format of the packet is. And what information can
we get from the packets.

Thanks everybody =^D


Mason-29 wrote:
> 
> Quoting "Y. Zhuang" <[EMAIL PROTECTED]>:
> 
>> Thanks very much for help. So "@qHBB" and "@qHbB" actually mean the
>> format that we should unpack this string, right? What is the
>> differences between "@qHBB" and "@qHbB" then? and "@BB"?
>>
>> Thank you
>>
> 
>  Yes. Basically, to summarize the python doc I linked, if you have  
> binary data stored in a string you want to decode, each character in  
> the python format string corresponds to one or more of the bytes in it  
> (with the exception of the @ at the beginning. @ tells the byte order  
> and alignment to use -- the system default in this case). Then q would  
> be a long long, H an unsigned short, and B being an unsigned char.  
> Also, @BB can be written as @6B, and you can construct the  
> formatting strings dynamically if needed (if transmitting a variable  
> length packet).
> 
>  The difference between qHbB and qHBB is that the lowercase b in  
> the middle is signed and the capital B is unsigned. (i.e. is the  
> number stored in two's-complement.) Of course, what that means for the  
> code is up to the coder.
> 
> --Mason
> 
> 
> 
> 
> ___
> Discuss-gnuradio mailing list
> Discuss-gnuradio@gnu.org
> http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> 
> 

-- 
View this message in context: 
http://www.nabble.com/bbn_80211b_rx.py%3A-how-is-the-received-packet-handled-please--tp18720769p18724417.html
Sent from the GnuRadio mailing list archive at Nabble.com.



___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] bbn_80211b_rx.py: how is the received packet handled please?

2008-07-29 Thread Dan Halperin

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On Jul 29, 2008, at 6:14 PM, yyzhuang wrote:


That's the point. But to unpack a packet, we have to know exactly  
its format.
Hope someone can tell what format of the packet is. And what  
information can

we get from the packets.



The 802.11 packet format is non-trivial. You'll want to look at the  
spec for that. It's available for free download @ http://standards.ieee.org/getieee802/


If I had one piece of advice, it would be "be careful of endianness"

- -Dan

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.8 (Darwin)

iEYEARECAAYFAkiPwhoACgkQy9GYuuMoUJ7wbACfUJsoUULKhZWR0oe8tL7y4aPQ
m5cAoLsdscdjvGVao6OHUMEkaE908QgB
=FQ73
-END PGP SIGNATURE-


___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] RFX 900 200mW

2008-07-29 Thread Matt Ettus

Vincenzo wrote:

Thanks Matt!
really precious answer..
actually, transmitting an 8 MHz wide signal at 820MHz without bypassing
the ISM filter.. what kind of attenuation should I expect? ..I mean..
just a rough estimate of its magnitude..
  



What I meant was that if you are working WITHIN the ISM band (902-928 
MHz) you could get a couple extra dB by bypassing the filter.  If you 
are outside of the band, you MUST bypass it.  You could be getting as 
much as 30 dB off attenuation there.


Matt


___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] What's wrong with this constellation?

2008-07-29 Thread Peter Monta

Hi Mason,

... The amplitude of the receiver output seems to spray out pretty 
widely from the constellation point intended.


It could be an AGC issue---is the AGC time constant long compared with a 
symbol?
Is the distribution of constellation points uniform (each is picked with 
equal

probability)?

One thing you could try, if the channel permits, is to temporarily hold 
the AGC
fixed to see if that gives a better constellation (perhaps at the wrong 
size;

or if you're using decision feedback, try to get it to the right size :-) ).

Cheers,
Peter Monta




___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] decimate by less than 8 in standard FPGA of USRP

2008-07-29 Thread Firas A.

Hi,


1) Just use USRP FPGA file (firmware) that contains no halfband filter as in
the following example:

decim = 4
set_fpga_filename="std_4rx_0tx.rbf" # This FPGA firmware contains 4 Rx paths
without halfbands and 0 tx paths.
u = usrp.source_c(0, decim_rate=decim, fpga_filename=set_fpga_filename)


2) See:
usrp_fft.py


Note:
In this case (decimation by 4), you must use 8 bit data format (see the
option -8 in usrp_fft.py) to avoid saturating the USB bus.



Firas
-- 
View this message in context: 
http://www.nabble.com/decimate-by-less-than-8-in-standard-FPGA-of-USRP-tp18718542p18726094.html
Sent from the GnuRadio mailing list archive at Nabble.com.



___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio