雷达一维成像:基于数据集的实践

雷达一维成像:基于数据集的实践

(距离压缩\距离-时间图\距离-多普勒图\微多普勒图)

说明

    雷达成像技术是雷达发展的一个重要里程碑:从此雷达的功能不仅仅是将所观测的对象视为点目标,并只测量它的位置与运动参数。雷达成像技术使得我们可以获得目标和场景的图像!(类似基于摄像机的光学成像了!),当然其成像效果不会有光学那么清晰(信息量没有光学那么丰富),但是其具备光学没有的诸多优势:距离远、全天时全天候、具备速度测量能力(动目标检测)

    雷达成像最常用的技术手段是合成孔径技术(及其诸多拓展:如ISRA、InSAR等等),我新建的专题:雷达成像技术_墨@#≯的博客-CSDN博客主要就是围绕SAR来展开。雷达成像从结果来看,我们可以将之简单分为:一维、二维以及三维成像。本博文探讨一维成像,一维成像主要围绕距离和速度展开:关注不同距离维度下目标的分布目标距离随时间的变化、不同距离下目标的速度、以及特定距离区间内目标的微多普勒信息。本博文将结合数据集来实践一维成像。

Blog

20240226 博文第一次写作

目录

说明

目录

一、雷达一维成像概述

二、成像方法与流程简述

三、数据集说明

3.1 数据集基本情况

3.2 数据解析&雷达参数

四、基于数据集的成像实践

五、总结

六、参考资料

七、数据与代码参考


一、雷达一维成像概述

    本博文的论述以及后续的数据集都是围绕调频连续波(FMCW)展开。FMCW体制下的测距、测速、测角原理这里不做过多介绍,网上有诸多成熟且十分细节的资料,比如Ti网站上的[1]。

    采用FMCW体制的雷达:在车载(雷达)的应用上,在接收器中我们是做去斜接收,接收端是用发射信号进行混频,此时不同的距离对应不同的频点,于是我们对回波数据直接进行FFT操作就可以完成距离压缩,从而实现前述不同距离维度下目标的分布这一成像结果。在各类SAR雷达的应用上,在接收器中我们一般是以载频进行混频,此时对于采集的回波时域数据,我们使用匹配滤波的方法进行距离压缩以达到一维距离成像的效果。  关于不同距离维度下目标的分布(或一维距离像)这是比较容易理解的:如果雷达的距离分辨率足够好,目标将在某段距离区间内有较强的能量分布,如下图所示[2]:

图1.1  不同视角(各图间视角相差15°)下对飞机的以为距离成像结果

    上图为对时域数据匹配滤波后的结果,可以看到在目标(飞机)在距离维的分布(局部距离区间内能量更高)。

    目标距离随时间的变化:我们只需将每个chirp下距离压缩的结果进行拼接即可(可能比较熟悉车载雷达的同学比较费解:因为车载雷达下chirp周期很短,我们对一帧数据进行距离压缩后,一般来说目标所在的距离门不会发生变化,车载雷达的参数设置下确实如此,不过这里说的是更一般的情况:我们可以把chirp周期拉长、或者选取不同帧下的某个chirp进行实践,就可以看到目标距离随时间的变化:只要目标在动,当然,这里说的动是跨距离门的那种运动,而不是微动:基于Ti-AWR2944雷达开发板的BPM发射与处理实践-CSDN博客)。

    不同距离下目标的速度:更专业的术语叫:RD图(距离-多普勒图),我们在距离压缩的基础上再在不同的chirp间(慢时间维度)做一次速度压缩(FFT)即可。

    特定距离区间内(目标所在区间)的微多普勒信息:多谱勒信息对应速度,前面不同距离下目标速度是直接在大的慢时间维度进行FFT实现的,但是这样大而泛的处理下我们虽然可以获知有哪些多普勒值(速度值),可是并不知道这些多普勒值随时间的分布情况,这便是微多普勒处理要解决的问题:得到不同时间下的速度信息。微多普勒信息的获取我们一般基于短时傅里叶变换(STFT)来实现,关于STFT和微多普勒信息,读者可以参考[3],该资料介绍得很棒。

    除去距离和速度外,还有角度:如果使用MIMO阵列,基于DOA估计方法车载毫米波雷达DOA估计综述-CSDN博客我们还可以获得目标的角度信息,并进而可以得到目标角度随时间的变化关系(成像图),不过后文的数据集没有相关数据,本文不做更深入讨论。

