TDM(BPM)-MIMO-FMCW雷达MATLAB仿真

       本文通过对车载毫米波雷达信号流程和链路的仿真,建立基本的算法框架,可用于算法性能的验证。并提供基础MATLAB仿真代码,作为分享和参考。

一、信号的产生

        车载毫米波雷达广泛使用线性调频连续波雷达,也即发射信号频率随时间线性变化

(1)

        其中,fc为载波频率,k是调频斜率。

        发射信号可以表示为

  (2)

        其中,A为信号幅度。

        接收信号经过延迟后得到

  (3)

        其中,α为信号衰减系数,τ为信号延迟。

        将(3)式展开,可得

  (4)

        再和发射机本振进行混频滤波后得到拍频信号

  (5)

        这里,Ar为混频滤波后的信号幅度,最后得到的拍频信号进行后续的处理,(5)中的t即为快时间维度。

        发射N个chirp,则能得到N个rb(t),再将它们组合,即形成了原始数据。然后再对原始数据做快速傅里叶变换,取峰值即可得到目标的距离和速度。原理推导可参考《Modern Radar for Automotive Applications》中第2.4节,整体处理如下图所示。

二、接收信号的处理

       由于每个chirp之间有一点时间差,定义为Tp,则不同chirp对目标的探测距离需要一定补偿,也即

  (6)

       其中,R0是目标的实际距离,R是第n个chirp检测到的距离,v是目标速度,t是第n个chirp的时延,且t = (n-1)*Tp。

       若存在m个目标,则可以将目标的参数写成矩阵形式叠加到回波中。

1.距离分布和距离维FFT

       对目标进行一维FFT,选择第一列数据绘制距离分布图,峰值即代表了真实目标。

       每一列的数据做FFT可以得到类似的结果,如下图所示三维图和俯视图。

2.二维FFT和RD图

       然后在一维FFT的基础上做二维FFT,得到下面的三维图和俯视图。

3.恒虚警检测

       再沿着距离和速度维分别使用CA-CFAR,超过门限的置为1,未超过门限的置为0,则可以得到二维FFT的检测结果,下图分别为三维图和俯视图。

4.检测结果对比

       可以清晰的看到CFAR检测后的结果,最后将结果与真实值进行对比,如下图所示。

三、TDM-MIMO工作体制

       MIMO是提高孔径的常用方法,而MIMO体制要求通道之间是正交的,分时复用是最典型的波形正交方法,以当前角雷达2发4收为例,可通过TDM-MIMO工作体制,虚拟出8个通道。

       以均匀阵为例,上图为实际天线通道,TX0发射信号被RX0~RX4接收,相位差为0~3w;TX1发射信号也被RX0~RX1接收,由于TX1和TX0间距4d=2λ,相位差为4w~7w。由此,2发4收的实际天线虚拟成1发8收的天线,如下图所示。

        由于目标回波到不同接收天线的相位略有差异,因此这里需要对接收信号的模型进行修改,增加相位信息φ(n)。对于每个TX和RX,相位信息φ(n)均不同,和实际天线位置有关,按照上述排列方式,相位信息可以表示为

  (7)

       TDM可以采用慢时间分时发射,也可以采用前后chirp组分时发射,这里选择慢时间分时发射,示意图如下所示。两根发射天线分时发射,TX0发射时TX1不工作,目标回波被RX0~RX3接收,存储为Matrix1~Matrix4,然后TX1发射时TX0不工作,目标回波同样被RX0~RX3接收,存储为Matrix5~Matrix8。

       Matrix1~Matrix8是原始ADC数据,每个矩阵即是MIMO虚拟后的通道数据,经过类似上述的二维FFT后得到RD频谱图。

       与上述单天线形式不同的是,这里多个通道的RD图可以进行非相干积累,改善目标信号质量,提升目标信噪比。

       从积累后的RD图中检测出目标,再索引目标在Matrix1~Matrix8的数值,组成一维向量,即是目标的角度信息,然后通过DBF或DML等测角方法估计其角度。

       第一根天线和第二根天线之间存在相位偏差Δφ,如下图所示。速度为Vr的运动目标产生多普勒频移Δf和多普勒相位偏差Δφ,可以用公式表示

  (8)

  (9)

四、TDM-MIMO仿真

1.多通道二维FFT

        类似单通道的信号处理,这里MIMO虚拟出的8个通道做二维FFT可以得到RD图,如下图所示,每个虚拟的通道都检测出了目标。

        单独看第8通道,除了由于时宽展宽导致的最大不模糊速度减小外,其二维FFT的结果和单发单收模式下几乎一样。

2.多通道非相干积累

       由于所有虚拟通道检测的目标在RD图的同一位置,可以通过非相干积累提高信噪比,对比单通道的结果,积累后二维FFT频谱图目标的峰值更高。

3.恒虚警检测和RD检测结果

       类似地,对积累后的二维FFT频谱图进行CFAR检测,得到检测结果如下。

