Part Number:AWRL1432
您好,我目前在開發二階段CFAR根據不同的距離使用不同的CFAR參數,但現在遇到一個問題是我已經設定兩組CFAR參數了,並且分兩次實作DPU_CFARProcHWA_process,但我發現我僅有第一次CFAR會產生點雲,第二次的CFAR卻沒有輸出點雲,我想請問我應該怎們處理呢?
mmwave_demo.c
Vivian Gao:
您似乎正在更新mmwave L-SDK中包含的mmwave演示。您是否试图根据距离修改代码以支持2个不同的CFAR阈值?从概念上讲,根据范围,您将使用不同的阈值运行CFAR。需要修改代码以支持此功能。
,
? ??:
Hi Vivian,
我目前嘗試使用CFARProcHWA進行運算,並且與原有程式相同針對多次CFAR進行設定,但目前遇到的問題是CFAR僅有第一段CFAR有輸出,但第二段卻沒有任何反應,我想請問我是否能夠如此開發呢?
,
Vivian Gao:
不,这种方法行不通让我回顾一下,然后给你回复
,
Vivian Gao:
为了支持此功能,您需要对CFAR DPU进行一些更改
C:\\awrl1432_adas_bsd_demo_v4.1\src\1432\datapath\dpu\cfarproc\v0\vmaxext_cfarprochwa.c
请参阅第1339行,并与下面的代码进行比较。
/* Check the point in range-CFAR detection bit map */
linBitInd = dopplerIdx + rangeIdx * numDopplerBinsPerBand;
wordInd = linBitInd >> 5;
bitInd = linBitInd & 31;
if (!((cfarHwaObj->res.rangeDopplerDetPointBitMap[wordInd] >> bitInd) & 0x1))
{
continue;
}if (isDetMatLog2)
{
cfarCellNoise = noiseMatrixLog2[rangeIdx * numDopplerBinsPerBand + dopplerIdx];
}
else
{
cfarCellNoise = noiseMatrix[rangeIdx * numDopplerBinsPerBand + dopplerIdx];
}
if (rangeIdx < RANGE_SETTING_THRESHOLD_1)
{
int32_t sigPower = detMat[rangeIdx * numDopplerBinsPerBand + dopplerIdx];
int32_t SNR = (int32_t)sigPower – (int32_t)cfarCellNoise;
if (SNR > SNR_SETTING_THRESHOLD_1)
{
// Let the object proceed
}
else
{
// discard the object
continue;
}
}/* Check if it is inside range FOV */
if ((rangeIdx < selRangeMin) || (rangeIdx > selRangeMax))
{
continue;
}
,
Vivian Gao:
RANGE_SETTING_THRESHOLD_1 is the value of the range that will be used for the short range threshold
,
? ??:
好的,感謝您的協助我將以此進行嘗試
TI中文支持网






