Remote Sensing,2023 | 基于SBL的分布式毫米波相干雷达成像的高效实现

news2024/11/24 11:29:26

Remote Sensing,2023 | 基于SBL的分布式毫米波相干雷达成像的高效实现

注1:本文系“无线感知论文速递”系列之一,致力于简洁清晰完整地介绍、解读无线感知领域最新的顶会/顶刊论文(包括但不限于 Nature/Science及其子刊; MobiCom, Sigcom, MobiSys, NSDI, SenSys, Ubicomp; JSAC, 雷达学报 等)。
本次介绍的论文是:2023,Remote Sensing | Efficient Implementation for SBL-Based Coherent Distributed mmWave Radar Imaging
文章DOI: https://doi.org/10.3390/rs15041054

文章动机

毫米波雷达因其小型化、高分辨率、长距离探测等优点,在汽车自动驾驶、交通监测、无人机避障等民用领域得到广泛应用。但是,单雷达的角分辨率有限,难以满足实际需求。本文提出在多个分布式小孔径毫米波雷达之间实现相干合成,通过信号处理算法提高雷达系统的有效孔径,从而改善角分辨率。

但是传统的距离多普勒成像算法,在错位数据情况下效果较差。而稀疏贝叶斯学习(SBL)算法由于鲁棒性强、精度高,适合处理探测数据不连续的情况,可以用于分布式雷达成像。但是SBL算法计算复杂度高。

因此,本文针对FMCW雷达的数据结构特点,提出一种快速SBL算法,名称为LC-SBL,可以大幅降低算法计算复杂度。该算法对增强分布式毫米波雷达的角分辨率具有重要意义。
在这里插入图片描述

文章思路

  1. 引言部分概述文章研究背景、问题和方法。

  2. 第二部分介绍分布式FMCW MIMO雷达系统模型,以及SBL算法原理。

  3. 第三部分是文章的核心贡献部分。介绍针对雷达数据的特点,提出一种TBT矩阵求逆的新分解方法。并基于该分解提出LC-SBL快速算法,可以利用FFT快速计算。

  4. 第四部分是仿真验证和实验结果。分别用仿真数据和实际测量数据验证LC-SBL算法在改进角分辨率和降低计算复杂度方面的优势。

  5. 最后是结论部分,总结全文的贡献。
    好的,我继续完成博客文章的撰写:

LC-SBL算法的技术原理

LC-SBL算法的核心创新点是提出一种TBT矩阵逆矩阵的新分解方法。

在雷达成像问题中,采集到的回波信号r和成像结果u之间的关系可以表示为:

r = H u + η r=Hu+\eta r=Hu+η

其中 H H H是采样矩阵,可以表示为傅立叶字典矩阵的形式。这样 H H H对应的协方差矩阵是一个TBT矩阵:

F = H Λ H H F=H\Lambda H^H F=HΛHH

TBT矩阵具有Toeplitz块圈矩阵的结构特点,如公式(15)所示。

为了快速求解u,需要对矩阵 Q = I + β F Q=I+\beta F Q=I+βF进行求逆运算。文章提出了一种新颖的TBT矩阵逆矩阵的分解方法:

将Q的逆矩阵表示为下三角Toeplitz块矩阵 L ( x ) L(x) L(x)和圈矩阵 C ( J μ ) C(J\mu) C(Jμ)之积的和,具体如公式(40)所示。

Q − 1 = L ( x ) C ( J μ ‾ ) − ( L ( μ ) − I ) C ( J x ‾ ) = L ( x ) C ( J μ ‾ ) − L ( μ − E 0 ) C ( J x ‾ ) \begin{aligned} \mathbf{Q}^{-1} & =\mathrm{L}(\mathbf{x}) C(\mathbf{J} \overline{\boldsymbol{\mu}})-(\mathrm{L}(\boldsymbol{\mu})-\mathbf{I}) \mathrm{C}(\mathbf{J} \overline{\mathbf{x}}) \\ & =\mathrm{L}(\mathbf{x}) \mathrm{C}(\mathbf{J} \overline{\boldsymbol{\mu}})-\mathrm{L}\left(\boldsymbol{\mu}-\mathbf{E}_0\right) \mathrm{C}(\mathbf{J} \overline{\mathbf{x}})\end{aligned} Q1=L(x)C(Jμ)(L(μ)I)C(Jx)=L(x)C(Jμ)L(μE0)C(Jx)

这样,原来需要大量计算的矩阵求逆运算,可以转换为三角Toeplitz矩阵的线性卷积,和圈矩阵的圈卷积。这两种运算可以通过FFT快速实现。

