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

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.mzph.cn/news/40582.shtml

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

相关文章

爬虫IP时效问题:优化爬虫IP使用效果实用技巧

目录 1. 使用稳定的代理IP服务提供商: 2. 定期检测代理IP的可用性: 3. 配置合理的代理IP切换策略: 4. 使用代理IP池: 5. 考虑代理IP的地理位置和速度: 6. 设置合理的请求间隔和并发量: 总结 在爬虫过…

python知识:什么是字符编码?

前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 我们的MySQL使用latin1的默认字符集, 也就是说,对汉字字段直接使用GBK内码的编码进行存储, 当需要对一些有汉字的字段进行拼音排序时(特别涉及到类似于名字这样的字段时…

Docker网络与资源控制

一、Docker 网络实现原理 Docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址,称为Container-IP,同时Docker网桥是每个容器的默认网关。因为在同一宿…

Oracle外部表ORACLE_LOADER方式加载数据

当数据源为文本或其它csv文件时,oracle可通过使用外部表加载数据方式,不需要导入可直接查询文件内的数据。 1、如下有一个文件名为:test1.txt 的数据文件。数据文件内容为: 2、使用sys授权hr用户可读写 DATA_PUMP_DIR 目录权限&a…

探索未来:元宇宙与Web3的无限可能

随着科技的奇迹般发展,互联网已经成为了我们生活的不可分割的一部分。然而,尽管它的便利性和普及性带来了巨大的影响,但我们仍然面临着传统互联网体验的诸多限制。 购物需要不断在实体店与电商平台间切换,教育依然受制于时间与地…

Unity如何把游戏导出成手机安装包

文章目录 前言使用环境步骤添加场景构建APK 前言 本文章主要演示了,如何将制作好的游戏,导出成APK,安装到手机上。 使用环境 Unity2022。 步骤 首先打开你的项目,然后选择菜单栏的“File” > “Build Settings…”&#xf…

QMainwindow窗口

QMainwindow窗口 菜单栏在二级菜单中输入中文的方法给菜单栏添加相应的动作使用QMenu类的API方法添加菜单项分隔符也是QAction类 工具栏添加工具栏在状态栏中添加控件工具栏添加其他类型的工具工具栏的属性添加多个工具栏使用窗口添加使用代码添加 状态栏常用API在状态栏显示信…

NeuralNLP-NeuralClassifier的使用记录(一),训练预测自己的【英文文本多分类】

NeuralNLP-NeuralClassifier的使用记录,训练预测自己的英文文本多分类 NeuralNLP-NeuralClassifier是腾讯开发的一个多层多分类应用工具,支持的任务包括,文本分类中的二分类、多分类、多标签,以及层次多标签分类。支持的文本编码…

C语言库函数之 qsort 讲解、使用及模拟实现

引入 我们在学习排序的时候&#xff0c;第一个接触到的应该都是冒泡排序&#xff0c;我们先来复习一下冒泡排序的代码&#xff0c;来作为一个铺垫和引入。 代码如下&#xff1a; #include<stdio.h>void bubble_sort(int *arr, int sz) {int i 0;for (i 0; i < sz…

面试热题(最大子数组和)

给你一个整数数组 nums &#xff0c;请你找出一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&#xff0c;返回其最大和。 子数组 是数组中的一个连续部分。 输入&#xff1a;nums [-2,1,-3,4,-1,2,1,-5,4] 输出&#xff1a;6 解释&#xff1a;连续…

免费批量ppt转pdf?一个方法教你完美转换

随着科技的不断发展&#xff0c;电子文档的使用越来越普遍。在商业、教育和个人领域&#xff0c;我们经常需要将PPT文件转换为PDF格式&#xff0c;以便更方便地共享和存档。幸运的是&#xff0c;现在有许多在线工具和软件可以帮助我们轻松地完成免费批量ppt转pdf。下面将介绍一…

【Linux】模拟实现linux的shell

#include <stdio.h> #include <unistd.h> #include <string.h> #include <stdlib.h> #include <sys/wait.h> #include <sys/types.h> #define NUM 1024 #define SIZE 32 #define SEP " " int main() {//保存输入后的字符串char …

Blazor前后端框架Known-V1.2.12

V1.2.12 Known是基于C#和Blazor开发的前后端分离快速开发框架&#xff0c;开箱即用&#xff0c;跨平台&#xff0c;一处代码&#xff0c;多处运行。 Gitee&#xff1a; https://gitee.com/known/KnownGithub&#xff1a;https://github.com/known/Known 概述 基于C#和Blazo…

Pyinstaller 打包 django 项目如何将命令行参数加入?

起因 Pyinstaller 打包 django 项目&#xff0c;打包成 manage.exe 后用命令行 cmd manage.exe runserver 0.0.0.0:8001 --noreload 来运行感觉很不方便。 希望能够直接把命令行参数也打包进去&#xff0c;直接运行 exe 。我走了些弯路&#xff0c;但最终实现了。 弯路 我看…

Redis之删除策略

文章目录 前言一、过期数据二、数据删除策略2.1定时删除2.2惰性删除2.3 定期删除2.4 删除策略比对 三、逐出算法3.1影响数据逐出的相关配置 总结 前言 Redis的常用删除策略 一、过期数据 Redis是一种内存级数据库&#xff0c;所有数据均存放在内存中&#xff0c;内存中的数据可…

web基础入门和PHP语言基础入门 一

web基础入门和php语言基础入门 一 WEB简介与HTTP入门WEB简介HTTP 简介HTTP 请求报文&#xff1a;请求方法&#xff1a;请求头部&#xff1a;&#xff08;常见的请求头&#xff09;HTTP 响应报文&#xff1a;响应状态码&#xff1a;Cookie HTML入门学习什么是HTML什么是标记语言…

PHP入门基础教程 - 专栏导读

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;全栈领域新星创作者✌&#xff0c;CSDN博客专家&#xff0c;阿里云社区专家博主&#xff0c;2023年6月CSDN上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责…

Floyd算法

正如我们所知道的&#xff0c;Floyd算法用于求最短路径。Floyd算法可以说是Warshall算法的扩展&#xff0c;三个for循环就可以解决问题&#xff0c;所以它的时间复杂度为O(n^3)。 Floyd算法的基本思想如下&#xff1a;从任意节点A到任意节点B的最短路径不外乎2种可能&#xff…

openGauss学习笔记-42 openGauss 高级数据管理-触发器

文章目录 openGauss学习笔记-42 openGauss 高级数据管理-触发器42.1 语法格式42.2 参数说明42.3 示例 openGauss学习笔记-42 openGauss 高级数据管理-触发器 触发器会在指定的数据库事件发生时自动执行函数。 42.1 语法格式 创建触发器 CREATE TRIGGER trigger_name { BEFORE…

Swagger-ui在idea中的使用

1.添加依赖 <!--添加swagger2相关概念--><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version></dependency><!--添加swagger-ui相关功能--><de…