IWR1443毫米波雷达------基于多普勒相偏补偿的速度解模糊/扩展,实测数据验证

本文主要是介绍IWR1443毫米波雷达------基于多普勒相偏补偿的速度解模糊/扩展,实测数据验证,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 前言
  • 一、基于多普勒相偏补偿的解模糊算法核心思想
  • 二、算法步骤
  • 三、理论效果示意图
  • 四、程序编写
  • 五、实测数据结果:
    • 5.1、data1结果:
    • 5.2、data2结果:
  • 六、总结
    • 6.1、多普勒相偏补偿参考:
    • 6.2、致读者:


前言

“速度模糊”现象是指由于雷达测速范围有限,当目标速度|Vr|>|Vmax|时,测量速度Ve!=Vr的现象。
更多细节可以看这篇文章:https://zhuanlan.zhihu.com/p/486798151
本文主要是记录iwr1443毫米波雷达通过实测数据,验证基于多普勒相偏补偿的速度解模糊算法的有效性


一、基于多普勒相偏补偿的解模糊算法核心思想

首先,由于雷达测速和测角度都是基于相位差的,因此当实际速度Vr超过测速范围时,发生“相位模糊”导致了"速度模糊"。下图1所示W2>pi,发生“相位模糊”,实测得到的相位为w1=2*pi-w2。因此,目标实际速度Vr测量速度Ve雷达测速范围Vmax之间满足如下公式1所示:

在这里插入图片描述
公式(1)

在这里插入图片描述
图1:相位模糊示意图

雷达测角度时,需要考虑速度引起的相位差,根据测量速度Ve对目标角度的求解进行修正,这一过程称为“多普勒相偏补偿”。
在这种的情况下,根据可知测量多普勒补偿相位差与实际多普勒补偿相位差的关系如公式2所示:
在这里插入图片描述
公式(2)

如果测量速度Ve !=实际速度Vr,那么根据测量速度Vr进行多普勒相偏补偿的结果就是错误的;如果没有发生速度模糊:Ve=Vr,那么根据测量速度Vr进行多普勒相偏补偿的结果就是正确的。因此此算法的核心思想就是在不知道速度是否发生模糊的情况下,通过比较两个不同的角度谱的峰值大小来求解目标速度,因为如果角度补偿结果是错误的,那么相应的角度谱的峰值就会偏小。

二、算法步骤

说明:当假设速度发生模糊,那么如图1所示,实际相位应该为2kpi-w1,k为非零整数,由于不能区分2pi-w1和4pi-w1,因此此算法只能假设当速度模糊时,k=1或-1,这也就导致了此算法只能将速度范围扩展一倍。

如图2所示,是此算法的步骤:定义set1时,符号翻转的操作,对应着复数中“旋转pi”的操作,对应着公式2,但此时k只能取正负1。
在这里插入图片描述
图2:基于多普勒相偏补偿算法的步骤

