【TI毫米波雷达入门-10】TI毫米波速度检测思路

知识回顾

FMCW

chirp

雷达收发流程

中频信号

傅里叶变换

多目标检测

距离分辨率

最大距离

公式总结

FMCW数据处理流程示例

两个维度看图表

从range维度,水平方向上,反映每个chirp 发出的FMCW被接收天线检测到,2个点的目标,对应两个物体的距离信息。

从chirp维度,垂直方向上,反应一个物体在第一个chirp出现的在刻度1,(例如第3个采样点采到),在第二个chirp上出现在刻度2(例如采样点8采集到),对应物体的距离发生变化。从而进一步可以算出目标物体速度。

问题:输出的数据为什么会有复数

outParams->numAdcSamples = profileCfg.numAdcSamples;//采样点数

outParams->numRangeBins =

mathUtils_pow2roundup(outParams->numAdcSamples);

//numRangeBins = 2的numAdcSamples次方

outParams->rangeResolution =(MMWDEMO_RFPARSER_SPEED_OF_LIGHT_IN_METERS_PER_SEC

* profileCfg.digOutSampleRate * 1e3) /(2.f * slope * outParams->numAdcSamples);

//dres = C/2B = C/2ST = C*采样率/2SN(N表示采样数)

outParams->rangeStep = (MMWDEMO_RFPARSER_SPEED_OF_LIGHT_IN_METERS_PER_SEC *

profileCfg.digOutSampleRate * 1e3) /(2.f * slope * outParams->numRangeBins);

距离步进数: = C*采样率/2S/ 2^N(N表示采样数)

range = objIn[objInIdx].rangeIdx * params->rangeStep;

距离 = 格数*步进?

mmWave信号处理流程

ADC采集射频前端的数据,预处理,一维FFT产生距离信息,二维FFT产生速度信息,三维FFT产生角度信息,经过CFAR(CFAR恒虚警率(Constant False-Alarm Rate)是一种雷达信号检测技术。在雷达信号检测中,当外界干扰强度变化时,雷达能自动调整其灵敏度,使雷达的虚警概率保持不变,这种特性称为恒虚警率特性。恒虚警率的获得方法有两种:参量法和非参量法。)输出点云信息(距离/速度/角度),带DSP的芯片进一步算法处理输出目标的轨迹,分类信息

mmw demo参数配置

DCA1000EVM Quick Start Guide

DCA1000 评估模块 (EVM) 为来自 TI AWR 和 IWR 雷达传感器 EVM 的两通道和四通道低压差分信号 (LVDS) 流量提供实时数据捕获和流式传输。数据可以通过 1Gbps 以太网实时流式传输到运行 MMWAVE-STUDIO 工具的 PC 机上,以进行捕获、可视化,然后可以将其传递给所选的应用进行数据处理和算法开发。

使用matlab处理DCA1000生成的bin文件,生成目标的距离-信号强度的plot图形

clear all
data=readDCA1000('matlab_lab_adc_data.bin');
%data=readDCA1000('adc_data.bin');
frame_cnt=size(data,2)/256/128  %Nchirp  = 128,采样点数256lightSpeed = 3.0e8; Sample_Rate_Hz = 10e6;  %采样率,10MHZ Slope_Hz = 29.982e12; %斜率29.982Mhz /usSamples_Per_Chirp = 256;%采样点数256fftSize1D = 256;  %
range_step = ((Sample_Rate_Hz/Samples_Per_Chirp)/Slope_Hz) *(lightSpeed/2) * Samples_Per_Chirp / fftSize1D;%简化一下 距离分辨率dres= c/2B
range_axis = (0:fftSize1D-1)*range_step;  %每一个采样点对应的距离刻度
time_axis = (0:fftSize1D-1)/Sample_Rate_Hz;%每一个采样点对应时间刻度
for i =1:size(data,2)/256recv1_data(1:256,i)=data(1,(i-1)*256+1:i*256);
end
window_1D = hann(256);
radar_data_1dFFT = fft(recv1_data(:,1).*window_1D, fftSize1D); figure(1);clf
plot(time_axis,real(recv1_data(:,1)),'b'); 
grid on
hold on
plot(time_axis,imag(recv1_data(:,1)),'r')
xlim([0 2.6e-5]);
ylim([-800 800]);
legend('real','imag')
xlabel('time (seconds)');ylabel('amplitude');
title('Time domain plot')
figure(2);clf
plot(range_axis,20*log10(abs(radar_data_1dFFT)/2^22),'LineWidth',1.5);
grid on
xlim([0 49]);
ylim([-120 0]);
xlabel('Distance (meters)');ylabel('FFT Output(dBFS)');
title('1-D FFT amplitude profile(per chirp)')Bandwidth =  Slope_Hz * fftSize1D /Sample_Rate_Hz;  
disp(Bandwidth)range_resolution = range_step;   
disp(range_resolution)max_range= Sample_Rate_Hz*lightSpeed/2/Slope_Hz;   
disp(max_range)

