你好,
程序是PA_18XX,如果不使用多普勒维度FFT,直接将实部和虚部转换为浮点数,这么改有什么不对吗?运行CFAR时检测点高达145个,原来只有十几个,
如果这样更改存在数据上的错误,有什么建议吗
for (rangeIdx = 0; rangeIdx < obj->numRangeBins; rangeIdx++) { //鎸夌収璺濈缁村皢鏁版嵁浠ワ紙铏氭嫙澶╃嚎*澶氭櫘鍕掍粨锛夊皢鏁版嵁浠巖adarCube鎼繍鍒版殏瀛樹箳涔撶紦瀛樺尯 copyBlock((uint32_t *)&obj->radarCube[rangeIdx * obj->numVirtualAntennas * obj->numDopplerBins], (uint32_t *)&obj->dstPingPong[0], obj->numDopplerBins * obj->numVirtualAntennas); radarDopplerProcessRun(obj->radarProcessHandle, (cplx16_t *) &obj->dstPingPong[0], (float *) obj->dopplerProcOut[PING]); //闂撮殧璺濈浠撲紶閫佸鏅嫆浠� 鐢ㄤ簬璺濈閫熷害鐑浘 copyTranspose((uint32_t *)obj->dopplerProcOut[PING], (uint32_t *)&(obj->radarProcConfig.heatMapMem[rangeIdx]), obj->numDopplerBins, 0, obj->numRangeBins, 1); } uint8_t radarDopplerProcessRun(void *handle, cplx16_t * pDataIn, float *pDataOut) { radarProcessInstance_t *processInst = (radarProcessInstance_t *)handle; int32_t i,j; float *tempDataOut; tempDataOut=pDataOut; for (j = 0; j < processInst->nRxAnt; j++)//虚拟天线个数 { //按照天线维度将(虚拟天线*多普勒仓)数据展开 // processInst->dopplerInput->dopplerProcInput[j] = (void * )&pDataIn[j * processInst->fftSize2D]; pDataOut=tempDataOut;//累加四个天线的数据,并转换为float for( i = 0; i <((int32_t)processInst->fftSize2D - 1); i++) { *pDataOut += (float)pDataIn[j * processInst->fftSize2D].real; pDataOut++; *pDataOut += (float)pDataIn[j * processInst->fftSize2D].imag; pDataOut++; pDataIn++; } } // /*输入标志,指示调用模块仅用于重新生成 2DFFT 输出目的。*/ // processInst->dopplerInput->reGen2DFFTout4AoAFlag = 0; // /*输入标志,用于启用TDM MIMO的多普勒补偿(如果设置为1), // * 并且如果reGen2DFFTout4AoAFlag设置为1*/ // processInst->dopplerInput->dopplerComp4TDMMimo = 0; // // processInst->dopplerProcErrorCode = RADARDEMO_dopplerProc_run( // processInst->dopplerFFInstance, // processInst->dopplerInput, // pDataOut); // return((uint8_t)processInst->dopplerProcErrorCode); }