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.

IWR6843ISK: how to interpret the SNR of point cloud in the output

Part Number: IWR6843ISK

Hi

In the out of box lab, SNR output has the tyoe of int16_t in DPIF_PointCloudSideInfo_t. How shall I interpret the integer SNR and relate it to the regular SNR?

Thanks!

Kai 

  • Hi Kai,

    The SNR value in PointCloudSideInfo is derived by converting the peak value of the corresponding detected object to log10 value in dB using the following equation:

    SNR dB = 10 * [ peakVal * 20log10(2) / 2^Qformat ]

    The formula is defined in the following file: C:\ti\mmwave_sdk_03_03_00_03\packages\ti\datapath\dpc\dpu\cfarcaproc\cfarcaproccommon.h as shown below:

    /*! @brief Convert peak/noise value to log10 value in 0.1dB
    
    Since, val = log2(|.|)* 2^Qformat = log10(|.|) / log10(2) * 2^Qformat
    Equation: output = 1/0.1 * 10log10(|.|^2) = 10 * [ val * 20log10(2) / 2^Qformat ] = val * 6.0 / 2^Qformat * 10
    */
    #define CFARCADSP_CONV_PEAK_TO_LOG(val, QFormat) (val * 6.0 /(float)(1<<QFormat) * 10.0)


    You can refer to the cfarcaproc DPU code in functions CFARCADSP_processRangeDomain and CFARCADSP_processDopplerDomain to look at how these values are computed and populated in the output structure.

    Regards

    -Nitin

  • Hi Nitin

    Based on your equation SNR dB = 10 * [ peakVal * 20log10(2) / 2^Qformat ], SNR should be a float variable rather than an integer variable, shouldn't it?

    Thanks!

    Kai

  • Hi Kai,

    The SNR value is returned in steps of 0.1 dB as mentioned in the calculation above, hence it is output as an integer.

    Regards

    -Nitin