Discussion and technical support related to USRP, UHD, RFNoC
View all threadsDear usrp-users,
I am working with a USRP X410 model to receive OFDM signals on all four channels. I am also using a ULA as my radiating elements (antennas). From the received signal, I wish to acquire AoA information based on the phase of the channel estimates that I compute from the received known OFDM symbols.
My first question is: must I set up a phase calibration procedure manually, like this application note https://kb.ettus.com/Synchronization_and_MIMO_Capability_with_USRP_Devices suggests, to calibrate the phase offsets between all four Rx channels? Or does the X410 have a built-in procedure that can calibrate the phase offsets between channels?
Second: can someone explain to me which parts of the RF frontend cause the phase offset between channels? I have so far tried to understand the frontend based on the ZBX circuit diagram https://files.ettus.com/manual/page_zbx.html.
Third: can someone point me to resources that present an implementation for a manual phase calibration procedure for the X410, if needed?
I appreciate any help or shared experiences on this matter.
Best regards,
Frederik
On 2025-06-04 09:12, Frederik Zumegen wrote:
Dear usrp-users,
I am working with a USRP X410 model to receive OFDM signals on all
four channels. I am also using a ULA as my radiating elements
(antennas). From the received signal, I wish to acquire AoA
information based on the phase of the channel estimates that I compute
from the received known OFDM symbols.
My first question is: must I set up a phase calibration procedure
manually, like this application note
https://kb.ettus.com/Synchronization_and_MIMO_Capability_with_USRP_Devices suggests,
to calibrate the phase offsets between all four Rx channels? Or does
the X410 have a built-in procedure that can calibrate the phase
offsets between channels?
Second: can someone explain to me which parts of the RF frontend cause
the phase offset between channels? I have so far tried to understand
the frontend based on the ZBX circuit diagram
https://files.ettus.com/manual/page_zbx.html.
Third: can someone point me to resources that present an
implementation for a manual phase calibration procedure for the X410,
if needed?
I appreciate any help or shared experiences on this matter.
Best regards,
Frederik
USRP-users mailing list --usrp-users@lists.ettus.com
To unsubscribe send an email tousrp-users-leave@lists.ettus.com
Phase offsets can be introduced by both the synthesizers and mixers and
the internal path-lengths in the design of the ZBX.
In addition the RFSOC itself CAN introduce phase-offsets, due to
clocking of the ADC.
I don't know to what extent this has all been taken care of at this
point -- my recollection is that early UHD for X410 did not provide for
multi-channel
phase coherence, but I believe that has all been implemented now,
BUT, that may not include phase-offset guarantees. The design has multiple
conversion stages (the ZBX and ultimately the RFSoC), and making sure
that phase offsets are zero becomes quite a bit more complicated when you
add more stages of mixers and synthesizers.
I have a query in internally on this.
Cheers
Dear Marcus,
Thanks for your reply and the included insights.
I got a response to my questions from an NI support engineer as well and it seems essentially, the X410s do provide phase coherence with a variation of about +/- 1 degree for tuned frequencies below 3 GHz. Above 3 GHz, they observed a phase drift of about 8 degrees per hour between (almost) any two channel pairs. Either way, for aligning phases and applying direction finding algorithms (AoA), the phases must be calibrated manually. I have attached my received document from NI to this thread.
Cheers,
Frederik

On 4 Jun 2025, at 16:14, Marcus D. Leech patchvonbraun@gmail.com wrote:
On 2025-06-04 09:12, Frederik Zumegen wrote:
Dear usrp-users,
I am working with a USRP X410 model to receive OFDM signals on all four channels. I am also using a ULA as my radiating elements (antennas). From the received signal, I wish to acquire AoA information based on the phase of the channel estimates that I compute from the received known OFDM symbols.
My first question is: must I set up a phase calibration procedure manually, like this application note https://kb.ettus.com/Synchronization_and_MIMO_Capability_with_USRP_Devices suggests, to calibrate the phase offsets between all four Rx channels? Or does the X410 have a built-in procedure that can calibrate the phase offsets between channels?
Second: can someone explain to me which parts of the RF frontend cause the phase offset between channels? I have so far tried to understand the frontend based on the ZBX circuit diagram https://files.ettus.com/manual/page_zbx.html.
Third: can someone point me to resources that present an implementation for a manual phase calibration procedure for the X410, if needed?
I appreciate any help or shared experiences on this matter.
Best regards,
Frederik
USRP-users mailing list -- usrp-users@lists.ettus.com mailto:usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.com mailto:usrp-users-leave@lists.ettus.com
Phase offsets can be introduced by both the synthesizers and mixers and the internal path-lengths in the design of the ZBX.
In addition the RFSOC itself CAN introduce phase-offsets, due to clocking of the ADC.
I don't know to what extent this has all been taken care of at this point -- my recollection is that early UHD for X410 did not provide for multi-channel
phase coherence, but I believe that has all been implemented now, BUT, that may not include phase-offset guarantees. The design has multiple
conversion stages (the ZBX and ultimately the RFSoC), and making sure that phase offsets are zero becomes quite a bit more complicated when you
add more stages of mixers and synthesizers.
I have a query in internally on this.
Cheers
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.com
Dear Frederik,
I am also interested in this topic (AoA algorithms with USRPs). I have read the PDF you shared from NI engineers but I understand a different thing.
If I understood the document correctly, after a reboot or if you tune a different frequency (due to you monitor different bands, for example) the phase offsets change, are not repeatable. Therefore, even if you calibrate your system, next time you switch on the device your old calibration data will not be valid. That’s what I understand from my reading.
Is this correct?
Best regards
Anxo Tato Arias