Tunnel.py distance problem

Hi,
I am using tunnel.py to transfer text files between two USRPs. It only
works when the two USRPs are almost right next to each other, max
distance is 5 inches, after that the ping fails and tunnel stops
working. I am using the Flex 400 daughterboards and am assigning a
carrier treshold of 90(-c 90) to get rid the BBBBBBs. Can someone help
me to increase the distance between the two USRPs, and theoretically
what is the max distance between the two USRPs that tunnel can work?
Thanks,
Marko

On Wed, Nov 07, 2007 at 08:38:51AM -0800, Marko S. wrote:

Hi,

I am using tunnel.py to transfer text files between two USRPs. It
only works when the two USRPs are almost right next to each other,
max distance is 5 inches, after that the ping fails and tunnel stops
working. I am using the Flex 400 daughterboards and am assigning a
carrier treshold of 90(-c 90) to get rid the BBBBBBs. Can someone
help me to increase the distance between the two USRPs, and
theoretically what is the max distance between the two USRPs that
tunnel can work?

Not sure about the theoretical maximum, but as described in the
README, I usually have them about 3 meters apart. What kind of
antennas are you using? What data rate are you using? what
modulation are you using?

Try this:

  • start benchmark_tx.py on one machine
  • run usrp_fft.py on the other machine

and confirm the the received spectrum looks reasonable.
You’ll want to experiment with the received gain setting.

Eric

On 11/7/07, Marko S. [email protected] wrote:

…and am assigning a carrier treshold of 90(-c 90) to get rid the BBBBBBs. Can someone help me to increase the distance between the two USRPs, and theoretically what is the max distance between the two USRPs that tunnel can work?

This carrier threshold is probably too high.

There is a sweet spot for this parameter, only determined by
experiment. If it is too low, then the nodes won’t transmit due to it
thinking background noise is someone transmitting (those are the BBBs
you’re getting rid of.)

If it is too high, the nodes will “ignore” anyone else transmitting,
resulting in continuous collisions, and no actual data flow.

In my experience, a properly tuned carrier threshold results in one or
two Bs per transmitted packet on each side of a two node network, when
sending full duplex traffic.

The other knob to adjust is the receiver gain. Depending on your
antenna, you need to adjust this for maximum signal to noise ratio.
But changing your gain changes your required carrier sense threshold
as well.

As Eric mentioned, a good way to judge this is to run the
benchmark_tx.py script on one node, then use the usrp_fft.py script on
the other to see the transmitted waveform. You can adjust the gain
slider up and down to get the widest spread between the noise floor
and the received signal peak. Then use this same gain in the
tunnel.py script. Now you can adjust the carrier sense threshold to
be just high enough to be able to transmit with nothing being
transmitted from the other end.

All this /should/ be automated…


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