This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AWR1642: CFAR calculation using range-doppler heatmap

Part Number: AWR1642

Hello,

Using the following settings, I got the following "detected object" data and "range-doppler heatmap" data.
Regarding CFAR threshold (=6000), I think it means about 17.5dB.
(6*6000/256/8 Q8 format, number of Rx antenna is 8)


But calculating CFAR by using values picked up from range-doppler heatmap, SN is under the threshold.
But it was definitely detected because it is included in detected object data.
Is there something wrong?

guiMonitor -1 1 0 0 0 1 0        <- detected object and range-doppler heatmap
cfarCfg -1 1 0 7 3 4 0 6000    <- doppler direction

x, y, z, range index, doppler index, peak val
11.9375, 8.5625, 0.0, 15, 34, 107


excerpt from range-doppler heatmap

range Index→
doppler Index↓ . . . 12 13 14 15 16 17 18 . . .
22 26817 28041 27701 27492 25226 25122 26045   liner dB
23 27769 28158 27834 27604 26251 25434 25826 average of noiseWin 26602.9 77.9
24 27239 27403 26655 26626 26506 24928 26041 CUT 29587 86.7
25 27677 27467 27661 27279 26434 25781 26423 SN   8.74
26 27783 27674 28061 28303 27412 26551 26202
27 26569 26700 27552 27764 27236 26379 25318
28 26696 26738 26598 26996 27277 26212 25885
29 26567 27192 26353 25587 25176 26791 27092
30 26527 27132 26842 26621 25497 25450 24889
31 26803 26547 25880 26672 26175 25749 26354
32 26168 25778 25747 26914 26400 26165 25953
33 26485 26632 26936 27771 27515 25656 26362
34 27093 27246 28135 29587 29226 26761 25571
35 27977 27180 27473 28504 28302 26138 26509
36 27477 26386 25724 26156 26399 26599 27613
37 27533 26490 26520 26268 26985 26664 26092
38 26938 27580 26660 25741 26564 25448 25479
39 24986 26609 26667 25958 25239 25291 25585
40 27379 24655 26733 26753 27410 26075 25185
41 27412 26494 26542 26480 26623 26167 26177
42 26420 26404 25025 25511 26461 26890 25944
43 25989 26427 26698 26050 25412 26703 26843
44 25753 26660 27078 26772 26438 26593 26408
45 26068 26963 27018 25384 24592 25458 25735
46 27354 27440 27364 26765 25501 25038 25961
. . .
  • Hi,

    Please let us know if you are using sw released by TI or custom SW developed by your company.

    If you are using sw released by TI , please let us know what version

    thank you

    Cesar

  • Hi,

    I am using pre-built binary xwr16xx_mmw_demo.bin located in C:\ti\mmwave_sdk_02_01_00_04\packages\ti\demo\xwr16xx\mmw.

    SDK is 2.1.

    In order to extract "detected object" and "range-doppler heatmap" on UART, I am using our custom tool written in python.

    Regards,
    Kei

  • Please give me some time to review this with systems team

    thank you
    Cesar

  • Hi,

    The problem is in the setting of the cfarCfg command. The command used is

     

    cfarCfg -1 1 0 7 3 4 0 6000    <- doppler direction

     

    The length of the noise window is 7 (cfarCfg argument in yellow). This means 7 on the left side, plus 7 on the right side,  which gives 14 noise elements, but this is divided by 16, i.e. 2^4 (cfarCfg argument in red). Typically the length of the noise window should be power of 2, since the division in average calculation can only be a power of 2. In this case we are right shifting the sum of 14 elements by 4 (dividing by 16).

     

    So in this example, the SN is 18.48 (shown in yellow below), which is more than the threshold set to 17.5dB, and that’s why it is detected.

    So, you just need to increase the noise length to 8.

     

    cfarCfg -1 1 0 8 3 4 0 6000    <- doppler direction

    Thank you

    Cesar

  • Hi,

    Thank you for your answer. Now I understand.

    Regards,
    Kei