毫米波雷达是如何测量和计算角度信息的?
- 02 Jul, 2026
在详细总结毫米波雷达FMCW的工作原理与计算过程 一文中详细总结了毫米波雷达检测目标距离和速度的理论推导和计算公式,本文则详细整理了毫米波雷达所输出点云信息中的角度概念以及角度数据的计算流程。
角度的定义
在毫米波雷达输出的点云(Point Cloud)数据中,其中所包含的角度信息本质上指的是目标反射回来的电磁波的到达角(Angle of Arrival, 简称 AoA)。
在三维空间的产品应用中,这个角度信息通常包含两个维度:
- 方位角(Azimuth / 水平角): 目标在雷达水平面上的偏转角度,左右方向。例如,雷达探测到前方车辆在正前方偏左 15° 的位置。
- 俯仰角(Elevation / 垂直角): 目标在雷达垂直面上的偏转角度,上下方向。例如,雷达探测到前方的天桥或路标在正前方偏上 10° 的位置。
有了距离 R + 方位角 φ + 俯仰角 θ 这三个球坐标量,再结合雷达自身的位置,就可以换算成笛卡尔坐标系下的 (x, y, z),这也是雷达输出的点云数据在空间中能够呈现出目标轮廓的原因。

雷达测角原理
雷达的单根天线通过调频连续波(FMCW)的频率差来测距,并通过多普勒频移(相位差)来测速,单根天线是无法测角角度的。
要获取角度信息,雷达必须依赖多天线阵列(MIMO技术,即多个发射天线 TX 和多个接收天线 RX)。其核心测角原理是相位差测角法。
当雷达发射天线发射出去的雷达波打到目标上并反射回来时,目标所反射的回波,是一排大致平行的电磁波(平面波)打向雷达的多根接收天线。
假设目标物体在雷达正前方偏离角度为 $\theta$ 的位置。由于雷达板上的接收天线之间存在固定的物理间距 $d$(通常设计为半个波长 $\frac{\lambda}{2}$),回波到达相邻两根天线的时间会有一个微小的先后差异:它到达第一根接收天线(RX1)后,还需要再多走一段才能到达第二根接收天线(RX2)。
假设两根接收天线之间的物理距离是 $L$。根据直角三角形的三角函数,这段多走的路程(波程差) $\Delta d = L \cdot \sin(\theta)$。

而因为电磁波是正弦波,多走了这一段距离 $\Delta d$,表现在接收到的信号的波形上,就是一个相位的偏移(即对于两个天线而言,接收到的波形总有一个固定的相位差)。波长 $\lambda$ 对应一个完整的周期($2\pi$ 相位)。那么多走 $\Delta d$ 距离,对应的相位差 $\Delta \phi$ 就是:
$$ \Delta \phi = \frac{2\pi}{\lambda} \cdot \Delta x = \frac{2\pi \cdot L \cdot \sin(\theta)}{\lambda} $$
接下来再从以上等式反求角度 $\theta$。因为雷达的硬件芯片能够精准地测量出 RX1 和 RX2 收到信号的相位差 $\Delta \phi$ (只需要对RX1和RX2接收的波形分别进行类似测距计算的采样的FFT,从FFT的计算结果就可以得到相位,然后计算两个信号的相位差即可),而且两根接收天线之间的间距 $L$ 是提前设计好的,而雷达发射电磁波的波长 $\lambda$ 也是固定的,所以目标角度 $\theta$ 就可以很轻松的根据上面的公式推算出来:
$$ \theta = \arcsin\left(\frac{\Delta \phi \cdot \lambda}{2\pi \cdot L}\right) $$
以上就是雷达测角的终极本质:通过对比不同天线接收到信号的相位差,利用几何三角函数反推出目标的角度而已。
3D雷达与4D雷达
以上所总结的雷达测角的原理非常简单,但是需要注意:如果雷达的两根接收天线是在水平方向上一字排开,它就只能测方位角,也就是水平方向上的角度,这就是所谓的3D雷达。
原因很简单:如果所有的接收天线都排在同一条水平线上时,这些天线之间只有水平方向上的间距。在这种情况下:
- 当目标在左右(方位)移动时,电磁波到达各根天线的路径长短不同,产生相位差,雷达可以据此根据以上的流程算出方位角。
- 但是当目标在上下(俯仰)移动时,由于电磁波的回波从上方或下方平行打过来,它到达每一根水平排列的天线所走的距离是完全一样的。因此,天线之间产生的垂直方向相位差为 0。雷达无法分辨目标究竟是在天上还是在地下,这也就是传统3D雷达在车载电子领域中把天桥和路面障碍物混为一谈的原因在。
而 4D 雷达是在 3D 雷达的基础上引入了垂直方向的探测能力。在具体的系统设计实践中,通常会采用巧妙的二维平面阵列(2D Planar Array)或者 MIMO(多输入多输出)虚拟天线技术。也就是在雷达天线的排列设计中,把发射天线(TX)和接收天线(RX)交错排列,发射天线之间也故意设计出一定的高度差。这样当多发多收同时工作时,在算法层面上会组合出成倍的虚拟天线点,这些虚拟点在水平和垂直方向上就构成了一张二维面阵。

