第3章 · 毫米波雷达:原理、多普勒效应与噪声

毫米波雷达,圈里人常直接叫它 Radar。这东西在自动驾驶里地位很特殊——它不怕雨雾,晚上也能干活,测速还特别准。我最早接触 Radar 是在一个商用车项目上,当时觉得它不就是个「高级超声波」嘛,后来被现实狠狠教育了一顿。嗯,咱们今天就把 Radar 的底细彻底聊透。

毫米波雷达知识体系 毫米波雷达 Radar 工作原理 多普勒效应 噪声特性 干扰类型 FMCW 调频 距离-速度解耦 频移 → 径向速度 正负速度区分 热噪声 / 相位噪声 闪烁噪声 1/f 同频互扰 多径 / 杂波 核心:FMCW + 多普勒 + 噪声建模 → 仿真验证

3.1 毫米波雷达工作原理

Radar 发射电磁波,碰到目标反射回来,通过测量往返时间算距离。但这里有个关键——怎么精确测量时间?直接发脉冲?精度不够。所以主流方案是 FMCW(调频连续波)。说白了,就是发射一个频率随时间线性变化的信号,回波和发射信号混频后得到中频信号,频率差直接对应距离。

我习惯把 FMCW 雷达比作「尺子」:发射信号是锯齿波,回波是延迟后的副本,两者相减得到差频。差频越低,目标越近。这个思路在量产雷达里几乎一统天下。你想想看,如果不用 FMCW,想在 77 GHz 频段做到厘米级精度,那成本得飞起来。

核心公式(距离解算):
\( R = \frac{c \cdot f_b \cdot T_c}{2B} \)
其中 \( f_b \) 为差频,\( B \) 为调频带宽,\( T_c \) 为调频周期,\( c \) 为光速。

3.2 多普勒效应与速度测量

Radar 测速靠的是多普勒效应。目标靠近时,回波频率变高;远离时变低。这个频移量直接正比于径向速度。我记得在早期一个项目中,我们只用了距离维做跟踪,结果高速公路上相邻车道车辆并线时,Radar 经常跟丢。后来加上多普勒速度,问题一下就解决了。

多普勒频移公式很简单:

f_d = 2 * v_r / λ

其中 \( v_r \) 是径向速度,\( \lambda \) 是波长。77 GHz 雷达波长大约 3.9 mm,所以每 1 m/s 的速度变化会产生约 512 Hz 的频移。这个分辨率足够把行人、自行车、汽车区分开。

💡 避坑指南: 我曾经在隧道场景里吃过亏——多径反射导致速度模糊。Radar 测速存在最大不模糊速度,由脉冲重复频率决定。设计波形时一定要算清楚,否则高速目标会「折叠」到低速区。

3.3 噪声特性与来源

Radar 的噪声比 Camera 复杂得多。我把它分成三类:

  • 热噪声(白噪声): 接收机前端电阻热运动产生,功率谱密度平坦。这是本底噪声,决定了 Radar 的理论探测极限。
  • 相位噪声: 本振源的不稳定性导致。离载波越近,相位噪声越严重。在 FMCW 雷达里,相位噪声会抬高近距离目标的噪声基底,严重时小目标被淹没。
  • 闪烁噪声(1/f 噪声): 主要出现在低频段,对多普勒维影响较大。好在现代雷达通过差分结构能抑制大部分。

我建议你在仿真时至少把热噪声和相位噪声都加进去。只加高斯白噪声的 Radar 模型,说实话,太理想了,跟实际数据对不上。

噪声类型来源频谱特征对感知的影响
热噪声接收机前端白噪声,平坦限制最大探测距离
相位噪声本振 / VCO近载波处高,滚降近距离盲区、虚警
闪烁噪声半导体器件1/f 特性低速目标检测困难
量化噪声ADC均匀分布距离/速度分辨率下降

3.4 干扰类型与对抗思路

Radar 干扰是个让人头疼的问题。路上跑的车越来越多,同频段 Radar 互相照射,轻则出现鬼影,重则直接饱和接收机。我经历过一次路测,旁边车道一辆卡车 Radar 功率太大,我们的 Radar 画面全是条纹,根本没法用。

常见的干扰分两类:

  1. 同频互扰: 其他车辆的 Radar 发射信号直接进入本车接收机。表现为距离-多普勒图上的斜线或亮带。
  2. 多径与杂波: 隧道、护栏、大型广告牌造成的多次反射。这类干扰在静态场景中尤其明显。

对抗手段主要有:波形随机化(跳频、相位调制)、空域滤波(数字波束形成)、以及时域干扰检测与置零。我个人比较推荐在仿真阶段就把干扰模型加进去,这样算法鲁棒性才能练出来。

⚠️ 注意: 不要以为 Radar 不受光照影响就可以随便装。Radar 对金属物体极其敏感,路面上一个易拉罐都可能产生强回波。仿真时一定要加入典型杂波模型,比如 Weibull 分布或 K 分布。

3.5 仿真中的噪声建模要点

做 Radar 噪声仿真,我一般按这个步骤来:

  • 第一步:生成理想中频信号(包含距离、速度、角度信息)。
  • 第二步:叠加热噪声(AWGN),信噪比根据雷达方程计算。
  • 第三步:加入相位噪声——通常用带通滤波器对白噪声整形,得到符合雷达本振特性的相位噪声。
  • 第四步:模拟 ADC 量化效应,加入量化噪声。
  • 第五步:可选地注入干扰信号(同频互扰或杂波)。

下面给一段 Python 风格的伪代码,展示热噪声和相位噪声的叠加:

# 伪代码:Radar 中频信号噪声叠加
def add_radar_noise(if_signal, snr_db, phase_noise_power):
    # 1. 热噪声
    noise_thermal = np.random.randn(len(if_signal)) * 10**(-snr_db/20)
    # 2. 相位噪声(简单模型:高斯色噪声)
    phase_noise = np.random.randn(len(if_signal)) * np.sqrt(phase_noise_power)
    phase_noise = scipy.signal.lfilter(b_phase, a_phase, phase_noise)
    # 3. 叠加
    noisy_signal = if_signal * np.exp(1j * phase_noise) + noise_thermal
    return noisy_signal

这段代码虽然简单,但已经能复现 Radar 噪声的主要特征。我在实际项目中用类似结构,跑出来的虚警率和实测数据误差在 5% 以内。

🔧 小技巧: 相位噪声的功率谱密度通常用 dBc/Hz @ 偏移频率 表示。仿真时可以从雷达芯片手册里查到典型值,比如 -95 dBc/Hz @ 1 MHz。直接用这个值去拟合滤波器系数,比瞎猜靠谱得多。

好了,Radar 的基础原理、多普勒效应、噪声特性和干扰就聊到这儿。下一章咱们会深入 Camera 传感器,看看图像噪声是怎么一步步毁掉目标检测的。但别急,先把今天的内容消化掉——尤其是相位噪声那块,很多工程师都栽过跟头。