雷达的速度检测原理

个人总结部分:

1,中频信号的幅度,时间可以用公式表达:

2,Δθ = 2πfcΔt =2πfc*2 Δd/c = 2πfc*2 Δd/λ/fc = 4π Δd/λ

3,对于 Δd = 1mm的物体,占波长λ 的1/4, Δθ = π

Δf = S2d/c = 333Hz, 占Tc 周期的0.013

以上对比发现中频信号变化对微小物体变化不明显,而相位变化非常明显。

4,根据上诉测量的思路是

  1. 两个间隔时间 为 Tc 的线性调频脉冲
  2. 与其中每个线性调频脉冲 相对应的距离 FFT 将在相同的位置 具有峰值,但是 具有不同的相位
  3. 峰值的 相位之间的 测量相位差 ω 将 与物体的运动 直接对应。Δθ=4π Δd/λ
  4. Δd=vTc,算出v

TI官方文档翻译理解:

如果我们希望 了解 FMCW 雷达响应 物体极小 位移的能力, 那么研究相位 就非常重要。 雷达正是凭此 非常快速且 准确地测量 物体的速度。 这也是在心跳 监测和振动 检测等应用中 使用雷达的 基础。

对于该模块, 我们将首先 快速回顾一下 傅里叶变换中的 一些相关概念。 时域中的正弦波 会在频域中产生 一个尖峰, 该尖峰的 位置与正弦波的 频率相对应。 应了解频域中的 信号是包含振幅 和相位的 复数,这一点 很重要。 因此,虽然此处的 图表示傅里叶 变换的振幅, 但此处的每个值 实际上是一个 包含振幅和 相位的复数。 回忆一下,一个复数 可以在数学上表示为 Ae 的 jθ 次方, 其中 A 是振幅, θ 是相位。 或者,还可以将其 以图形方式表示为 一个相量,该相量 是一个矢量,具有 与振幅 A 相对应的 长度以及与相位 θ 相对应的方向。

在整个系列中, 我们将坚持使用 该相量表示法, 因为我认为 它看起来更加直观。 傅里叶变换的 一条重要性质是, 峰值的 相位对应于 正弦波的 初始相位。

因此,这里的 正弦波以特定的 初始相位开始。 在傅里叶变换中, 该相位反映在此处 峰值的相位中。 在这里,这是一个 正弦波,其频率 与上面的正弦波相同, 但起始相位与该相位 相差 90 度。

我们看到 FMCW 雷达 发射一个称为 线性调频脉冲的 信号,可以使用 频率与时间图 或 f-t 图来表示它, 如此处所示,或者可以 使用振幅与时间图或 A-t 图 等效地表示它。 在模块 1 中, 仔细查看 f-t 图, 我们看到,雷达在往返延迟 τ 之后接收到从物体反射的 线性调频脉冲。 发射信号和 反射的信号 在混频器中进行 混合,以创建具有 恒定频率 Sτ 或等效的 S2d/c 的 IF 信号

