【TI毫米波雷达入门-11】毫米波速度相关计算

知识回顾

傅里叶变换

信号用复数表示,A :振幅, Q :相位

中频 信号

中频信号的相位

中频信号的表达公式

频率和相位的表达方式

使用两个Chirp 实现单个目标的测量

两个连续的chirp ,检测目标的相位差,通过速度和时间的关系,计算出相位

而相位可以通过ADC经FFT 计算,从而反推出速度

FFT处理复数序列

两个不同的物体

增加采样时间,可以检测多个物体

FFT 处理复数序列

最大速度测量

当远离雷达,速度是正的,靠近雷达速度是负的

通过最大w ,从而计算拿出最大速度

测量多个相同距离的目标速度

多个chirp 上做一次fft,获得相位信息,多普勒FFT ,反映出目标物体的速度

速度分辨率

N:表示多少 个chirp

思考题

可视化2D FFT

如何计算径向速度

numDopplerBin 是与numDopperChirps相近的一个2^n的数,

举例:如果是128,两个值都是128,如果numDopperChirps 是127,numDopplerBin 为128

FMCW 2D FFT

2:在range维度上做ADC的FFT得到 左下角的表

3:在而的基础上在,再在chirp 上做FFT 得到二维FFT ,根据相位计算速度

内部MCU处理ADC数据过程

1,收到一组Chirp的ADC数据,比如128个。做一次FFT。后将FFT之后的数据保存,原始ADC数据抛弃。节省存储器资源。如果需要所有原始数据做分析,可以通过LVDS接口将原始数据导出。

2,多普勒FFT ,需要所有的一维FFT都做完了。再基于chirp维度做一次。所有他没法和采集同步导出

所有真实系统里面不存储原始adc的值,但是存储一维FFT的值

根据需求进行chirp参数设计

对于比较近的B大一点。dres 更高。

但是最大距离就受限

分析过程:由Vmax = 波长/4Tc,最大速度一直情况下,Tc固定

B = S*Tc

dres = C/2B。如果要求dres具有较好的分辨率,那么B要比较大。从而导致S足够大

由于IF max 中频 由ADC器件决定是固定值 = S*2dmax/C 。S大了,导致dmax变小。

故距离分辨率和dmax 是相关受限的关系。

雷达的功率和功率密度

从最后一个公式说明,之前分析的最大距离理论公式dmax = IF*C/2S

实际还和其他参数有关 比如,表面物体的面积,发射功率,发射/接收天线的增益,总测量时间,

最小信噪比,温度灯有关

mmw demo 参数配置

参考:mmwave_sdk_user_guide.pdf

来自TI的毫米波雷达-第三讲分享

欢迎观看 FMCW 雷达 介绍系列视频的 第三模块。 本视频将深入探究 速度估算问题。 与第一模块中的 距离估算相似, 我们将介绍 诸如最大 可测速度和 速度分辨率等 内容。

在本模块中,我们要 尝试解答这样的问题:

如果您有 一部雷达, 并且雷达前方 有一个物体, 雷达会如何估算 该物体的速度?

另外,本模块将回顾 我们在模块 2 中 所学到和看到的内容。 如果有 多个物体, 这些物体与雷达的 距离相同,但相对速度 不同,此时 会怎么样?

两个等距物体的 速度接近到 何种程度时,雷达仍然 能够分辨?

雷达的最大可测速度 是否存在限制?

与前面的 模块一样, 我们首先来回顾 一些傅里叶变换 概念。 到目前为止,我们已经 讨论了连续时间信号的 傅里叶变换。 类似的概念同样 适用于离散信号。 我们假设这里有 一个离散信号, 离散信号, 该相量以每个样本 ω 弧度的恒定速率旋转。 这样一来,在任意两个样本之间, 此相量都旋转了 ω 弧度。 这时,我们会用到“离散角 频率”这个术语, 或者有时仅使用“频率” 来指代这个 ω。 请注意,这些相中的 每一相实际上 均代表一个复数。 因此,该序列的 另一种等效表示形式 就是这里 这个特定的 数学表达式。 对该序列进行 傅里叶变换, 精确地说是 离散傅里叶变换, 将在离散 频率 ω1 下 的频域中 得到单一峰值。 这里我介绍 FFT 这个词, 它就是用于计算这种 离散傅里叶变换的 有效算法。 现在,这个 离散序列包含 两相而不是一相, 如这里所示, 其中蓝色相量 以离散角频率 ω1 旋转, 红色相量 以离散角频率 ω2 旋转。 这个离散序列的 傅里叶变换 实际上分别在 离散频率 ω1 和 ω2 处具有两个峰值。 ω1 和 ω2 两个 频率要相隔多远 才能在傅里叶 变换中显示为 单独的峰值? 在这里, 您有两个 以略微不同的 频率 ω1 和 ω2 旋转的相量, 在经过 N 个样本后, 第二个相量比第一个 相量多旋转了 半个周期的 π 弧度。 所以,在本示例中,ω1 为 0,ω2 为 πN。 经过 N 个样本后, ω2 相对于 ω1 的累计 角度将为 π 弧度 或半个周期。 您可以在这里 看到,这显然不足以 在频域内 分辨这两个 物体。 这里存在 同样的两相, 但现在的观测 时间段更长。 我们现在有 2N 个样本, 而不是先前的 N 个样本。 经过这 2N 个样本后, 与第一个相量相比, 第二个相量额外旋转了 一个完整周期。 您可以看到, 现在可以在 频域内清楚地分辨 这两个频率。 所以,这里的重点是, 序列长度越长, 分辨率就越高。 一般来说, 长度为 N 的序列 可以分隔 被大于每个 样本 2πN 弧度 分隔的角频率。

