Hi Chris,

I'm sorry to be the bearer of bad news, but the X410 does not have this
feature (and yes, the X440 does).

--M

On Thu, Feb 19, 2026 at 3:31 AM Chris Wozny <[email protected]> wrote:

> We're working on a two-channel phase interferometry application using an
> X410 with two ZBX daughterboards and am having difficulty achieving
> consistent inter-channel phase measurements across application restarts.
> I'm hoping someone on the list has experience with this and can point me in
> the right direction. I've found quite a few emails on the mailing list from
> about a year ago on the topic, but they didn't seem to have a resolution
> (as far as I could tell).
>
> Here's my current configuration:
>
> NI USRP X410 (Rev 7)
> Two ZBX daughterboards
> MPM Version: 5.3
> FPGA Version: 8.3 (UC_200)
> FPGA git hash: c37b318.clean
>
> I'm using UHD 4.7.0.0 with the Multi_USRP API in C++. The ports I'm
> connected to are the RX1 SMA ports on the same daughterboard (A:0 and A:1).
> The X410 is also connected to an external 10 MHz + 1 PPS reference from an
> Octoclock. I'm feeding these receive ports with a pulsed waveform from a
> signal generator connected via a splitter.
>
> Problem:
>
> Within a single execution of the application, the phase difference between
> the two channels is extremely stable and consistent pulse-to-pulse.
> However, when the application is restarted the phase offset changes to an
> essentially arbitrary value. Across five consecutive runs we observed delta
> phase values of approximately -25, -154, -25, 74, and -119 degrees at 3050
> MHz.
>
> The same code (timed command tune requests) and test equipment setup was
> working with an X310. The phase differences were consistent over a period
> of a few days of application restarts and power cycles. It seems like there
> are some fundamental architectural differences between the X310 with two
> UBX-160s and the X410 with two ZBXs that prevent the same task from being
> accomplished.
>
> Here are the steps we've taken thus far to try and get the same initial
> phase on both channels from one run of the application to another:
>
> 1. Switched clock and time source to "external" to lock to the Octoclock's
> 10 MHz and 1 PPS reference and polled the ref_locked sensor before
> proceeding.
> 2. Used set_time_next_pps() rather than set_time_now() to latch device
> time on a PPS edge, followed by a sleep longer than one second to guarantee
> the latch has occurred.
> 3. Configured subdev spec (A:0 A:1), per-channel parameters (sample rate,
> bandwidth, gain, antenna), and get_rx_stream() all after the ref_locked
> wait and PPS latch.
> 4. Issued simultaneous tune commands to both channels using
> set_command_time() aligned to the next PPS edge
> (get_time_now().get_full_secs() + 1.0), followed by another sleep greater
> than 1 second to allow LO lock.
> 5. Attempted explicit LO sharing via set_rx_lo_source("internal",
> "LO1"/"LO2", chan) on both channels, however set_rx_lo_export_enabled() was
> not supported on this radio so we abandoned that.
>
> The within-run phase stability is excellent (sub-degree variation
> pulse-to-pulse), which suggests the hardware is working correctly. The
> problem appears to be that something is initializing to an arbitrary phase
> state on each UHD session that is not being reset by any of the above steps.
>
> The ultimate question we have: with an X410 and two ZBX daughterboards is
> multi-channel phase coherence across multiple UHD sessions possible? If so,
> are there any steps we might be missing or out of order from what we tried
> above? Feeding in a known signal every time we start a session is not an
> option.
>
> There was some chatter in the mailing list about newer versions of UHD
> resolving this, but other replies from March 2025 left it ambiguous (to me
> at least) as to whether this was fixed for X410s or X440s or fixed at all.
>
> Any guidance you all might provide is greatly appreciated!
>
> Best,
> Chris
> _______________________________________________
> USRP-users mailing list -- [email protected]
> To unsubscribe send an email to [email protected]
>
_______________________________________________
USRP-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to