1. 数据流
采集数据:MMWCAS-RF-EVM→MMWCAS-DSP-EVM→板载固态硬盘→网口→PC;
控制信号:PC上的LUA(烧固件、采集参数、数据保存位置等参数)→网口→MMWCAS-DSP-EVM
2.程序位置
采集LUA位于C:\ti\mmwave_studio_03_00_00_14\mmWaveStudio\Scripts\Cascade
各种后处理程序位于C:\ti\mmwave_studio_03_00_00_14\mmWaveStudio\MatlabExamples\4chip_cascade_MIMO_example\main\cascade
采集完成数据默认保存路径为C:\ti\mmwave_studio_03_00_00_14\mmWaveStudio\PostProc
雷达固件位置为C:\ti\mmwave_studio_03_00_00_14\rf_eval_firmware\AWR2243_ES1_1
3. 校准
将角反射器放在雷达正前方5m处,修改参数并运行Cascade_Phase_Shifter_Calibration_AWRx.lua,采集校准所需数据。
(注:5m出自C:\ti\mmwave_studio_03_00_00_14\mmWaveStudio\MatlabExamples\4chip_cascade_MIMO_example\main\cascade中的cascade_MIMO_antennaCalib.m文件,其中的
targetRange = 5; %target aproximate distance for local maximum search
是否能修改为targetRange = 10;目前未验证。)
此外,C:\ti\mmwave_studio_03_00_00_14\mmWaveStudio\MatlabExamples\4chip_cascade_MIMO_example\modules\calibration\@genCalibrationMatrixCascade\dataPath.m文件中
range_bin_search_min = round((Samples_per_Chirp)*interp_fact*((targetRange-2)*2*Slope_calib/(3e8*Sampling_Rate_sps))+1,0);
表明其校准时选定了一个范围内的区域,而区域的半径是2m。因此预估目标距离雷达应该不少于2m,否则选定区域的最小距离会小于0,导致校准程序无法运行。是否能修改减去的2以改变选定区域范围尚未验证。
4. 采集
采集前需要按实际需求设参。默认的参数配置使得雷达的探测距离是15m,而在实际使用中,我们可能需要调整这个距离。通过改变slope斜率与采样频率sample_freq可以改变探测距离。在更改两参数的同时,也需要根据实际情况改变每个chirp的采样数:adc_samples,根据官方手册,采集complex数据时最大设置为512,采集real数据最大设置为1024。该值会影响分辨率,提高该值能使图像更精细,但所占空间也会更大。
全过程使用mmwave studio采集,于C:\ti\mmwave_studio_03_00_00_14\mmWaveStudio\Scripts\Cascade文件夹中,先运行Cascade_Configuration_MIMO.lua,一般可修改文件中的slope(线性调频脉冲的斜率)、sample_freq(采样频率)来改变雷达探测距离,根据前两个参数继续修改ramp_end_time(斜坡结束时间)与adc_samples(adc采样点数),注意adc采样不能超过ramp时间。修改nframes_master与nframes_slave,来改变每轮采集的帧数,Inter_Frame_Interval是帧间间隔,显然帧数不能过大,否则会超过文件大小限制。这三个参数外加斜坡时间ramp_end_time、斜坡前的空闲时间idle_time、决定了一帧究竟有多少时间,adc采样开始时间adc_start_time只占斜坡上的一段时间,不计入总时长。
待MIMO的lua运行结束,接着运行Cascade_Capture.lua,可修改该文件中的
capture_time、inter_loop_time、num_loops。
从注释:
Note: "capture_time" is a timeout for this script alone to exit - it does not control the
actual duration of capture. The actual capture duration depends on the configured frame time and number of frames.
可以看出,capture_time只是雷达开关机时间,并不是采集时间,而每帧时间×帧数是不能超过capture_time。在我理解里,capture_time应比(每帧时间×帧数)略微大一点,从而保证每轮采集的连续性。
5. 数据后处理
C:\ti\mmwave_studio_03_00_00_14\mmWaveStudio\MatlabExamples\4chip_cascade_MIMO_example\main\cascade文件夹中,cascade_MIMO_signalProcessing.m为我们提供了一个数据处理范例。该程序会将采集到的(采集轮数×每轮帧数)数据动态显示,共有四张图:距离-信号强度图、距离-速度图、静态距离-方位角热图、3D点云图。其中距离-速度图的横纵坐标并不准确,y轴应该是采样点数,x轴应该是速度,但没有将0速度置中。(此处理解还不到位,可能有问题)
此外,在该程序第49行:
DISPLAY_RANGE_AZIMUTH_DYNAMIC_HEATMAP = 1 ; % Will make things slower
如果令值为1,将会额外画两张距离-方位角动态热图。
6. 一些经验总结
mmwave studio应安装于C盘根目录,因为其中的matlab例程等程序的地址是写死的,不方便修改。
每次电脑开机后的第一次采集可能会出现:采集结束后,雷达硬盘上并没有数据的情况。因此如果实验需要在不同的MIMO脚本下采集,则需要先调整数据线、重启电脑或mmwave studio程序、使用tera term检查连接状况等操作后,确保能够采集数据后,再进行正式实验。
采集数据设定参数时应注意其一轮(1个loop)生成的bin文件大小,不应超过2G,否则多出的部分会顺延至下一个bin文件,造成读取数据时的混乱与麻烦,不利于对齐时间戳。
长时间采集时应注释掉例程中最后使用winscp将雷达的数据导入电脑中的部分,以免浪费过多的时间在传输数据上。以太网的传输的速度大约是4mb/s。
最大采集距离与距离分辨率成反比,因此增大采集距离必然会造成距离分辨率变大,雷达回波数据细节丢失。
目前我理解的ti官方的数据后处理程序中,对于俯仰角的处理是:同一个方位角,同一距离下的z轴上所有回波取一个最大值作为距离-方位角图像的雷达回波值,因此ti并没有直接给出方位角-俯仰角图的程序。
7. 后续研究
本人并非相关专业,也未学习过雷达相关知识,因此项目结束后需要恶补雷达相关的基础知识。此外本人尚未学会如何制作雷达固件,以实现雷达上电自启动,无需PC开启mmwave studio以控制采集数据。因此后续计划学习相关知识以编写固件。
本文仅做个人学习阶段总结,网上AWR2243相关资料较少,身边也无师傅指导,学习过程艰难曲折,望各路大神不吝赐教!