Hi all,
I installed GNU Radio on an Intel OSX machine (with the help of Michael
Dickens (THANKS!)) and now I was wondering if it were possible to
specify
which USB port the computer should use when looking for the USRP. I ask
because I want to connect two USRPs to the same computer and run on as a
TX
for dbpsk and the other as a RX for dbpsk. Is this even possible? If
so,
how would I go about it?
Thanks in advance!
Jeffrey U. wrote:
I installed GNU Radio on an Intel OSX machine (with the help of
Michael D. (THANKS!)) and now I was wondering if it were
possible to specify which USB port the computer should use when
looking for the USRP. I ask because I want to connect two USRPs to
the same computer and run on as a TX for dbpsk and the other as a RX
for dbpsk. Is this even possible? If so, how would I go about it?
It is possible to plug two USRPs in to the USB.
If you are writing your own software, you’ll need to add the ‘which’
parameter to usrp.source_c() and usrp.sink_c():
src1 = usrp.source_c(which=0)
src2 = usrp.source_c(which=1)
Unfortunately, many of the example programs are written to assume there
is only one USRP, including the digital ‘tunnel’ program. So you’ll
need to modify these to accept a new command line parameter.
Now which USRP gets assigned #0 and #1 is dependent on the order they
enumerate on the USB, first by bus, then by device. This may be
affected by which one is plugged in first or turned on first.
It’s possible, when writing your own code, to retrieve the serial number
from the source_c object and use that to determine which actual hardware
unit you’ve grabbed.
The other caveat is that most motherboards share a single USB controller
for all their ports. So you’re sharing the same 32 MB/s bandwidth
across two USRPs now, effectively halving the maximum RF bandwidth you
can work with if both USRPs are using the USB equally.
–
Johnathan C.
Corgan Enterprises LLC
http://corganenterprises.com
Johnathan,
Thanks for the speedy response.
Is there any way I could use one USRP to both transmit and receive a
signal? That is, I want to use benchmark_tx.py to send out a dbpsk
modulated signal and use benchmark_rx.py to receive this same signal.
Would
this be possible? I’m using a FLEX400 daughterboard. I actually have
two
of them.
Thanks,
Jeffrey
Jeffrey U. wrote:
Is there any way I could use one USRP to both transmit and receive a
signal? That is, I want to use benchmark_tx.py to send out a dbpsk
modulated signal and use benchmark_rx.py to receive this same signal.
Would this be possible? I’m using a FLEX400 daughterboard. I actually
have two of them.
Yes. It’s easiest to use both of them, one in each side.
For benchmark_tx.py, use ‘-T A’ to transmit using the FLEX in side A.
In another terminal, use benchmark_rx.py with ‘-R B’, to receive with
the FLEX on side B.
Signal isolation isn’t the greatest, though I haven’t tested it between
different daughterboards in the same USRP case.
Whatever you do for an external antenna, do NOT just cross-connect the
Tx output and Rx input connectors. There must be at least 20 dB of
attenuation, 40 dB is recommended. Otherwise you’ll damage the input
stage of the receiver.
You can do the same with a single FLEX board, but you have to modify the
examples to enable using separate Tx and Rx antennas. Leakage is likely
to affect your results. In fact, I recall someone saying that leakage
on the board was sufficient that they didn’t need to hook any antennas
or cables between the Tx and Rx ports.
–
Johnathan C.
Corgan Enterprises LLC
http://corganenterprises.com