Setup
- Initiator: nRF54L15 DK, 1 antenna, NCS v3.3.1
- Reflector: custom nRF54L15 board ("tag"), 2 antennas at 2.5 cm spacing, 2 CS antenna paths
- We compute the per-channel phase difference between antenna paths AP0/AP1 from the CS step data on the initiator (circular mean over ~70 channels, then 60 s averaging; per-point statistical error < 0.01 rad)
What we observed
On the v3.3.1 release SDC, the inter-path phase difference Δφ tracked the tag rotation angle θ with a usable ~2 rad swing across ±90°, and repeatable bearing estimates near boresight were possible (we noted the swing exceeded the ideal 2-element model by ~36%, so we suspected extra path-dependent phase even then).
On a dev SDC containing the DRGN-29459 fix ("controller, acting as a CS Reflector, would shift the CS tone phase incorrectly when IPT feature was used with multiple antenna paths"), a full single-session rotation scan gives a completely different Δφ(θ):
| θ | −60° | −30° | 0° | +30° | +50° | +60° | +70° | +90° |
|---|---|---|---|---|---|---|---|---|
| Δφ (rad) | −2.54 | −0.29 | 0 | +0.15 | +0.41 | +2.97 | +2.98 | +3.08 |
i.e. within ±50° the swing is compressed to ~0.4 rad total, and beyond ~±55° Δφ jumps to ≈ ±π and saturates. Each point is highly repeatable within the session (R > 0.99).
Questions
- After DRGN-29459, what is the intended phase relationship between antenna paths as seen by the initiator? Is the reflector now expected to present phase-continuous tones across the antenna-path switch, such that the tag-side geometric phase difference between its antennas is (by design) no longer observable in the inter-path phase?
- If yes — is there any supported way to recover per-path phase referenced to each physical antenna (for AoA-style processing on a 2-antenna reflector), or is the CS antenna-path mechanism strictly specified for ranging only?
- If no — i.e., geometric phase differences should survive the fix — what could produce the compressed-then-saturating curve above? (e.g., antenna switch timing/configuration requirements that changed with the fix?)
- Is the ≈ ±π two-state behavior beyond ±55° expected from anything in the controller, or should we attribute it to board-level effects (antenna directivity/shadowing)?
We can share raw per-channel data if useful.