[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Multiple USRPs

From: Martin Dvh
Subject: Re: [Discuss-gnuradio] Multiple USRPs
Date: Tue, 06 Dec 2005 20:52:12 +0100
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.5b) Gecko/20030823

Elaine Garbarine wrote:

Hello all,

I'm involved in a project to design a hardware testbed for Multiple-input
Multiple-output systems.  I was considering GNU Radio and the USRP to
accomplish this task.  I was wondering if any of you have connected multiple
USRPs to build an RF system larger than 2 input 2 output (I would
specifically like a 4X4 RF system).  If you have connected multiple USRPs
together how exactly have you gone about it?
I have been working on a system with two usrps for a total of 4 receive 
For just 4 seperate receive or transmit channels, it is simple.
Connect two usrps to the host PC.
open multiple usrps in your python script and you can do anything you want with 

#!/usr/bin/env python

from gnuradio import gr
from gnuradio import usrp
from gnuradio.eng_option import eng_option
from optparse import OptionParser

def main ():
    usrp0 = usrp.source_c (0, decimation, nchannels, mux, 0) #first parameter 
is which usrp you want to open
    usrp1 = usrp.source_c (1, decimation, nchannels, mux, 0)
    dst00 = gr.file_sink (gr.sizeof_gr_complex, "file00.dat")
    dst01 = gr.file_sink (gr.sizeof_gr_complex, "file01.dat")
    dst10 = gr.file_sink (gr.sizeof_gr_complex, "file10.dat")
    dst11 = gr.file_sink (gr.sizeof_gr_complex, "file11.dat")
    fg.connect ((usrp0,0), dst00)
    fg.connect ((usrp0,1), dst01)
    fg.connect ((usrp1,0), dst10)
    fg.connect ((usrp1,1), dst11)
    fg.start ()
    raw_input ('Press Enter to quit: ')
    fg.stop ()

if __name__ == '__main__':
    main ()

For the project I am working on I need full phase coherency.
So I had to lock all the clocks/oscillators and synchronise and align all the 
sample_data paths.
This required using a single 64 MHz clock for all usrps.
I also used hardware syncronisation between the usrps using a flatcable on the 
io-pins on the daughtercards.
I modified the fpga firmware for it and built and used a software align block 
in gnuradio.

This work is allmost finished now (only receive channels).
If you also need full phase coherency,please tell.


Thank you in advance for any assistance,
Elaine Garbarine

Discuss-gnuradio mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]