其中横向延伸的虚拟天线阵列利用天线的水平距离差测水平方向上的方位角,纵向(有高度差)延伸的虚拟天线阵列则利用天线的垂直距离差去测上下方向上的俯仰角。
总结一下,毫米波雷达领域的行业内对雷达维数(D)的定义如下:
- 3D 雷达测量 3 个维度: 距离(Range)、速度(Doppler/Velocity)、方位角(Azimuth)。
- 4D 雷达测量 4 个维度: 距离、速度、方位角 + 俯仰角(Elevation)。
而我们经常看到的雷达点云数据中的 3D 空间坐标(X, Y, Z)正是由距离、方位角、俯仰角这三个物理量通过三角函数解算出来的。
雷达的角度分辨率
与雷达对于距离和速度的测试相同,雷达对于角度的测量也存在一个最小分辨率的概念,就是雷达的角度分辨率。
在雷达工程中,角度分辨率(Angular Resolution)是指雷达在相同距离、相同速度下,能够区分两个相邻物体的最小角度差。如果两个目标(比如行人和旁边的停放车辆)的角度差小于雷达的角度分辨率,雷达的 DSP 就会把它们算作同一个回波峰值,在其点云数据上输出一个大的融合点,而不是两个分开的独立目标。
现代 4D 成像雷达大多采用单芯片大阵列(如 4发4收、4发6收)甚至多芯片级联(Cascaded,如 4颗芯片拼成 12发16收)的天线设计模式,其水平方位角分辨率,可以做到 1° ~ 1.5° 的高精度,垂直俯仰角分辨率大约在 2° ~ 5° 之间。
角度分辨率如何计算?
在雷达和天线理论中,角度分辨率的本质是天线阵列的主瓣宽度。物理学上的瑞利判据指出,当一个目标的波峰刚好落在另一个目标的波谷(第一个零点)时,这两个目标刚好能被区分。

而对于一个长度为 $D$ 的均匀线阵,其天线方向图(波束形状)可以用 $\text{sinc}$ 函数来描述,其 3dB 波束宽度(即功率下降一半的角宽度,工程上定义为角度分辨率 $\theta_{res}$)的理论计算公式为:

$$ \theta_{res} \text{ (弧度)} \approx 0.886 \frac{\lambda}{D} $$
为了速算方便,通常抹去 $0.886$ 的系数,取近似值:
$$ \theta_{res} \approx \frac{\lambda}{D} $$
因为 $\pi$ 弧度 $= 180^\circ$,所以 1 弧度 $= \frac{180^\circ}{\pi} \approx 57.3^\circ$。将其代入上面的公式,我们得到角度制的公式:
$$ \theta_{res} \text{ (角度)} \approx 57.3^\circ \times \frac{\lambda}{D} $$
假设有 $N$ 根接收天线,天线之间的间距为 $d = \frac{\lambda}{2}$,那么阵列的等效孔径长度为:
$$ D = N \cdot d = N \cdot \frac{\lambda}{2} $$
把这个 $D$ 代回以上角度计算公式中:
$$ \theta_{res} \text{ (角度)} \approx 57.3^\circ \times \frac{\lambda}{N \cdot \frac{\lambda}{2}} = \frac{114.6^\circ}{N} $$
以上就是在工程上快速计算雷达角分辨率的速算公式。可以看到,想要提高角分辨率,唯一的出路就是增加接收天线的数量 $N$。
按照以上的速算公式,要想达到 1° 的分辨率,就需要114根间距为 $\frac{\lambda}{2}$ 的接收天线?这当然是不可能的。这就引出了雷达的MIMO(Multiple-Input Multiple-Output,多输入多输出)与虚拟天线阵列(Virtual Antenna Array)技术。
MIMO 虚拟天线阵列
在雷达的天线设计中,硬件上无法做到大量的真实接收天线,但工程实践中可以用少量发射天线(TX)和接收天线(RX)相乘,在雷达的工作流程中虚拟出大量的天线,从而通过这些虚拟天线来提升角分辨率的性能。
大致的工作流程如下:
- 发射天线 TX1 发射一个 Chirp 信号,板子上的 4 根真实接收天线(RX1 ~ RX4)收到回波。此时系统获得了 4 个空间相位采样点。
- 极短的时间后,TX1 停止,TX2 发射信号。而在 PCB 布局时,故意把 TX2 的物理位置往侧边挪动了一段精确的距离(通常是 4 倍的半波长)。这样当 TX2 发射信号打到目标再反射回来被 RX1~RX4 接收到时,由于 TX2 的位置偏移,电磁波多走了一段路。
- 雷达的 DSP 进行计算时,TX2 发送时 RX1~RX4 收到的信号相位,数学上等效于 TX1 发送时,在其右侧凭空多出来的 4 根新接收天线(RX5 ~ RX8)收到的相位。

因此,通过 3 根 TX 分时发送,配合 4根 RX 接收,雷达的软件层成功解算出了 3 $\times$ 4 = 12 根虚拟天线的相位数据。
如果使用 TI 或 NXP 的旗舰单芯片(如 4TX / 4RX),可以通过以上的 MIMO 方式产生出多达 16 根虚拟天线($114^\circ / 16 \approx 7.1^\circ$ 分辨率)。
而如果将 4 颗这样的芯片再进行级联的话,如做到 12TX 和 16RX,就可以虚拟出 $12 \times 16 = 192$ 根虚拟天线。
以上提到的当代旗舰级别的 4D 雷达能够实现高精度水平和俯仰角分辨率,就是通过这种虚拟天线的方式来达成的。