FMCW雷达仿真:基于L形阵列4D点云获取

news2024/12/25 9:22:04

摘要:本期内容为3D点云目标获取的延续工作,在距离、速度、方位角估计的基础上,通过设计L型阵列结构,进一步实现目标俯仰角的估计,最终实现目标4-D点云的获取。首先,通过中频信号建立仿真信号模型,并设计1发N收的L型阵列结构接收目标回波信号;通过对回波信号进行相应的信号处理,最终获得目标的4-D点云。

1.L型阵列

        有关于信号建模的方法,各位读者可以回顾博主往期3D点云的内容。如图1所示为L形阵列的阵列结构,有M+N-1个阵元。此L型阵列由x轴上阵元数为N的均匀线阵和y轴上阵元数为M的均匀线阵构成,阵列间距为d。假设空间有K个信源照射到此阵上。其二维波达方向为(θk,ϕk),k = 1,2,3,…,K,其中,θkϕk分别表示第k个信源的俯仰角和方位角。

 

图1 L型阵列结构

假设入射到此阵列上的信源数为K,则x轴上N个阵元对应的导向矩阵为 

y轴上M个阵元对应的导向矩阵为 

根据上述的导向矩阵,我们在建立信号模型时,首先需要预先确定Nx和Ny的天线数量,其次就是根据不同的接收天线之间依次加入对应的导向信息,因此信号建模代码如下: 

for frameid = 1 : numframe
        for rxid = 1 : numrx - 1
            for chirpid = 1 : numchirp
                for targetid = 1 : numtarget 
                    for  sampleid = 1 : numsamples
                        R = target(targetid,1) + ((chirpid-1)*T)*target(targetid,2) + (frameid-1)*numchirp*T*target(targetid,2); %计算目标随速度变化的距离,以忽略快时间对距离的影响
                        delay = 2 * R / parameter.c;
                        fixphase = exp(1j*2*pi*(f0*delay-0.5*slope*delay^2));         %中频信号的固定相位,末尾的相位为剩余视频相位,为了更真实还原毫米波雷达数据,本程中没有将其省略
                        fastsampdata(sampleid) = abs(randn)^2 * exp(1j*2*pi*slope*delay*t(sampleid)) * fixphase; %这里采用随机起伏   
                    end
                    %用来判断不同的天线间
                    if(rxid <= Nx)
                        azimuthphase = exp(1j*(2*pi/lambda)*cosd(target(targetid,3))*sind(target(targetid,4)) *(rxid -1) * Detarx);  %目标方位角信息
                    else
                        azimuthphase = exp(1j*(2*pi/lambda)*sind(target(targetid,3))*sind(target(targetid,4)) *(rxid - Nx) * Detarx);  %目标方位角信息
                    end
                    rawdata(:,chirpid,rxid,frameid) = rawdata(:,chirpid,rxid,frameid) + fastsampdata.* azimuthphase;
                end
            end
            %加入高斯噪声
            MixIQ = rawdata(:,:,rxid,frameid);
            xigema = std(MixIQ)/db2mag(snr);
            MixIQ = MixIQ + ((randn(size(MixIQ)) + 1i*randn(size(MixIQ)))).*xigema;
            rawdata(:,:,rxid,frameid) = MixIQ;
        end
end

信号时域图如下:

图2 信号时域图

 

 2.FMCW 4D点云仿真

        仿真环境:Matlab2021b,windows 11

        阵列结构:L型阵列,设置1发20收。其中Nx = 12,Ny = 8;

        目标设置:3个目标。(10 , -2.2 , 30, 24)、(5, 4.4 , -15, 46)、(22, 3.5 , 20 , 61)从左到右依次表征目标的距离、速度、方位角和俯仰角。

        系统参数:最大探测距离=30m;距离分辨率=0.06m;最大不模糊速度=7.93m/s;速度分辨率=0.12m/s; 

仿真效果如下:

图 3 目标距离多普勒图

根据图3目标的距离多普勒图可以很明显的得到目标的距离和速度信息,为了进一步检测目标,采用CFAR恒虚警目标检测技术对距离多普勒结果进行检测得:

图4 CFAR输出的距离多普勒图

从根据图4CFAR的输出结果,我们通过峰值搜索的方法即可提取目标距离和速度所在的索引,即完成自动检测的目的。为了获得目标的方位角和俯仰角的信息,我们将将距离多普勒结果作为输入,采用2维MUSIC算法进行DOA估计,估计结果为:

