☰
FMCW雷达从波形到CFAR:测距原理与工程取舍
2026/10/28 2:30:06 网站建设 项目流程

简介:《FMCW Radar Design》是一份面向雷达工程师、毫米波天线与算法学习者的专业电子书,围绕调频连续波雷达的系统设计展开,兼顾低截获概率、77G毫米波、天线设计与信号处理等主题。全书从FMCW基本概念与波形入手,讨论锯齿波、三角波与分段线性调频、作用距离方程、匹配滤波与拉伸处理、旁瓣加权及模糊函数等内容,并延伸到FFT、多普勒处理与目标检测跟踪等算法环节,帮助读者建立从波形到硬件、从天线到处理的完整知识框架。压缩包内含1个PDF文件,大小约22.3MB,适合按章节系统研读或作为工程设计的案头参考。已有172人学习,对希望深入理解毫米波雷达体制、提升雷达系统分析与设计能力的读者具有较高参考价值。

1. FMCW 雷达的隐身优势:为什么“一直在发射”反而更难被截获

很多人第一次接触连续波雷达时,直觉会反过来:脉冲雷达是“打一枪换一个地方”,发射时关机,接收到回波再打开,似乎更隐蔽;FMCW 雷达一直在发射,几乎不可能藏得住。但真实情况恰恰相反——主动截获接收机面对连续波雷达时,反而更难判断“这里到底有没有雷达”。原因在于功率谱密度,而不是总功率。FMCW 把发射能量摊开在时间和一个宽频带上,单位带宽内的功率极低,截获接收机很难从噪声底噪里把它挑出来。77G 毫米波雷达、 battlefield surveillance 这类低截获概率(LPI)场景,核心设计逻辑就从这里开始:先要保证自身不被探测到,再谈能看多远。这份资料最有价值的地方,是把“测距方程”和“截获距离方程”并排放在了一起,这就说明设计者真正要算的是两本账。

2. 波形与距离:一个差拍频率里塞了多少信息

FMCW 雷达的测距过程很像在听两只音叉的拍频。发射信号频率随时间线性爬升,目标回波是同一段爬升,只是整体延迟了 τ=2R/c。把发射和回波在混频器里一乘,高频项被滤掉,剩下一个频率恒定的差拍信号,其频率正比于距离。整个雷达的“距离维”就这么被搬到了一个低频正弦上,后面的 ADC、FFT 全是围绕这个低频正弦做文章。

2.1 从线性锯齿扫频到差拍信号

线性锯齿波是最常见的 FMCW 波形:频率从 f0 线性升到 f0+B,再瞬间回到 f0,周而复始。设扫频带宽为 B、扫频周期为 T,目标距离为 R,光速为 c,则差拍频率为:

f_b = 2RB/(cT)

这个公式把“距离”和“频率”直接绑定了。工程上真正有意思的是斜率 k=B/T:同样的扫频带宽,扫得越快,同样距离产生的差拍频率越高,对 ADC 采样率的要求也越高。反过来,扫得慢,差拍频率低,对 ADC 友好,但目标在扫频期间移动带来的多普勒污染也会更明显。锯齿波与三角波的区别也在这里:锯齿波只有单向扫频,距离和多普勒在同一个差拍里耦合在一起,单目标时问题不大;三角波有上扫和下扫两段,利用两段差拍频率的和差就能把距离和速度分开,代价是同样的时间预算被切成两半,最大不模糊距离减半。

常见的实现思路是:先根据最大作用距离和距离分辨率定 B,再根据 ADC 采样率和最大差拍频率定 T,最后用多普勒容限回头校验。三个参数互相牵扯,没有一步到位的公式。

2.2 扫频带宽决定分辨率,扫频时间决定最大距离

距离分辨率 ΔR=c/(2B) 只跟扫频带宽有关,跟扫频时间无关,这是 FMCW 最反直觉、也最容易被搞混的一点。想要 0.15 米的分辨率,带宽就得堆到 1 GHz 量级,77G 毫米波频段之所以受青睐,就是因为在那里凑出几个 GHz 的连续带宽相对容易。

扫频时间 T 影响的是另一件事:最大不模糊距离。差拍信号经过 ADC 采样后做 FFT,频谱上能分辨的最高差拍频率受限于采样率 fs,于是最大距离 R_max=c·fs·T/(2B)。扫频时间越长,同样采样率下能覆盖的距离越远。但 T 拉长之后,一个扫频周期内目标走动带来的多普勒频移会叠加到差拍上,形成距离-多普勒耦合,这一点在第 3 章会展开。

