本文编辑:@调皮连续波,保持关注调皮哥,获得更多雷达学习资料和建议!
大家好,我是调皮哥,今天继续给大家分享干货,助力大家轻松、快乐、有方向地学习雷达。
今天分享一个比较有用的东西给大家,来自华盛顿大学电气与计算机工程系的研究助理高翔宇博士的研究成果,源码和实验指南网址:https://github.com/Xiangyu-Gao/mmWave-radar-signal-processing-and-microDoppler-classification,希望可以帮助到各位,了解微多普勒以及3D点云生成。
主要是之前在雷达群里,有部分同学不知道如何生成点云,那么就可以看看这篇论文以及使用高博士提供的数据进行仿真,就可以掌握这部分内容了。
一、3D 点云生成
运行代码之后,可以生成范围角度地图、范围多普勒地图和 3D 点云。
软件要求:MATLAB, Python 3.6, Tensorflow 2.0, Jupyter Notebook
1.在get_params_value.m设置FMCW雷达参数。
2.在generate_ra_3dfft.m选择输入数据。
(“pms1000_30fs.mat”、“bms1000_30fs.mat”或“cms1000_30fs.mat”)
3.运行“generate_ra_3dfft.m”脚本以获取结果。例如,距离-角度图(RAM)、距离-多普勒图(RDM)和检测到的输入数据“pms1000_30fs”的 3D 点云如下所示:
4.可以在cfar_RV.m中修改CFAR的参数,获得需要的点云信息:
x_detected = cfar_ca1D_square(Dopdata_sum(rani,:), 4, 7, Pfa, 0, 0.7);
y_detected = cfar_ca1D_square(Dopdata_sum(:, C(1,dopi)), 4, 8, Pfa, 0, 0.7);
5. 如果不需要距离-多普勒图,可以通过将代码中的以下标志设置为0:
Is_plot_rangeDop = 1;
二、微多普勒生成
运行代码之后,可以生成范围角度地图、范围多普勒地图和 3D 点云。
软件要求:MATLAB, Python 3.6, Tensorflow 2.0, Jupyter Notebook
1.在get_params_value.m设置FMCW雷达参数。
2.在generate_microdoppler_stft.m选择输入数据。
(“pms1000_30fs.mat”、“bms1000_30fs.mat”或“cms1000_30fs.mat”):
3.运行“generate_microdoppler_stft.m”脚本以获取结果。例如,输入数据“pms1000_30fs”的微多普勒映射如下所示:
4.可以修改“generate_microdoppler_stft.m”中的参数来自定义微多普勒映射属性:
M = 16; % number of frames for generating micro-Doppler image
Lr = 11; % length of cropped region along range
La = 5; % length of cropped region along angle
Ang_seq = [2,5,8,11,14]; % dialated angle bin index for cropping
WINDOW = 255; % STFT parameters
NOVEPLAP = 240; % STFT parameters
三、训练和测试 VGG16 分类器
下面是人工智能方面的内容,也就是雷达微多普勒+人工智能算法的常规思路,感兴趣可以自行下载训练数据集、测试数据集进行学习。
好了,今天暂且就是这么多内容,关于高博士的更多雷达研究成果,可以查看网址:https://xiangyu-gao.github.io//
参考资料
【1】GitHub - Xiangyu-Gao/mmWave-radar-signal-processing-and-microDoppler-classification: Codes and template data for paper "Experiments with mmWave Automotive Radar Test-bed"