[Top][All Lists]

[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 19:52:08 +0000

​Οk, I know the way of the atan2 method you are proposing. I will try it tomorrow when I will have access to the equipment again.

When you said injecting a phase identical test tone earlier you meant, driving the signal from the generator to the RX2 port of each one of the SBX daughterboards (using a splitter), with equal length cables and then checking the phase offset between the 2 channels?


From: Marcus D Leech <patchvonbraun@gmail.com>
Sent: Wednesday, June 9, 2021 9:05 PM
To: Skyvalakis Konstantinos
Cc: Discuss-gnuradio@gnu.org
Subject: Re: Phase Synchronize 2 USRP N200 w/ SBX cards
Your generated tone should be OK as long as the path lengths are the same during phase calibration. 

Measuring mutual phase offset can be done in a number of ways like taking the atan2 of the two channels and averaging. 

Sent from my iPhone

On Jun 9, 2021, at 1:50 PM, Skyvalakis Konstantinos <kskyvalakis@isc.tuc.gr> wrote:

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=, addr1=", "")),
        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_gain(50, 0)
        self.source.set_antenna('RX2', 0)
        self.source.set_gain(10, 1)
        self.source.set_antenna('RX2', 1)


        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)



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.


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]