还有一层常被忽略:FFT 的频率分辨率是 fs/N,N 是采样点数。距离分辨率最终由带宽 B 决定,但如果 N 不够,频谱栅格太粗,两个相邻距离门之间的目标会被栅格效应抹平。所以采样点数、采样率、扫频时间三者要一起算,不能只盯带宽。

2.3 去斜处理为什么能绕开高速 ADC

如果按脉冲雷达的思路,宽带信号要用匹配滤波或者高速 ADC 直接采样,1 GHz 带宽意味着至少 2 GSPS 的采样率,功耗和成本都很高。FMCW 用了一个巧妙的替代方案:去斜(stretch processing)。混频器先把回波和发射信号做差,宽带线性调频信号被搬移成一个窄带低频信号,带宽从 B 压缩到 f_b 量级,ADC 只需要采样这个低频差拍,采样率可以降到几十 MHz。

这个处理的本质是用一个“参考信号”做自混频,把距离信息从射频载波搬到了基带。代价是不同距离的目标差拍频率不同,但它们共享同一个去斜参考,所以去斜后的信号仍然保留了完整的距离信息,只是被压缩到了一个更低的频段。常见的实现里,去斜后的信号还要经过抗混叠滤波和程控增益放大,再进 ADC,增益要按最大差拍幅度来设,否则近距强目标会把 ADC 打饱和。

2.4 匹配滤波、时宽带宽积与旁瓣加权

去斜本质上是一种模拟域的匹配滤波,把 LFM 信号的时宽带宽积(B·T)转化为处理增益。B·T 越大,压缩后的脉冲越窄,信噪比增益越高。这也是 FMCW 能用较低峰值功率获得较远作用距离的原因:能量在时间上摊开,靠处理增益补回来。

但压缩之后的主瓣旁边会带出一串距离旁瓣,第一旁瓣大约 -13.2 dB(对未加权的 LFM)。强目标旁边的小目标很容易被这些旁瓣盖住。常见的做法是加窗,汉明窗、泰勒窗、切比雪夫窗各有取舍:主瓣展宽、分辨率略降,换旁瓣压低。窗函数的选择没有标准答案,取决于场景里强弱目标的比例。如果强目标回波比弱目标高 40 dB 以上,-13 dB 的旁瓣根本不够用,必须上低旁瓣窗。

import numpy as np c = 3e8 B = 1e9 # 扫频带宽 1 GHz T = 50e-6 # 扫频周期 50 us fs = 10e6 # ADC 采样率 10 MHz N = int(fs * T) # 每个扫频周期的采样点数 # 差拍频率到距离的换算 def beat_to_range(f_beat): return f_beat * c * T / (2 * B) # 距离分辨率只由带宽决定 delta_r = c / (2 * B) # 最大不模糊距离由采样率和扫频时间共同决定 r_max = c * fs * T / (2 * B) # 加汉明窗抑制距离旁瓣 window = np.hamming(N)

上面这段代码把三个关键量放在了一起:delta_r只跟 B 有关,r_max跟 fs 和 T 有关,window则是旁瓣抑制的入口。实际工程里N往往取 2 的幂,方便 FFT;fs要留出至少 20% 余量给抗混叠滤波器过渡带。beat_to_range是最朴素的线性换算,真实系统里还要做扫频非线性校正和直流偏置扣除,否则近距目标的距离会系统性偏移。

3. 模糊函数:LFM 为什么会在距离维错误反映速度

模糊函数描述的是雷达波形在距离和多普勒两个维度上的分辨能力。把发射信号和延迟、频移后的自身做相关,得到的二维曲面就是模糊函数。它决定了波形能同时区分多近的两个目标、多大的多普勒会让距离测量跑偏。

3.1 单频脉冲的模糊函数是一个窄峰

单频矩形脉冲的模糊函数是一个二维 sinc 形状,距离维主瓣宽度对应脉冲时宽,多普勒维主瓣宽度对应脉冲重复周期的倒数。它在原点附近是一个近似圆形的尖峰,距离和多普勒之间没有耦合,测距和测速互不干扰。代价是单频脉冲的时宽带宽积接近 1,压缩比很低,想要高距离分辨率就得用极窄脉冲,峰值功率要求高,LPI 性能也差。

3.2 LFM 的距离-多普勒耦合从哪来

