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
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.
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 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