DSP-AOA DPU
DSP-AOA 高级数据流
AOA DPU的源代码见 :mmwave_sdk_<ver>\packages\ti\datapath\dpc\dpu\aoaproc
API的文档放置在:mmwave_sdk_<ver>\packages\ti\datapath\dpc\dpu\aoaproc\docs\doxygen\html\index.html.
此DPU对其输入参数有以下限制:numDopplerChirps的数量不需要是2的幂,但必须是4的倍数;numDopplerBins必须是二的幂并大于或等于numDopplerChirps,且由于DSPLIB对FFT实现的限制numDopplerBins必须至少为16。
1 DPU实现的详细信息
AoA DSP DPU在循环中处理来自输入CFAR检测列表的数据。对于CFAR检测列表中的每个对象,DPU执行以下操作:
1.1 输入数据
CFAR检测列表确定应针对给定对象处理的距离仓。EDMA用于将数据从雷达立方体移动到DPU暂存缓冲区。使用乒乓缓冲方案,其中在每次迭代(乒乓)中,从雷达立方体矩阵中提取与一个虚拟天线(对于给定的距离仓)相关的数据进行处理。
1.2 静态杂波消除
启用静态杂波消除后,将从样本中减去多普勒FFT输入样本的平均值。
1.3 窗口化
在2D FFT操作之前,输入样本乘以实数对称窗口函数,窗口大小和系数由 DPU_AoAProcDSP_HW_Resourc提供。此处应使用用于DSP多普勒DPU的相同窗口,请注意,窗口函数还执行IQ交换。在窗口化之前,样品的格式与雷达立方体中的格式相同,即cmplx16ImRe_t,窗口化后输出为cmplx32ReIm_t格式。
1.4 2D FFT
计算2D FFT,FFT的输出具有cmplx32ReIm_t类型的numDopplerBins样本。CFAR检测列表确定应存储哪个多普勒仓,其他仓将被丢弃。
1.5 重复所有虚拟天线
重复上述步骤,在进入下一步之前,将对给定距离仓的所有虚拟天线重复上述步骤。
1.6 多普勒补偿
多普勒校正是在属于TX1和TX2天线的符号上完成的。
1.7 BPM解码
如果启用了BPM,则解码BPM。
1.8 RX通道相位补偿
执行RX通道相位补偿。
1.9 计算估计到达角
方位角FFT,计算仰角FFT。这些FFT是AoAProcDSP_angleEstimationAzimElev的输入,计算目标的x/y/z坐标。
1.10 3TX-4RX TDM-MIMO(无BPM)的详细框图
下图详细描述了3 TX和4RX天线(无 BPM)的 DPU 实现。
3 TX 4 RX TDM-MIMO(无 BPM)的DSP-AOA详细实现
2 方位角热图准备
除了AoA估计外,该DPU还生成用于计算方位角热图的数据(例如用于可视化目的),该数据是每个距离箱的相位补偿多普勒箱 0(静态物体)输出的2D FFT。以下是方位角热图准备的详细信息。
2.1 输入数据
EDMA用于将数据从雷达立方体移动到DPU暂存缓冲区。
使用乒乓缓冲器方案,在每次迭代(乒乓)中,从雷达立方体矩阵中获取与一个虚拟天线(对于给定范围箱)相关的数据进行处理。
2.2 静态杂波消除
启用静态杂波消除后,将从样本中减去多普勒 FFT 输入样本的平均值。
2.3 BPM 解码
如果启用了BPM,则解码BPM。
2.4 多普勒箱零
计算多普勒箱零,请注意,只需要bin zero。
2.5 RX通道相位补偿
执行RX通道相位补偿。
2.6 对所有范围箱的所有方位角虚拟天线重复上述步骤
对所有范围箱的所有方位角虚拟天线重复上述步骤,请注意,不会处理与仰角虚拟天线相关的数据。
下图描述了3TX和4RX天线的热图计算。
DSP-AOA方位角热图计算
3 启用BPM时AoA DSP DPU会更改
启用BPM后,将在AoA DSP DPU处理中进行以下更改:
对于AoA估计,BPM解码在多普勒补偿后完成。下图描述了启用BPM时的DPU实现。
BPM方案天线配置
4 AoAProcDSP API
DPU_AoAProcDSP_init-DPU初始化函数。
DPU_AoAProcDSP_config-DPU配置功能。只有在使用DPU_AoAProcDSP_init初始化DPU后才能完成配置。
DPU_AoAProcDSP_process-DPU处理功能对给定帧中检测到的对象执行AoA估计。只有在配置DPU后才能完成此处理。
DPU_AoAProcDSP_control - DPU控制功能。它处理来自DPC的以下消息:
DPU_AoAProcDSP_Cmd_FovAoACfg,
DPU_AoAProcDSP_Cmd_MultiObjBeamFormingCfg,
DPU_AoAProcDSP_Cmd_CompRxChannelBiasCfg,
DPU_AoAProcDSP_Cmd_PrepareRangeAzimuthHeatMap,
DPU_AoAProcDSP_Cmd_staticClutterCfg
DPU_AoAProcDSP_Cmd_ExtMaxVelocityCfg
完整的API详细信息可在aoaProc DPU外部查看
5 AoAProcDSP和AoAProcHW的通用部分
以下部分是AoAProcDSP和AoAProcHWA的常见部分
多普勒补偿
多普勒补偿功能(aoaHwa_dopplerCompensation或AoAProcDSP_dopplerCompensation)由CPU在Rx通道相位/增益补偿后完成。它对与虚拟Rx天线对应的符号进行多普勒相移补偿。在2Tx MIMO方案的情况下,将第二组Rx符号旋转与相同Tx天线对应的后续啁啾之间的估计多普勒相移的一半。在3Tx MIMO仰升方案的情况下,第二组Rx符号旋转了估计多普勒相移的1/3,而第三组Rx符号旋转了估计多普勒相移的 2/3。请参阅下面的图片。
Figure_doppler:多普勒补偿
6 扩展的最大速度功能
在TDM-MIMO方案中,角度分辨率随着Rx虚拟天线阵列长度的增加而增加,但最大无明确径向速度Vmax与Tx天线数量成比例地减小,如下图所示。
TDM-MIMO中不同数量的Tx天线的最大明确速度,假设每个方案中的配置文件配置相同
对于超过Vmax的目标速度,多普勒测量值是混叠的。如下图所示,对于3Tx TDM-MIMO,其中多个实际速度可以折叠成相同的混叠速度。
超出Vmax的不同实际速度折叠成相同混叠速度的示例
最大速度扩展方法基于角FFT中的最大峰值。它包括以下步骤:
(1)计算相变 ,其中
是多普勒检测指数。
(2)检验 假设
,
.对于每个假设,计算相变
。
-
- 对于偶数
- 对于偶数
-
- 对于奇数
- 对于奇数
下图说明了在3Tx TDM-MIMO 3中基于测得 的假设相变
。
基于实测相位偏移的不同假设下的多普勒相位偏移
(3)在 虚拟Rx天线上应用多普勒校正:
(4)计算每个 方
位角频谱
并找到峰值。
(5)求m = argmax ,
(6)使用以下数据完成方位角估计
可以使用cli命令启用/禁用扩展的最大速度功能:extendedMaxVelocity。启用该功能后,本地核心对所有可能的假设执行多普勒补偿,对2Tx执行2个假设,对3Tx天线TDM MIMO方案执行3个假设。HWA计算所有假设的FFT,在局部核心中,根据幅度平方输出中的最大峰值选择一个假设。
扩展最大速度算法的局限性
当单个目标出现在距离/多普勒箱中时,该算法运行良好。但是,它可能会在同一距离/多普勒箱中的多个目标中失败。当多个目标处于同一距离和不同的速度被包裹到同一个多普勒箱时,它也会失败。
7 数据路径-到达方向估计(x,y,z)
此处理在函数AoAProcHWA_angleEstimationAzimElev或AoAProcDSP_angleEstimationAzimElev的CPU上完成。每个检测到的对象的实际计算由AoAProcHWA_XYZestimation或AoAProcDSP_XYZestimation执行。
图A:坐标几何图形
图wz
图wx
图A显示x、y、z轴相对于传感器/天线位置的方向。目的是估计每个检测到的物体的 (x,y,z)坐标。 是二维FFT连续接收方位天线之间的相位差,
是方位角天线上方的相位角与相应仰角天线之间的相位差。每个天线的相位显示在图多普勒补偿中。图wz表明,与连续仰角天线相交的波前之间的相对距离的距离AB为
。因此
,
。请注意,与上部天线相比,下部天线的相位更先进,这就是为什么图片X在上部天线中显示Wz项的原因。图wx表明,与连续方位角天线相交的波前之间的相对距离的距离CD,因此
,
。对于单个障碍物,8个方位角天线上的信号将为(
并且
是第一个天线上的任意起始幅度/相位):
上述信号的FFT将产生一个 峰值
,该峰值的相位为
即
如果 是以对数幅度FFT表示为范围
中的有符号索引的峰值的索引,则
4个仰角天线的信号将是:
上述信号的FFT将产生一个峰值 ,该峰值的相位为
。
从上面看,
因此
计算范围(以米为单位)为:
其中,c是光速(m/sec), 是距离指数,
是采样频率(Hz),
是啁啾斜率(Hz/sec),
是一维FFT大小。根据上面对
和
的计算,可以计算出物体
的位置,如图A所示,
计算结果以及每个检测到的对象的多普勒值将填充在输出列表中,结构为 DPIF_PointCloudCartesian_t。
如果启用了多目标波束形成功能(可以从CLI动态控制),则算法会在方位角FFT输出中搜索第二个峰值,并将其相对于第一个峰值高度的高度进行比较,如果检测到,则在输出列表中创建具有相同多普勒值的新对象并计算(x,y,z)坐标。
8 根据FoV限值消除检测到的物体
AoA DPU过滤掉方位角 、 仰角
不在配置的FoV限制内的检测到的物体。DPU接收以下FoV参数:
_仰角 FoV 限制
_方位角 FoV 限制
DPU 直接从方位角 FFT 输出数据进行计算
,其中
根据上一节的方程式,以下内容成立
由于正弦在-90度、90度的最大可能范围内是单调递增函数,因此仰角 FoV限制可以
按如下方式检查
由于 在
中不是单调的,而在
中是单调的,因此可以在计算
后通过检查
来检查方位角
限制。
其中 ,注意,
、
和
,
是在配置时预先计算的,并存储在dpu的实例(DPU_AoAProc_fovAoaLocalCfg_t)中,以便在上述实时限制检查中使用。检查极限
和
的蛮力方法是直接计算,这涉及两个正弦逆,一个余弦和一个除法,这在计算上比上述方法更昂贵。