[Top][All Lists]

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

Re: [Discuss-gnuradio] Multiple USRPs

From: Elaine Garbarine
Subject: Re: [Discuss-gnuradio] Multiple USRPs
Date: Wed, 07 Dec 2005 10:55:22 -0500
User-agent: Microsoft-Entourage/


I appreciate your response.  My application will indeed need full phase
coherency.  Could you tell  me a bit more about how you achieved this?  I'm
curious to know to what level you've been able to achieve phase
synchronization?  More importantly, are any phase
differences that do exist between signals received over multiple
USRPs constant, or it time varying?

If any of my questions are unclear just let me know.

Thanks again for the help,
Elaine G.

On 12/6/05 2:52 PM, "Martin Dvh" <address@hidden> wrote:

> 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
> channels.
> 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 it:
> #!/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.
> greetings,
> Martin
>> Thank you in advance for any assistance,
>> Elaine Garbarine
>> _______________________________________________
>> Discuss-gnuradio mailing list
>> address@hidden
>> http://lists.gnu.org/mailman/listinfo/discuss-gnuradio

reply via email to

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