雷达是什么¶
雷达的英文是 radio detection and ranging,核心意思是“用无线电波发现目标并测量距离”。
如果你以前没有学过雷达,可以先把它理解成一种“主动感知系统”。相机通常等待环境里的光进入镜头;雷达会自己发射信号,再研究反射回来的回波。所以雷达可以在黑暗、烟雾、雾气等相机不容易工作的场景中继续工作。
最基本的雷达系统会发射电磁波,等待目标反射回来的回波,然后从回波里估计目标信息。
一个最简单的雷达要回答三个问题:
- 前方有没有目标?
- 目标距离多远?
- 目标是否在运动,运动方向和速度大概是什么?
更复杂的雷达还可以估计角度、形状、微小运动和粗略表面结构。
一个直观类比¶
可以先想象你在山谷里喊一声,然后听回声。
- 回声回来得越晚,说明反射墙面越远。
- 回声越响,说明反射面可能越大或者越近。
- 如果回声音调发生变化,反射物可能在运动。
雷达用的不是声音,而是电磁波,但思路类似:发出一个波,接收回波,再分析回波发生了什么变化。雷达更强的地方在于,它可以非常精细地测量相位和频率变化。
雷达的基本思想¶
雷达发射一个已知波形。这个波传播到目标后,一部分能量会被目标反射回来。接收机记录回波。
回波之所以有用,是因为它被传播路径改变了:
- 目标越远,往返传播时间越长。
- 目标在运动,回波频率和相位会发生多普勒变化。
- 目标角度不同,回波到达不同天线的相位不同。
- 目标表面越大、反射越强,回波幅度通常越强。
本项目用简化方式模拟这些现象:构造一个虚拟雷达,把一个 3D mesh 目标放到雷达前方,找出雷达能看到的三角面,并合成这些三角面大致会产生的复数雷达采样。
雷达回波里有什么¶
雷达回波不是一个简单数字。现代数字雷达通常记录复数采样。一个复数采样包含两部分:
- 幅度:接收信号有多强
- 相位:信号处在波周期中的哪个位置
幅度可以帮助理解反射强度。相位非常关键,因为很小的相位变化就能反映距离、速度和角度信息。
本项目把原始雷达数据保存成复数数据立方体。后续再通过 FFT 把距离、速度和角度结构提取出来。
距离¶
雷达距离来自往返传播时间。
如果信号从雷达到目标再返回雷达的时间是 tau,距离近似为:
range = c * tau / 2
这里除以 2,是因为电磁波走了两段路:雷达到目标,目标再回到雷达。
真实雷达里,直接测量非常短的时间延迟并不容易。FMCW 雷达的办法是把延迟转换成频率差,所以后面 FMCW 的解释很重要。
速度¶
速度来自多次重复测量之间的相位变化。
如果目标在多个 chirp 之间移动,回波相位会沿慢时间变化。Doppler FFT 会把这种慢时间相位变化转换成速度估计。
在本项目中,num_chirps 控制用于多普勒处理的重复测量次数。
对初学者来说,关键点是:一个 chirp 主要提供距离信息;要估计运动,就需要多个 chirp。目标在 chirp 之间移动,会让回波相位沿慢时间有规律地变化。Doppler FFT 读出的就是这个规律。
角度¶
角度来自多个天线之间的相位差。
如果目标不在雷达正前方,回波到达不同天线的路径长度略有不同,这些路径差会表现为相位差。对 MIMO 虚拟通道做角度 FFT,可以得到粗略角度估计。
在本项目中,num_tx * num_rx 构成虚拟通道维度。
这就是 MIMO 的意义。更多虚拟通道相当于在天线阵列上获得更多空间采样点。角度估计依赖的就是这些空间采样点之间的相位差。
雷达数据立方体¶
本项目使用三维原始数据立方体:
ADC 采样点 x chirp 序列 x 虚拟通道
每一维都有明确物理含义:
| 维度 | 含义 | 用途 |
|---|---|---|
| ADC 采样点 | 一个 chirp 内的采样 | 距离 |
| chirp 序列 | 时间上重复的扫频 | 速度 |
| 虚拟通道 | MIMO 天线组合 | 角度 |
这是理解整个仓库最重要的心智模型。大部分代码要么在生成这个立方体,要么在变换这个立方体。
为什么要做雷达仿真¶
真实雷达实验成本高,而且调试困难。仿真器可以让你逐步观察每个环节:
- 目标几何
- 可见表面
- 散射强度
- 原始雷达数据立方体
- 距离-速度图
- 距离-角度图
- 距离-速度-角度立方体
这个仓库的定位是教学和早期实验,不是完整电磁仿真软件。它的价值在于把 MIMO FMCW 雷达处理链路清楚地展开。
本项目不做什么¶
也要明确边界:这个项目不会模拟真实雷达里的所有物理现象。它没有建模硬件噪声、天线方向图、多径、材料相关电磁散射、标定误差等复杂因素。
它的核心目标是讲清楚主链路:
几何形状 -> 可见表面 -> 散射点 -> 雷达采样 -> FFT 图
先把这条链路搞清楚,后面再加入更高级的雷达效应才不会乱。