让我们花一点时间 比较一下离散 和连续分段的 分辨标准。 它们来自于最后一个模块, 但对于连续信号而言, 只要两种频率的 间隔差值 f 大于 1 乘以 T 赫兹 或 1 乘以每秒 T 个周期, 其中 T 是观测窗口, 就可以分辨出这两种频率。 至于离散信号,我们 在上一张幻灯片中讲过, 只要两种离散 频率的间隔 差值 ω 大于 每个样本 2πN 弧度, 就可以分辨出这两种频率。 请注意这里的单位, 即每个样本的弧度数, 它实际上与每个样本 1 乘以 N 个周期是相同的, 因为每个周期 都是 2πN 弧度。 那么,如果您现在 看一下这两个等式, 就可以得出离散 和连续情况之间的 对应关系。 在一种情况下, 分辨率与 以观测时间 T 表示的长度成反比, 而在另一种 情况下则与 以观测样本数 N 表示的长度成反比。

这样,我们现在就具备了 了解 FMCW 雷达如何 测量速度的所有工具。 基本观点 是这样的: 您发射两个间隔时间 为 Tc 的线性调频脉冲。 与其中每个线性调频脉冲 相对应的距离 FFT 将在同一个位置 具有峰值, 但相位不同 这两个峰值的 相位之间的 测量相位差 ω 将 与物体的运动 直接对应。 请注意,如果 物体的速度为 v, 该物体在此时间段 Tc 内的移动距离 将为 vTc。 所以,在这里的 这个等式中, 与所发射的这两个 线性调频脉冲 相对应的峰值 相位之间的 相位差表示为 4π 乘以物体在 该时段内移动的 距离除以 λ。 重新整理 这个等式后, 您就可以根据 这个测量的 相位差直接 估算速度。

这里的重点是, 在两个连续的 线性调频 脉冲之间测量的 相位差可用于 估算物体的速度。 使用我们刚才 所述的方法时, 可测量的最大速度 是否存在 限制? 请注意,此方法 依赖于相位差测量, 只有当差值 介于正负 180 度 或正负 π 弧度之间时, 才可以清楚地测量此值。 这里的一系列示意图 就说明了这一点。 例如,如果我们对 相量在这两个 线性调频脉冲之间的 运动进行可视化处理, 则对于正速度,您就可以 可视化逆时针运动的相量。 同样,对于负速度, 您可以可视化 顺时针运动的相量。 现在,如果顺时针 或逆时针方向的 运动量 超过 180 度, 则会产生模糊。 例如,在这个 图示中, 不能确定相量是在 逆时针方向移动了 角度 a,还是在 顺时针方向移动了 角度 b。 因此, 要清楚地测量速度, 两个线性调频脉冲 之间的相位变化 必须小于 π, 这意味着我们 可以从先前的 材料中得到这个 相位变化表达式。 此表达式 必须小于 π, 它是可以清楚地 测量最大速度的 表达式。 这里的重点是, 此表达式给出了 可以通过两个 以 Tc 为间隔的 线性调频脉冲测量的最大相对速度。