LFM 脉冲的模糊函数是一个斜椭圆,长轴沿着一条斜线倾斜。这条斜线就是距离-多普勒耦合:目标多普勒频移 fd 会让距离测量产生一个偏移量,偏移量正比于 fd·T/B。换句话说,一个正在靠近的目标,测出来的距离会比真实距离近一点;远离的目标则偏一点。耦合的斜率由调频斜率 k=B/T 决定,扫得越快,耦合越严重。

对 FMCW 来说,这个耦合不是理论上的小瑕疵,而是会直接影响测距精度。假设扫频带宽 1 GHz、扫频周期 50 µs,一个径向速度 300 m/s 的目标带来的多普勒频移在 77 GHz 下大约是 154 kHz,折算到距离上差不多 1.15 米。如果距离分辨率是 0.15 米,这个偏移已经跨了好几个距离门。常见的处理办法是用三角波上下扫频配对解耦,或者用多普勒 FFT 先估出速度再回补距离,或者干脆在系统设计阶段就限制目标速度范围,让耦合量落在可接受区间内。

3.3 相位编码信号的旁瓣与多普勒容忍度

相位编码信号(如 Barker 码、m 序列)的模糊函数形状与 LFM 完全不同:主瓣更窄,但旁瓣结构复杂,且对多普勒非常敏感,稍微有一点频移,压缩后的旁瓣就会明显抬升。这类波形适合多普勒变化不大的场景,比如某些近距探测或特定调制方式。选择波形时不能只看分辨率,还要看目标运动特性、抗干扰需求和硬件实现复杂度。LFM 对多普勒容忍度高、实现简单,所以 FMCW 雷达绝大多数还是用线性调频。

4. 噪声、检测与 CFAR:接收机灵敏度的决定因素

雷达能不能看到目标,最终取决于回波功率和噪声功率的比值,以及检测器怎么在这个比值上画一条线。噪声系数决定了底噪有多高,检测理论决定了这条线画在哪里,CFAR 决定了这条线能不能随着环境自动漂移。

4.1 噪声来源与级联噪声系数

接收机里的噪声来源很多:热噪声、散粒噪声、闪烁噪声、相位噪声、雪崩噪声、突发噪声。对 FMCW 雷达来说,最关键的通常是热噪声和相位噪声。热噪声来自电阻中电子的布朗运动,功率谱密度是 kT,在室温下大约是 -174 dBm/Hz。接收机前端的放大器、混频器、滤波器每一级都会往链路里加噪声,级联噪声系数用 Friis 公式算:

F = F1 + (F2-1)/G1 + (F3-1)/(G1G2) + ...

第一级的噪声系数和增益对整个链路影响最大,所以低噪声放大器(LNA)要尽量靠前,增益要足够高,把后级的噪声贡献压下去。常见的坑是 LNA 增益太高导致后级混频器饱和,或者增益太低导致后级噪声占主导。这两个极端都会让系统灵敏度变差,只是表现方式不同:一个表现为动态范围不够,一个表现为底噪抬高。

相位噪声是 FMCW 雷达另一个容易被低估的噪声源。它来自本振的频率抖动,会在距离谱上产生一个裙边,把近距强目标的旁瓣抬高,掩盖远处的小目标。相位噪声在频域上表现为载波两侧的功率谱密度,单位是 dBc/Hz,距离载波越近越差。选本振时,近端相位噪声比远端更重要,因为近端对应的是近距离强目标的泄漏。

4.2 Neyman-Pearson 与 Pfa/Pd 的取舍

检测问题本质上是一个假设检验:H0 表示只有噪声,H1 表示有目标。Neyman-Pearson 准则的做法是固定虚警概率 Pfa,在这个约束下最大化检测概率 Pd。虚警概率和检测概率是一对矛盾,Pfa 压得越低,门限越高,Pd 也跟着降;反之亦然。

工程上 Pfa 通常取 1e-6 到 1e-8 量级,具体取决于扫描率和后级处理能力。Pfa 太高,CFAR 后面会冒出大量虚假点迹,跟踪器处理不过来;Pfa 太低,弱目标直接漏掉。这个取舍没有统一答案,要看场景里目标的信噪比分布和跟踪器的起批能力。常见的做法是先按理论算一个门限因子,再根据实测数据微调,调到虚警率和检测率都落在可接受区间。

检测概率和信噪比的关系不是线性的:在低信噪比区,Pd 随 SNR 上升得很慢;过了某个拐点之后才快速爬升。系统设计时要尽量让工作点落在这个拐点右侧,否则再多花功率也换不来多少检测率的提升。

