【FMCW 02】测距

news2024/11/16 13:35:13

承接上篇博文 中频IF信号 ,我们已经知道得到的中频IF信号的形式为:

x I F ( t ) = A ′ ′ cos ⁡ ( 2 π K τ t + 2 π f o τ ) x_{\tiny{IF}}(t) = A^{\prime \prime} \cos(2\pi K\tau t+2\pi f_o \tau ) xIF(t)=A′′cos(2πKτt+2πfoτ)


在这里插入图片描述

其中时延 τ = 2 d c \tau = \frac{2d}{c} τ=c2d d d d 为探测目标的距离。

在实际中,我们对得到的IF信号进行ADC采样,即将模拟信号(analog signal)转换为数字信号(digital signal),然后对采样后的信号进行数字信号处理

最大探测距离

假设ADC的采样率为 f s f_s fs,采样点数为M,FFT点数为N(N≥M)。根据FFT频谱分析的知识,我们知道此时最大能分辨的频率分量为 f s 2 \frac{f_s}{2} 2fs

对采样后的IF信号作FFT,即可完成对其的频谱分析,假设我们测得在频率 f f f 处有一个峰值(peak),其就对应着在距离 d d d 处有一个目标。即:

f p e a k = K τ = K 2 d t a r g e t c f_{peak}=K\tau=K\frac{2d_{target}}{c} fpeak=Kτ=Kc2dtarget

进行距离的换算,我们就有:

d t a r g e t = c 2 K f p e a k = c ⋅ C R T 2 B W f p e a k d_{target} = \frac{c}{2K}f_{peak}=\frac{c \cdot CRT }{2BW}f_{peak} dtarget=2Kcfpeak=2BWcCRTfpeak

其中,CRT指的chirp重复的周期,即chirp repetition time,BW指的是chirp的扫频带宽,即band width。


现在我们看 f p e a k f_{peak} fpeak的取值范围。由于ADC的采样率为 f s f_s fs,FFT点数为N,即是在频率轴上( f s 2   f s 2 \frac{f_s}{2}~ \frac{f_s}{2} 2fs 2fs)分成了N个 frequency bin,目标对应的 f p e a k f_{peak} fpeak就落在这其中的某个bin中。考虑实信号有镜像频率,如果我们只取正频率部分

f p e a k = f s N k ,  0 ≤ k < N 2 f_{peak} = \frac{f_s}{N}k, \ 0≤k<\frac{N}{2} fpeak=Nfsk 0k<2N

从之前的推导很容易看出, d t a r g e t d_{target} dtarget f p e a k f_{peak} fpeak 成线性关系,即:
d m a x = c 2 K f m a x d_{max} = \frac{c}{2K} f_{max} dmax=2Kcfmax

由于在正频率部分,最大的 f p e a k f_{peak} fpeak即是 f s 2 \frac{f_s}{2} 2fs,所以
d m a x = c 4 K f s d_{max} = \frac{c}{4K}f_s dmax=4Kcfs


距离分辨率

两个可分辨的 range bin 对应着两个可分辨的 frequency bin,即
Δ d = d 1 − d 2 = c 2 K ( f 1 − f 2 ) = c 2 K Δ f = c 2 K f s N = c ⋅ C R T 2 B W f s N \Delta d = d_1 -d _2 = \frac{c}{2K}(f_1-f_2)=\frac{c}{2K}\Delta f=\frac{c}{2K}\frac{f_s}{N}=\frac{c \cdot CRT }{2BW}\frac{f_s}{N} Δd=d1d2=2Kc(f1f2)=2KcΔf=2KcNfs=2BWcCRTNfs

在连续采样的背景下,我们有:
N f s = C R T \frac{N}{f_s} = CRT fsN=CRT
于是 Δ d \Delta d Δd进一步可以化简为:
Δ d = c 2 B W \Delta d = \frac{c}{2 BW} Δd=2BWc

一个直观的结论是,能达到的距离分辨率只与 B W BW BW,即扫频带宽有关


无法整周期采样

但在实际上,由于一些装置的设置,往往我们并不会完成整个CRT周期内的采样,即
N f s = α C P T ≤ C R T ,其中 α ≤ 1 \frac{N}{f_s}=\alpha CPT \le CRT ,其中 \alpha \le 1 fsN=αCPTCRT,其中α1
于是在这样的情况下,实际得到的距离分辨率并没有预想的那么精细,而要略微粗些。
Δ d = c 2 B W 1 α ≥ c 2 B W \Delta d = \frac{c}{2BW} \frac{1}{\alpha} \ge \frac{c}{2BW} Δd=2BWcα12BWc

