TI毫米波雷达DPM、DPC、mmWaveLib

1 数据路径管理器(DPM)

DPM是支持体系结构“可伸缩性”方面的基础层,这一层吸收了所有的消息传递复杂性(跨核心和内部核心),并为应用程序级别的集成以及集成任何“数据处理链”提供了标准的api。应用层将能够从任何域(MSS或DSS)调用DPM api,并控制“数据处理链”的配置和执行。DPM提供的api可在MSS和DSS上使用。它可以满足(但不限于)的各种部署:

·R4F上的数据路径控制和数据路径执行在R4F/HWA和DSP(分布式)之间分离

·R4F上的数据路径控制和数据路径执行在R4F上使用HWA (Local)

·R4F上的数据路径控制和数据路径执行在DSP上(带或不带HWA)(远程)

·数据路径控制在DSP上,数据路径执行在DSP+HWA (Local)上

·数据路径控制在DSP上,数据路径执行在DSP上(本地)

数据路径管理器(DPM) -内部软件设计

DPM的源代码在mmwave_sdk_<ver>\packages\ti\control\ DPM文件夹中。API的文档可通过doxygen获得,并放置在mmwave_sdk_<ver>\packages\ti\ control\dpm\docs\doxygen\html\index.html。在SYSBIOS之上运行的组件的单元测试代码也作为包的一部分提供:mmwave_sdk_<ver>\packages\ti\ control\dpm\test\。

2 数据处理链(DPC)

DPC是数据路径中的一个独立层,它封装了毫米波应用程序的所有数据处理需求,并为与应用程序集成提供了一个定义良好的接口。在SDK中,有一个参考实现对应于通用的“对象检测”链,它已经是过去版本中OOB演示的一部分,此链将符合标准DPM指定的API定义。在内部,这一层将使用数据处理单元(dpu)、数据路径接口和数据路径管理器(DPM)公开的功能来实现“对象检测”链所需的数据流。对象检测DPC的源代码位于mmwave_sdk_<ver>\packages\ti\datapath\ DPC \objectedetec文件夹中。API的文档放置在ti\mmwave_sdk_<ver>\packages\ti\datapath\dpc\objectdetection\objdetdsp\docs\doxygen\html文件中。

组件的单元测试代码,在SYSBIOS之上运行,也作为包mmwave_sdk_<ver>\packages\ti\datapath\dpc\objecte的一部分提供。

3 mmWaveLib

mmwavib是一个算法集合,提供了FMCW雷达立方体处理所需的基本功能。该组件仅适用于具有DSP/C674内核的毫米波器件,它包含仅针对C674 DSP架构的优化库例程。该组件不适用于R4F (MSS)。这些例程不封装任何数据移动/数据放置功能,而是应用程序代码负责将输入和输出缓冲区放置在正确的内存中(例如:L2),并根据需要使用EDMA进行数据移动。mmwaveLib的源代码位于mmwave_sdk_<ver>\packages\ti\alg\mmwaveLib文件夹中。该API的文档可通过位于mmwave_sdk_<ver>\packages\ti\alg\mmwave_sdk_\docs\doxygen\html\index.html的doxygen文件获得,该组件的单元测试代码,运行在SYSBIOS之上,也作为包的一部分提供: mmwave_sdk_<ver>\packages\ti\alg\mmwavelib\test\。

库支持的功能:

·提供FMCW雷达立方体处理所需的基本功能的算法集合

·加窗(16位复数输入,16位复数输出,16位加窗实数组)

·加窗(16位复数输入,32位复数输出,32位加窗实数组)

·32位复数的绝对值的Log2

·矢量运算(累加)

·CFAR-CA, CFAR-CASO, CFAR-CAGO(对数输入样本)

·长度为8的输入向量的16点FFT(其他FFT例程作为DSPLib的一部分提供)

·输入序列在一个特定索引处的单个DFT值

·32 × 32和16 × 16 fft的旋转表生成:优化了dsplib的等效函数,用于生成旋转因子

·FFT窗口系数生成

·生成DFT正弦/余弦表用于DFT单仓计算

·带窗的单仓DFT

·由于DSPLib中的大多数定点FFT函数只支持一种复杂类型的格式,因此使用I/Q交换窗口函数的变化

·CFAR算法

·浮点CFAR-CA:

·mmwavib_cfarfloat_caall支持CFAR单元平均、单元累积、SO、GO算法,输入信号为浮点格式

·mmwavib_cfarfloat_caall_opt实现了与mmwavib_cfarfloat_caall相同的功能,只是周期更少,但检测到的对象不会按升序排列