那么,这里顶部的图显示了 TX 线性调频脉冲的 A-t 图。 中间的图是 RX 线性调频脉冲, 它是 TX 线性调频 脉冲的延迟版本, 延迟量为 τ, τ 是往返延迟。 正如我们先前了解到的, 对于单个物体,IF 信号将是一个具有 恒定频率的信号, 换句话说, 单个正弦波。 那么,从数学的角度而言, 我可以将该 IF 信号表示为 Asin(2πft + φ0), 其中频率 f 由 S2d/c 给出, S 是斜率, d 是到物体的 距离,c 是 光速。 相位 φ0 正是 IF 信号在该点 c 的相位。 再次回忆一下 模块 1,混频器 输出中 IF 信号的初始 相位是两个输入的 初始相位的差值。 那么,c 处的该相位, 还是与 φ0 相同, 它将是该相位, 即 A 点处的 TX 线性调频脉冲 相位与 B 点处的 RX 线性调频脉冲 相位之间的差值。

现在,如果 物体移动 一小段距离,从而 使往返延迟 τ 更改 Δτ,IF 信号的 相位会发生什么变化? 这里的蓝色 曲线表示的 新 RX 信号将 移动 Δτ 的距离。 IF 信号也将 相应地发生 变化。

现在,新的 IF 信号的起始相位 -- 即点 F 处的 IF 信号相位 -- 将为 D 处的 相位与 E 处的 相位之间的差值。

现在,E 处的 RX 线性调频脉冲的 相位将与先前 B 处的 相位相同。

但 D 处的 TX 线性调频脉冲相位 将为先前 A 处的相位, 具有额外的相位偏移 2πfcΔτ。 这是因为 TX 线性调频脉冲 在该 Δτ 期间 会移动额外的 相位 2πfcΔτ。 该额外的相位, 即 A 点和 D 点处的 相位差, 将直接 反映在 IF 信号的 相位中 -- 即 F 处的 相位。 那么,该相位, 当物体移动 Δτ 时 IF 信号的 相位变化由 Δφ 等于 2πfcΔτ 给出, 我还可以根据 相应的到物体的 距离变化 Δd, 将其 改写为 4πΔd 除以 λ,

其中我 利用了 这样的事实, 即 Δτ 等于 距离变化的 两倍除以光速, 并且波长等于 光速除以 频率 fc。

那么,现在,要更正 我们迄今为止 对 IF 信号的理解,对于 雷达前方的单个物体,

IF 信号是频率 与物体的距离 成正比的 音调,它的 起始相位 具有随物体 距离的微小变化 Δd 以线性方式 变化的性质。 那么,这是我们 现在知道的公式。 对于与雷达的 距离为 d 的物体, IF 信号是一个 正弦波,其频率 f 由这里的 方程给出, 其相位以线性方式 响应到物体的距离 微小变化 Δd。

我们现在需要 理解,如何物体的 位置发生 微小的变化, 该 IF 信号的频率 和相位如何变化。 我说微小,是指 与雷达的距离 分辨率相比是微小的。

因此,它必须 大约为若干毫米。 在本示例中,我们 假设它为 1 毫米。 那么,请考虑此处 显示的线性调频脉冲。 那么,它是一个 斜率为每毫秒 50MHz 且持续时间 为 40 毫秒的线性 调频脉冲。 如果该雷达 前方的物体 位置改变 1 毫米, 会发生什么情况?

请注意,对于 77GHz 雷达,我们的 1 毫米实际上 对应于波长的 1/4。 那么,首先,如果 该物体的位置 改变 1 毫米,IF 信号的 相位会发生什么情况? 那么,您知道,直接 使用这里的公式 并插入 Δd 等于 1 毫米,即 λ/4, 那么我得到相位的 变化为 180 度。

现在,频率会 发生什么情况? 那么,IF 信号的 频率会改变 Δf, 它等于 S2Δd 除以 c,它是直接 从这里得到的。 插入这些值, S 是每毫秒 50MHz,乘以 -- 距离 d 是 1 毫米,除以光速。 我得到的答案是 333Hz。

