我在之前的博文中有说过如下观点:MIMO体制下,有两个核心的问题需要解决:一是天线如何排布;二是天线如何发射。天线的排布问题主要涉及到测角,它与射频面板尺寸要求、单天线尺寸、最大无模糊测角范围、角度分辨率以及测角算法等有关,关于角度测量我之前有过一篇博文:车载毫米波雷达DOA估计综述 -CSDN博客。天线的发射问题主要是考虑到正交性:如何在后端将各个收发通道给分离出来,现阶段有TDM、BPM、FDM、DDM,以及PMCW等发射方式和体制,关于MIMO体制下的发射方式,我之前也写过一篇博文:车载毫米波雷达MIMO阵列的天线发射问题-CSDN博客。
TDM的发射方式是最经典也是最简单的,我此前在车载毫米波雷达的系列专题中所上传的资料和数据基本都是基于TDM的发射模式。最近刚好有时间和资源可以做点实验,于是想着尝试一下BPM和DDM的发射方式:采集数据并对数据进行解析和处理。本篇文章基于Ti的AWR2944开发板实践DDM(Ti其它的可以做相移的开发板,如AWR2243实践的方法基本一致)。本博文算是对车载毫米波雷达MIMO阵列的天线发射问题-CSDN博客博文的补充。
DDM的原理比起TDM和BPM要稍显复杂,但是现如今高阶的角雷达(收发通道数比较少)以及级联的方案(收发通道数很多)很多都是以DDM作为发射的方式,不可不察。关于DDMA的原理和比较优势我已经在前述博文中给出说明,本文不再重复。本文主要提供:实验说明、雷达参数说明、DDM下的雷达数据处理结果及其与TDM的简单对比、相对应的数据(10帧)和解析&处理的Matlab代码。此外还给出了关于DDM发射模式下信号/数据处理的思考、DDM发射模式下相位配置的计算。
Blog
20240118 博文第一次撰写
说明
目录
一、实验所涉及资料
二、实验说明
2.1 实验目的
2.2 实验场景与雷达参数设计
2.3 DDM下各个通道的相位设置参考
三、实验结果
3.1 时域&距离FFT后
3.2 二维压缩后
3.3 测角
3.4 本章小结
四、DDM发射模式下信号处理的思考
4.1 DDM发射模式下的CFAR检测
4.2 DDM发射模式下的解调和通道排布
五、总结
六、参考资料
七、本文数据&code
1、关于AWR2944相关说明资料:
AWR2944EVM 评估板 | TI.com.cn、DCA1000EVM 评估板 | TI.com.cn
在连接好射频&数字板后,本实验通过在Ti提供的mmwavestudio上位机上配置参数,采集数据。得到的原始Bin文件自建Matlab代码进行解析和处理。
2、DDM发射方法&通道分离原理:
车载毫米波雷达MIMO阵列的天线发射问题-CSDN博客
本博文的目的在于实践DDM的发射模式,打通DDM发射模式下从参数配置、数据采集到信号处理的整个流程。更具体地:提供了TDM和DDM两种发射模式在相同的雷达参数和实验场景下的测量结果对比(包括时域、距离FFT结果、速度FFT结果(RD图)、测角结果)。
本文实验在实验室内进行(不方便拍照…),不过场景很简单:雷达天线面板竖直朝向房间天花板(雷达面板离房间天花板的间隔约2.7m)。设计了如下实验:
一些与计算相关的雷达参数设计列表如下:
表2.1 雷达参数设计列表
TDM |
DDM |
|
参数 |
值 |
值 |
收发通道数 |
3T4R |
3T4R |
Emptyband |
- |
1(可用于解速度模糊) |
发射起始频率 |
77GHz |
77GHz |
Chirp斜率 |
30MHz/us |
30MHz/us |
单chirp发射时长 |
40us |
40us |
Idle time |
10us |
10us |
ADC采样率 |
10MHz |
10MHz |
ADC采样点数 |
256 |
256 |
Loop数 |
64 |
64*4(等效,实际上是发射1个loop,不过一个loop发射了256个chirp) |
帧数 |
5 |
5 |
注:AWR2944为4发4收,本文实验所选用的3个通道为其水平向排布的三个通道,如下图所示的Tx1&Tx3&Tx4
图2.1 AWR2944天线排布实物图
在前述参数设计下,可得数据量是:
TDM下: 256*64*3*4*5*16/8/1024 = 1920KB
DDM下: 256*256*4*5*16/8/1024 = 2560KB
实验所采集数据量如下:
数据量与所设计的雷达收发参数吻合。
理解了DDM的发射原理后,要做的事情就是基于发射通道数以及用于解速度模糊的Emptyband数来给各个发射通道配置在每次发射的chirp下相对应的相位值:
图2.1 DDMA的发射原理示意图
上图中的每一行对应每个发射天线在不同chirp下理论的起始相位设置。该w值为:
N为总的发射天线个数 + Emptyband的数量(Emptyband的数量可为0)。上图中的每个Tx的位置也可以是Emptyband的位置,不过不管Emptyband在哪(在哪一行),我们基于上述排布,计算出实际Tx所在行的每个chirp下的起始相位即可。不过需要注意的是:AWR2944芯片内可为每个通道设置的相位步进值为5.625°,所以当我们给发射天线设置起始相位时,该相位值必须是5.625°的整数倍!但是实际由于N值的关系,我们没法给每个发射天线的每个chirp下的相位设置成5.625°的整数倍:此时我们所能做的是将之四舍五入设置成离理想值最近的5.625°整数倍的值。(这样操作会给后续的信号处理带来一定的影响)。
我写了一个简单的脚本函数来计算这些值:该函数输入:Tx个数、需要发射的chirp个数、Emptyband的个数。输出每个Tx在360°范围内应该设置的理想相位值、以及可以设置的实际相位值、实际相位值对应的索引(0-63,0对应0°,63对应:63*5.625)。
图2.2 计算各个发射通道相位值脚本的核心代码
该函数我与后续的数据和代码一并打包上传了,读者可以从第七章贴出的链接中下载参考。
DDM配置参考(基于Lua文件):(可以在mmwavedtudio上配置或者用Lua,我暂时还没有找到更好的配置方法,本文的方法为:对每个chirp下各个发射通道的相位一一进行配置,当然,这里没有写报错的语句..)
(3T4R下增加一个Emptyband时,256个chirp下DDM配置参考)
图3.1 TDM&BPM两种发射模式下的时域数据对比
(选取了其中一个chirp下的数据)
可以看到DDM下单通道接收的时域数据的幅值相比TDM下是有比较显著的增加(不过整体上远没到3倍,理想情况下应该是3倍的?DDM相较于TDM使用了更多的发射通道,使得发射能量得以提高,从而会提高SNR:提高了10*log10(Ntx)dB)。【我没有一一去比较全部的通道和全部的chirp,可能是我选取的通道并不是很好。感兴趣的读者可以在我给的数据和代码的基础上做一些更深入和细节的探讨】
在时域完成通道分离后,进行距离FFT并丢掉一半的数据(因为AWR2944是单路采样),下图同样也是选择了其中一个通道下的其中一个chirp:
图3.2 距离FFT的结果对比
首先可以看到,在距离索引值为14处,都有一个明显的峰,该位置也便对应着目标所在位置:由收发参数,本实验所用带宽为: B = 256/10MHz*30MHz/us = 768MHz,对应距离分辨率为:res = c/B/2 = 0.1953m,索引值14对应的目标距离为:14*0.1953 = 2.7342m,与实验场景是吻合的。此外,这里以索引值为100处的幅度值作为噪底来估测SNR,可以得到DDM下相较于TDM该值是变小了的..具体原因这里不做深纠(当使用多发时,芯片内部给到各个发射通道的能量是等于TDM下发射时给到单个通道的能量吗?),感兴趣的读者可以基于我提供的数据和代码试试别的通道。
随后,进行速度维度的压缩并做非相干积累。得到二维压缩后的结果如下:
图3.3 两种发射模式下二维压缩后对比
TDM下速度压缩后,目标处在零频,与实验场景吻合。DDM下可以看到同一个距离门下有三个明显的波峰,这也与发射情况是吻合的:我们设置了3发的DDM,此外还加了一个Emptyband,所以可以将二维压缩后的速度维度设置成4个等长的区间(其中一个区间对应Emptyband,应当没有目标波峰),每个区间的长度为:256/4 = 64个doppler bin。从上图来看,相邻两个波峰之间的间隔等于64,Emptyband处在[65 128],所以第一个波峰和第二个波峰之间相隔了64*2=128。图示结果与发射情况相吻合。(注意:上图下面的两图用meshz函数画的,该函数的索引从0开始,所以与前面的论述有1个dooplerbin的差异)。
同样,选取(101,11)处的数据(meshz函数的索引是从0开始的,所以要加1)作为噪底参考,可以看到DDM发射模式下SNR有了比较显著的提高!这还是没有解调的结果(没有解调时,我们在通道维度只做了4个接收通道的非相干积累)。
测角部分使用了传统的非超分辨DBF测角方法。TDM下的测角很简单,把二维FFT后的12个通道下目标索引对应位置处的数据拿出来即可(在数据解析时已经排好序)。DDM发射模式下需要比较细心地将通道维度的数据拿出来并排序好:(因为实验中只有一个静止的目标,我这里并没有做解调:所以拿出来的每个接收通道下(我们一共有四个)的三个波峰对应的数据:它们之间实际上是间隔一个波长! 所以在排布时需要注意):
图3.4 测角数据排布&DBF测角部分代码
【在发射天线数量更多以及更复杂的比如增加Emptyband的发射配置下,对二维压缩后用于测角的数据进行水平、俯仰向的排布是很繁琐但很重要的:各数据的排布 与收发天线的实际排布有关、与Emptyband的位置有关、也与每个发射天线实际的发射相位设置有关。】
图3.5 两种发射模式下测角结果对比
两种模式下的目标角度基本一致(其误差应该是来源于前后两次实验雷达板位置有一点变化),且都在0°左右位置(板子可能有一点点倾斜),结果吻合实验场景。
本章设计实验,实践了DDM的发射、数据解析和基本处理的整个流程。完成了前文2.1节所提的实验目标。
不同于TDM的发射模式,MIMO体制下当使用 所有发射天线同时发射的收发模式时,在信号处理端一个不可或缺的步骤就是通道分离(TDM发射模式下各收发通道之间已经在时间维度完成了分离,我们需要做的只是按顺序对数据进行通道维度的进行排布即可):只有完成通道分离我们才能获得虚拟孔径并进行测角。有不同的发射方法,自然也就有面向这些发射方法的不同的通道分离(解调)方法。关于BPM的发射及其解调我在博文:基于Ti-AWR2944雷达开发板的BPM发射与处理实践-CSDN博客中有比较详细的实践。本章讨论DDM的解调以及DDM下可能不同于TDM发射模式的信号处理的步骤。
TDM的发射模式下我们做完二维FFT后进行非相干积累便可以对该积累后的矩阵做CFAR以找到目标,但是从上图3.3可以看到,对于DDM如果不做解调直接进行CFAR会多出很多重复目标:因为每个发射天线前后发射的chirp之间有固定的相位差,所以同一个目标在我们未解调的RD图上有NTx个波峰。
一种容易想到的方法是:我们基于发射时参数的情况,将这个大的RD图分成N等份(N = Ntx + Emptyband),这几等份其实等效于不同发射天线与同一个接收天线所构成的几个通道。比如本文的雷达参数设计下,可以将该256*256大小的矩阵分成4个256*64大小的矩阵,然后再对这几个矩阵进行非相干积累得到一个256*64大小的矩阵,随后我们可以对该二次非相干积累后的矩阵做CFAR处理(我们这里的分离操作也可以在二维FFT后对全部4个接收通道的数据做,此时我们可以得到16个大小为256*64的矩阵,然后对其进行非相干积累,不过和前面的一样…):
图3.6 进行前述解调(重排布)后二维压缩&非相干积累后的结果
可以看到,3.6的右图与3.3的左图相比,幅值以及SNR都有很大提高。理想情况下,我们基于该矩阵做CFAR处理时不会存在同一个目标被多次检出。
我在上图3.4给出的代码以及前面的相关说明其实是取巧了的:不过对于目标静止(而不存在速度模糊)的情况,上述方法可行。
DDM发射模式下的解调关键在于:对于(解调前)RD图上的一个目标波峰,你需要清楚该波峰是哪个发射天线造成的,只有知道这个信息再结合实际的天线排布、发射相位的设置我们才能正确地拿出并排布通道维度的数据!
关于解调以及通道数据的排布,Ti在参考资料[2]中给出了一些比较不错的参考说明。比较详细且容易理解,这里不做重复说明了。
本博文的主要目的在于实践DDM的发射模式,走通从发射、通道分离、数据处理的整个流程。本文设计了3T4R加1个Emptyband的DDM收发实验,此外也基于TDM的发射模式在相同的雷达参数和实验场景下采集了数据,并对两种发射模式下所采集的数据进行了对比分析。本文的工作实现了基于DDM的发射、数据采集以及解析处理的整个流程,为后续更深入的实践奠定了基础。
关于DDM发射模式下的信号处理,还是有很多可供研究的方向:比如如何进行通道分离并更好地实现CFAR(目标检测)、由于芯片的限制,实际发射的相位没法达到理想的情况,如何通过其它的手段(比如校准)来优化、如何设计速度解模糊的方法(比如Ti提出的Emptyband的方法,还有其它?)来更大地拓展雷达的最大无模糊测速范围、当存在速度模糊时如何快速地定位每个虚拟通道对应的回波数据以完成排布和测角等等。这诸多的问题及其解答,后面有机会我会再不定期补充。
[1]主要的参考资料见第一章。
[2] 基于AWR2944的汽车雷达DDMA波形的原理和实现 (ti.com.cn)
链接:
基于Ti-AWR2944雷达开发板的DDM发射与处理实践博文相对应的数据和代码资源-CSDN文库
相关代码基本都有很好/详细的注释(时间较短,可能一些地方可以进一步优化),并随附所采集的原始数据供读者参考。
上图中DataParsing为bin文件解析函数、RadarParamentConfig为雷达参数设置函数。这两个函数可以被主函数调用,读者在使用代码时,需要更改自己的文件路径。TxPhaseCal.m为DDM发射模式下每个发射天线的相位计算函数。