静电杂波清除 DPU(Static Clutter Removal DPU)
rangeproc DPU的源代码见:ti\mmwave_sdk_03_05_00_04\packages\ti\datapath\dpu\rangeproc\src
API的文档放置在:ti\mmwave_sdk_03_05_00_04\packages\ti\datapath\dpu\rangeproc\docs\doxygen\html\index.htm
1 该DPU通过以下方式实现静态杂波消除
对于每个范围箱,每个天线,计算样本的平均值并从样本中减去。如果需要,减法运算会饱和(无溢出)。如果直接在L3内存空间上执行,则由于R4F或DSP内核的内存访问速度较慢,因此静态杂波消除实现的成本很高。因此,DPU将使用EDMA将来自雷达立方体(从L3分配的)的数据带入应用程序DPU_StaticClutterProc_ScratchBuf提供的暂存缓冲区。暂存缓冲器应从内部存储器中分配(R4F为TCMB,DSP为L1/L2 SRAM)。然后,在暂存缓冲器上执行静态杂波清除,并通过EDMA将数据从暂存缓冲区移回雷达立方体。
下图显示了 DPU 实现的高级框图。
静电杂波清除高级框图静电杂波清除高级框图
2 DPU外部进程函数
该算法以乒乓方式执行,以并行化EDMA传输和算法计算。所有硬件资源(EDMA属性)、缓冲区和静态配置均由应用程序通过DPU_StaticClutterProc_config提供。该DPU需要将具有1D FFT数据的雷达立方体作为输入。下图详细描述了3个TX和4RX天线的 DPU实现。
静态杂波清除DPU实现
DPU初始化是通过 DPU_StaticClutterProc_init完成的。DPU配置由DPU_StaticClutterProc_config完成。只有在使用 DPU_StaticClutterProc_init初始化DPU后,才能完成配置。
DPU处理由DPU_StaticClutterProc_process完成。这将在整个雷达立方体上执行静态杂波消除算法。只有在通过DPU_StaticClutterProc_config配置DPU后,才能完成此处理。如果DPU_StaticClutterProc_config使用的参数从一个帧到下一个帧没有变化,则DPU_StaticClutterProc_config只调用一次,对于第一帧和其他帧,DPU_StaticClutterProc_process无需重新配置 DPU 即可执行。