In automotive mrr demo dss_main.c,
The function convertSNRdBtoThreshold is called in MmwDemo_populateMRR as:
/*! @brief CFAR thresholds are varied as a function of range */ obj->SNRThresholds[0].rangelim = (uint16_t) (6.0f * (float)(1U << obj->xyzOutputQFormat)); obj->SNRThresholds[0].threshold = convertSNRdBtoThreshold(1, 16.0f, CFARTHRESHOLD_N_BIT_FRAC);
The first parameter is 1.
But the description of the function convertSNRdBtoThreshold says the first parameter is the number of virtual antennas.
/** * @b Description * @n * Converts an SNR (in dB) to an SNR Threshold that the CFAR algo * can use. * @param[in] number of integrations in the detection matrix * Typically the number of virtual antennas * @param[in] Threshold in dB (float) * * @retval * Threshold for CFAR algorithm. */ uint16_t convertSNRdBtoThreshold(uint16_t numInteg, float ThresholdIndB,uint16_t bitwidth) { float scaleFac = (float) ((1 << bitwidth) * numInteg); float convertFrom_10Log10_to_20Log2 = ThresholdIndB * (1.0f / 6.0f); return (uint16_t) (scaleFac * convertFrom_10Log10_to_20Log2); }
In the AWR1843Boost, the number of virtual antennas is 3*4 = 12.
Should I change the value of 1st parameter to 12 instead of 1?
Kind regards