Hi all,
We’re running a 3-anchor TDoA setup (DW3000, CH5, PLEN_2048, STS off) and hitting a persistent issue where TDoA distances flip between two stable basins about 120cm apart. Within each basin, sigma is tight (5-6cm), but the output randomly jumps between the two. TWR on the same hardware is rock solid at ~2cm sigma.
We’ve spent a good amount of time narrowing this down and we’re fairly confident it’s on the tag RX side — specifically the CIA sub-sample interpolation. Here’s what we’ve ruled out so far:
-
Anchor TX timing — txd is constant across flip and non-flip samples
-
IP_NTM / IP_RTM tuning — tried several values, flip rate unchanged
-
PLL RX pre-buffer (CH5 phase fix) — no effect
-
DGC disabled — no effect
-
Channel 9 — same ~120cm flip
-
STS timestamps — Ipatov and STS flip independently
-
Two tags side by side — they flip independently, confirming tag-side RX
CIR readback around the first path shows a single broad direct-path peak with a strong multipath reflection at +5 to +6 samples. The CIA picks the same rising edge every time — the sub-sample interpolation within that edge is what seems to flip between two positions, about 270 ticks apart.
Is this a known behavior of the DW3000 CIA? Are there any register-level controls or configuration approaches we might be missing to stabilize the sub-sample estimate in the presence of close-in multipath? Or is host-side filtering the expected approach here?
Any pointers would be really appreciated. Thanks!