在这里您 可以看到, 要得到更高的 Vmax, 线性调频脉冲必须很密集。 刚才我们已经 了解了如何测量 雷达前方单个 物体的速度。 我希望大家都明白, 只要物体与雷达 之间的距离不同, 就可以将这种方法 应用于雷达 前方的多个物体。 但如果有多个 物体与雷达的 距离相同, 情况会怎么样? 在这里的示例中, 雷达前方 有两个物体, 它们与雷达的距离相同, 但速度不同,相对于雷达的 速度分别为 V1 和 V2。 我们之前讨论过, 与要发射的 这两个线性调频脉冲 相对应的距离 FFT 中 只有一个峰值, 但峰值处的 相量将具有 来自这两个 物体的分量。 这样一来,我们 之前所说的 简单相位比较方法 就不再适用了, 因为此处的相位 具有来自 这两个物体的 速度分量。 那么,该如何解决呢? 一种解决方案是发射 一系列等间隔的线性调频脉冲, 而不仅仅是两个线性调频脉冲。 假设这里有 N 个 等间隔的线性调频脉冲, 那么根据我们 之前的讨论,与其中的 每个线性调频 脉冲相对应的 距离 FFT 将在完全 相同的位置具有峰值。 但是,与这些 峰值的相量 相对应的离散序列 将有两个旋转相量, 分别以频率 ω1 和 ω2 旋转, 对应于两个速度 V1 和 V2。 因此,这个离散 序列上的 FFT 将显示两个 峰值,分别 对应于 ω1 和 ω2 频率的离散角。 测量出 ω1 和 ω2 后, 我们就可以 利用前面介绍的 这些表达式 反算出速度。

在进行下一步之前, 我们先来解释几个术语。 这里的 FFT 是在 线性调频脉冲之间执行的, 在文献中通常 称为多普勒 FFT。 这个对其执行 多普勒 FFT 的 等间隔线性调频 脉冲序列 称为帧。 因此,FMCW 雷达的 基本传输单位 实际上是帧。 多普勒 FFT 的 速度分辨能力如何? 换句话说,V1 和 V2 之间的最小间隔 应该是多少,才能让它们 在多普勒 FFT 中 显示为两个峰值? 事实上,推导 速度分辨率 表达式的过程非常 简单,并且类似于 我们在模块 1 中推导 距离分辨率的过程。 我们需要做的就是 利用我们知道的 这两个事实, 此时此刻, 我强烈建议 您暂停视频, 自己推导一下这个 速度分辨率 表达式。 根据这里的 表达式, 速度间隔为 δV 的 两个物体的角频率 间隔将为 δω, 其中 Tc 是相邻 线性调频脉冲之间的间隔。 根据离散傅里叶 变换的特性, 我们知道, 只要两个频率的 间隔 δω 大于 2πN, 就可以分辨这两个频率。 现在,让我们替代 这里的表达式 并稍做整理, 就得到了 下面的这个 不等式, 进而得出速度 分辨率的表达式。

请注意,在这个 表达式中, 线性调频脉冲数 N 乘以相邻线性调频 脉冲之间的 持续时间实际上 等于总帧时间。 最后,我们 得到了这个 速度分辨率 表达式, 它基本上表明 雷达的速度分辨率 与帧时间 成反比, 并由 λ 乘以 两倍的帧时间表示。 现在有个问题。 这两个帧具有 相同的帧长度 Tf, 但与雷达 A 相对应的 帧的线性调频 脉冲数是与雷达 B 相对应的帧的 两倍。问题来了, 如何评价 这两个帧的 最大可测速度 和速度分辨率? 这就进入了 第三模块的尾声。 在下一个模块中, 我们将使用 目前为止学到的所有 有关距离和速度估算的 知识来设计一个 发射信号,该信号满足

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

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

相关文章

性能监控体系:InfluxDB Grafana Prometheus

InfluxDB 简介 什么是 InfluxDB ? InfluxDB 是一个由 InfluxData 开发的,开源的时序型数据库。它由 Go 语言写成,着力于高性能地查询与存储时序型数据。 InfluxDB 被广泛应用于存储系统的监控数据、IoT 行业的实时数据等场景。 可配合 Te…

Redisson分布式锁原理分析

1.Redisson实现分布式锁 在分布式系统中,涉及到多个实例对同一资源加锁的情况,传统的synchronized、ReentrantLock等单进程加锁的API就不再适用,此时就需要使用分布式锁来保证多服务之间加锁的安全性。 常见的分布式锁的实现方式有&#xff…

MySQL下载、安装、配置详细教程

目录 1 下载 2 安装 2.1执行安装命令: 2.2 编写配置文件 2.3查看默认mysql的密码: 2.4启动mysql服务 2.5 登录mysql,修改密码 3 系统环境变量配置 3.1 配置 3.2 测试 1 下载 官方网址: https://www.mysql.com/跳转到如…

【MATLAB】基于SVMD分解的信号去噪算法(基础版)

代码的使用说明 【MATLAB】基于SVMD去噪的信号去噪算法(基础版) 代码的原理 1.SVMD原理 连续变分模式分解(Successive Variational Mode Decomposition,SVMD)是一种用于将混合信号根据其频率特性分离成各个独立分量的…

CSS第二天导读

1,Emmet语法 Emmet语法的前身是Zen coding,它使用缩写,来提高html / css 的编写速度,Vscode内部已经集成该语法 1.1,快速生成HTML结构语法 1.想要快速生成多个相同标签,加上*就可以了,比如 d…

Unity 关于Rigidbody刚体组件的理解

