Hi,
In mmwave_mcuplus_sdk_04_02_00_03\ti\datapath\dpc\dpu\dopplerprocDDMA\src\dopplerprochwaDDMA.c, we can find below code in DPU_DopplerProcHWA_configHwaCFARAzimFFT(). We know the input formatter of local max is 32-bit complex data.
hwaParamCfg[paramsetIdx].source.srcRealComplex = 0; /* Fixed for Local Max */
hwaParamCfg[paramsetIdx].source.srcWidth = HWA_SAMPLES_WIDTH_32BIT; /* Fixed for Local Max */
hwaParamCfg[paramsetIdx].source.srcSign = obj->cfarAzimFFTCfg.localMaxIOCfg.input.isSigned;
hwaParamCfg[paramsetIdx].source.srcConjugate = 0;
hwaParamCfg[paramsetIdx].source.srcScale = 0;
But in DPU_DopplerProcHWA_config(), we found input data format of local max is 16-bit real data.
obj->cfarAzimFFTCfg.azimFFTIOCfg.output.bytesPerSample = sizeof(uint16_t);
...
obj->cfarAzimFFTCfg.localMaxIOCfg.input.isReal = 1;
obj->cfarAzimFFTCfg.localMaxIOCfg.input.bytesPerSample = obj->cfarAzimFFTCfg.azimFFTIOCfg.output.bytesPerSample;
obj->cfarAzimFFTCfg.localMaxIOCfg.input.isSigned = obj->cfarAzimFFTCfg.azimFFTIOCfg.output.isSigned;
The input formatter setting of local max and real local max input data format are different. This confused me and my customer. Would you pls kindly check and explain?
Is the input formatter of local max setting to 32-bit complex data to let the HW to do get 4 16-bit data one time? Is this the reason to fetch 3x4 matrix though using 3x3 matrix in local max?
Thanks,
Chris