二、成像方法与流程简述

不同距离维度下目标的分布(或一维距离像):FFT或匹配滤波。

目标距离随时间的变化: 对不同chirp下的回波时域数据分别做距离压缩,并拼接(不同的chirp即对应不同的时间)。

不同距离下目标的速度: 距离压缩后再在chirp维度进行速度压缩(2D-FFT)。

特定距离区间内目标的微多普勒信息:

图2.1 典型的微多普勒图获取流程示意图

三、数据集说明

    本博文使用了英国格拉斯哥大学(University of Glasgow)的一个数据集(为原始数据集):Radar signatures of human activities - Enlighten Research Data (gla.ac.uk)。该数据集及其相关文章读者可以在前述链接中下载,我在后文的代码链接中也会附上其中一份数据(后文成像实践中所使用的数据)。【当然,数据集的开发主要是为了进行深度学习训练和验证的,不过对原始数据进行成像处理是后续训练的前提,往后有机会我会基于该数据集进行模型训练的实践。】

3.1 数据集基本情况

    整个数据集包含了在不同时期以及不同地点所采集的数据。试验人员在试验过程中所做的动作包括:来回走动、坐下、站起、弯腰捡东西、拿杯子喝水、前倾跌倒。整个数据集下载下来后得到如下文件:

图3.1 数据集基本情况说明1

    不同的文件夹对应不同的时间下采集的数据,最后一个pdf为数据集的说明(我随附到代码对应的链接中)。每个文件夹包含诸多数据文件,每个数据文件原始数据格式为.dat,如下图所示:

图3.2 数据集基本情况说明2

每个数据文件的名称被编码为该数据的基本信息

图3.3 数据集基本情况说明3

    基于图3.3中的数据说明,我们可以知道:图3.2中1P36A01R01表示:编号为36的人,在试验中做走动这个动作。(从R01-R03可以知道这个动作做了3次)。关于该数据集更细节的说明(诸如试验场景、试验人员的男女,身高等信息读者可以阅读随附的数据集说明)。

3.2 数据解析&雷达参数

    雷达以1发1收进行FMCW波形收发。每个数据文件的前4个数据对应雷达的收发参数:包括载波频率、chirp周期、单chirp采样点数、发射带宽。从第五个数据开始为本文件对应的原始时域数据。雷达的参数列表如下:

表3.1  雷达参数列表

参数

收发天线数

1T1R

波形

FMCW

载波频率

5.8GHz

Chirp周期

1ms

单chirp采样点数(双路采样)

128

带宽

400MHz

四、基于数据集的成像实践

    本章选取前述数据集中的一份数据(1 December 2017 Dataset文件夹中的:1P36A01R01),并做一维成像实践。该数据经解析后,有10000个chirp。对其进行处理,我把图都放在了一张,得到结果如下:

图4.1 基于数据集的一维成像实践结果图1

    上图为未经高通滤波的处理结果。

    左上角的图即为不同距离维度下目标的分布(或一维距离像),我们对单个chirp下的回波时域数据直接做FFT处理即可得到。从左上角的图来看,信号中有很强的直流信号(在距离接近0处其能量很高!考虑可能是天线耦合、电源性能较差等原因导致),不过还是可以看到在距离为5-10m的区域内有明显高于其它距离区间的能量,可以推断该目标区域即对应为人体所在位置区间。

    右上角的图即对应为目标距离随时间的变化图:我们对每个chirp下的回波时域数据都进行FFT处理并做拼接即可得到。可以看到随着时间的变化目标所在的距离区间是在移动的:这与本试验的试验过程是吻合的,即人来回走动。

    右下角的图即对应为不同距离下目标的速度图(或RD图),通过对前述距离压缩的结果再进行全chirp维度下的速度压缩得到,如前所述,此时我们只知道在不同的距离下包含了哪些速度信息,但是无法获取不同时间下的速度信息!此外,从右上角的图来看,因为目标所在的距离区间已经发生了变化,所以我们直接在整个时间区间进行速度压缩其实已没有多大意义。左下角的图中选取了其中一个距离门并观察该距离门下的目标速度分布。

    更进一步地,为了消除直流信号以及静态杂波的影响,方便更清晰地观察目标多普勒信息,这里对距离压缩后的数据在chirp维度进行高通滤波(使用数字滤波器)处理,并舍去距离门为1的数据。得到结果如下:

