TI MMWAVE SDK数据处理单元(DPU)DSP-AOA

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 启用BPMAoA 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 AoAProcDSPAoAProcHW的通用部分

以下部分是AoAProcDSP和AoAProcHWA的常见部分

多普勒补偿

多普勒补偿功能(aoaHwa_dopplerCompensationAoAProcDSP_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 数据路径-到达方向估计(xyz

此处理在函数AoAProcHWA_angleEstimationAzimElevAoAProcDSP_angleEstimationAzimElevCPU上完成。每个检测到的对象的实际计算由AoAProcHWA_XYZestimationAoAProcDSP_XYZestimation执行。

A:坐标几何图形

wz

图wx

A显示xyz轴相对于传感器/天线位置的方向。目的是估计每个检测到的物体的 xyz)坐标。 是二维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输出中搜索第二个峰值,并将其相对于第一个峰值高度的高度进行比较,如果检测到,则在输出列表中创建具有相同多普勒值的新对象并计算(xyz)坐标。

8 根据FoV限值消除检测到的物体

AoA DPU过滤掉方位角 、 仰角 不在配置的FoV限制内的检测到的物体。DPU接收以下FoV参数:

_仰角 FoV 限制

_方位角 FoV 限制

DPU   直接从方位角 FFT 输出数据进行计算 ,其中

根据上一节的方程式,以下内容成立

由于正弦在-90度、90度的最大可能范围内是单调递增函数,因此仰角   FoV限制可以 按如下方式检查

由于   在 中不是单调的,而在 中是单调的,因此可以在计算   后通过检查 来检查方位角 限制。

其中 ,注意, 是在配置时预先计算的,并存储在dpu的实例(DPU_AoAProc_fovAoaLocalCfg_t)中,以便在上述实时限制检查中使用。检查极限 的蛮力方法是直接计算,这涉及两个正弦逆,一个余弦和一个除法,这在计算上比上述方法更昂贵。

  • 13
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值