discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: Phase Synchronize 2 USRP N200 w/ SBX cards


From: Marcus D. Leech
Subject: Re: Phase Synchronize 2 USRP N200 w/ SBX cards
Date: Wed, 09 Jun 2021 12:49:08 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0

On 06/09/2021 10:11 AM, Skyvalakis Konstantinos wrote:

I have 2 USRP N200 devices, each one equipped with an SBX daughterboard.


I am providing 10MHz ref clock and 1 PPS input on both devices with equal length cables, from an external signal generator.


My application is DoA. Is it possible to do it, with 2 USRP N200 and the SBX daughterboards?


1) Is the following timed commands code snippet correct for frequency and phase synchronization of both SBX cards?


        self.source = uhd.usrp_source(
         ",".join(("addr0=192.168.10.2, addr1=192.168.10.3", "")),
         uhd.stream_args(
         cpu_format="fc32",
         channels=range(2),
         ),
        )
        self.source.set_clock_source('external', 0)
        self.source.set_time_source('external', 0)
        self.source.set_clock_source('external', 1)
        self.source.set_time_source('external', 1)
        self.source.set_samp_rate(2e6)
        self.source.set_time_unknown_pps(uhd.time_spec())
        self.source.set_gain(50, 0)
        self.source.set_antenna('RX2', 0)
        self.source.set_gain(10, 1)
        self.source.set_antenna('RX2', 1)

        time.sleep(1)

        self.source.clear_command_time()
        self.source.set_command_time(self.source.get_time_now() + uhd.time_spec_t(0.1));
        self.source.set_center_freq(uhd.tune_request(868e6,0), 0)
        self.source.set_center_freq(uhd.tune_request(868e6,0), 1)

        time.sleep(0.11)

        self.source.clear_command_time()



2) Is there anyway to measure and compensate the offset between the 2 SBX daughterboards?


3) Can this synchronization problem be tackled easier with a MIMO cable (since I do have one) ?​


Thank you in advance.


Konstantinos

Assuming that you're streaming two channels in a single multi_usrp object, then this looks OK, except there's no reason for that
  time.sleep(0.11) *before* the self.source.clear_command_time().  

What magnitude of residual phase-offset are you seeing, and how are you measuring it?

A MIMO cable won't help with residual phase offset.

The usual way of calibrating this out is to inject a phase-identical test tone into each channel, and measure the phase offset when
  starting up. 






reply via email to

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