MIMO capabilities have just been added to the UHD. With N gigE ports and
N USRP2s, one can perform synchronous aligned receives.
A usrp_mimo class has been added to the UHD for construction of a mimo
enabled device configuration. And I have added the corresponding
gnuradio blocks: uhd_mimo_source and uhd_mimo_sink that call into this
See the usrp2 application notes on device parameters for the
I should note that the aligned send for the mimo sink gnuradio block is
not yet fully working, but may be used to test out the interface.
To use the new blocks you will need the most recent UHD master,
gnuradio/jblum.git uhd branch, and SD card images. See links below:
I have just pushed new host code to the uhd repo, posted new images, and
pushed new uhd gnuradio blocks. The gnuradio blocks will be hosted on my
jblum.git uhd branch until they are merged into the gnuradio.git next
For those of you calling directly into the UHD c++ API and not through
gnuradio. I have changed the send and recv calls to reflect the mimo
work. The asio buffer was replaced with two parameters: a vector of
void-star pointers and a length in number of samples per buffer, for
both send and recv. A convenience wrapper was added to pass in a single
pointer and number of samples for the non-mimo case. The original
interface with asio buffers is still there, just deprecated.
Feedback is always welcome!