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.

IWR6843AOPEVM: CFAR

Part Number: IWR6843AOPEVM

In the 1-pass process, when the unit under test is at a close distance, the values of LEFTPOWER and RIGHTPOWER are all the cells on the right side of the unit to be detected. Why is this calculation?

  • Hi,

    I'm not sure what code/algorithm you're referring to here, but sometimes we may only use the cells on the right hand side of the cell under test for comparison if the cell is at the front-left side of the array (when there are not enough cells to the left of it to compare with). Does that help answer your question?

    Best,

    Nate

  • Thank you very much for your reply. Please allow me to describe my problem in more detail.

    What is described here is the code of cfar detection in 3D PEOPLE COUNTING“RADARDEMO_detectionCFAR_priv.c”. Have you seen it?

    When processing  front-left side of the array,the program still calculates LEFTPOWER and RIGHTPOWER and compares them. However, I do not understand the value taking strategy of LEFTPOWER window and RIGHTPOWER window.

    For example, in 3D people counting, the discarded cells are 4, the guarded cells are 4, and the reference cells are 8. When the 5th cell is UCT, LEFTPOWER is the sum of the energies of the 9th, 11th, 13th, and 15th cells, and rightPOWER is the sum of the energies of the 11th, 13th, and 17th cells. Therefore, it is essentially a comparison between the energies of the 9th and 17th cells. I don't understand why this strategy is adopted.

  • RADARDEMO_detectionCFAR_priv.c is 2600 lines long with many CFAR options. Please tell me the specific line that you're referring to.

    Best,

    Nate

  • OK.Next, I will describe the relevant code and questions in detail.

    You can look at lines 1145 to 1226 of the RADARDEMO_detectionCFAR_priv.c.Based on these lines of code, I draw the following diagram.The first three pictures show the schematic diagram of the for loop sliding window.The first case is 1145 to 1167, the second case is 1168 to 1186, the third case is 1187 to 1205, and the fourth case is 1208 to 1226. It doesn't matter if you can't understand these three pictures.

    The fourth picture shows the cells used for LEFTPOWER and RIGHTPOWER calculation at the key index.I hope to reach an agreement on the calculation of these key cells

    When k(CUT) is 4, LEFTPOWER contains the energy of the 8th, 10th, 12th and 14th cells, and RIGHTPOWER contains the energy of the 10th, 12th, 14th and 16th cells. Here, it is substantially a comparison between the energies of the 8th and 16th cells I don't understand why this strategy is adopted.

    For the convenience of expression,+i represents the energy added to the ith cell, and - i represents the energy subtracted from the ith cell.

    When k is 8, LEFTPOWER=[- 9, - 11,+12,+14,+16,+17,+18,+19], and RIGHTPOWER=[- 9, - 11,+14,+16,+17,+18,+19,+20].

    When k is 16, LEFTPOWER=[+4,+5,+6,+7,+8,+10, - 13, - 15], RIGHTPOWER=[- 9, - 11, - 13, - 15,+21,+22,+23,+24,+25,+26,+27,+28]

    This is inconsistent with the principle description of CASO-CFAR algorithm. Can you tell me why it is calculated in this way?

  • Hi,

    Why do you skip every other cell in the LEFTPOWER and RIGHTPOWER calculation? We increment with a k++ each time.

    Best,

    Nate

  • Hello.Please look at line 1145 of RADARDEMO_detectionCFAR_priv.c.

    " for ( k = (int32_t) detectionCFARInst -> leftSkipSize + guardSize ; k < (int32_t) detectionCFARInst -> leftSkipSize + totalWinSize ;  k+=2)

    {

    ......

    }"

  • What toolbox version are you using? Those lines do not correspond to toolbox 4.12.

    However, I think those increment by two because the DSP has functions that optimize to multiply/divide two numbers at once. I'd be willing to bet there are functions like _lof2 and _hif2 that separate out the two values that are multiplied/divided together.

    Best,
    Nate