图5 目标方位-俯仰角

 

图 6 目标方位角、俯仰角剖面

根据图5和图6,可以得出,无论是方位-俯仰联合分布,或各自的剖面信息,都很清晰的表征了目标的方位-俯仰信息,我们根据各自的剖面信息,分别分离提取并关联,最终得到目标的4-D点云,通过控制输出4-D点云列表,如下:

图 7 4-D点云列表

从点云列表我们可以得知,与最初设置的目标信息相差不大,足以证明我们方法的有效性。

3 总结

        本期内容主要是对3D点云的补充部分,希望对大家有所帮助,另外创作不易,感谢支持!

仿真代码链接:FMCW雷达4-D点云仿真源代码

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

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

相关文章

MySQL中替换字符串中的指定部分之REPLACE函数

REPLACE函数是用来替换字符串中的指定部分内容的。在本文中&#xff0c;将介绍如何在MySQL中使用REPLACE函数进行字符串替换 REPLACE函数的语法&#xff1a; REPLACE(str, search_str, replace_str) 其中&#xff0c;str是要进行替换操作的字符串&#xff0c;search_str是要搜…

WebGL开发虚拟旅游应用

WebGL可以用于开发虚拟旅游应用&#xff0c;提供用户在浏览器中探索虚拟景点和环境的交互体验。以下是在WebGL中开发虚拟旅游应用的一般流程&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 1.需求分析…

用于电磁炉、电压力锅等小家电的LED电源芯片型号汇总表

LED电源芯片是一种用于电磁炉、电压力锅等小家电的关键元器件。它具有高效、稳定、可靠的特点&#xff0c;能够满足小家电对电源的各种需求。 首先&#xff0c;LED电源芯片具有高效能的特点。它采用先进的功率转换技术&#xff0c;能够将输入的电压稳定地转换为输出所需的电压…

Redis原理之网络通信协议笔记