一、基本了解 刚体Rigidbody因具体物理相关的属性,使得实际应用中更有真实感。应用也多: Rigidbody它可以受到重力、碰撞或者力的作用,所以我们可以用它模拟物体的真实物理行为,如受到重力的作用、与其他刚体对象进行碰撞&#…

计算机毕业设计 SpringBoot的医院门诊在线挂号系统 Javaweb项目 Java实战项目 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…

pandas空格及网页空格符NBSP替换处理

df3[动作一课程内容]df3[动作一课程内容].str.replace( ,) df3[动作一课程内容]df3[动作一课程内容].str.replace( ,) 截图中代码为python展示代码,由于网页空格符和常规空格符看起来大致相同,但却不能用常规空格替换解决

虾皮选品网:如何使用虾皮选品数据软件提升您的选品策略

在虾皮(Shopee)平台上进行选品时,了解市场趋势、竞争程度和产品潜力是非常重要的。为了帮助卖家更好地分析虾皮市场,并为选品和运营策略提供有力支持,有一些数据软件和工具可以派上用场。本文将介绍一些建议使用的虾皮…

HCIA-H12-811题目解析(7)

1、【多选题】RSTP协议包含以下哪些端口状态? 2、【单选题】当采用LACP模式进行链路聚合时华为交换机的默认系统优先级是? 3、【单选题】下面关于二层以太网交换机的描述说法不正确的是? 4、【单选题】以下哪种类型的ACL不能匹配网络层信息…

事务--03---TCC空回滚、悬挂、幂等解决方案

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 Seata TCC 模式设计思路TCC存在的问题1、空回滚以及解决方案解决方案: 2、幂等问题以及解决方案解决方案: 3、悬挂问题以及解决方案解决方案…

WPF-UI HandyControl 简单介绍

文章目录 前言我的网易云专栏和Gitee仓库HandyControlHandyControl示例相关资源地址 我的运行环境快速开始和Material Design功能对比手风琴右键菜单自动补充滚动条轮播图消息通知步骤条托盘按钮 结尾 前言 最近我在研究如何使用WPF做一个比较完整的项目,然后我就先…

【Bootloader学习理解----跳转优化异常】

笔者接着来介绍一下Bootloader的跳转代码以及优化 1、跳转代码理解 跳转代码可能要涉及到芯片架构的知识,要跳转到对应的位置,还要设置相关的SP 堆栈指针,具体可以参考笔者这篇文章BootLoader的理解与实现。 STM32的跳转代码如下所示: u32 …

Knowledge Distillation from A Stronger Teacher(NeurIPS 2022)论文解读

paper:Knowledge Distillation from A Stronger Teacher official implementation:https://github.com/hunto/dist_kd 前言 知识蒸馏通过将教师的知识传递给学生来增强学生模型的性能,我们自然会想到,是否教师的性能越强&…

前端已死?别低估前端,他是互联网世界的核心!【这是一篇治愈系文章】

文章目录 💥 AI回答🦋 现状🦉 焦虑🐉 力量🦅 观点🐣 粗浅分析🦥 快乐的韭菜🏆 总结 💥 AI回答 前端已死? ai的答案是这样: 前端并没有死掉,它仍然…

Python FuckIt模块:代码的“不死鸟”

更多资料获取 📚 个人网站:ipengtao.com 在编程世界中,每个开发者都曾遇到过代码中的错误,有时这些错误可能让人崩溃。但是,有一天,听说了一个叫做"FuckIt"的模块,它声称可以帮助摆脱…

UE5 C++(四)— 容器(TArray,TMap,TSet)

文章目录 数组(TArray)TMapTSet 数组(TArray) TArray是虚幻c中的动态数组,TArray特点:速度快,内存消耗小,安全性高。并且TArray所有元素均完全为相同类型,不能进行不同元…

数字图像处理(实践篇)二十四 使用dlib实现人脸对齐

目录 1 安装依赖库 2 下载shape_predictor_68_face_landmarks.dat文件 3 人脸对齐方案 4 涉及的函数 5 实践 1 安装依赖库 使用如下命令即可安装dlib: pip install dlib 在使用

【Qt之QNetworkAccessManager】概述及示例

概述 QNetworkAccessManager类允许应用程序发送网络请求和接收应答 网络访问API是围绕一个QNetworkAccessManager对象构建的,该对象为它发送的请求保存通用配置和设置。它包含代理和缓存配置,以及与此类问题相关的信号,以及可用于监视网络操…

读书笔记-《数据结构与算法》-摘要5[归并排序]

归并排序 核心:将两个有序对数组归并成一个更大的有序数组。通常做法为递归排序,并将两个不同的有序数组归并到第三个数组中。 先来看看动图,归并排序是一种典型的分治应用。 public class MergeSort {public static void main(String[] ar…