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: Skyvalakis Konstantinos
Subject: Re: Phase Synchronize 2 USRP N200 w/ SBX cards
Date: Wed, 9 Jun 2021 17:50:37 +0000

You assumed correctly. I am doing this in a single multi_usrp object, so it is ok. I will also remove that sleep command.

I don't know how I can measure the phase difference between the two RX channels. In my DoA experiment I am just transmitting a tone @ 868MHz from an RF generator and I'm receiving it from the 2 RX channels.

Also could you elaborate more on the last thing you mentioned, the one about the phase identical test tone....

On Jun 9, 2021 19:51, "Marcus D. Leech" <patchvonbraun@gmail.com> wrote:
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]