·mmwavib_cfarfloat_wrap实现了与mmwavib_cfarfloat_caall相同的功能,除了边缘样本的噪声样本是另一边缘的圆形样本

·mmwavib_cfarfloat_wrap_opt实现了与mmwavib_cfarfloat_wrap相同的功能,只是周期更少,但检测到的对象不会按升序排列

·CFAR- os:有序统计CFAR算法

·mmwaveib_cfaros接受定点输入数据(天线上累积的16位对数幅度),搜索窗口大小在编译时定义

·CFAR后处理的峰值加工

·mmwaveib_cfarpeakpruning:接受检测矩阵并将相邻的峰分组为一个

·mmwavib_cfarpeakqualifiedinorderpruning:接受CFAR检测到的对象列表,并将相邻的峰值分组为一个

·mmwavib_cfarpeakqualifiedpruning:与mmwavib_cfarpeakqualifiedorderpruning相同,但没有假设cfar检测到的峰值的顺序

·浮点AOA估计:

·mmwavib_aoaestbfsinglepeak实现了Bartlett波束形成算法,用于检测单个目标的AOA估计,并输出检测角度的方差

·mmwavib_aoaestbfsinglepeakdet实现了与mmwavib_aoaestbfsinglepeak相同的功能,但没有检测角度的方差输出

·mmwaveib_aoaestbfmultipeak也实现了Bartlett波束形成算法,但具有多个检测角度,它还输出每个检测角度的方差

·mmwavib_aoaestbfmultipeakdet实现了与mmwavib_aoaestbfmultipeak相同的功能,但没有每个检测角度的方差输出

·DBscan聚类:

·mmwavelib_dbscan实现了基于密度的应用空间聚类与噪声(DBSCAN)数据聚类算法

·mmwavelib_dbscan_skipfoundneib也实现了DBSCAN聚类算法,但是在扩展集群时,它会跳过已经找到的集群

·杂波清除:

·mmwavelib_vecsum:对16位复向量中的元素求和

·mmwavelib_vecsubc:从16位复向量的每个元素中减去const值

·窗口化:

·mmwavelib_windowing16xl6_evenlen:支持2的倍数长度(输入复杂元素的数量),mmwavib_windowing16x16支持8的倍数长度

·mmwavelib_windowing16x32:更新后支持4的倍数长度(输入复杂元素的数量),之前是8的倍数

·浮点窗口化:

·mmwavelib_windowing1dfltp:支持定点信号输入窗,和浮点信号输出窗,为1D FFT准备浮点数据

·mmwavelib_chirpprocwin2dfxdpinfltout, mmwavelib_dopplerprocwin2dfxdpinfltout:为2D FFT准备浮点数据,定点输入。不同之处是mmwavelib_chirpprocwin2dfxdpinfltout是每个芯片bin完成的,而mmwavelib_dopplerprocwin2dfxdpinfltout是每个多普勒bin完成的

·mmwavelib_windowing2dfltp:浮点信号输入,浮点信号输出窗口,为2D FFT准备浮点数据

·向量运算

·浮点和定点功率积累:积累信号功率,还提供了用于右移输出矢量以及累加的备用API

·直方图:mmwavelib_histogram右移无符号16位矢量并计算直方图

·对有符号16位矢量或有符号32位矢量进行右移操作

·mmwavelib_shiftright16将输入向量中的每个有符号16位元素右移k位

·mmwavelib _shiftright32将输入向量中的每个有符号32位元素右移k位

·mmwavelib _shiftright32to16右移32位向量到16位向量

·复数矢量元素乘法

·mmwavelib _vecmul16x16:将两个16位复向量逐个元素相乘,16位复数输出写入第一个输入向量

·mmwave_vecmul16x32, mmwave_vecmul16x32_anylen:将16位复向量与32位复向量逐元素相乘,输出为32位复输出向量

·mmwave_vecmul32x16c:将32位复向量与16位复常数相乘

·16位向量元素的绝对值之和

·mmwavelib _vecsumabs返回32位和

·最大功率搜索32位复杂数据

·mmwavelib _maxpow:输出找到最大功率并返回复样本的相应索引

·mmwavelib _powerandmax:结合最大功率搜索的功率计算

·对32位浮点向量的方位角估计的峰值搜索

·mmwavelib _multipeaksearch:在方位角FFT输出中进行多峰搜索

·mmwavelib _secondpeaksearch:方位角FFT输出中的第二个峰值搜索

·32位浮点复向量上的DC(天线耦合特征)去除

·16位矢量的矢量减法

·矩阵的实用程序

·32位矩阵的矩阵转置:类似于DSPLib函数,但针对行大于列的矩阵进行了优化

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值