虽然这里就有聪明的小朋友说了,我可以时域补零啊,那不是看得更仔细了。但遗憾的是“时域补零相当于频域插值”,这改善的只是FFT的是视觉分辨率,而实际上的波长分辨率只由采样数决定(即采样点数M)。假如现在有两个物体落在了同一个原始采样点数换算得到的某个 range bin 中,那么这两个物体在我们最终得到的FFT频谱图中就是无法完成区分的。


我们再对这个分辨率有一个感性的认识,假设扫频带宽为3GHz,则:
Δ d = c 2 B W = 3 × 1 0 8 2 × 3 × 1 0 9 m = 5 m m \Delta d= \frac{c}{2 BW}=\frac{3 \times 10^8}{2 \times 3 \times 10^9}m=5mm Δd=2BWc=2×3×1093×108m=5mm

即一个毫米级的距离分辨率。


CRT的影响

在 TI 关于FMCW雷达的教程视频中,有提出这样一个有趣的问题,即关于 chirp 1 和 chirp 2的讨论,它们具有相同的扫频带宽,但是chirp 1的周期是chirp 2的两倍。

在这里插入图片描述
根据之前的推导,我们知道这两个chirp对应的距离分辨率应该是一致的

但假如我们现在用同一台ADC进行采样:在采样频率相同时,chirp 1能获得的采样点数更多,其对应的波长分辨率也就更高。在采样点数相同的情况下,chirp 1 会比 chirp 2需要的采样率更低,于是对ADC的容忍度提高了;但同时,chirp 1也需要花费更长的时间完成采样。那么,这里呈现的就将是一个对于ADC的 trade-off

最后,用一张图总结 range FFT的内容:

在这里插入图片描述

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

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

相关文章

【数据库】15分钟了解TiDB

由于目前的项目把mysql换成了TiDb&#xff0c;所以特意来了解下tidb。其实也不能说换&#xff0c;由于tidb和mysql几乎完全兼容&#xff0c;所以我们的程序没有任何改动就完成了数据库从mysql到TiDb的转换&#xff0c;TiDB 是一个分布式 NewSQL (SQL 、 NoSQL 和 NewSQL 的优缺…

C++之空间配置器

目录 一、C语言中的类型转换 二、C的类型转换 三、C强制类型转换 static_cast reinterpret_cast const_cast volatile关键字 dynamic_cast 什么情况下需要将父转成子呢&#xff1f; static_cast与dynamic_cast转换对比 四、空间配置器 什么是空间配置器 为什么需要…

raspberry pi播放音视频

文章目录目的QMediaPlayerGStreamerwhat is GStreamer体系框架优势omxplayerwhat is omxplayercommand Linekey bindings运行过程中错误ALSA目的 实现在树莓派下外接扬声器&#xff0c; 播放某段音频&#xff0c; 进行回音测试。 QMediaPlayer 首先我的安装是5.11版本。 优先…

【并发编程二十一:终章】c++20协程( co_yield、co_return、co_await )