现在,这可能看起来 是一个大数字。 但是,在 Tc 等于 40 微秒的观测窗口中, 这仅对应于 0.013 个周期。 那么,该变化 在频谱中无法 识别。 那么,这里的重点是, IF 信号的相位对物体 距离的微小 变化非常敏感。 但频率不是这样, 正如我们看到的, 频率对此类微小的 变化非常不敏感

那么,此幻灯片只是对我们 在前一张幻灯片中所了解的 内容进行巩固。 位于特定距离的 物体会产生具有 特定频率和 相位的 IF 信号。 那么,这里是与单个 物体相对应的 IF 信号。 它是一个具有 特定频率和 特定起始相位的正弦波, 在该示例中起始相位为 0。 傅里叶变换会 生成单个峰值。 该峰值的相位 对应于此正弦波的 起始相位。 现在,如果我们将物体移动 一小段距离,会发生什么情况? 这会改变起始相位。 正如您可以 在这里看到的, 在该示例中, 这里的相位 改变了 180 度,因为 我假设移动了 1 毫米。 相应地,FFT 的 峰值,其位置 保持不变, 但峰值的 相位改变了 180 度。 因此,它在这里是 0 度, 在这里是 180 度。

那么,我想我们现在具备了 用于了解 FMCW 雷达如何 测量速度的所有工具。

基本思想 是这样的 -- 您发射两个间隔时间 为 Tc 的线性调频脉冲。

与其中每个线性调频脉冲 相对应的距离 FFT 将在相同的位置 具有峰值,但是 具有不同的相位。

这两个峰值的 相位之间的 测量相位差 ω 将 与物体的运动 直接对应。

请注意,如果 物体的速度为 v, 则该物体在此时间段 Tc 内的移动距离 将为 vTc。

那么,这就是这里的 问题,其中峰值之间的 相位差 -- 对应于这两个发射 线性调频脉冲的 峰值相位之间的 相位差由 4π 乘以 物体在该期间内 移动的距离然后 除以 λ 给出。

然后,重新 整理该方程, 您就可以根据 这个测量的 相位差直接 估算速度。

这里的重点是, 在两个连续的 线性调频 脉冲之间测量的 相位差可用于 估算物体的速度。 除速度 测量之外, IF 信号的 相位对微小 移动非常 敏感的事实 也是有趣 应用的基础, 这些应用包括 电机振动监测、 心跳监测等。

此幻灯片是 对部分相关 工作原理的简介。 这里的图描述了 以振荡方式移动的 物体随时间 演变的过程。 那么,此物体 从该位置开始, 向左偏移 一点,然后 返回,再向右偏移 一点,依此类推。 这可以表示一个 正在振荡的物体。 在这里,我们假设 这些移动非常 微小,因此 物体的最大 位移 Δd 是波长的 一小部分,例如 一毫米或更短。

现在,如果我们将一个 雷达放置在该振荡的 物体前方并 发射一系列 等间隔的线性调频 脉冲,会怎么样? 您知道,由于从该物体上 进行反射,因此其中的 每个 TX 线性调频脉冲会产生 一个反射线性调频脉冲,并且 经处理的 IF 信号 会在距离 FFT 中 产生一个峰值。 现在,该峰值的 频率不会在线性 调频脉冲之间 改变太多,因为 Δd 非常小。