图4.2 基于数据集的一维成像实践结果图2(高通滤波后)

    对比图4.1,可以看到图像变得更清晰了(目标所在位置区间的对比度更大)。后续的微多普勒图的获取是基于高通滤波后的距离压缩数据。按照第二章图2.1所示的处理流程,将距离区间设置为:3.75m-11.25m之间,观察该区间内速度随时间的变化情况。

    短时(离散)傅里叶变换本质上就是在chirp维度(速度维度)进行分段傅里叶变换,为确保连续性,我们一般会设置使得每个分段之间有一些重叠的部分。所以短时傅里叶变换过程中的两个重要参数:每个分段的区间大小、前后区间的重叠大小。(所选区间的大小会影响速度分辨率!区间越大速度分辨率越高但同时短时傅里叶变换的效果会变差:就不那么短时了.)

图4.3  STFT处理示意图

    如上图所示,以此类推,对每个区间分别进行FFT处理并将处理的结果拼接成一个矩阵,便可得到一个距离门下的瞬时傅里叶变换结果。我们对所选取的每个距离门下的数据分别进行瞬时傅里叶变换处理,并对得到的各个矩阵进行累加就可以得到微多普勒图。本数据的处理结果如下:

图4.4 微多普勒处理结果

    从该图中我们可以知道在实验过程中目标是在做相对雷达的来回运动(速度由负变正在边负)。此外,微多普勒图内含了(可以表征)更丰富(细节)的信息,如:人体躯干的运动、不同的运动状态等等,我们可以籍此做各种目标分类与识别的研究(不过这些不在本文的讨论范围)。

五、总结

    本博文探讨一维成像,并介绍了一份内容非常全面且丰富的原始数据集,基于该数据集实践了几种一维成像方法。因为一维成像的数学原理相对简单且成熟,网上有诸多资料,本博文并没有涉及太多的理论/公式推导。本博文的工作为后续更高维度的成像方法研究以及基于数据集的深度学习模型训练等提供了基础,后续有机会我会出基于该数据集更多的思考和探讨

六、参考资料

[1] mmWave radar sensors  | TI.com

[2] 保铮,刑孟道,王彤.雷达成像技术[M].电子工业出版社,2005.

[3] 形象易懂讲解算法I——小波变换 - 知乎 (zhihu.com)

七、数据与代码参考

雷达一维成像:基于数据集的实践博文对应的数据和代码资源-CSDN文库

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/705283.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux C | 网络编程】套接字选项、getsockopt、setsockopt详解及C语言例子

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

雾锁王国服务器配置怎么选择?阿里云和腾讯云

雾锁王国/Enshrouded服务器CPU内存配置如何选择?阿里云服务器网aliyunfuwuqi.com建议选择8核32G配置,支持4人玩家畅玩,自带10M公网带宽,1个月90元,3个月271元,幻兽帕鲁服务器申请页面 https://t.aliyun.com…

电商数据api接口大全,商品API,店铺API,订单API,获取请求key详细接入案例

电商数据API接口大全包括商品API、店铺API和订单API等,以下是一些常见的API接口以及获取请求key的详细接入案例: 获取请求key的详细接入案例: 以淘宝商品API为例,获取请求key的步骤如下: 注册成为开放平台的开发者&a…

GB28181 —— Ubuntu20.04下使用ZLMediaKit+WVP搭建GB28181流媒体监控平台(连接带云台摄像机)