`

三、理论效果示意图

图3(a)和图3(b)分别展示了两种情况下的理论结果:
在这里插入图片描述
图3(a):未发生速度模糊
在这里插入图片描述
图3(b):发生速度模糊

四、程序编写

根据图2所示的算法步骤,只需在原有的求解目标角度的基础上修改。程序有三个需要注意的点:
1.index_dop是目标速度在多普勒门中的下标,范围是-64到63(假设一帧中的脉冲数目chirp_num=128),具体细节可以参考官方关于多普勒相偏补偿的讲解。
2.符号翻转对应着复数中的“旋转pi”。
3.比较两个角度谱的峰值的相对大小,所以一定不要在music算法内将角度谱归一化
核心代码块如下:

        snapshot=snapshot';%未经过多普勒相偏补偿的原始数据snapshot1=snapshot;%操作:多普勒相偏补偿,对应set0snapshot2=snapshot;%操作:多普勒相偏补偿+符号翻转,对应set1%分别进行操作snapshot1(5:8,:)=snapshot1(5:8,:)*exp(-1i*pi*(index_dop(n)/128));%多普勒相偏补偿snapshot2(5:8,:)=snapshot2(5:8,:)*exp(-1i*pi*(index_dop(n)/128))*exp(1i*pi);%分别利用空间谱估计算法(FFT或者MUSIC算法)求解角度谱%注意由于要比较两个角度谱的峰值的相对大小,所以一定不要在music算法内将角度谱归一化[azimuth1(n),P1] = Music(snapshot1,chirps_num,1);%P1:set0[azimuth2(n),P2] = Music(snapshot2,chirps_num,1);%P2:set1plot(P1,'b-.');hold  on%叠加,比较set0和set1plot(P2,'r--');xlabel('方位角/度')ylabel('幅度')title('基于多普勒补偿的速度扩展示意图(Vr>V_max)')legend({'set0','set1'})

全部代码和数据放在如下网盘中,可自取:链接:https://pan.baidu.com/s/1fhAVXiAIDKM_nPshWbvJEw?pwd=HUST
提取码:HUST

五、实测数据结果:

5.1、data1结果:

data1.bin文件是人体走动跟踪的数据,因此全程不会发生速度模糊Vr<Vmax,此时理论上如图3(a)所示:set0>set1。
在这里插入图片描述
图4(a):未发生速度模糊
在这里插入图片描述图4(b):未发生速度模糊

5.2、data2结果:

data2.bin文件是向上抛物并下落的数据,因此全程在自由落体时发生速度模糊Vr>Vmax,此时理论上发生速度模糊时如图3(b)所示:set0<set1。当然,此过程中当物体上升过程中,速度没有发生模糊(70帧)。
在这里插入图片描述
图5(a):发生速度模糊
在这里插入图片描述
图5(b):未发生速度模糊

六、总结

6.1、多普勒相偏补偿参考:

关于多普勒相偏补偿,请参考官方SDK中的说明文档“Millimeter Wave (mmw) Demo for XWR14XX”

6.2、致读者:

更多结果和程序说明,都在代码注释中详细说明了。由于第一次写博客,所以文章的排版很差,望理解。由于本人水平有限,所以难免出现错误,请大家赐教。

这篇关于IWR1443毫米波雷达------基于多普勒相偏补偿的速度解模糊/扩展,实测数据验证的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/188492

相关文章

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

使用SpringBoot整合Sharding Sphere实现数据脱敏的示例

《使用SpringBoot整合ShardingSphere实现数据脱敏的示例》ApacheShardingSphere数据脱敏模块,通过SQL拦截与改写实现敏感信息加密存储,解决手动处理繁琐及系统改... 目录痛点一:痛点二:脱敏配置Quick Start——Spring 显示配置:1.引入依赖2.创建脱敏

Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析

《Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析》InstantiationAwareBeanPostProcessor是Spring... 目录一、什么是InstantiationAwareBeanPostProcessor?二、核心方法解

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

Python数据分析与可视化的全面指南(从数据清洗到图表呈现)

《Python数据分析与可视化的全面指南(从数据清洗到图表呈现)》Python是数据分析与可视化领域中最受欢迎的编程语言之一,凭借其丰富的库和工具,Python能够帮助我们快速处理、分析数据并生成高质... 目录一、数据采集与初步探索二、数据清洗的七种武器1. 缺失值处理策略2. 异常值检测与修正3. 数据

pandas实现数据concat拼接的示例代码

《pandas实现数据concat拼接的示例代码》pandas.concat用于合并DataFrame或Series,本文主要介绍了pandas实现数据concat拼接的示例代码,具有一定的参考价值,... 目录语法示例:使用pandas.concat合并数据默认的concat:参数axis=0,join=

C#代码实现解析WTGPS和BD数据

《C#代码实现解析WTGPS和BD数据》在现代的导航与定位应用中,准确解析GPS和北斗(BD)等卫星定位数据至关重要,本文将使用C#语言实现解析WTGPS和BD数据,需要的可以了解下... 目录一、代码结构概览1. 核心解析方法2. 位置信息解析3. 经纬度转换方法4. 日期和时间戳解析5. 辅助方法二、L

使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)

《使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)》字体设计和矢量图形处理是编程中一个有趣且实用的领域,通过Python的matplotlib库,我们可以轻松将字体轮廓... 目录背景知识字体轮廓的表示实现步骤1. 安装依赖库2. 准备数据3. 解析路径指令4. 绘制图形关键

解决mysql插入数据锁等待超时报错:Lock wait timeout exceeded;try restarting transaction

《解决mysql插入数据锁等待超时报错:Lockwaittimeoutexceeded;tryrestartingtransaction》:本文主要介绍解决mysql插入数据锁等待超时报... 目录报错信息解决办法1、数据库中执行如下sql2、再到 INNODB_TRX 事务表中查看总结报错信息Lock