但峰值的 相位将会 响应该物体的 振荡移动。 此处显示的就是相关情况。 那么,相位 以特定的值 开始,并将物体的 移动镜像至左侧。 当物体返回时, 相位返回到 其初始值, 然后偏移到 另一侧。 如果我们按时间顺序 绘制测量的峰值相位 -- 您知道,在此相位 是该时间图 -- 该图看起来 如此处所示。 您可以通过查看 该图了解很多信息。 那么,最大 相位偏移 Δφ 与最大 位移 Δd 相关, 如下所示。 因此,在这里, 我可以估算 振动的振幅 Δd。 类似地, 该图的 周期性直接为我 提供振动的周期。 所以,此处的 重点是,距离 FFT 峰值相位 随时间的演变 可用于估算 振动的振幅 和周期。 本模块 到此结束。 我们了解到, IF 信号的相位 对物体距离的 微小变化非常 敏感。 对于如何将其用于 速度估算,我们有了 一定程度的了解。 我们现在拥有了必要的 相关背景知识,可以开始 回答我们 在模块 1 的 末尾提出的问题了。 那么,我们 有多个物体, 它们具有不同的 相对于雷达的速度。 不过, 在测量时, 这些物体 到雷达的距离 碰巧几乎相同。 那么,距离 FFT 显然将向您显示 仅有单个与该距离 d 对应的峰值。 现在,我们如何 分离这些物体呢? 您知道,事实证明, 可以使用称为多普勒 FFT 的工具分离 相对于雷达具有 相同距离但具有 不同速度的物体。

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

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

相关文章

滑动窗口如人生,回顾往事不复还———力扣刷题

第一题:长度最小的子数组 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 思路: 第一想法肯定时暴力枚举,枚举数组任何一个元素,把他当起始位置,然后从起始位置找最短区间,使得…

uniapp原生插件之安卓app添加到其他应用打开原生插件

插件介绍 安卓app添加到其他应用打开原生插件,接收分享的文本和文件,支持获取和清空剪切板内容 插件地址 安卓app添加到其他应用打开原生插件,支持获取剪切板内容 - DCloud 插件市场 超级福利 uniapp 插件购买超级福利 详细使用文档 u…

Nyquist Theorem(取样定理)

取样定理,又称为奈奎斯特定理(Nyquist Theorem),是信号处理领域中一项至关重要的基本原理。它规定了对于连续时间信号,为了能够完全准确地还原出原始信号,即使是在离散时间下进行采样和再构建,都…

【JUC】二十七、synchronized锁升级之无锁

文章目录 1、背景2、Monitor、Java对象、线程如何关联起来的?3、synchronized锁升级4、锁升级之无锁 关于synchronized同步,能用无锁结构就不要用锁;能锁块,就不要锁整个方法;能用对象锁,就不要用类锁。 用…

python算法例18 滑动窗口的最大值

1. 问题描述 给定一个可能包含重复整数的数组和一个大小为k的滑动窗口,从左到右在数组中滑动这个窗口,找到数组中每个窗口内的最大值。 2. 问题示例 给出数组[1,2,7,7,8],滑动窗口大小为k3&a…

Redis - 主从集群下的主从复制原理

主从复制过程 数据同步演变过程 sync 同步 Redis 2.8 版本之前,首次通信成功后, slave 会向 master 发送 sync 数据同步请求。然后 master 就会将其所有数据全部发送给 slave ,由 slave 保存到其本地的持久化文件中。这个过 程…

conda的安装及使用 以pycharm 为例

下载 https://docs.conda.io/en/latest/miniconda.html 下载 window版本 74M且下着吧。 安装 一路next或agree ,不同意人家也不会按装 。重要的是安装目录 让andconda当老大 pycharm的使用 创建项目时如下图选择 成功后进入项目的Terminal则如下图表示成功

快速二维相位解包算法基于按照非连续路径进行可靠性排序

Miguel Arevallilo Herra ez, David R. Burton, Michael J. Lalor, and Munther A. Gdeisat 摘要: 据我们所知,我们描述了一种新的相位展开技术。已经提出了几种基于首先展开最可靠像素的算法。这些仅限于连续路径,并且在定义起始像素时会遇…

目前进度记录