4.3 相干积累与非相干积累的增益差异

单个脉冲的信噪比往往不够,需要通过积累多个脉冲来提高检测能力。相干积累保留相位信息,把 N 个脉冲的复信号直接相加,信噪比增益是 N(10logN dB);非相干积累先取包络再相加,丢失了相位,增益大约是 sqrt(N),比相干积累差一截,但实现简单,对相位噪声和目标运动不敏感。

FMCW 雷达通常先做距离 FFT,再做多普勒 FFT,这个二维处理本身就是一种相干积累。多普勒 FFT 的点数决定了相干积累时间,点数越多,增益越高,但相参处理间隔(CPI)也越长,目标在这段时间内不能走出一个距离门,否则积累会失败。目标走动、相位噪声、频率漂移都会让相干积累的增益打折扣,实际增益往往低于理论值,设计时要留余量。

4.4 CA-CFAR 的滑窗机制与杂波边缘

恒虚警率(CFAR)处理的核心思想是:门限不能是固定值,要根据周围环境的噪声和杂波水平自适应调整。单元平均 CFAR(CA-CFAR)是最常用的一种,它在待检测单元两侧各取若干参考单元,去掉紧邻的几个保护单元,用参考单元的平均值乘一个门限因子作为检测门限。

import numpy as np def ca_cfar(mag, guard=2, ref=8, pfa=1e-6): n = len(mag) threshold = np.zeros(n) factor = ref * (pfa ** (-1.0 / ref) - 1) # 门限因子 for i in range(n): left = mag[max(0, i - guard - ref): max(0, i - guard)] right = mag[min(n, i + guard + 1): min(n, i + guard + 1 + ref)] cells = np.concatenate([left, right]) if len(cells) == 0: threshold[i] = np.inf else: threshold[i] = factor * np.mean(cells) return threshold

这段代码展示的是最基础的一维 CA-CFAR 滑窗。guard是保护单元数,用来防止目标能量泄漏到参考窗里把门限抬高;ref是参考单元数,决定了估计的平滑程度;factor由虚警概率反推,公式来自指数分布假设下的门限推导。实际系统里参考窗长度要跟目标在距离维的展宽匹配,保护单元要覆盖目标的主瓣宽度,否则强目标会把自己的门限抬高,出现“自遮蔽”。

CA-CFAR 在多目标场景下有个经典缺陷:当参考窗里混入另一个目标时,平均噪声会被抬高,弱目标被漏检。改进方案有有序统计 CFAR(OS-CFAR)、最大选择 CFAR(GO-CFAR)、最小选择 CFAR(SO-CFAR)等,各有适用场景。杂波边缘也是难点,参考窗跨越杂波和噪声两种分布时,平均值会被拉偏,导致边缘处虚警率失控。

5. 常见问题排查:扫频非线性、I/Q 失配与跟踪发散

FMCW 雷达从理论到落地,翻车点往往不在公式推导,而在实现细节。下面这几条是实践里反复出现的问题,每一条都对应一个可观测的现象、一个底层原因和一个可操作的解决方向。

5.1 扫频非线性把点目标抹成宽峰

现象:单个静止目标在距离谱上不是一个尖峰,而是一片展宽的隆起,距离分辨率明显低于理论值。

原因:压控振荡器(VCO)的调频曲线不是理想直线,扫频两端和中间的非线性会让不同时刻发射的频率偏离设计值,去斜后的差拍频率不再恒定,FFT 之后主瓣展宽、旁瓣抬高。温度变化和电源波动会加剧这个问题。

解决:开环校正和闭环校正两条路。开环是在产线上测出 VCO 的调频曲线,做查表预失真;闭环是引入参考延迟线,用已知延迟的差拍信号实时估计瞬时斜率,反馈修正。常见的做法是两者结合:粗校正用查表,细校正用参考通道。校正之后还要复查距离谱的主瓣宽度,确认非线性残差落在可接受范围。

5.2 I/Q 失配与零中频的直流泄漏

现象:距离谱在零频附近出现一个很高的直流峰,近距小目标被淹没;或者镜像目标出现在错误的位置。

原因:零中频架构里,本振泄漏到混频器输入端会形成直流偏置;I/Q 两路的增益和相位不平衡会产生镜像分量。直流峰的高度往往比真实目标高几十 dB,直接把近距动态范围吃掉。

