How to present PDOA measurement between 2 different DW3220s

Greetings, everyone,

I need help figuring out how to measure PDOA (Phase Difference of Arrival) between two different DW3220 devices.

I’m trying to measure the phase of arrival on 4 antennas in these two devices and find the difference between them. Both DW3220s use the same crystal and are synced well, which I’ve tested by checking their arrival times.

I’ve tried reading phase data from struct dwt_rxdiag_t in PDOA mode 3. When I read stsPOA and sts2POA from the same DW3220, the difference equals the value in ‘pdoa’. But when I try the same with different DW3220s, the result jumps about 180 degrees, as shown in the fig. . I also checked the phase data computed by the CIR data, and it’s the same.

If anyone has ideas on how to fix this, I’d really appreciate it. Thanks in advance for your help.


What is the antenna separation between two antennas?
We typically suggest using 0.45 x wavelength (lambda) to cover -90 to 90 degrees. But at the edges of the curve, it is possible to observe 180 degrees phase wrapping.

You will also need to calibrate the PDoA offset to get an accurate PDoA measurement. By doing that, you can prevent the phase wrapping at the extreme angles.

Kind regards,

Hi, @Emre_Ozbas_Qorvo

Thank you for your reply.

The 4 antennas form a linear array with a distance of about 2.3cm and operate on channel 5. The same result is observed not only when the tag is placed at the edge of the array but also at other locations.

By the way, I wonder if the phase wrapping might occur at 360 degrees instead of 180 when the tag is placed at extreme angles. This could result in a 180-degree wrapping in the angle of arrival result. However, my figure shows a 180-degree phase wrapping, which has left me puzzled. When placing the tag perpendicular to the array still results in a 180-degree wrapping, PDOA calibration becomes unfeasible.