(从零开始)基于检测前跟踪雷达目标跟踪技术的研究:第(1)周所学知识

本文详细介绍了一个2019年的公开雷达回波数据集,包括数据集的特性、波门概念及如何下载完整数据。文中深入探讨了SHT-TBD算法的实现过程,包括在距离-多普勒平面上的应用、初级滤波方法及生成TH、CD、R和H矩阵的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

若由本篇博文增加关注,就解封本篇博文的VIP权限哈,记得在下方留言哈
本项目目前使用的回波数据集是2019年的一份公开数据集,链接如下
雷达回波序列中弱小飞机目标检测跟踪数据集
再阅读本文之前,一定要好好读读上述的数据集里的相关描述,里面介绍的很详细,对于你理解回波数据的存储方式也是很有帮助的。对于下面的SHT-TBD,如果不了解标准霍夫变换,可以参考这篇博文

  1. 对于这个数据集我有以下说明:
  • 波门一般是与距离单元一致的。但是这里不一样。波门指的是我从这个波门开始进行采样,例如在这个雷达数据中,根据两者的GPS参数进行计算,及时1ms调整一次波门,然后在这个波门后面采样,得到319个距离单元,所以数据集里的距离单元,每隔1ms也即32个脉冲回波,并不是相对于雷达本身的距离单元,而是相对于当时刷新的波门。这个你要看看相对应的波门矩阵了。
  • 关于下载回波数据:一定要把第几段的所有压缩包都下载,只下载一个会解压错误,这个问题也是困扰了我好久才发现的。
  1. 本周我做的是SHT-TBD,我参考了这篇西电的硕士论文,论文中算法思路比较详细,文中有二维霍夫变换以及三维霍夫变换,我采取的是二维霍夫变换。
  2. 我在这一周完成了SHT-TBD的大部分工作。 由于不知道目标相对于雷达的运动状态,所以我选择做短时局部的的SHT-TBD。在此雷达数据集中,所有数据均是雷达凝视(可根据目标与雷达的GPS数据计算使得雷达一直跟着目标转动,目标一直在雷达扫描的区域内)所得。因此每一个回波中均包含目标信息。因为这个回波数据是已经经过脉冲压缩等预处理后的信号,所以也不用进行脉压了。
  3. 在matlab程序开头一定要加上
clear all;
close all;
clc;

如果不加,在你修改代码后工作区的有些值可能会保留从而影响程序运行的结果。
5. 首先,在前三天我一直专注于在频域上进行SHT,即在距离-多普勒平面。那这个平面是怎么来的呢?就是直接对于几个回波数据,在同一距离单元做fft即可得到距离-多普勒平面。

  • 这里的几个回波数据:一个扫描帧的时间CPI中包含的脉冲,这个CPI在你进行雷达数据处理时会告诉你的。
  • 距离单元:对于发射和接收信号都是同一个天线的雷达,都有最小的检测范围与最大检测范围。在这两个范围内进行平均分割就形成了很多的距离单元。
  • fft:快速离散傅里叶变换,记住假设输入的是八个数据进行fft,则得到的结果也是八个数据。进行fft会有一个提升信噪比增益的效果,也即是参数相干处理的效果。
  • 这里的在同一距离单元做fft的意思:假设我们得到的回波数据的矩阵大小是319×6400。这里的319指的是319个距离单元,6400则是指一共有6400个脉冲回波。我们取前32个脉冲,即取出的数据大小是319×32。那么我们对于每一行即在一个距离单元的32个时刻的值,进行fft,则最终还是会得到319×32的矩阵。这个矩阵平面就是我们所说的距离多-普勒平面。同时由于多普勒频移与目标的径向速度呈现正比的关系,所以距离-多普勒图像也可以看成是距离-径向速度图像。为了使用论文中的算法,需要在取出距离×时间的回波数据矩阵后做一下转置变成时间×距离的回波数据矩阵。
  1. 刚开始我是想先做一个简单的,即在雷达的径向做匀速直线运动。那么将每一张距离-多普勒图像按照时间轴放起来,目标在每一张距离-多普勒图像上的点连起来就是一条平行于时间轴和距离轴的直线。但是后来一直编程无法实现,然后我就转战直接在距离-时间平面上做SHT-TBD了。
  2. 根据论文中的算法,首先要先舍去一些噪声点,即让其值置零。可以理解为初级滤波。论文中采用的是恒虚警的方法,也许作者是想将恒虚警处理达成初级滤波的效果。但是在与长期从事雷达研究的学长交流后,觉得恒虚警处理就是检测的方法。如果要做检测前跟踪,那么所有的处理应该在检测前完成,也即在恒虚警前完成。所以这里我采用找出所有单元中功率最大值,然后遍历所有单元,将功率最大值与每个单元的功率做比值再取对数看看能否小于一个给定的值,我给的是1。
  • 单元,功率:这里的单元就是取的距离-时间矩阵的一个一个的元素。功率是用每个单元幅值的平方。
  1. 生成各个矩阵
  • 生成TH矩阵:根据第6步生成的初级滤波后的矩阵进行遍历,得到非零元素的坐标,此处可以使用find()函数,其返回相应元素的行与列。
  • 生成CD矩阵:角度的范围是0到180°,量化单元是1°,即角度轴是1°,2°,3°…180°。
  • 生成R矩阵:将TH矩阵与CD矩阵相乘,此时行表示的是角度,而列表示的是ρ,对于同一个角度,即一行的数据,可以看成是ρ的离散化。由于ρ需要是整数,所以需要取整,我采用的是round()函数,作用是四舍五入取整。
  • 生成H矩阵:相同ρ与相同角度的单元个数,可以按行遍历,即按每一个角度去遍历,此时角度已经一样,此时只要统计相同的ρ即可。此时使用tabulate()函数,这个函数的作用就是返回相同元素以及相同元素的个数。由于在matlab中行数列数都是正整数,所以我们得到ρ后,还要全部变成正整数,即所有的ρ加ρ最大负值绝对值再加1。
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值