解决:直流偏置可以用交流耦合、数字高通滤波或者静态/动态背景扣除来抑制;I/Q 失配需要在模拟域校准增益和相位,或者在数字域做镜像抑制校正。校正之前要先测出失配量,用单音信号注入,观察镜像抑制比,再迭代调整。注意直流扣除不能把静止目标一起扣掉,否则低速目标会丢失。

5.3 ADC 饱和与带通采样的混叠

现象:强目标附近出现虚假的谐波或杂散,弱目标信噪比突然变差;或者采样后的频谱出现无法解释的折叠。

原因:ADC 输入超出满量程导致削顶,产生谐波;带通采样时中频选择不当,信号落入采样混叠区,高频分量折叠到基带。

解决:先算链路增益预算,确保最大回波不超过 ADC 满量程,留 6 到 10 dB 余量;带通采样的中频要落在合适的 Nyquist 区,采样率要满足带通采样定理,抗混叠滤波器的过渡带要覆盖所有可能的折叠频率。调试时可以用单频输入扫一遍幅度,观察谐波和杂散随输入功率的变化,定位饱和点。

5.4 CFAR 参考窗被杂波边缘带偏

现象:杂波边缘附近虚警率突然升高,或者杂波区里的目标被漏检。

原因:参考窗跨越了两种不同分布的区间(比如杂波区和噪声区),平均值不能代表待检测单元的真实背景;保护单元数不够时,目标能量泄漏进参考窗,把门限抬高。

解决:换用对边缘更鲁棒的 CFAR 变体,比如 GO-CFAR 在杂波边缘表现更好,OS-CFAR 对多目标更稳健;调整参考窗长度和保护单元数,让窗口尽量落在同一种分布内;必要时引入杂波图,按距离-方位单元存储背景电平,做长期统计。

5.5 跟踪器在低信噪比下反复起批又丢批

现象:目标航迹断断续续,刚起批就被删掉,或者多个目标之间航迹串扰。

原因:检测层虚警和漏检交替出现,跟踪器的起批逻辑(比如 M/N 准则)在低信噪比下频繁触发又频繁失败;航迹关联的门限设得太紧,目标机动时关联失败;滤波器过程噪声设得太小,跟不上目标运动。

解决:先回头查检测层的 Pfa 和 Pd 是否合理,虚警率太高会让跟踪器被虚假点迹淹没;再检查关联门限和滤波器参数,过程噪声要跟目标机动能力匹配,太大航迹抖动,太小跟不上;起批逻辑可以适当放宽,用多次扫描确认代替单次强检测。跟踪和检测是耦合的,不能只调一头。

6. 设计取舍:从射频前端到天线阵列再到算法链的收敛

FMCW 雷达的设计不是把波形、射频、天线、算法各自调到最优再拼起来,而是在一条链上做全局取舍。射频架构的选择会反过来约束波形参数,天线的孔径和间距会决定角度分辨率,算法链的每一级又会吃掉上一级的动态范围。

架构上,零中频接收机片内集成度高、成本低,但直流泄漏和 I/Q 失配要花力气校正;超外差接收机镜像抑制好、动态范围大,但器件多、体积大;低中频和带通采样介于两者之间,适合把差拍信号直接搬到数字域处理。77G 毫米波频段上,片内集成度和天线阵列的共设计往往比单看某一项指标更重要。

天线侧,微带贴片阵列、缝隙阵列、相控阵各有适用场景。毫米波波长短,同样的物理孔径能塞下更多阵元,角度分辨率容易做高,但阵元间距要控制在半波长以内避免栅瓣,馈电网络的损耗和一致性又成了新问题。天线不是孤立部件,它的波束宽度直接决定了空域滤波能力,也影响 CFAR 在角度维的参考窗设计。

算法链通常是:距离 FFT → 多普勒 FFT → CFAR → 聚类/质心 → 跟踪。每一级的参数都要跟上一级的输出特性对齐。距离 FFT 的点数要和采样点数匹配,多普勒 FFT 的 CPI 要和目标速度范围匹配,CFAR 的参考窗要和目标展宽匹配,跟踪器的过程噪声要和目标机动性匹配。任何一级参数拍脑袋定,后面都会以某种形式反馈回来,表现为虚警、漏检或者航迹不稳。

我自己的习惯是:每次改波形参数或者射频增益,都把整条链从距离谱开始重新看一遍,确认直流峰、旁瓣、噪声底、CFAR 门限、航迹质量都没有异常,再往下走。早期图省事只盯着某一级调,后面往往要花几倍时间回头补。希望这些取舍思路能帮到你,少走一点弯路。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询