4.角度估计

       根据检测的距离和速度索引,提取每个通道的数据,使用DBF进行角度估计,并和目标实际角度对比,可以看到目标速度越快,目标角度偏差越大。

5.多普勒补偿和角度估计

       由于存在相位偏差,角度估计有偏差,经过多普勒补偿后,可以缩小角度估计误差。

五、BPM-MIMO工作体制

       BPM不同于TDM的分时发射,它的多个天线同时发射波形,但对每个发射天线使用二进制相位(相位0°和180°)编码,然后再接收端进行解调分离,发射示意图如下。

        S1是TX1发射信号的chirp,相位为0,因此

  (10)

       S2是TX2发射信号的chirp,第n个chirp的相位为(n-1)π,因此

  (11)

       接收天线收到的第1个和第2个chirp为Sa和Sb,则有

        因此有

       以此类推,则可以解调所有通道的chirp。

六、BPM-MIMO仿真

1.一维FFT和二维FFT

       在BMP解调前,对接收通道数据做一维和二维FFT,可以看到距离维的峰值对应于真实的目标,而多普勒维最大不模糊速度为TDM模式下的2倍,主要是chirp周期只有TDM模式的一半,但解调后最大不模糊速度相同。

2.多通道二维FFT

       解调后,各通道的二维FFT结果和TDM模式相同,如下图。

       第8通道的数据也和TDM模型下类似。

       后续的检测估计算法和TDM模式相同,下面给出仿真结果。

3.多通道非相干积累

4.恒虚警检测和RD检测结果

5.角度估计

       BPM发射波形不存在时延,因此不需要像TDM做补偿,直接做角度估计即可。

七、TDM和BPM增益分析

       TDM分时发射,假设和BPM使用相同的chirp,则如下图所示,则TX0在4个chirp周期发送了2个chirp,TX1也是如此。

       因此对于TDM而言,两个发射天线在4个chirp周期总共发射了4个chirp。

       而BPM同时两个天线发射不同相位编码的chirp,在2个chirp周期内发送了4个chirp,如下图所示。

       也就是说,对于BPM,两个发射天线在2个chirp周期可以发送4个chirp,仅为TDM发射时间的一半,效率提升一倍。如果BPM和TDM发射相同的时间,则根据上述的FFT积累增益可知,BPM有约10*log10(2) = 3dB的增益。同理,DDM也有同样的增益。

        仿真信号单个发射天线的信号为384个采样点,512个chirp,2发4收形式,BPM耗时为TDM一半,但信号处理后二维FFT的峰值相同。以下仿真说明了这一点。

1. TDM积累后增益仿真

       对接收信号做二维FFT和多通道积累,可以看到峰值为123.9dB,噪声功率为70.0dB,信噪比为53.9dB

2. BPM积累后增益仿真

        BPM同样做二维FFT和多通道积累,其目标峰值为117.9dB,噪声功率为64.0dB,信噪比为53.9dB

参考资料

《基于 AWR1642 汽车雷达的速度扩展算法研究》

《Modern Radar for Automotive Applications》

MIMO雷达(TI文档)-CSDN博客

加特兰毫米波雷达技术文档

FMCW雷达信号处理基本流程_matlab绘制雷达常规脉冲信号波形资源-CSDN文库

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

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

相关文章

日本OTC机械手维修需要注意哪些问题呢?

随着工业4.0时代的到来,机器人在制造业中的应用越来越广泛。OTC(Over The Counter)机器人作为工业机器人的一种,以其高效、精准、稳定的特点受到众多企业的青睐。然而,在实际使用过程中,可能会出现一些OTC机…

如何在路由器上做端口映射

假设现在外网有一台ADSL直接拨号上网的电脑,所获得的是公网IP。然后它想访问局域网内的电脑上面的网站,那么就需要在路由器上做端口映射。在路由器上做端口映射的具体规则是:将所有发向自己端口的数据,都转发到内网的计算机。 访…

github删除自己的仓库

测试Github的时候新建了很多仓库,但是后来想删除,找了半天居然没有找到按钮。 我就推测这个删除的功能肯定藏起来了,后来度娘了一下,发现果然在一个比较隐蔽的位置,不知道以后这个功能会不会改到一个比较明显的位置吧…

c++ 归并排序

归并排序是一种遵循分而治之方法的排序算法。它的工作原理是递归地将输入数组划分为较小的子数组并对这些子数组进行排序,然后将它们合并在一起以获得排序后的数组。 简单来说,归并排序的过程就是将数组分成两半,对每一半进行排序&#xff0c…

原子学习笔记5——点亮 LED

一、应用层操控设备的两种方式 应用层如何操控底层硬件,同样也是通过文件 I/O 的方式来实现,设备文件便是各种硬件设备向应用层提供的一个接口,应用层通过对设备文件的 I/O 操作来操控硬件设备,譬如 LCD 显示屏、串口、按键、摄像…

面向对象设计之套路——设计模式

