Multiple USRP1 and UHD

Hello list,

I have two USRP1s and four DBSRX2 daughterboards. I would like to
synchronise the USRPs, to build a coherent, sample aligned, four channel
receiver (inputs from four separate antennas). I had hoped I could do
this by modifying and connecting the boards as described here:

http://gnuradio.org/redmine/wiki/1/USRPClockingNotes
http://gnuradio.org/redmine/wiki/1/MultiUsrp

And then modifying the usrp_multi code to work with UHD. If this
approach works, it looks like I have to replace the lines (amongst
others):

u1 = usrp.source_s (1, decim, nchan, gru.hexint(mux),
mode,fpga_filename=“multi_2rxhb_2tx.rbf” )
u0 = usrp.source_s (0, decim, nchan, gru.hexint(mux),
mode,fpga_filename=“multi_2rxhb_2tx.rbf” )

But, how do I set the mux and mode values if I replace these with
instances of uhd.single_usrp_source? And is the multi_2rxhb_2tx.rbf
image likely to work still with UHD? I’m pretty new to this so any
pointers, or suggestions for a better approach, appreciated…

I’m also having problems with the UHD multi_usrp_source, trying to use
this in GRC for some initial experiments with the boards unsynced. With
Num Mboards = 2, device addresses of either “serial=XXXXXXXX,
serial=YYYYYYYY” or “name=usrp_master, name=usrp_slave” (either way
round) and the same subdev spec “A:0 B:0” for both, I can find the first
board but not the second. Maybe I’ve just got the syntax wrong or is
there another problem?

File “/home/ac2/grc/top_block.py”, line 70, in
tb = top_block()
File “/home/ac2/grc/top_block.py”, line 40, in init
self.uhd_multi_usrp_source_0.set_subdev_spec(“A:0 B:0”, 1)
File
“/usr/local/lib/python2.6/dist-packages/gnuradio/uhd/uhd_swig.py”, line
887, in set_subdev_spec
return _uhd_swig.uhd_multi_usrp_source_sptr_set_subdev_spec(*args,
**kwargs)
RuntimeError: vector::_M_range_check

With Num Mboards = 1, I get past this point but not much further:

thread[thread-per-block[0]: <gr_block uhd multi_usrp source (3)>]:
cannot get this property
in void usrp1_impl::mboard_get(const wax::obj&, wax::obj&)
at /home/ac2/gnuradio-uhd/uhd/host/lib/usrp/usrp1/mboard_impl.cpp:329

What’s going wrong here? Two separate single sources works fine. I’m
using a fairly recent build, source downloaded from git on 3rd Jan, and
Ubuntu 9.04 for what that’s worth.

Thanks,
Andy

Roke Manor Research Ltd, Romsey,
Hampshire, SO51 0ZN, United Kingdom

Part of the Chemring Group
Registered in England & Wales at:
Chemring Group PLC, Chemring House, 1500 Parkway,
Whiteley, Fareham, Hampshire PO15 7AF, ENGLAND
Registered Number: 267550

Visit our website at www.roke.co.uk

The information contained in this e-mail and any attachments is
proprietary to Roke Manor Research Ltd and must not be passed to any
third party without permission. This communication is for information
only and shall not create or change any contractual relationship.

But, how do I set the mux and mode values if I replace these with

The mux value calculation is not exposed. Rather, you specify channel
mappings:
http://www.ettus.com/uhd_docs/manual/html/usrp1.html#specifying-the-subdevice-to-use

instances of uhd.single_usrp_source? And is the multi_2rxhb_2tx.rbf
image likely to work still with UHD? I’m pretty new to this so any
pointers, or suggestions for a better approach, appreciated…

The following images ship with uhd for USRP1:
http://www.ettus.com/uhd_docs/manual/html/usrp1.html#specify-a-non-standard-image

I am unaware of a “multi_2rxhb_2tx.rbf”

I’m also having problems with the UHD multi_usrp_source, trying to use
this in GRC for some initial experiments with the boards unsynced. With
Num Mboards = 2, device addresses of either “serial=XXXXXXXX,
serial=YYYYYYYY” or “name=usrp_master, name=usrp_slave” (either way
round) and the same subdev spec “A:0 B:0” for both, I can find the first
board but not the second. Maybe I’ve just got the syntax wrong or is
there another problem?

Ganging together multiple USRP1s into a “multi usrp” is not supported.
This is supported on USRP2/N-Series because of the time alignment
capabilities. But it wouldnt make sense to implement for the USRP1
because its just as useful as multiple “single usrps”.

-josh

Hi,

I am thinking to integerate my SystemC code as a SP block with
GNURadio…

Is there anyone who have experience/example about this?

SystemC is a C++ library.

rgs

Tao

Hi,

I am thinking to integerate my SystemC code as a SP block with
GNURadio…

Is there anyone who have experience about this?

SystemC is a spereate C++ library.

rgs

Tao