因此,文章提出的LC-SBL算法,可以将SBL中大部分时间耗费的运算,转换为FFT运算,从而大幅降低算法复杂度。

仿真与实验结果

为验证LC-SBL算法的优势,文章进行了仿真和实验对比。

仿真方面,与FIAA、OMP、S-ESBL等算法进行比较,结果如图5所示。LC-SBL的重构误差最小,运行时间也是最短的。
在这里插入图片描述

实验部分,构建了一个三雷达的分布式毫米波雷达系统,对比单雷达系统和分布式雷达系统的成像效果。如图6和图7所示,在成像分辨率方面,LC-SBL优于FIAA、OMP、S-ESBL等算法。可以成功识别单雷达系统无法识别的多个目标。

在这里插入图片描述

在这里插入图片描述

总结与展望

  • 本文针对分布式毫米波雷达成像问题,提出一种LC-SBL快速算法。其基于TBT矩阵的新分解思想,可以将大量计算转化为FFT运算,从而大幅降低SBL算法的计算复杂度。
  • 仿真和实验结果表明,LC-SBL算法不仅计算效率高,也使分布式雷达系统获得了与大孔径雷达相当的高角分辨率。
  • 未来可考虑在LC-SBL算法框架下,引入更多针对雷达任务的先验知识,如目标稀疏性、形状特征等,可望获得更好的成像效果。

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

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

相关文章

Kubeadm安装K8s集群

一、硬件环境 准备3台Linux服务器&#xff0c;此处用Vmware虚拟机。 主机名CPU内存k8smaster2核4Gk8snode12核4Gk8snode22核4G 二、系统前置准备 配置三台主机的hosts文件 cat << EOF > /etc/hosts 192.168.240.130 k8smaster 192.168.240.132 k8snode1 192.168.…

小白必看:测试人有必要参考的软件测试工作规范

为了规范测试工作、减少开发与测试之前的沟通成本、保证项目进度、提高软件质量&#xff0c;测试人员有必要参考这份软件测试工作规范。 1.1. 编码规范 软件程序开发需要遵守编码规范&#xff0c;一是可以减少代码的维护成本&#xff0c;提高开发工作效率&#xff1b;二是有…

2023国赛数学建模思路 - 复盘:人力资源安排的最优化模型

文章目录 0 赛题思路1 描述2 问题概括3 建模过程3.1 边界说明3.2 符号约定3.3 分析3.4 模型建立3.5 模型求解 4 模型评价与推广5 实现代码 建模资料 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 描述 …

AOPSpringAOP两种动态代理

1、什么是AOP 切面编程&#xff08;Aspect-Oriented Programming&#xff0c;AOP&#xff09;是一种软件开发方法&#xff0c;旨在通过分离关注点&#xff08;Concerns&#xff09;来增强代码的模块性、可维护性和可重用性。 AOP 是 OOP 的延续&#xff0c;是软件开发中的一个…

【Qt高阶】老Qt都不一定清楚的“QObject线程亲和性”【2023.08.13】

老Qt都不一定清楚的“线程亲和性” 与题目无关 感觉自己还挺2&#xff0c;有粉丝点了那个契约者会给up发个鼓励的话&#xff0c;我还以为是人私信发的&#xff0c;都挨个感谢了&#xff0c;后来才意识到是系统自动发的&#x1f623;&#x1f623;&#x1f623;。 自上上期视频对…

⛳ Java集合框架

目录 ⛳ Java集合框架&#x1f3a8; 一、概述&#x1f3ed; 二、Iterator接口&#x1f4ad; 2.1、基础用法&#x1f69c; 2.2、原理&#x1f43e; 2.3、为什么需要iterator接口☁ 2.4、ListIterator接口&#x1f4e2; 2.5、iterator在集合中的实现例子2.5.1、Iterator在ArrayLi…

潜水减压多普勒超声气泡信号识别方法

用三参量模糊分析法识别潜水减压气泡信号的研究 摘要 三参量模糊分析法。建立了 f-p-Δp( 频率、谱峰、峰差) 三参量模糊分析法&#xff0c;综合气泡原本特征以及背景噪声计算评分以识别气泡&#xff0c;最后给予 SPENCERⅠ &#xff5e; Ⅲ分级原理和方法 减压气泡信号的能量…

分布式 - 消息队列Kafka:Kafka生产者发送消息的方式

