I'm not the expert here but from everything I know about this issue, I
don't think it's possible just because the X410 apparently does not support
timed tuning... Here's the code excerpt from a commit where tx_waveforms
was specifically modified to exclude the X410 from timed tuning
(
https://github.com/EttusResearch/uhd/commit/4289cc1eefaaee7a90ccd7e04ee88ab275c72217
)
// use timed tuning for more that one channel on all devices except X410
// X410 does not yet support timed tuning
const bool timed_tuning = usrp->get_mboard_name() != "x410"
and channel_nums.size() > 1;
const float cmd_time_offset = 0.1;
if (timed_tuning) {
const uhd::time_spec_t now = usrp->get_time_now();
const uhd::time_spec_t cmd_time = now +
uhd::time_spec_t(cmd_time_offset);
usrp->set_command_time(cmd_time);
}
for (std::size_t channel : channel_nums) {
uhd::tune_request_t tune_request(freq, lo_offset);
if (vm.count("int-n"))
tune_request.args = uhd::device_addr_t("mode_n=integer");
usrp->set_tx_freq(tune_request, channel);
}
It looks like the X410 will iteratively tune each channel, which is why
you're getting random phases run to run.
On Thu, Mar 27, 2025 at 3:33 PM Mann, John - 0662 - MITLL <[email protected]>
wrote:
> Does anyone know if there is a way to get predictable phase offsets from
> an X410? I am finding that from run-to-run, the 4 channels in an X410 have
> completely random phase offsets from each other. I didn’t necessarily
> expect the phase offsets to be zero, but was hoping they would at least be
> consistent.
>
>
>
> John
>
>
>
> *From:* Chris Rogers <[email protected]>
> *Sent:* Thursday, March 27, 2025 1:51 PM
> *To:* Marcus D. Leech <[email protected]>
> *Cc:* [email protected]
> *Subject:* [EXT] [USRP-users] Re: X440 Phase Coherent but not Phase
> Aligned
>
>
>
> Hi Heath and Marcus, I was actually "R&D's plate" for this one. We worked
> through it and found the issue. The root cause is the startup sequence in
> almost every example UHD script is a bit out of order and had to be
> reorganized
>
> ZjQcmQRYFpfptBannerStart
>
> *This Message Is From an External Sender *
>
> This message came from outside the Laboratory.
>
> ZjQcmQRYFpfptBannerEnd
>
> Hi Heath and Marcus,
>
>
>
> I was actually "R&D's plate" for this one. We worked through it and found
> the issue. The root cause is the startup sequence in almost every example
> UHD script is a bit out of order and had to be reorganized in terms of
> clock setup and synchronized channel tuning. This problem is fixed in UHD
> 4.7+ if you look at the "tx_waveforms.cpp" example code... For your
> application, just make sure to follow the same startup sequence.
>
>
>
> Hope this helps,
>
> 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]