目前已经把之前记录的方法都实现了,目前的主函数可以写的更简单比如 int main(int argc, char* argv[]) {KernelClass::create_kernel();MPI_Init(&argc, &argv);kernel().mpi_manager.init_mpi(argc, argv);//创建种群int group1 kernel().conn_manger.c…

Python特征工程神器:Feature Engine库详解与实战

更多资料获取 📚 个人网站:ipengtao.com 特征工程是机器学习中至关重要的一环,而Feature Engine库作为Python中的强大特征工程工具,提供了丰富的功能和灵活的操作。本文将深入探讨Feature Engine的各种特性,包括缺失值…

单片机的低功耗模式介绍

文章目录 简介一、功耗来源说明1.1、芯片工作模式1.2、静态损耗1.3、I/O额外损耗1.4、动态损耗 二、功耗如何测量三、降低功耗有什么方法3.1、选取合适的芯片工作模式3.2、降低工作频率3.3、关闭不需要使用的外设3.4、 降低静态电流损耗3.5、 周期采集供电3.6、 设置IO口状态 四…

HNU数据库大作业-世界杯比赛系统

前言 之前做的那个版本bug较多,后进行了大量优化。 此项目是一个前后端分离的项目,前端主要使用htmlcssjs搭建,使用的是layui框架 后端使用php语言,仅实现了简单的查询数据库功能,无法实现多并发查询等复杂情况 数…

云架构俭约之道七法则(The Frugal Architect)

文章目录 一、前言关于 Law 与 Rule 的区别 二、云架构俭约之道七法则Design(设计方面)Law 1:把成本作为非功能性需求Law 2:可持续性系统需要将成本与业务相匹配Law 3:架构设计是一系列权衡的取舍 Measure(…

iOS加密CoreML模型

生成模型加密密钥 必须在Xcode的Preferences的Accounts页面登录Apple ID,才能在Xcode中生成模型加密密钥。 在Xcode中打开模型,单击Utilities选项卡,然后单击“Create Encryption Key”按钮。 从下拉菜单中选择当前App的Personal Team&…

多项目同时进行如何做好进度管理?

许多企业都面临着同时进行多个项目的情况,因此项目经理经常需要管理多个项目。多项目管理的难点不仅在于项目数量增加,还在于资源分配不均、难以监控多个项目进度以及复杂的沟通协作。 一、从项目经理的角度分析 首先,要把握高效项目管理的几…

蚂蚁SEO实用的网络baidu蜘蛛有哪些

网络蜘蛛是一种用于从互联网上自动抓取信息的程序。它们根据给定的规则和指令,遍历网站上的页面,收集信息并将其存储在数据库中。网络蜘蛛在搜索引擎、数据挖掘、信息提取等领域有着广泛的应用。本文将介绍一种实用的网络蜘蛛,并探讨其实现原…

MySQL——库,表基础操作

目录 一.库的操作 1.显示当前的数据库列表 2.创建数据库 3.字符集和校验规则 4.操纵数据库 5.删除数据库 6.数据库备份与还原 7.查看连接情况 二.表的操作 1.创建表 2.查看表结构 3.修改表 4.删除表 一.库的操作 1.显示当前的数据库列表 show databases; 2.创建数…

KubeKey 离线部署 KubeSphere v3.4.1 和 K8s v1.26 实战指南

作者:运维有术 前言 知识点 定级:入门级了解清单 (manifest) 和制品 (artifact) 的概念掌握 manifest 清单的编写方法根据 manifest 清单制作 artifactKubeKey 离线集群配置文件编写KubeKey 离线部署 HarborKubeKey 离线部署 KubeSphere 和 K8sKubeKey…

自建zerotier planet服务linux客户端使用

前期准备planet文件, 1.先安装zerotier curl -s https://install.zerotier.com | sudo bash2.安装完毕之后把planet文件上传上去 这个位置 3.加入网络,这里不做创建演示 zerotier-cli join 地址 4.查看planet的ip 直接用bash ifconfig没有的用ip ad…

低代码开发入局,同飞股份应用云表自主开发MES管理系统

近日,为了贯彻落实《“十四五”智能制造发展规划》,推动中国从制造大国向制造强国转变,工业和信息化部发布了2023年度“智能制造优秀场景”名单。经过省级有关部门和中央企业的推荐、专家评审、网上公示等程序,同飞股份凭借其“先…