1、引言
闲来无事编程序,本期文章分享一个2TX-4RX MMWave 雷达的数据集,以及基于该数据集的MATLAB算法仿真程序,仿真程序从原始数据解析、距离估计、速度估计、CFAR检测、峰值搜索、非相参积累、多普勒速度补偿、角度估计(3D-FFT和MUSIC超分辨)。
其中,整个框架内部可以进行修改和扩展,比如其他超分辨算法、聚类算法、跟踪算法、点云识别等等。
该数据集采用TI单芯片毫米波雷达AWR1843采集,只用了水平通道的2根发射天线,通过所有发射通道上的时分复用(TDM-MIMO),它可以形成具有1T8R TDM-MIMO 虚拟阵列。
主要采集了6种目标,包含行人、骑自行车的人、汽车、摩托车、公共汽车、卡车 。数据集来源:https://github.com/Xiangyu-Gao/Raw_ADC_radar_dataset_for_automotive_object_detection
2、数据集的说明
整个数据集包含大约 19800 帧雷达数据以及同步的相机图像和标签,对于每个雷达帧,其原始数据具有 4 个维度:ADC采样点(快速时间)、线性调频Chirp(慢时间)、发射通道、接收通道。
数据集下载:https://drive.google.com/file/d/1QgjwdQpY96NAVGdvjjFrXLhb48o15EO_/view?usp=share_link
如果个人数据集下载不了,文章末尾有获取方式。
3、数据集格式
数据集由多个序列组成,例如“2019_04_09_bms1000”、“2019_04_09_cms1000”。在每个序列文件夹下,存在图像文件夹“images_0”、雷达数据文件夹“radar_raw_frame”和标签文件夹“text_labels”。
整体数据集结构如下所示:
登录后复制
Automotive
---2019_04_09_bms1000
---images_0
---radar_raw_frame
---text_labels
---2019_04_09_cms1000
......
“radar_raw_frame”文件夹包含 *.mat 格式的原始 ADC 雷达数据,“images_0”文件夹包含 *.jpg 格式的相机图像,“text_labels”包含 *.csv 格式的每个帧的标签文件。
1)雷达数据
详细的数据格式说明如下:
对于每个雷达帧,其原始数据 (*.mat) 有 4 个维度:ADC样本 (128)、线性调频 (255)、接收通道 (4)、发射通道(2)。所有发射机均采用时分复用(TDM)布置,即逐个发送线性调频信号。
2 个发射器和 4 个接收器的位置绘制在下图中,来自 TI 文档。通过TDM,它形成一个1×8的MIMO阵列,如下图所示:
所有雷达配置都包含在配置中,如下图所示:
2)相机数据
每帧的相机图像为 1440x1080 像素,某一帧的图像如下图所示:
3)标签
每个 *.csv 文件都包含一个帧的标签,其中每一行的格式为 [uid, class, px, py, wid, len],其中 uid 是此序列中对象的唯一跟踪 ID,class 是对象的类 ID,ID 号表示如下,px, py, wid, len 是 x 中心, 对象的边界框的 y 中心、宽度和长度。
登录后复制
label_map = {0: 'person',
2: 'car',
3: 'motorbike',
5: 'bus',
7: 'truck',
80: 'cyclist',
}
登录后复制
.CSV文件夹中的数如下图所示:
登录后复制
3、数据集解析工具
登录后复制
本文采用MATLAB2022b为处理环境,数据解析代码如下:
登录后复制
%% 公众号 :调皮连续波
%% 时间:2023年3月26日
clc;
clear all;
close all;
addpath('你的雷达数据存放路径\2019_05_29_pcms005\radar_raw_frame');
addpath('你的图像数据存放路径\\2019_05_29_pcms005\images_0');
登录后复制
添加路径后,提取数据比较方便,然后设置好雷达参数:
登录后复制
%% 根据采集的数据设置
ADC_samples =128; %ADC采样点数
chirpsNum=255; %chirp脉冲数
numTx =2; %发射天线数
numRx=4; %接收天线数
Frame =898; %帧数设置;
parameter = generateParameter();
然后按帧提取,每提取一帧数据,就处理一帧数据:
登录后复制
for frame =3:Frame %帧数设置
adcData = load([num2str(frame, '%06d'),'.mat']).adcData;
rawData=reshape(adcData,[ADC_samples,chirpsNum,numRx*numTx]);
%%添加你的处理代码
end
4、算法仿真结果
1)回波信号实虚部
2)距离估计
3)距离-速度谱
4)非相参积累
(5)CFAR检测
采用CA-CFAR。
6)峰值搜索
7)MUSIC超分辨结果
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删