最终效果 简介 GB28181协议是视频监控领域的国家标准。该标准规定了公共安全视频监控联网系统的互联结构, 传输、交换、控制的基本要求和安全性要求, 以及控制、传输流程和协议接口等技术要求,是视频监控领域的国家标准。GB28181协议信令层面使用的是SIP(Session Initiatio…

k8s节点负载使用情况分析命令kubectl describe node [node-name]

1.到任意安装了kubectl节点命令的节点上执行kubectl describe node [node-name] 上面的Requests最小分配 Limits最大分配是所有pod之和,最小分配之和不能超过服务器实际参数,否则新的pod会因为资源不够起不来,最大分配是预设之和&#xff0…

程序员眼中的“祖传代码”:魔法书中的智慧和技巧

目录 前言1 祖传代码的传承与传统2 家传宝贝:珍贵的遗产3 祖传秘方:独特的问题解决奥秘4 祖传代码中的故事:技术的发展轨迹结语 前言 在编程的奇妙世界中,存在着一种特殊的代码,被程序员们亲切地称之为“祖传代码”。…

Spring6学习技术|事务

学习材料 尚硅谷Spring零基础入门到进阶,一套搞定spring6全套视频教程(源码级讲解) 事务 什么是事务?好像是数据库部分的词,我自己的理解是对数据库进行的操作序列,要么一起完成,要么都不完成…

2024年AI行业专题报告:AI巨轮滚滚向前

2024年AI行业专题报告:AI巨轮滚滚向前。 1 Sora、Gemini 1.5 Pro 相继发布,AIGC 新时代已至 1.1 大模型 Sora 震撼登场,AI 生成视频领域里程碑 OpenAI 在 2024 年 2 月 16 日发布文生视频模型 Sora,突破了 AIGC 的高地&#xff0…

经营分析到底要做什么?

​做经营分析,不是只看数据这么简单,我们要从目标-分析-决策-预警,全流程实现。 基于数据中台底座,实现从制定战略目标到执行落地的数据应用闭环。主要从四个维度来做: 第一步,就是基于预算管理进行战略目…

Python中高效的爬虫框架,你用过几个?

在信息时代,数据是无价之宝。许多开发者和数据分析师需要从互联网上采集大量的数据,用于各种用途,如分析、建模、可视化等。Python作为一门强大的编程语言,提供了多种高效的爬虫框架,使数据采集变得更加容易和高效。本…

【Golang入门教程】Goland常用快捷键,看这一篇就够了 - 副本 (2)

开源软件的影响力 文章目录 开源软件的影响力 强烈推荐前言一、文件操作相关快捷键二、代码格式化相关的快捷键三、查找和定位相关的快捷键四、编辑代码相关的快捷键四、编辑器相关的快捷键总结强烈推荐专栏集锦写在最后 强烈推荐 前些天发现了一个巨牛的人工智能学习网站&…

力扣经典题目解析--搜索二维矩阵(小米一面)

原题地址: . - 力扣(LeetCode) 给你一个满足下述两条属性的 m x n 整数矩阵: 每行中的整数从左到右按非严格递增顺序排列。每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target ,如果 target 在矩阵中&#xff0c…

数据隐私安全趋势

在当今社交媒体和开源开发的世界中,共享似乎已成为社会常态。毕竟,我们都被教导分享就是关怀。这不仅适用于个人,也适用于公司:无论是有意在社交媒体帐户和公司网站上,还是无意中通过员工的行为,公司可能会…

部署VUE+SpringBoot+nginx项目

本文是前端是vite element-plus 后端 springBoot 部署整个项目主要分为3个步骤, 1. 部署nginx,主要是配置nginx.conf 2.打包前端代码 3.打包后端代码 1.安装nginx 安装手顺: linux安装nginx_linux安装nginx需要gcc还是gcc-c-CSDN…

学生个性化成长平台搭建随笔记

1.Vue的自定义指令 在 Vue.js 中,我们可以通过 Vue.directive() 方法来定义自定义指令。具体来说,我们需要传递两个参数: 指令名称:表示我们要定义的指令名称,可以是一个字符串值,例如:has-rol…

【MySQL】undo log、redo log、bin log三者之间的区分?

undo log、redo log、bin log三者之间的区分? 从 产生的时间点、日志内容、用途 三方面展开论述即可 1.undo log——撤销日志 时间点:事务开始之前产生,根据当前版本的数据生成一个undo log,也保存在事务开始之前 作用&#xf…

在Pycharm中运行Django项目如何指定运行的端口

方法步骤: 打开 PyCharm,选择你的 Django 项目。在菜单栏中,选择 “Run” -> “Edit Configurations...”。在打开的 “Run/Debug Configurations” 对话框中,选择你的 Django server 配置(如果没有,你…

Mathematica学习笔记收纳

笔记 可以关注官方公众号 帮助文件 https://reference.wolfram.com/language/index.html.zh 南京大学的介绍 https://oi.nju.edu.cn/Mathematica/listm.htm

08 string类的使用

为什么要学习string类 c语言中的字符串 c语言中,字符串是以\0结尾的一些字符的集合,为了操作方便,c标准库提供了一些str系列的函数,但是这些库函数与字符串是分离开的,不符合OOP的思想,而且底层空间需要自…

Element复选框只要框不要字

场景 复选框分别放在多个选项后&#xff0c;只需要勾选框&#xff0c;不要展现的文字。 实现 <el-checkbox-group v-model"checkList"><el-checkbox label"使用核武器"></el-checkbox> </el-checkbox-group> ... data() {retu…