【自动驾驶|毫米波雷达】逻辑化讲清快时间与慢时间傅里叶变换

碎碎念: 实习过程中发现在进行雷达知识交流时,大部分同事都会用英文简称代替中文的一些称呼,比如Chirp、FFT等等。起初我觉得是因为很多英伟达、TI芯片的开发教程都是英文的,所以看得多了大家都习惯这样称呼,后来在和指导我的前辈交流时发现是因为国内对于一个步骤都有很多称呼,比如说我们接下来讲的快时间傅里叶变换又称为距离维傅里叶变换慢时间傅里叶变换又称为速度维傅里叶变换 ,但他们的英文专有名称只有一个,分别是Range FFTDoppler FFT。用英文称呼的原因更是为了精确性,也不用让大家记那么多名词。同时前辈也告诫我在学习时候不要怕麻烦,要把每一个缩写的全程都要标注好记忆好,才能对于系统更加熟悉。

引入

毫米波雷达系列文章中我们一再强调的是时刻关注我们的"目录",也就是我们的框架,那我们来看一下快时间与慢时间傅里叶变化在雷达处理流程的哪一步:
毫米波雷达工作流程图

图中可以发现快时间傅里叶变换(又称距离FFT,Range FFT) 在ADC采样结束后,毫米波雷达进一步讲快时间傅里叶变换后的数据进行慢时间傅里叶变换(又称二维FFT,Doppler FFT)

那我们需要来想象一下ADC采样后的数据是什么样的呢?

信号通过ADC采样后会得到一个由chirp采样点、采样个数以及通道/天线数组成的三维数据块(Radar Data Cube)。得到的数据仍然是离散的时域信号点,我们需要通过傅里叶变换求得频谱图,从而求得目标的距离信息以及速度信息。

ADC采样后的Radar Data Cube

原理推导

这里会先推导RFFT与DFFT共性的原理,在各自的部分会进行进一步推导:

天线发射信号与接收信号进行混频滤波后,可以表示为:

其中K代表FM调制常数(也就是时频图的斜率),代表差频(即IF信号的频率),n代表采样点,代表单个chirp中的采样率,代表单个chirp周期。根据:

可以将采样后的信号表示为:

此时的信号中含有参数时间差及差频,故可进一步通过傅里叶变换求解这两个参数。

快时间傅里叶变换(Range FFT)

我们认为在一个chirp周期中,由于电磁波的速度极快的特性,所以时间是非常短的,也就是时间很"快"。同时也可以将目标对象在快时间内的移动近似没有,所以在快时间维度来看,目标物体几乎"静止",以快时间为时域的时间维度对信号进行傅里叶变换,其距离也就非常容易测量。

在进行快时间傅里叶变换时,将慢时间看作常数,即仅仅做一个chirp周期内的傅里叶变换(对应于radar cube中的每一行 做FFT),即可求得时间差 ,根据:

即可求得对应物体的距离R。

慢时间傅里叶变换(又称二维FFT,Doppler FFT)

相对于一个chirp周期的时间,不同chirp之间的间隔时长就会相对更"长",也就是时间会相对更"慢",以慢时间为时域的时间维度,结合快时间的傅里叶变换我们就可以计算出目标的速度信息。

在进行慢时间傅里叶变换时,将快时间看作常数,以每个chirp间隔作为时间轴进行进行傅里叶变换(对应于radar cube中的每一列再做FFT),对应频谱图中的最高点即为差频fd,根据:

即可求得目标物体的速度信息v。

两次FFT后的图像(左)

相关推荐
测试者家园1 分钟前
基于DeepSeek和crewAI构建测试用例脚本生成器
人工智能·python·测试用例·智能体·智能化测试·crewai
张较瘦_5 分钟前
[论文阅读] 人工智能 + 软件工程 | Call Me Maybe:用图神经网络增强JavaScript调用图构建
论文阅读·人工智能·软件工程
大模型真好玩6 分钟前
准确率飙升!Graph RAG如何利用知识图谱提升RAG答案质量(四)——微软GraphRAG代码实战
人工智能·python·mcp
Baihai_IDP20 分钟前
vec2text 技术已开源!一定条件下,文本嵌入向量可“近乎完美地”还原
人工智能·面试·llm
江太翁24 分钟前
Pytorch torch
人工智能·pytorch·python
拓端研究室40 分钟前
专题:2025即时零售与各类人群消费行为洞察报告|附400+份报告PDF、原数据表汇总下载
大数据·人工智能
网安INF44 分钟前
深度学习中的逻辑回归:从原理到Python实现
人工智能·python·深度学习·算法·逻辑回归
Despacito0o1 小时前
ESP32-s3摄像头驱动开发实战:从零搭建实时图像显示系统
人工智能·驱动开发·嵌入式硬件·音视频·嵌入式实时数据库
Leinwin1 小时前
微软发布突破性医疗AI系统
人工智能·microsoft
机器之心1 小时前
刚刚,Ilya Sutskever宣布自任CEO:联创被Meta挖走了
人工智能