毫米波雷达信号处理中的通道间相干与非相干积累问题

说明

    相干和非相干积累是雷达信号处理中的常用方法,这两个概念一般是用在多脉冲积累这个问题上:积累可以提高信号的SNR,从而提高检出概率。不过本文内容与脉冲积累无关,本文讨论的话题是将这两个概念(non-coherent combination、coherent combination)用到车载毫米波雷达信号处理中通道间的积累上面。通道积累在整个雷达信号处理流程中的位置可以参考我之前的博文:车载与体征/手势检测 毫米波雷达信号处理流程_毫米波雷达算法流程_墨@#≯的博客-CSDN博客。积累涉及的内容其实很简单,本博文通过理论结合实测数据的方式来探讨这个问题。

Blog

20230531  博文第一次写作

目录

说明

目录

一、通道积累是什么

二、通道积累的方法

三、基于实测数据的验证与对比

3.1 实验说明

3.2 非相干积累结果

3.3 相干积累结果

3.4 本章小结

 四、总结

 五、参考资料

 六、代码和数据


一、通道积累是什么

    不管雷达是单发多收(SIMO)还是多发多收(MIMO)的工作体制,每帧下来我们都能得到多个通道的接收数据,我们需要对这些通道的数据进行各种处理(相关的内容也可以参考上面的博文链接)以完成对目标的测量。

    通道积累在整个信号处理流程中处在2D-FFT之后、CFAR之前:

图1.1  通道积累在信号处理流程中的位置示意图

    对所有的通道做完距离和速度维度的压缩之后,需要把这么多通道想办法积累起来构成一个矩阵,再把这个积累得到的矩阵送到CFAR中去做检测。

    至于为什么要做这件事情首先如果通道之间的一致性很好的话(关于一致性与校准可以参考我之前的博文:车载毫米波雷达的校准问题(1)_墨@#≯的博客-CSDN博客),其实这全部的通道之间二维压缩之后幅值基本都一样(理想情况下应该只有相位的差别,我们也正是基于这通道间的相位差来测角),但实际情况并非如此(特别是我们做校准时没有做通道间幅度的校准时),如下图所示:

图1.2  8个通道2D-FFT后的结果(具体的实验情况见后文)

    CFAR部分我们只需要输入一个矩阵去做即可,那这么多通道我们该选哪个?即便我们假定各通道的幅值都一样,但最好还是尽量把这些通道都用起来,且相位信息的差别是否可以利用一下?此外从结果端(后文将要讨论的积累方法的结果)来看,通道积累可以改善SNR,以更好地帮助我们进行CFAR检测。

二、通道积累的方法

    借用多脉冲积累里的概念,通道积累我目前了解到的(也是比较常用的)也有相干积累与非相干积累两类方法。【需要作出说明的是:相干积累与非相干积累是比较大的概念,我们后文讨论的是在这两个大概念下的某种具体的方法,自然,实现相干积累和非相干积累的方法可能有很多,我们后文讨论其中两种为方便叙述还是直接说成相干积累和非相干积累吧。(虽然我们直接用相干积累和非相干积累来说这两种方法,但是这言辞背后的逻辑还是要捋清楚)】

    方法很简单,也比较容易理解

    最常用的是非相干积累:将各个通道的数据取平方并在通道维度累加,如下图所示:

图2.1  非相干积累示意图

    我们将该累加得到的矩阵送到后面的CFAR算法中做检测,非相干积累运算量少,实现起来很简单,但是并没有用到相位信息,SNR的提升不是很显著。

    相干积累是首先指定某个角度,用这个角度基于实际的阵列排布构建导向矢量,之后将这个导向矢量与各通道的数据相乘得到一个复数矩阵,再将该矩阵取平方的结果送入后续的CFAR算法中。

图2.2  相干积累示意图

(这两幅图都来自加特兰的baseband使用手册,画得很好,我就拿来了)

    这种方法理解起来很有意思:选定角度后构建导向矢量并将之与各个通道的矩阵相乘,其效果其实就等价于将这些通道的接收(或者也可以理解成发射)波束指向某个确定的方向(前述选定的角度)。这里的本质和DBF测角是一样的(DBF测角时是用导向矢量乘以一列数据(各个阵元的接收数据),这里是乘以一排的整个矩阵的数据,关于DBF测角可以参考我之前的博文:车载毫米波雷达DOA估计综述_墨@#≯的博客-CSDN博客 )。如果这个角度上有目标,那么我们这样操作后可以使得这个角度下目标的能量以及SNR得到很大的提升,所以这种方法对于某些感兴趣的角度下的微弱目标的检测很有用!但是,随之而来会有其它的问题:这样操作虽然把某个方向的能量提高了,但同时相隔较大的其它方向的能量相对减小了啊(特别是对于天线波束很窄的情况)!这些方向上的目标怎么办?一种解决方法是:多设置几个角度。多设置几个角度以得到多个矩阵,分别把这些矩阵给到CFAR算法中,之后该帧检测的结果取这些矩阵CFAR结果的并集

    相干积累的方法利用了相位信息,所以目标SNR会有较大提升,但是如前所述,该方法一般需要配置多个角度、进行多次CFAR并最终取CFAR结果的并集,所以计算量和复杂度是很大的(相较于非相干积累)!这大概也是虽然该方法有其优势但是现阶段并没有广泛应用的原因?

三、基于实测数据的验证与对比

    本章基于Ti级联板进行实验采集数据,分析和对比一下这两种方法。

3.1 实验说明

    本实验为介绍性实验,在能说明问题的前提下一切从简。实验使用Ti的AWR2243级联板(12T16R)在实验室内采集数据,目标为一10dBsm角反,离雷达板的径向距离约2m左右,放置在某一较大的角度下(因为没有仪器测量,具体角度值未知,不过不影响后文的说明)。如下图所示:

图3.1  实验场景图

    雷达采用TDM的发射模式,采集了多帧数据,后文的分析取其中一帧的数据,Ti的级联板在12T16R下可以产生192个二维排布的虚拟通道,本实验选取其中水平向均匀排布的8个虚拟通道的数据进行分析。本实验涉及的数据和代码我都放在了第六章的链接中,数据我是直接给出8个通道的ADC数据,使用时直接Load即可。

3.2 非相干积累结果

    后文的比较我都使用了其中一个通道2D-FFT后的结果与非相干/相干的结果做对比。

图3.2  非相干积累的结果(与单通道对比)

    为说明积累对SNR的提高,图中选取了同一个距离门且相隔10个速度门下的点[22 54]作为噪底估计的参考。目标的索引在[32 54]的位置,[32 2]处的点应该是天线耦合的影响,这个的距离是很近的。(关于天线耦合可以参考我之前的博文:毫米波雷达天线耦合的影响与消除_墨@#≯的博客-CSDN博客)。

    从图中的结果可以看到,目标所在位置的幅值得到了极大提升,我们用目标所在位置的幅值除以噪底参考点的幅值作为SNR的参考,计算得到单个通道的SNR约为:4.8743e+03,而非相干积累后的SNR约为3.8194e+06,提高了近3个数量级。

3.3 相干积累结果

图3.3  在0°方向做相干积累的结果

图3.4  在45°方向做相干积累的结果

图3.5  在-45°方向做相干积累的结果

  对上面三幅图进行一些简单的对比分析

1、从上面三幅图的结果可以看到,目标的能量幅值都有很大程度的提高,不过我们设置的相干方向不同,得到的结果还是有较大区别的。

2、因为目标大概在雷达的40°方向(我后面取出了对应距离和速度索引下的通道的数据进行了测角),所以可以看到当把波束指向45°时目标能量的增益最大,其SNR的估值约5.7903e+06。通过比较图3.2和图3.4,可以发现当相干积累的角度方向接近目标所在的角度时,该目标的能量幅值以及SNR相较于非相干积累都有较大改善。所以相干积累对于某些角度下的微弱目标的检测会有很大帮助。

3、此外从理论上来推测(理想情况下没有其它的干扰),唯一的目标在40°方向时,对于该目标而言,0°方向相干积累的结果会优于-45°方向积累的结果(因为波束更加远离目标方向了,当然,这也需要考虑到天线波束图的实际情况),但是从上图的实际结果来看,0°方向的相干积累目标的能量和SNR都要小于-45°方向的,这大概是-45°方向周围还有其它的干扰(而导致能量得到增强)。

4、此外看到一个比较有意思的现象是:前面说的天线泄露导致近距离[32 3]处有较大能量,当在45°方向做相干积累时发现远比在-45°做相干积累要小,是不是可以认为能量是从负的方向泄露过来的?这似乎可以用来检测和定位天线泄露的能量来源:是哪个天线所泄露的?还是蛮有意思的!不过这里暂不做展开了。

5、再回到第二章的叙述,这里重申一下,当使用相干积累时,建议我们在该帧下的目标检出结果应该是多个方向积累得到的矩阵进行CFAR之后的结果取并集。

3.4 本章小结

    本章对非相干以及相干积累两种方法通过采集实际数据进行了验证和对比分析,实践的结果可以让我们得到至少两个有益的结论:积累可以提高目标的能量幅值以及SNR,相干积累的等价效果是将波束指向了某个具体的角度,于是在这个角度(以及周围角度)下的目标会得到更高的幅值和SNR的提高,这对于一些微弱目标的检测是有益的。

    【这里再多补充一点:需要注意的是,上面的结果可以看到,目标所在位置的能量幅值已经到了10的16次方这样的数量级了,该值是没法在芯片中装载的:我们在芯片中一般用32bit有符号浮点数去装载单个数值,10的16次方这个值已经远远超过32bit可以装载的数值上限了… 有鉴于此,在芯片内部计算时一般都会有各种减小数值大小的操作(甚至早在做FFT时就有这些操作),比如取log,比如对全部的值做进行右移等】

 四、总结

    本文讨论车载毫米波雷达信号处理中通道之间相干与非相干积累的问题。简单介绍了通道间积累的概念和做这件事情的必要性,给出了两种具体的积累方法,并用实测数据验证了这两种方法、给出了其对比分析。

    可能还有更多有意思的通道间积累的方法,后续如果有接触到我会进行补充。

 五、参考资料

 六、代码和数据

车载毫米波雷达信号处理中的相干与非相干积累问题博文相对应的代码和数据资源-CSDN文库

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HCIA-MSTP替代技术之链路捆绑(LACP模式)

目录 手工链路聚合的不足: LACP链路聚合的原理 LACP模式: LACPDU: 1,设备优先级: 设备优先级的比较是:先比较优先级大小,0到32768,越小优先级越高,如果优先级相同&a…

OpenAI再出新作,AIGC时代,3D建模师的饭碗危险了!

大家好,我是千与千寻,也可以叫我千寻哥,说起来,自从ChatGPT发布之后,我就开始焦虑,担心自己程序员的饭碗会不会哪天就被AIGC取代了。 有人说我是过度焦虑了,但是我总觉有点危机感肯定没有坏处。…

【017】C++ 指针变量详解,理解指针变量

C 指针变量详解 引言一、内存概述二、指针变量2.1、地址和指针变量的关系2.2、定义指针变量2.3、指针变量的初始化2.4、指针类型2.5、案例2.6、注意事项 三、数组元素的指针3.1、概述3.2、在使用中 [ ] 就是 *()的缩写3.3、指向同一数组的元素的两个指针变量间的关系 四、字符串…

UOS桌面系统使用RLinux恢复数据

UOS桌面系统使用RLinux恢复数据 一、工具介绍二、注意事项三、准备四、制作live系统启动盘五、拷贝文件六、进入live系统一、工具介绍 R-Linux 是一款用于 Linux 和某些 Unixes 操作系统 Ext2/Ext3/Ext4 FS 文件系统的免费文件恢复实用工具。R-Linux 与 R-Studio 使用相同的 I…

病毒分析丨plubx

作者丨黑蛋 一、基本信息 文件名称 00fbfaf36114d3ff9e2c43885341f1c02fade82b49d1cf451bc756d992c84b06 文件格式 RAR 文件类型(Magic) RAR archive data, v5 文件大小 157.74KB SHA256 00fbfaf36114d3ff9e2c43885341f1c02fade82b49d1cf451bc756d992c84b06 SHA1 1c251974b2e…

Nova 和 SuperNova:无需通用电路的通用机器执行证明系统

1. 引言 前序博客有: Nova: Recursive Zero-Knowledge Arguments from Folding Schemes学习笔记SuperNova:为多指令虚拟机执行提供递归证明基于Nova/SuperNova的zkVMSangria:PLONK Folding2023年 ZK Hack以及ZK Summit 亮点记Sangria&…

ptp4l测试-LinuxPTP\ptp4l配置与问题排查

目录 一、前言 1.1 什么是ptp4l 1.2 描述 1.3 官网连接 1.4 目的 1.5 平台 二、 平台必要软件 2.1 linux物理机 2.2 imx6ull开发板 三、检查硬件是否支持 3.1 ifconfig查看当前网卡的名称 3.2 ethtool检查驱动和网卡是否支持 四、开启ptp4l服务 4.1 方法一&#x…

leetcode--环形链表.找到入环节点(java)

环形链表II 环形链表.找到入环节点题目描述解题思路 环形链表.找到入环节点 LeetCode 142:环形链表II 可以在这里测试 题目描述 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节…

电压放大器的主要指标有哪些方面

电压放大器是电子电路中常用的器件,在选择和评估电压放大器时,需要考虑以下几个主要指标: 输入电阻(Input Resistor):输入电阻是指放大器输入端的电阻值,它反映了放大器将输入信号转换成输出信号…

Linux驱动入门(二)——嵌入式处理器介绍和构建驱动程序开发环境

文章目录 嵌入式处理器和开发板介绍处理器简述处理器种类Intel的PXA系列处理器StrongARM系列处理器MIPS处理器摩托罗拉龙珠(DragonBall)系列处理器日立SH3处理器德州仪器OMAP系列处理器 ARM处理器ARM处理器简介ARM处理器的特点ARM处理器系列ARM处理器的应用ARM处理器选型 STM32…

Jupyter Notebook如何导入导出文件

目录 0.系统:windows 1.打开 Jupyter Notebook 2.Jupyter Notebook导入文件 3.Jupyter Notebook导出文件 0.系统:windows 1.打开 Jupyter Notebook 1)下载【Anaconda】后,直接点击【Jupyter Notebook】即可在网页打开 Jupyte…

初阶数据结构之栈的实现(五)

文章目录 😏专栏导读🤖文章导读🙀什么是栈?🙀画图描述 😳栈的代码实现及其各类讲解😳栈的初始化代码实现及其讲解😳栈的初始化 😳栈的销毁代码实现及其讲解😳…

PLX31-EIP-SIE 以太网/IP到西门子工业以太网

ProSoft Technology的EtherNet/IP to Siemens工业以太网通信网关允许支持EtherNet/IP的控制器或设备与西门子S7 PACs(包括S7-200s、S7-300s、S7-400s、S7-1200和S7-1500 PACs)之间进行高速双向数据传输。 此外,该网关还包括几个功能,包括数据优先级&…

横向移动-传递攻击SMB服务利用psexecsmbexec

win2012以上版本,关闭了wdigest 或者安装了 KB287199补丁。无法获取明文密码 总的来说就是win2012后无法获取明文密码 解决办法就是: 1.可以利用哈希hash传递(pth,ptk等进行移动) 2.利用其他服务协议(S…

UGUI进阶知识[二十九]循环GridView

节省内存的常用滑动列表还有一种形式,上下滑动的GridView。这种格式的滑动列表可用于移动设备的背包,仓库,商店UI等数据可能海量从而导致产生特别多但又看不见的UI的情况。 于是基于 UGUI进阶知识[八]循环利用滑动列表的循环ListView工程做了…

Tomcat服务器、Servlet生命周期、上传下载文件、使用XHR请求数据、注解使用

文章目录 Servlet认识Tomcat服务器使用Maven创建Web项目创建Servlet探究Servlet的生命周期解读和使用HttpServletWebServlet注解详解使用POST请求完成登陆上传和下载文件下载文件上传文件 使用XHR请求数据重定向与请求转发重定向请求转发 ServletContext对象初始化参数 Servlet…

Office project 2010安装教程

哈喽,大家好。今天一起学习的是project 2010的安装,Microsoft Office project项目管理工具软件,凝集了许多成熟的项目管理现代理论和方法,可以帮助项目管理者实现时间、资源、成本计划、控制。有兴趣的小伙伴也可以来一起试试手。…

在职阿里6年,一个29岁女软件测试工程师的心声

简单的先说一下,坐标杭州,14届本科毕业,算上年前在阿里巴巴的面试,一共有面试了有6家公司(因为不想请假,因此只是每个晚上去其他公司面试,所以面试的公司比较少) 其中成功的有4家&am…

CSAPP Lab5- MallocLab

实验目标 本实验需要用c语言实现一个动态的存储分配器,也就是你自己版本的malloc,free,realloc函数。 实验步骤 tar xvf malloclab-handout.tar解压文件 我们需要修改的唯一文件是mm.c,包含如下几个需要实现的函数 int mm_ini…

c++调用dll出现LNK2001 无法解析的外部符号

先说说下正常的dll。 动态库显试调用一般3个文件.h .lib .dll ,隐式调用 只需要2个文件:.h(函数定义) .dll 静态库2个文件:.h .lib 先说C正常dll显式调用 #include "BYD_MES/MES2Interface.h" //#include 是以当前…