文章目录 1. Kafka 生产者2. kafaka 命令行操作3. kafka 生产者发送消息流程4. Kafka 生产者的创建5. Kafka 生产者发送消息1. 发送即忘记2. 同步发送3. 异步发送 6. Kafka 消息对象 ProducerRecord 1. Kafka 生产者 不管是把Kafka作为消息队列、消息总线还是数据存储平台&…

Vue3组件库

Vue3组件库 ViteVue3TypescriptTSX 1、项目搭建 1.1、创建项目&#xff08;yarn&#xff09; D:\WebstromProject>yarn create vite yarn create v1.22.19 [1/4] Resolving packages... [2/4] Fetching packages... [3/4] Linking dependencies... [4/4] Building fresh p…

asyncio是什么?

如果把进程比作从A处到B处去这件事&#xff0c;那么线程就是可供选择的多条道路&#xff0c;协程就是道路上特殊路段&#xff08;类似限速&#xff0c;一整条道路都是特殊路段的话&#xff0c;就是全部由协程实现&#xff09; 例图如下&#xff1a; 1. 什么是协程&#xff08…

FPGA应用学习笔记----CORDIC 算法和小结

加减移位操作来运算三角函数&#xff0c;开根号&#xff0c;求对数 圆周旋转模式

沁恒ch32V208处理器开发(四)串口通信

目录 串口资源资源配置同步模式单线半双工模式中断DMA 串口的初始化串口通信的实现 串口资源 资源配置 CH32V208 系列&#xff0c;是基于 RISC-V 指令架构设计的 32 位 RISC 内核 MCU&#xff0c;根据封装的不同&#xff0c;可用的USART串口资源如下表所示&#xff1a; 且US…

完美解决Github提交PR后报错:File is not gofumpt-ed (gofumpt)

问题阐述 最近在Github上提交PR后&#xff0c;遇到了这么一个问题&#xff1a;golangci-lint运行失败&#xff0c;具体原因是File is not gofumpt-ed (gofumpt)。 名词解释 golangci-lint&#xff1a; golangci-lint 是Go语言社区中常用的代码质量检查工具&#xff0c;它可以…

阿里云弹性裸金属服务器详细介绍(原神龙)

阿里云弹性裸金属服务器&#xff08;ECS Bare Metal Server&#xff09;是一种可弹性伸缩的高性能计算服务&#xff0c;原神龙服务器&#xff0c;计算性能与传统物理机无差别&#xff0c;具有安全物理隔离的特点&#xff0c;裸金属服务器分钟级的交付周期。阿里云服务器网分享阿…

现代控制理论step()函数使用方法,多输入多输出系统的阶跃响应图如何只输出一个输入对应输出的阶跃响应图(step(sys)如何单独显示一个子图)

多输入多输出系统的阶跃响应图 考虑以下二阶状态空间模型: A [-0.5572,-0.7814;0.7814,0]; B [1,-1;0,2]; C [1.9691,6.4493]; sys ss(A,B,C,0);这个模型有两个输入和一个输出&#xff0c;因此它有两个通道: 从第一个输入到输出&#xff0c;从第二个输入到输出。每个通道都…

ArcGIS Maps SDK for JavaScript系列之一:在Vue3中加载ArcGIS地图

目录 ArcGIS Maps SDK for JavaScript简介ArcGIS Maps SDK for JavaScript 4.x 的主要特点和功能AMD modules 和 ES modules两种方式比较Vue3中使用ArcGIS Maps SDK for JavaScript的步骤创建 Vue 3 项目安装 ArcGIS Maps SDK for JavaScript创建地图组件 ArcGIS Maps SDK for …

使用 vpn 后 git clone 无法下载项目

使用VPN后 git clone 命令无法下载项目 偶发使用 vpn 后 git clone 项目会卡住&#xff0c;或者报 timeout 错误 当我使用ping github.com是可以ping通的&#xff0c;但是 clone 项目就会卡住。去搜了一番发现&#xff1a; git 工具在使用代理后需要设置 git https.proxy 属…

Linux学习之awk数组

数组的定义&#xff1a; 数组是一种有关联关系的变量&#xff0c;通过下标依次访问。 数组名[下标] 值&#xff0c;下标可以使用数字也可以使用字符串。 数组的遍历&#xff1a; for(变量 in 数组名){ 数组名[变量] 操作 } 数组删除&#xff1a; delete 数组名&#xff0c;就可…

Fireworks CS6 不能把文件拖进去

打开软件安装文件夹 我的是&#xff1a;C:\Program Files\Adobe Fireworks CS6\Adobe Fireworks CS6 在该位置找到文件【Fireworks.exe】 右键属性 取消勾选&#xff0c;【以管理员身份运行此程序】