Part Number: IWR6843ISK
Other Parts Discussed in Thread: DCA1000EVM,
Hi Team,
Posting on behalf of our customer.
Hardware / setup:
- Radar EVM: IWR6843ISK
- Capture board: DCA1000EVM
- Host OS: Windows
- Data path: DCA1000 Ethernet UDP raw ADC stream
- Control path: CLI UART
- Processing: Python host-side pipeline
- Frame rate: approximately 10 FPS
- Sensor configuration: attached / linked below
Project summary:
Our current implementation can receive raw ADC data, build the radar cube, generate RDI/RAI outputs, detect moving targets, and track people in simple walking scenarios. However, the system is still at a prototype/research level and is not yet robust enough for production-like use.
The main issues we are trying to understand are:
- Ghost or limb-related angle peaks
- Track instability in multi-person or close-target scenarios
- Merging two nearby people into one detection
- Separating DCA1000 transport-quality problems from actual detection/tracking failures
- Validating whether our intermediate processing stages are aligned with TI reference processing
Our current pipeline design:
1. Receive DCA1000 UDP packets and reconstruct raw ADC frames.
2. Build the radar cube and apply static clutter removal.
3. Generate Range-Doppler Image and Range-Angle Image.
4. Use Range-Doppler CFAR peaks as the first detection anchors.
5. Use Range-Angle information mainly for validation and coordinate refinement, rather than trusting the strongest angle peak directly.
6. Apply local blob-center refinement because the strongest reflection is often not the physical body center.
7. Apply candidate merge / adaptive DBSCAN.
8. Use Kalman-based tracking with policies for birth suppression, soft gating, and display ID stitching.
9. Log stage-wise traces so the same raw capture can be replayed and compared after algorithm changes.
Questions:
1. In our host-side Python pipeline, we use Range-Doppler CFAR peaks as stable anchors and then use Range-Angle information for validation/refinement. For people tracking on IWR6843ISK, under what scenarios would this RD-first approach be expected to fail, especially for slow, near-stationary, or closely spaced people?
2. We observed that a collapsed Range-Angle map can sometimes select a strong limb or ghost peak, while using the Doppler slice associated with the RD seed gives more stable localization. Is this a reasonable diagnostic or processing strategy, or could it hide errors from TDM-MIMO phase compensation, virtual antenna ordering, or angle processing?
3. In our results, the strongest reflection point is often not the body center. We therefore refine the candidate using a local Range-Angle patch and a weighted blob-center estimate. Are there recommended TI validation scenes, reference outputs, or evaluation methods to determine whether this refinement is improving body-center localization rather than simply smoothing an error?
4. We added an object-count estimation step before final merge/DBSCAN to prevent two nearby people from being merged into one detection. What validation scenario would TI recommend to tune the trade-off between suppressing duplicate ghost candidates and preserving two close physical targets?
5. Because we process DCA1000 UDP packets directly on the host, we mark frames with sequence gaps or byte mismatches and block new track births on invalid frames. Is this a reasonable way to separate transport-quality failures from detection/tracking failures? What transport health metrics should be reported when evaluating algorithm performance?
6. To compare our custom Python pipeline with TI reference processing, should we compare only the final point cloud/tracks, or should we also compare intermediate artifacts such as radar cube consistency, RD heatmap peaks, RA heatmap peaks, CFAR candidate counts, and tracker input counts? Which intermediate level is most meaningful for debugging custom raw-ADC processing?
I understand that TI may not be able to debug a full custom algorithm. I am mainly trying to confirm whether our validation approach and failure analysis are reasonable, and which TI reference outputs or test procedures would be best for comparing a custom raw-ADC pipeline against expected behavior.
Links / attachments:
- Sensor configuration file:
- GitHub repository : https://github.com/deepblue21zin/radar-DCA1000-refactor
- Example failure case: two nearby people in a close-target / crossing scenario are sometimes merged into one displayed track even when the DCA1000 transport health metrics are clean.
Thank you for your help.
Regards,
Danilo