1、总则 面向对象的分析设计编程思想,通过封装、继承、多态把程序的耦合度降低,用设计模式使得程序更加灵活,容易修改,并且易于复用。 让业务逻辑与界面逻辑分开,让它们的耦合度下降,只有分离,…

nginx--FastCGI

CGI 概念 nginx通过与第三方基于协议实现,即通过某种特定协议将客户端请求转发给第三方服务处理,第三方服务器会新建新的进程处理用户的请求,处理完成后返回数据给Nginx并回收进程(下次处理有需要新建),最后nginx在返回给客户端…

Jenkins流水线部署Maven项目

使用Jenkins的流水线功能,构建部署Java Maven项目,步骤很简单但是不少细节需要注意。 一、安装 Jenkins的安装步骤和流程就不具体描述,这里主要介绍一下安装时要注意的几个问题。 1、Jenkins尽量安装最新的几个版本,否则安装完成…

elixir V2测试网验证器一键部署脚本

实际收益 1、服务器环境 服务器系统:centos 7或者ubuntu 20.04(以上) CPU:2核 内存:4G 硬盘:30G ssd 网络:可靠的 100Mbit 互联网 2、部署脚本 #!/bin/bash set -eif [ "$#" -ne 3 ]; thenecho "Usage:

(已解决)org.springframework.amqp.rabbit.support.ListenerExecutionFailedException

报错截图 解决方案 1、登录rabbitMQ网址,删除所有队列 2、重启rabbitMQ 亲测有效!!!亲测有效!!!亲测有效!!!

uni-appH5Android混合开发二 || 使用Android Studio打包应用APK

前言: 在上一章节我们已经讲了如何uni-app离线打包Android平台教程,这一章就该来讲讲如何使用Android Studio打包应用APK提供给Android手机安装使用了。 uni-app跨平台框架介绍和快速入门 uni-app跨平台框架介绍和快速入门 第一步、首先打开已经编译好的…

javac编译web项目中的src

对于单个文件的且不引用其他类文件的java源码用javac编译大家都很熟悉即 javac hello.java, 服务器未安装idea,现在在服务器里面直接编译src目录 1 idea项目结构如下 2 web目录为最终部署的代码 WEB-INF下面没有 classes 目录 3 使用javac 编译src javac -encod…

图:广度优先遍历(BFS)和深度优先遍历(DFS)

1.工具类:队列和字典 export class DictionNary {// 字典的封装constructor() {this.items {}}set(key, value) {// 添加键this.items[key] value}has(key){// 判断键是否存在return this.items.hasOwnProperty(key)}get(key){// 获取键的valuereturn this.has(k…

六级仔细阅读

画两到三个词,精准定位 要原文和同义都满足才选 先看题目,在看原文,不要先看选项 做不出答案就继续往下读,读出来了就不用继续读了 分清楚是问为什么还是是什么,是什么看前面,为什么看后面 不知道就优先…

力扣HOT100 - 215. 数组中第K个最大元素

解题思路: 快速选择,目标是找出数组中第 k 小(或第 k 大)的元素,而不是对整个数组进行排序。 (需要和快排进行区分,快排的目的是排序) 注意: i l - 1, j r 1; 为什…

Spring Boot集成zookeeper快速入门Demo

1.什么是zookeeper? Zookeeper 是一个开源的分布式协调服务,目前由 Apache 进行维护。Zookeeper 可以用于实现分布式系统中常见的发布/订阅、负载均衡、命令服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。它具有以下特性…

学习Java的日子 Day45 HTML常用的标签

Day45 HTML 1.掌握常用的标签 1.1 标题标签 h1-h6 <h1>一级标签</h1> <h2>二级标签</h2> <h3>三级标签</h3> <h4>四级标签</h4> <h5>五级标签</h5> <h6>六级标签</h6> 显示特点&#xff1a; * 文字…

MemoryModule - exp - test

文章目录 MemoryModule - exp - test概述笔记测试环境GetModuleFileName不能正常执行GetModuleFileNameWntdll_LdrGetDllFullName猜测原因用LoadLibrary载入的DLL中功能是正常的 gLog可以正常使用内存载入DLL无法支持的功能的折中方法COM操作正常调用方代码接口代码 接口入参测…

基于springboot实现毕业设计系统项目【项目源码+论文说明】

基于springboot实现毕业设计系统演示 摘要 在如今社会上&#xff0c;关于信息上面的处理&#xff0c;没有任何一个企业或者个人会忽视&#xff0c;如何让信息急速传递&#xff0c;并且归档储存查询&#xff0c;采用之前的纸张记录模式已经不符合当前使用要求了。所以&#xff…

绝地求生:盘点宝箱中能开出来的极品皮肤!

最近杜卡迪联名大伙儿不都开箱子出了一堆皮肤吗&#xff1f;很多人搞不清哪些皮肤要留&#xff0c;哪些皮肤可以分。 OK这篇文章稍微推荐几个我认为的高质量可兑换的皮肤&#xff0c;当然个人整理难免有疏漏&#xff0c;欢迎评论区补充。 余波学院黑丝袜 目前游戏里唯一一条显…