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.
工具/软件:Code Composer Studio
您好!
SDK3.2中的 DSP 模式按函数 DPU_DopplerProcDSP_log2AbsAccum (例如、3Tx 天线、4Rx 天线)中的如下方式计算 detmatrix:
静态内联空 DPU_DopplerProcDSP_log2AbsAccum
(
DPU_DopplerProcDSP_Obj * obj、
uint16_t rxAntIdx、
uint16_t txAntIdx、
uint16_t rangeIdx、
uint32_t *等待时间,
uint16_t fftOutIndx
)
{
volatile uint32_t startTimeWait;
uint32_t idx;
uint16_t * log2AbsBuf =(uint16_t *) obj->cfg.hwRes.windowingLog2AbsBuf;
mmwavelib 逻辑2Abs32 (
(int32_t *)&obj->cfg.hwRes.fftOutBuf[fftOutIndx]、
Log2AbsBuf、
obj->cfg.staticCfg.numDopplerBins);
/*检查这是否是此距离 bin 的第一个虚拟天线*/
如果((rxAntIdx =0)&&(txAntIdx =0))
{
/*这是第一个虚拟天线。 开始一个新的总和。 *
如果(rangeIdx>0)
{
/*检查先前 的 sumAbsBuf 是否已传输*/
startTimeWait =循环分析器_getTimeStamp();
DPU_DopplerProcDSP_waitTransDetMatrix (OBJ);
waitingtime += Cycleprofiler_getTimeStamp()- startTimeWait;
}
/*开始新总和*/
对于(idx = 0;idx < obj->cfg.staticCfg.numDopplerBins;idx++)
{
obj->cfg.hwRes.sumAbsBuf[idx]= log2AbsBuf[idx]>> obj->log2VirtAnt;
}
}
其他
{
/*不是第一个虚拟天线。 累加。*/
mmwavelib_accum16shift (log2AbsBuf、
obj->cfg.hwRes.sumAbsBuf、
obj->log2VirtAnt、
obj->cfg.staticCfg.numDopplerBins);
}
}
在此函数中,调用函数 mmwavelib _accum16shift。detmatrix 中的元素等于 sum (abs(Xi)>>4),i=0:11。
CFAR 步骤中的阈值 TDB 推导为以下值:
由于在函数 MmwDemo_CLICfarCfg、MMWDEMO_CFAR_THRESHOLD_encoding_factor=100.0中、配置参数 argv[8]应为 32/100*TDB.也就是说、如果阈值 TDB=15、argv[8]=32*15/100=4.8。
我不知道我的理解是否正确。
此致、
按比例
您好!
请查看代码实施。
如果需要、请在 MATLAB 中实施并进行仿真。
我们无法提供其他支持。
谢谢你
Cesar