大家好、
在文件 C:\ti\mmwave_mcuplus_sdk_04_02_00_03\mmwave_mcuplus_sdk_04_02_00_03\ti\datapath\DPC\objectdetection\objdutthwaDDma\src\objectdetection.c 中
函数 DPC_ObjDET_estateXYZ
我们有以下代码,您能不能更详细地解释一下为什么这样做 “从累积分布中减去两个连续元素”?
谢谢。
DopIdx = detObjList[objIdx].dopIdx;
if (dopIdx > 0){
/*通过获取 Range CFAR 列表中子站的对象数
*从累积分布中减去两个连续元素*/
valSubBinObj = rangeCfarObjPerDopList[dopIdx]- rangeCfarObjPerDopList[dopIdx - 1];
cfarListStartIdx = rangeCfarObjPerDopList[dopIdx - 1];
}
否则{
/*对于第0个子纸槽,请勿执行减影*/
valSubBinObj = rangeCfarObjPerDopList[dopIdx];
cfarListStartIdx = 0;
}
/*如果子箱在范围 CFAR 列表中有有效的对象,请检查是否
也可以使用当前正在查看的*对象(来自多普勒 CFAR 列表)
列表中的*。 cfarListStartIdx 告诉我们从何处开始搜索中的
*范围 CFAR 列表和 valSubBinObj 告诉我们要搜索多少个元素。
*这可以节省计算时间。 *
if (valSubBinObj){
isValidObj = isObjInRangeAndDopplerList (detObjList[objIdx].rangeIdx、
detObjList[objIdx].dopIdx、
(RangeCfarListObj *)&subFrmObj->dpuCfg.rangeCfarCfg.res.rangeCfarList[cfarListStartIdx]、
ValSubBinObj);
if (isValidObj < 0){
RetVal = DPC_OBJECTDETECTION_RANGE_PLOPULL_NO_MATCH;
转到出口;
}
}
此致、
Wesley