4、雷达工作原理:毫米波雷达原理、多普勒效应、点云生成机制、雷达数据特性

好,咱们进入雷达的部分。说实话,在传感器融合这个领域,雷达是个很有意思的角色。它不像摄像头那样能给你丰富的颜色和纹理,但它有自己不可替代的优势——全天候、全天时,而且能直接测速。我在做第一个量产项目时,就吃过摄像头的亏:大雾天,视觉算法直接罢工,全靠雷达撑着。从那以后,我对雷达就多了一份敬畏。

4.1 毫米波雷达原理

毫米波雷达,说白了就是发射毫米波段的电磁波,然后接收回波。为什么用毫米波?因为它的波长在1到10毫米之间,这个波段有几个好处:天线尺寸可以做得很小,分辨率够用,而且在大气中传播时衰减适中。

我习惯把毫米波雷达的工作流程拆成三步:

  1. 发射:雷达发射调频连续波(FMCW),频率随时间线性变化
  2. 反射:波遇到目标后反射回来
  3. 混频:发射信号与回波信号混频,得到中频信号

这里有个关键点——中频信号的频率正比于目标的距离。为什么?因为发射信号和回波信号之间存在时间差,这个时间差导致频率差。频率差越大,距离越远。嗯,就是这么简单粗暴。

核心公式:距离 d = (c × Δf) / (2 × S)

其中 c 是光速,Δf 是中频频率,S 是调频斜率

4.2 多普勒效应

多普勒效应,你肯定在中学物理里听过。火车朝你开过来,汽笛声变尖;离你远去,声音变低沉。雷达里的多普勒效应原理一模一样,只不过用的是电磁波。

但这里有个坑——我刚开始做雷达时,一直以为多普勒频移和距离测量是分开的。后来才发现,在FMCW雷达里,这两个信息是耦合在一起的。中频信号里既有距离信息,又有速度信息。怎么解耦?靠发射多个chirp(啁啾信号),然后做二维FFT。

具体来说:

  • 第一个维度(快时间FFT)得到距离
  • 第二个维度(慢时间FFT)得到速度

多普勒频移的计算公式:

fd = 2 × v × cos(θ) / λ

其中 v 是目标速度,θ 是目标与雷达的夹角,λ 是波长。注意这个 cos(θ)——如果目标横着飞,多普勒频移为零。我曾经在测试时遇到过这种情况,一辆车从侧面横穿,雷达居然没测出速度,当时我还以为是算法写错了。

个人经验:多普勒效应在低速目标上容易出问题。比如行人以0.5m/s的速度走,多普勒频移只有几十赫兹。这时候需要提高频率分辨率,也就是增加慢时间维度的采样点数。我一般会保证至少64个chirp做一次速度估计。

4.3 点云生成机制

点云生成,是雷达从原始信号到可用数据的关键一步。整个过程我习惯分成四个阶段:

阶段 输入 输出 关键操作
1. 距离-速度估计 原始ADC数据 距离-速度图 二维FFT
2. 恒虚警检测 距离-速度图 候选目标 CFAR算法
3. 角度估计 多天线数据 方位角/俯仰角 波束成形/MUSIC
4. 点云输出 距离+速度+角度 点云列表 聚类/过滤

这里我想重点说说CFAR(恒虚警检测)。你想想看,雷达接收到的信号里,噪声水平是变化的——下雨天噪声大,晴天噪声小。如果用一个固定的阈值,要么漏检,要么虚警太多。CFAR的做法是:对每个待检测单元,用周围单元估计噪声水平,然后动态调整阈值。

我常用的CFAR实现:

// 一维CA-CFAR伪代码
for each 待检测单元 x[i]:
    // 取左右保护单元(防止目标自干扰)
    left_noise = mean(x[i-L-Guard : i-Guard])
    right_noise = mean(x[i+Guard : i+Guard+L])
    noise_level = (left_noise + right_noise) / 2
    threshold = noise_level * alpha  // alpha是缩放因子
    if x[i] > threshold:
        标记为目标

避坑指南:我曾经在密集目标场景下吃过亏。两辆车并排行驶,CFAR的保护单元设置太小,导致一个目标被另一个目标的旁瓣淹没。后来我把保护单元从2个增加到4个,情况就好多了。记住:保护单元的大小取决于雷达的距离分辨率。

4.4 雷达数据特性

做融合算法,不了解传感器特性就是瞎搞。雷达数据有几个关键特性,我一个个说。

4.4.1 稀疏性

雷达点云有多稀疏?举个例子,一个中端激光雷达每秒能出几十万甚至上百万个点,而毫米波雷达通常只有几十到几百个点。为什么这么少?因为雷达的角分辨率有限,而且只有检测到目标才会生成点。

这种稀疏性带来的问题很明显:

  • 目标形状信息几乎为零——你只能看到一个点,不知道它是轿车还是卡车
  • 目标遮挡判断困难——稀疏点云里,前后目标可能混在一起
  • 跟踪初始化慢——需要多帧才能确认目标存在

我个人的处理习惯是:不要试图从雷达点云里提取形状特征,那是摄像头该干的事。雷达的核心价值在于距离、速度和角度,用好这三个维度就够了。

4.4.2 噪声模型

雷达噪声不是白噪声,它有明显的统计特性。我总结了几种常见噪声:

噪声类型 来源 特性 处理方法
热噪声 接收电路 高斯分布,均匀 滤波、多帧平均
多径噪声 地面/建筑物反射 产生虚假目标 高度滤波、一致性检查
闪烁噪声 目标RCS变化 点云位置抖动 卡尔曼滤波平滑
旁瓣噪声 天线旁瓣 强目标产生虚假弱目标 窗函数、旁瓣抑制

这里我想特别说一下多径噪声。你想想看,雷达波打到地面再反射到目标,路径长度比直达波长,雷达会误以为目标更远。我在高速公路上遇到过这种情况:护栏反射导致雷达在车道外侧检测到虚假目标,差点让AEB误触发。后来我加了一个地面回波滤波器,专门处理这类问题。

经验之谈:雷达噪声的方差与距离的平方成正比。也就是说,远距离的目标,距离测量误差更大。在做融合时,我通常会给近距离目标更高的权重。具体做法是在卡尔曼滤波的观测噪声协方差矩阵里,把R矩阵设为距离的函数。

嗯,雷达这部分内容不少,但核心就这些。记住:雷达是可靠的测距测速传感器,但别指望它给你精细的轮廓信息。在融合算法里,雷达和摄像头是互补的——雷达提供稳定的距离和速度,摄像头提供丰富的语义信息。下一章我会讲如何把这两者结合起来,敬请期待。