【并发编程二十一】c20协程(co_yield、co_return、co_await &#xff09;一、协程分类1、控制机制划分2、有栈&#xff08;stackfull)/无栈&#xff08;stackless)划分二、c20协程三、co_yield1、demo2、相关知识点介绍四、co_return五、co_await一、协程分类 上一篇我们讲解了…

如何让AI帮你干活-娱乐(2)

背景&#xff1a;好容易完成朋友的任务&#xff0c;帮忙给小朋友绘画比赛生成一些创意参考图片。他给我个挑战更高的问题&#xff0c;是否可以帮他用AI生成一些视频。这个乍一听以现在AI技术根本不太可能完成。奈何他各种坚持&#xff0c;无奈被迫营业。苦脸接受了这个不可能完…

Java线程知识点总结

文章目录Java 线程基础线程简介什么是进程什么是线程进程和线程的区别创建线程ThreadRunnableCallable、Future、FutureTaskCallableFutureFutureTaskCallable Future FutureTask 示例线程基本用法线程休眠线程礼让终止线程守护线程线程通信wait/notify/notifyAlljoin管道线程…

MATLAB——数据及其运算

MATLAB数值数据数值数据类型的分类1&#xff0e;整型整型数据是不带小数的数&#xff0c;有带符号整数和无符号整数之分。表中列出了各种整型数据的取值范围和对应的转换函数。2&#xff0e;浮点型浮点型数据有单精度(single&#xff09;和双精度&#xff08;(double)之分&…

精粤X99M-PLUS D3+ E5-2696 v3电脑 Hackintosh 黑苹果efi引导文件

原文来源于黑果魏叔官网&#xff0c;转载需注明出处。硬件型号驱动情况主板精粤X99M-PLUS D3处理器E5-2696 v3已驱动内存64GB ECC DDR3 1866MHz (16GB*4)已驱动硬盘TOPMORE CAPRICORNUS NVMe 1TB已驱动显卡AMD Radeon™ RX 570 series (4GB/MSI)已驱动声卡Realtek ALC897 英特…

Android framework系列2 - Init进程

1、源码 入口&#xff1a;system/core/init/main.cpp2 流程图 https://note.youdao.com/s/EtnCswft 3、代码详解 主入口共三步&#xff0c;如流程图所示&#xff0c;我们主要看下最后一步 入口在init.cpp下&#xff0c;这个阶段主要来解析init.rc并执行此文件下的命令 看到…

多人协作|RecyclerView列表模块新架构设计

多人协作|RecyclerView列表模块新架构设计多人协作设计图新架构设计与实现设计背景与新需求新架构设计多人协作设计图 根据产品设计&#xff0c;将首页列表即将展示内容区域&#xff0c;以模块划分成多个。令团队开发成员分别承接不同模块进行开发&#xff0c;且互不影响任务开…

【Maven】P2 创建 Maven java/web 工程

Maven项目Maven 项目构建命令使用 Maven插件 创建 java/web 工程创建工程格式创建 java 工程创建 web 工程IDEA 中创建 Maven Java 工程IDEA 中创建 Maven web 工程Maven 项目构建命令 mvn compile # 编译 mvn clean # 清理 mvn test # 测试 mvn package # 打包 mvn …

0626-0631韩顺平Java Buffered字节处理流 学习笔记

如何去构建字节流package com.hspedu.outputstream_;import java.io.*;/*** author abner* version 1.0*/ public class BufferedCopy02 {public static void main(String[] args) {String srcFilePath "D:\\Users\\Pictures\\Camera Roll\\Pierre-Auguste_Renoir,_Le_Mo…

java基本数据类型变量间的运算规则

基本数据类型变量间的运算规则。 运算规则包括&#xff1a; 这里提到可以做运算的基本数据类型有7种&#xff0c;不包含boolean类型 1.自动类型提升 2.强制类型转换 自动类型提升日规则&#xff1a;当容量小的变量与容量大的变量做运算时&#xff0c;结果自动转换为容量大的数…

mvn命令

在IDEA右侧Maven菜单中&#xff0c;有以下几种指令。 clean&#xff1a;清理&#xff0c;清除上一次构建生产的文件。执行该命令会删除项目地址下的target文件&#xff0c;但不会删除本地的maven已生成的文件。 validate&#xff1a;验证&#xff0c;验证项目是否正确且所有必…

「史上最全的 TCG 规范解读」TCG 规范架构概述(下)

可信计算组织&#xff08;Ttrusted Computing Group,TCG&#xff09;是一个非盈利的工业标准组织&#xff0c;它的宗旨是加强不同计算机平台上计算环境的安全性。TCG 于 2003 年春成立&#xff0c;并采纳了由可信计算平台联盟&#xff08;the Trusted Computing Platform Allia…

【Linux】P4 Linux 权限 chmod chown

Linux 权限认知权限信息chmod 修改权限chown 修改用户与用户组认知权限信息 序号1&#xff1a;文件、文件夹权限控制信息&#xff1b; 权限控制信息一共有十位 第 1 位&#xff1a; - 表示文件&#xff0c;d 表示文件夹&#xff0c;l 表示软链接 第 2~4 位&#xff1a; 所属用…

JDK19下载、安装与测试的完整图文教程

一、下载JDK 1、官网获取&#xff1a;https://www.oracle.com/ 1.1 点击“Products”&#xff1b; 1.2 选择“Java”&#xff1b; 1.3 选择“Download Java”&#xff1b; 1.4 选择“Java downloads”&#xff0c;这里以最新版&#xff08;JDK19&#xff09;为例&#xff…

Python基础—文件操作(二)

Python基础—文件操作(二) CSV格式文件 逗号分隔值&#xff0c;以纯文本形式存储表格数据 由任意数目的记录组成&#xff0c;记录间以换行符分隔 每条记录由字段组成&#xff0c;字段间用逗号或制表符分隔 每条记录都有同样的字段序列 如有列名&#xff0c;位于文件第一行 每条…

【编程实践】代码之中有创意:“我一直认为工程师世界上最具创造性的工作之一”

代码之中有创意 “我一直认为工程师世界上最具创造性的工作之一”。 文章目录 代码之中有创意一、代码可以赋予创造力1.1 代码的创造力1.2 如何发挥代码的创造力二、有创意的代码可以提高工作效率2.1 代码创意可以提高工作效率2.2 如何利用代码创意来提高工作效率三、代码创意可…

【壹】嵌入式系统硬件基础

随手拍拍&#x1f481;‍♂️&#x1f4f7; 日期: 2023.2.28 地点: 杭州 介绍: 日子像旋转毒马&#x1f40e;&#xff0c;在脑海里转不停&#x1f92f; &#x1f332;&#x1f332;&#x1f332;&#x1f332;&#x1f332; 往期回顾 &#x1f332;&#x1f332;&#x1f332…