目录 1. RESP协议 ​2. 自定义Socket连接Redis 1. RESP协议 2. 自定义Socket连接Redis public class MyRedisClient {static Socket s;static PrintWriter writer;static BufferedReader reader;static Object obj;public static void main(String[] args) {try {// 1.建立连…

使用阿里云性能测试工具 JMeter 场景压测 RocketMQ 最佳实践

作者&#xff1a;森元 需求背景 新业务上线前&#xff0c;我们通常需要对系统的不同中间件进行压测&#xff0c;找到当前配置下中间件承受流量的上限&#xff0c;从而确定上游链路的限流规则&#xff0c;保护系统不因突发流量而崩溃。阿里云 PTS 的 JMeter 压测可以支持用户上…

ros2/ros 4轮2驱机器人xacro/urdf文件示例代码

这个实验中最重要的是&#xff1a;colcon build 之后要记得source install/setup.bash.否则修改的文件是不会更新的。知道了吧 <robot name"half" xmlns:xacro"http://wiki.ros.org/wiki/xacro"><xacro:property name"PI" value"3…

紫光展锐T820与百度飞桨完成I级兼容性测试 助推端侧AI融合创新

近日&#xff0c;紫光展锐高性能5G SoC T820与百度飞桨完成I级兼容性测试&#xff08;基于Paddle Lite工具&#xff09;。测试结果显示&#xff0c;双方兼容性表现良好&#xff0c;整体运行稳定。这是紫光展锐加入百度“硬件生态共创计划”后的阶段性成果。 本次I级兼容性测试完…

什么猫粮比较好?5款自用质量好的主食冻干排行榜

冻干猫粮因其高营养和适口性&#xff0c;受到了众多铲屎官们的喜爱和追捧。冻干猫粮的喂养方式非常简单&#xff0c;可以直接喂食&#xff0c;也可以将冻干复水后喂食&#xff0c;根据猫咪的不同喜好可以选择不同的喂养方式。然而&#xff0c;有些铲屎官在选择冻干猫粮时可能会…

Electron窗口标题栏位置异常?教你妙招解决!

Electron 是一个开源的桌面应用程序开发框架&#xff0c;它允许使用常用的 web 技术&#xff08;HTML、CSS、JavaScript&#xff09;构建跨平台的桌面应用。然而&#xff0c;在使用 Electron 开发应用时&#xff0c;你可能会面临不同操作系统之间的兼容性问题 本文将探讨在 El…

Latex-algorithm2e中将Algorithm修改为中文 “算法”

方法&#xff1a; 中文就是要放在中文环境里&#xff0c;使用如下 \renewcommand{\algorithmcfname}{算法} 效果由&#xff1a; 变成 参考&#xff1a; LaTeX技巧&#xff1a;算法标题 Algorithm如何重命名_name{algorithm}{算法}-CSDN博客 &#xff08;该文章提供了两个算法…

H5小游戏加固方案

今年的中国游戏产业年会上&#xff0c;小游戏成了万众瞩目的行业新风口。据伽马数据统计&#xff1a;2023年小游戏市场规模可达200亿元&#xff0c;同比增长300% 。 小游戏有着分发更精准、用户转化率更高、研发成本更低、场景适用性更强等优势&#xff0c;具备巨大的市场潜力…

五、从0开始卷出一个新项目瑞萨RZN2L之RZT2L BaseProject coremark的移植

感谢来自b站热心帅气的同学分享的RZT2L移植经验总结的md文档 1 需要注意的小点 1.1 使用Flash运行调试前&#xff0c;新板子需要erase 1.2 在线debug&#xff0c;需要修改startup.c 2 coremark工程建立 2.1 工程创建 2.2 src 用户c代码移植 2.3 debug调试 …

Java 基础学习(十五)集合排序、Lambda和Stream

1 集合排序 1.1 集合排序API 1.1.1 集合排序概述 集合排序是指对一个集合中的元素按照特定规则进行重新排列&#xff0c;以使得集合中的元素按照预定义的顺序呈现。 在集合排序中&#xff0c;通常需要定义一个比较规则&#xff0c;这个比较规则用于决定集合中的元素在排序后…

cpp笔记2

this 友元 友元的目的就是让一个函数或者类 访问另一个类中私有成员 全局函数做友元 friend void goodGay(Building * building);类做友元 friend class goodGay;成员函数做友元 //告诉编译器 goodGay类中的visit成员函数 是Building好朋友&#xff0c;可以访问私有内容fr…

【2023CANN训练营第二季】——Ascend C代码实操分享

1.实操题目&#xff1a; 使用Ascend C实现Addcdiv算子 参考pytorch的Addcdiv算子&#xff0c;实现Ascend C算子Addcdiv,算子命名为AddcdivCustom相关算法:out x y/z*value 要求: 1、完成Kernel侧实现代码和host侧调用算子代码&#xff0c;支持fp16类型输入 2、完成AcInn方式调…

Centos 8.5 Oracle12c安装

由于多次安装踩坑&#xff0c;所以本次写了一份12c安装的完整版。可以直接使用。 一、安装数据库基本信息 名称 值 主机名 database 操作系统 CentOS Linux release 8.5.2111 Oracle用户名/密码 oracle Oracle 版本 12c Enterprise Edition Release 12.2.0.1.0 oracle…

【解决Typora图片不是显示问题】PicGo+Github+Typora+ onedrive/坚果云 实现笔记同步

【解决Typora图片不是显示问题】PicGo、Github、Typora实现笔记同步 写在前面&#xff1a; typora笔记软件使用记录typora图片上传问题&#xff1a;原因分析&#xff1a;解决方案&#xff1a;PicGoGithubTypora 坚果云/onedrive 实现笔记同步第一步. 设置上传模式&#xff1a;u…

解析Spring确定构造方法的过程

解析Spring确定构造方法的过程 文章目录 解析Spring确定构造方法的过程前言一、三个普通构造函数解析过程二、加Autowired 和 只有一个有参构造函数解析过程总结 前言 每次都是从关键代码进行定位解析&#xff0c;希望大家对Spring源码有一定的了解再看&#xff0c;本篇主要解…

IP子网划分【专题突破】

1、IP地址基础 IPv4地址是32位&#xff0c;采用点分十进制方式表示&#xff0c;其次必须掌握二进制的转换。 IPv6地址是128位&#xff0c;采用冒号分隔的十六进制表示方法。 2、IP地址的分类 RFC1918规定的私有地址 A类地址范围&#xff1a;10.0.0.0-10.255.255.255(1个A类…

在idea中不经意把模块remove moudle后在delete删除了怎么办

删除模块 我先演示一遍删除操作&#xff0c;看看您是不是这样误删的。 这时候模块已经被删除了 恢复模块 接下来进行恢复 File → Local_History → Show_History 打开历史记录 通过时间线或者找到要恢复的文件一步一步查找&#xff0c;找到要恢复的位置即可 以下位…