基于Matlab模拟多路径回波引起的雷达“幽灵”仿真
bigegpt 2024-10-12 05:53 11 浏览
一、前言
此示例展示了如何模拟由于多径反射引起的鬼目标检测和跟踪,其中信号能量在返回雷达之前从另一个目标反射。在此示例中,您将使用统计雷达模型和生成 IQ 信号的收发器模型模拟阴影。
二、赋予动机
许多高速公路场景不仅涉及其他车辆,还涉及障碍物和护栏。考虑使用驾驶方案设计器(自动驾驶工具箱)应用创建的简单高速公路。
要对前视汽车雷达生成的检测进行建模,请使用 .使用77 GHz中心频率,这是汽车雷达的典型特征。生成范围达 150 米、径向速度高达 100 m/s 的检测。
该图显示了沿目标车辆以及沿屏障侧面的检测位置。但是,检测并不总是那么好。一种可能给雷达工程师带来巨大挑战的现象是多路径。多径是指信号不仅直接传播到预期目标并传播回雷达,而且还包括环境中物体的额外反射。
三、多路径反射
当雷达信号传播到感兴趣的目标时,它可以通过各种路径到达。除了从雷达到目标然后返回雷达的直接路径外,还有其他可能的传播路径。路径的数量是无限的,但随着每次反射,信号能量都会减少。通常,考虑三反弹路径的传播模型用于模拟这种现象。
要了解三次反弹模型,首先考虑更简单的一次反弹和两次反弹路径,如图所示。
3.1 单弹跳路径
单次反弹路径从雷达 (1) 传播到目标 (2),然后从目标 (2) 反射回雷达。这通常称为直接路径或视线路径。
3.2 双弹跳路径
在这种情况下,有两个唯一的传播路径,由两个反弹组成。
第一个两次反弹路径从雷达 (1) 传播到反射表面 (3),然后传播到目标 (2),然后返回雷达 (1)。由于雷达接收到的信号来自真实目标的最后一次反弹,因此它会沿与真实目标相同的方向生成幽灵检测。由于此传播的路径长度较长,因此它出现在比真实目标检测更远的范围内。
第二条两次反弹路径从雷达(1)传播到目标(2),然后传播到反射面(3),然后返回雷达(1)。在这种情况下,当雷达接收到该方向的反射信号时,鬼影检测出现在反射面的另一侧。
请注意,两条两次反弹路径的路径长度相同。因此,这些路径的测量范围和范围速率也将相同。
3.3 三弹路径
三弹路径两次反射出屏障。这条路径永远不会直接传播到目标或直接传播回雷达。当雷达接收到该方向的反射信号时,三次反射鬼影检测出现在反射面的另一侧。此外,它具有三个反弹路径中最长的传播路径,因此具有三个路径中最长的测量范围。该路径对应于屏障另一侧真实目标的镜像反射。
3.4 模型重影目标检测
在 上设置属性,以对从这些三次退回路径生成的检测进行建模。
该图再现了对三种传播路径的分析。前两次反弹的幽灵位于目标方向上,其距离比直接路径检测略长。第二个两次反弹和三次反弹的鬼魂位于由屏障反射产生的目标镜像的方向上。
四、幽灵踪迹
由于幽灵目标检测的范围和速度与真实目标的范围和速度相似,因此对于配置为跟踪真实目标检测的跟踪器,它们的运动学是一致的。真实目标和幽灵目标的运动学之间的这种一致性导致为屏障另一侧的幽灵目标生成轨迹。
将属性设置为 to 以对存在多路径的雷达生成的轨迹进行建模。
此图显示了使用方形标记确认的轨道位置。不绘制与静态对象(例如障碍)对应的轨迹。请注意,有多个轨道与领头车相关联。覆盖领头车的轨道对应于真实检测和第一个两次反弹的幽灵。护栏另一侧道路外的轨道对应于第二个两次弹跳和三次弹跳的幽灵。
轨道速度由指向远离轨道位置的矢量的长度和方向表示(这些矢量很小,因为它们是相对于自我车辆的)。幽灵检测可能会欺骗跟踪器,因为它们具有与真实目标的运动学类似的运动学。这些幽灵磁道可能会出现问题,因为它们会给跟踪器增加额外的处理负载,并可能混淆使用目标磁道的控制决策。
五、型号 IQ 信号
在本示例中之前的自由空间和多路径仿真中,您使用了测量级雷达模型来生成检测和轨迹。现在,使用 System 对象生成时域 IQ 信号。直接从 创建等效项。
统计雷达具有以下距离和距离速率(多普勒)参数,这些参数决定了 所用波形的约束。计算满足雷达范围速率的脉冲重复频率 (PRF)。计算满足范围速率分辨率要求所需的脉冲数。确认与此PRF对应的明确范围超出了最大范围限制。重新设置 的某些属性,以便更好地与 中的 IQ 结果进行比较。直接从 .默认情况下,使用 单位增益矩形天线方向图,其方位角和仰角波束宽度等于 的方位角和仰角分辨率。要模拟具有覆盖所需视场的发射模式的雷达,请首先设置与视场相等的方位角分辨率。
统计雷达模拟使用均匀线性阵列(ULA)形成多个接收波束,以实现指定的方位角分辨率。将 ULA 连接到 的接收天线。
5.1 生成 IQ 样本
使用 从多路径方案中计算目标和传感器位置的三个反弹路径。使用 生成雷达接收的基带采样 IQ 数据。
5.2 距离和多普勒处理
接收的数据立方体具有三个维度:快速时间样本、接收天线元件和慢时样本。使用 System 对象沿数据立方体的第一维和第三维执行范围和多普勒处理。
5.3 波束成形
使用 System 对象沿数据立方体的第二维从接收天线阵列元素形成波束。
使用该函数根据波束成形、距离和多普勒处理的数据立方体绘制距离角度图。
接收信号的局部最大值对应于目标车辆的位置、护栏以及目标车辆在护栏另一侧的鬼影。表明 生成的测量电平检测与等效生成的范围-角度图中的峰值一致。使用该函数可比较此方案持续时间内的测量级别检测和 IQ 处理的视频。
六、多路径地面反弹
多路径鬼影检测有时可用于查看道路上的物体,否则由于遮挡,雷达无法检测到这些物体。一个例子是检测由于路面上的多路径而阻塞的车辆。使用该函数创建一个场景,其中与自我车辆在同一车道上行驶速度较慢的车辆被雷达正前方的另一辆车遮挡。
黄色汽车被红色汽车遮挡。蓝色自我汽车的前视雷达和黄色汽车之间不存在视线。
多路径可以穿过汽车底部和路面之间的空间。重用以生成由于车辆和路面之间的多路径而导致的鬼目标检测。使用 and 函数将路面包含在方案中建模的目标列表中,以启用路面和车辆之间的多路径。
由于路面和红色汽车底部之间存在三弹跳路径,因此可以从被遮挡的汽车进行检测。
此图将三次反弹路径显示为红线。观察雷达和被遮挡的黄色汽车之间存在反弹路径,通过穿过红色汽车的底部。
这张图显示了从路面反弹后到达被遮挡的黄色汽车的三弹路径。
七、总结
在此示例中,您了解了雷达和目标之间可能发生的多次反射如何产生鬼目标检测。汽车雷达场景用于突出显示雷达视野中的护栏产生幽灵目标的常见情况。因此,有四个独特的反弹路径可以产生这些重影检测。鬼目标检测的运动学类似于真实目标的检测,因此,这些幽灵目标可以创建幽灵轨迹,这可能会给跟踪器增加额外的处理负载,并可能混淆使用这些轨迹的控制算法。可用于生成更高保真度的 IQ 数据,这些数据适合作为检测和跟踪算法的输入。
八、程序
相关推荐
- 最全的MySQL总结,助你向阿里“开炮”(面试题+笔记+思维图)
-
前言作为一名编程人员,对MySQL一定不会陌生,尤其是互联网行业,对MySQL的使用是比较多的。对于求职者来说,MySQL又是面试中一定会问到的重点,很多人拥有大厂梦,却因为MySQL败下阵来。实际上...
- Redis数据库从入门到精通(redis数据库设计)
-
目录一、常见的非关系型数据库NOSQL分类二、了解Redis三、Redis的单节点安装教程四、Redis的常用命令1、Help帮助命令2、SET命令3、过期命令4、查找键命令5、操作键命令6、GET命...
- netcore 急速接入第三方登录,不看后悔
-
新年新气象,趁着新年的喜庆,肝了十来天,终于发了第一版,希望大家喜欢。如果有不喜欢看文字的童鞋,可以直接看下面的地址体验一下:https://oauthlogin.net/前言此次带来得这个小项目是...
- 精选 30 个 C++ 面试题(含解析)(c++面试题和答案汇总)
-
大家好,我是柠檬哥,专注编程知识分享。欢迎关注@程序员柠檬橙,编程路上不迷路,私信发送以下关键字获取编程资源:发送1024打包下载10个G编程资源学习资料发送001获取阿里大神LeetCode...
- Oracle 12c系列(一)|多租户容器数据库
-
作者杨禹航出品沃趣技术Oracle12.1发布至今已有多年,但国内Oracle12C的用户并不多,随着12.2在去年的发布,选择安装Oracle12c的客户量明显增加,在接下来的几年中,Or...
- flutter系列之:UI layout简介(flutter-ui-nice)
-
简介对于一个前端框架来说,除了各个组件之外,最重要的就是将这些组件进行连接的布局了。布局的英文名叫做layout,就是用来描述如何将组件进行摆放的一个约束。在flutter中,基本上所有的对象都是wi...
- Flutter 分页功能表格控件(flutter 列表)
-
老孟导读:前2天有读者问到是否有带分页功能的表格控件,今天分页功能的表格控件详细解析来来。PaginatedDataTablePaginatedDataTable是一个带分页功能的DataTable,...
- Flutter | 使用BottomNavigationBar快速构建底部导航
-
平时我们在使用app时经常会看到底部导航栏,而在flutter中它的实现也较为简单.需要用到的组件:BottomNavigationBar导航栏的主体BottomNavigationBarI...
- Android中的数据库和本地存储在Flutter中是怎样实现的
-
如何使用SharedPreferences?在Android中,你可以使用SharedPreferencesAPI来存储少量的键值对。在Flutter中,使用Shared_Pref...
- Flet,一个Flutter应用的实用Python库!
-
▼Flet:用Python轻松构建跨平台应用!在纷繁复杂的Python框架中,Flet宛如一缕清风,为开发者带来极致的跨平台应用开发体验。它用最简单的Python代码,帮你实现移动端、桌面端...
- flutter系列之:做一个图像滤镜(flutter photo)
-
简介很多时候,我们需要一些特效功能,比如给图片做个滤镜什么的,如果是h5页面,那么我们可以很容易的通过css滤镜来实现这个功能。那么如果在flutter中,如果要实现这样的滤镜功能应该怎么处理呢?一起...
- flutter软件开发笔记20-flutter web开发
-
flutterweb开发优势比较多,采用统一的语言,就能开发不同类型的软件,在web开发中,特别是后台式软件中,相比传统的html5开发,更高效,有点像c++编程的方式,把web设计出来了。一...
- Flutter实战-请求封装(五)之设置抓包Proxy
-
用了两年的flutter,有了一些心得,不虚头巴脑,只求实战有用,以供学习或使用flutter的小伙伴参考,学习尚浅,如有不正确的地方还望各路大神指正,以免误人子弟,在此拜谢~(原创不易,转发请标注来...
- 为什么不在 Flutter 中使用全局变量来管理状态
-
我相信没有人用全局变量来管理Flutter应用程序的状态。毫无疑问,我们的Flutter应用程序需要状态管理包或Flutter的基本小部件(例如InheritedWidget或St...
- Flutter 攻略(Dart基本数据类型,变量 整理 2)
-
代码运行从main方法开始voidmain(){print("hellodart");}变量与常量var声明变量未初始化变量为nullvarc;//未初始化print(c)...
- 一周热门
- 最近发表
-
- 最全的MySQL总结,助你向阿里“开炮”(面试题+笔记+思维图)
- Redis数据库从入门到精通(redis数据库设计)
- netcore 急速接入第三方登录,不看后悔
- 精选 30 个 C++ 面试题(含解析)(c++面试题和答案汇总)
- Oracle 12c系列(一)|多租户容器数据库
- flutter系列之:UI layout简介(flutter-ui-nice)
- Flutter 分页功能表格控件(flutter 列表)
- Flutter | 使用BottomNavigationBar快速构建底部导航
- Android中的数据库和本地存储在Flutter中是怎样实现的
- Flet,一个Flutter应用的实用Python库!
- 标签列表
-
- mybatiscollection (79)
- mqtt服务器 (88)
- keyerror (78)
- c#map (65)
- xftp6 (83)
- bt搜索 (75)
- c#var (76)
- xcode-select (66)
- mysql授权 (74)
- 下载测试 (70)
- linuxlink (65)
- pythonwget (67)
- androidinclude (65)
- libcrypto.so (74)
- linux安装minio (74)
- ubuntuunzip (67)
- vscode使用技巧 (83)
- secure-file-priv (67)
- vue阻止冒泡 (67)
- jquery跨域 (68)
- php写入文件 (73)
- kafkatools (66)
- mysql导出数据库 (66)
- jquery鼠标移入移出 (71)
- 取小数点后两位的函数 (73)