ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

毫米波FMCW雷达中FFT为何等效于相干积累:门信号与信噪比增益解析

毫米波FMCW雷达中FFT为何等效于相干积累:门信号与信噪比增益解析 从面世那天起毫米波FMCW雷达的教材里几乎都写着同一句话“对中频信号做FFT等效于对回波做相干积累。”我第一次读到这句话时心里是打了一个问号的。FFT明明是频谱分析工具怎么就成了“积累”呢积累不是应该像抛物面天线那样把能量攒起来吗直到后来自己用77GHz毫米波雷达平台做距离维处理、看频谱峰值随FFT点数增长的变化才真正把这条链路想通。这篇内容适合两类人一类是刚接触毫米波雷达、正被“FFT相干积累”这种说法绕晕的初学者另一类是已经会跑通Range-Doppler处理流程、但想从原理上把信噪比改善搞清楚的工程师。我会从DFT的数学结构、FMCW中频信号的相位模型、门信号截断的影响、信噪比增益的定量推导四个层面来解释最后结合实测中踩过的坑聊几个容易误判的工程问题。1. 先把这个“不一致”掰开FFT和积累到底哪里像1.1 “频谱分析”和“积累”在概念上的落差先说说“积累”这个词在雷达里的本来含义。所谓积累integration指的是把多个时间上分散的观测样本合在一起让属于目标的信号分量因为相位一致而增强让噪声因为相位随机而相互抵消。它有两种经典形式一种是包络检波之后做非相干积累只取各次观测的模值相加信噪比改善近似按积累点数的平方根增长另一种是保留相位信息的相干积累在检波之前直接对复信号相加信噪比改善可以正比于积累点数。而FFT呢教科书定义是“将时域信号变换到频域得到各频率分量的幅度与相位”。单看这个定义它和“把多次回波加起来”完全是两码事。这种概念落差非常真实。我在自己项目里第一次意识到二者等价是在用某款24GHz雷达模块做室内测距实验时中频信号明明是一个单频正弦可做完FFT后目标峰值的幅度并不是固定的而是随着有效积累点数变多、明显往上蹿同时噪声底也在涨但涨得比信号慢。正是这个现象逼着我去查证“FFT输出到底在算什么”也才有了后面这些从公式到工程的梳理。1.2 FMCW雷达里FFT的实际角色要理解这个等价性还要先摆清FFT在FMCW雷达信号处理链路中的位置。FMCW雷达发射线性调频连续波回波与发射信号混频后得到一个差拍中频信号这个中频信号是单一频率静止目标场景或数个频率叠加多目标场景的正弦波其频率正比于目标距离。距离维FFTRange FFT就是把每个chirp内的ADC采样点做一次FFT把“频率轴”变成“距离轴”。到了这一步FFT看上去只是完成了频谱分析。但请注意频谱分析只是它呈现出来的结果它偷偷做的另一件事是把截获的一段时间内的所有样本按相位对齐后加在了一起。这正是相干积累的操作。2. 从DFT求和公式看本质每个输出点都是一次相干相加2.1 把公式拆开乘法、求和、再归一化先看离散傅里叶变换的标准表达式X[k] \sum_{n0}^{N-1} x[n] \cdot e^{-j 2\pi k n / N}, \quad k 0,1,\dots,N-1这个式子做的工作可以描述为对输入序列x[n]的每一个样本乘上一个已知频率的复指数也就是做一个相位旋转然后把这N个乘积全部累加起来。输出X[k]代表“输入信号里含有多少频率等于 k·Δf 的分量”。现在反过来看相干积累的数学操作。对N个回波样本s[n]做相干积累就是取它们的加权和权重是信号相位的共轭使得每个样本在求和时都旋转到同一方向再相加。而DFT的求和形式恰好就长这个样子它把x[n]在时域的相位依次旋转 -2πkn/N然后求和。如果x[n]本身是一个频率恰好与k匹配的复正弦那每一次旋转都恰好把样本的相位“掰直”所有样本在复平面上同向相加。2.2 频点对齐时输出幅度放大N倍假设输入信号是一个幅度为A、频率为k0的复指数信号x[n] A \cdot e^{j(2\pi k_0 n / N \phi)}, \quad n0,1,\dots,N-1把它代入DFT公式当k等于k0时X[k_0] \sum_{n0}^{N-1} A \cdot e^{j(2\pi k_0 n / N \phi)} \cdot e^{-j 2\pi k_0 n / N} \sum_{n0}^{N-1} A \cdot e^{j\phi} N \cdot A \cdot e^{j\phi}注意这里发生了什么指数项完全消掉了只剩下N倍的复常数。也就是说N个样本的随机旋转相位全部被对齐然后直接做长度N的矢量相加。每个样本长度都是A方向一致结果就是NA。这就是“相干积累”四个字在数学上的全部含义。而如果输入信号的频率与k不一致求和项是一个等比数列求和分子分母交叉抵消结果趋近于零。这套“对准了就相加对不准就抵消”的行为本质上就是一个匹配滤波器。2.3 频点没有对齐时扇贝损失与栅栏效应实际中目标距离不可能恰好落在某一个FFT频点上信号频率往往落在两个相邻频点之间。这时每个样本的相位并不能被完全掰直求和中会残留一个残余相位旋转导致输出峰值低于NA并且能量向相邻频点泄漏。这个峰值损失有个专门的名字叫扇贝损失scalloping loss也就是FFT频点像栅栏一样只能“看到”离散的位置栅栏之间的信号强度会被低估。最大扇贝损失发生在信号频率位于两个频点正中间时。对矩形窗而言归一化损失约为3.92dB。这是“FFT相干积累”这个说法最容易被误解的地方只有当目标频率和FFT频点对齐时你才拿到完整的N倍相干增益没对齐时增益会打折扣。工程上一般通过补零插值或加窗插值来削弱这个效应。2.4 匹配滤波器视角FFT是一组并行的匹配滤波器再换一个更高层的视角。在白噪声背景下检测一个已知复包络的信号最优线性滤波器是匹配滤波器其冲激响应是信号的共轭倒序。如果待检测的信号是长度为N、频率为k0的复正弦那么匹配滤波器在峰值时刻的输出恰好就是y \sum_{n0}^{N-1} x[n] \cdot e^{-j2\pi k_0 n / N}这个式子与DFT在k0处的计算完全一致。所以更准确的说法是FFT本质上是一组覆盖整个频带的并行匹配滤波器每个频率点对应一个“假设信号是频率为k的复正弦”的匹配滤波器。相干积累只是这组匹配滤波器在特定激励下呈现出来的效果。这也是为什么在雷达检测理论里距离维FFT之后的峰值能直接和匹配滤波后的输出画等号。3. FMCW中频信号的相位结构相干性从哪里来3.1 发射、混频到中频的完整信号流有了“FFT的输出就是一个相干求和”这个认知接下来的问题就变成在毫米波FMCW雷达里被送进FFT的那些ADC样本到底是不是“相位可对齐”的信号这要从FMCW的信号模型本身看起。设发射信号是线性调频连续波s_{TX}(t) A_T \cdot e^{j(2\pi f_c t \pi S t^2)}其中 f_c 是起始频率S B/T_c 是调频斜率单位Hz/s。回波经过目标反射延迟时间为 τ 2R/c接收信号为s_{RX}(t) A_R \cdot e^{j(2\pi f_c (t-\tau) \pi S (t-\tau)^2)}收发混频之后差拍中频信号为s_{IF}(t) s_{TX}(t) \cdot s_{RX}^*(t) A_{IF} \cdot e^{j(2\pi f_c \tau - 2\pi S \tau t \pi S \tau^2)}这里的关键项是第二项-2πSτt。它的频率是f_{IF} S \cdot \tau S \cdot \frac{2R}{c}也就是说中频频率与目标距离成正比。目标越远差拍频率越高。对中频信号做FFT在频谱上找到峰值对应的频点查表换算就是目标的距离。3.2 中频相位为什么“每一点都在预料之中”现在来看相位。中频信号在t时刻的瞬时相位为\phi(t) 2\pi f_c \tau - 2\pi S \tau t \pi S \tau^2对单个静止目标来说τ固定因此在一个chirp持续时间内φ(t)是时间的线性函数斜率是 -2πSτ。这意味着什么呢意味着ADC在t1, t2, ..., tN这些均匀采样时刻得到的中频样本其相位是按一个恒定步进线性旋转的。只要调频斜率S是已知的、线性的就能精确预测相邻样本之间的相位差。“相干”在工程上的定义就是相位之间存在确定关系可以被补偿或利用。FMCW中频信号天然满足这个条件。所以当我们把N个中频样本做DFT时本质上是在用一个已知线性相位模型去匹配这组样本。匹配上了输出幅度等于NA匹配不上输出接近零。这也是为什么FFT作为匹配滤波器能成功提取目标的根本原因。补充一点容易被忽略的中频信号是复数信号还是实数信号会影响FFT结果的表现。在I/Q采样体制下接收机输出复中频信号频谱只在单边有峰值负频谱部分没有镜像而如果ADC只采集实信号频谱会出现镜像能使用的有效频率范围打对折。很多初学雷达信号处理的同学拿实信号做FFT时会发现目标旁边总有一个对称的“鬼影”就是这个原因。3.3 运动目标与慢时间维的二级积累目标运动时情况会变得更复杂一点但也更能体现“相干积累”的分层结构。对做距离维FFT的单个chirp而言由于chirp时间极短通常几十到几百微秒目标的径向位移量很小基本可以认为在一个chirp内τ近似不变所以距离维FFT仍然能把这一个chirp内的能量积起来。但目标在chirp与chirp之间是运动的。假设chirp周期为T_c目标径向速度为v那么每个chirp之间额外产生的相位差为\Delta \phi \frac{4\pi v T_c}{\lambda}这个相位差是随时间线性变化的导致目标峰值在慢时间维上也在做等角速度旋转。把不同chirp同一距离门的数据再排成一列再做一次FFT——也就是Doppler FFT——就相当于在慢时间维上又做了一次相干积累。这次积累是对“目标速度相位”的匹配。所以完整的2D-FFT处理本质上是两级相干积累第一级在chirp内的快时间维积累得到距离第二级在chirp间的慢时间维积累得到速度。每做一次FFT信噪比就多一次N倍的改善。这个“两级积累”的视角对理解FMCW雷达的整体处理增益非常有用。4. 门信号表达式才是关键矩形截断决定了积累的边界4.1 时域截断等于乘以矩形门信号说到这儿标题里的“门信号表达式”就该登场了。实际雷达接收机不可能拿到无限长的中频信号ADC只能在一个chirp时间内采集有限个点。这种截断处理在数学上就是乘了一个矩形门信号g(t) \mathrm{rect}\left(\frac{t - T/2}{T}\right)其中T是采样窗口长度通常等于chirp持续时间。矩形门的傅里叶变换是一个sinc函数G(f) T \cdot \mathrm{sinc}(fT) \cdot e^{-j\pi fT}门信号的存在对频谱有根本影响。截断后信号的频谱不再是理想单频信号在频域的冲激而是原频谱与sinc函数的卷积。也就是说一个理想单频信号经过矩形门截断后在频域上会“摊开”成以原频率为中心、形状为sinc的峰。正因如此FFT输出实际上是对这个卷积结果在离散频点上的采样。当目标频率恰好对准某一条FFT谱线时sinc主瓣的采样点正好落在峰值上这时输出最大当目标频率偏离频点时采样点落在sinc主瓣的斜坡上峰值幅度下降这就是上一节说的扇贝损失。4.2 门宽度决定积累时间和频率分辨率门信号的长度T直接决定了相干积累能积多长时间。从频域来看sinc函数的主瓣宽度正比于1/T。门越宽主瓣越窄等效的窄带滤波器带宽越小抑制带外噪声的能力越强门越窄主瓣越宽积累时间短单个频点看到的噪声功率越大。这个关系在FMCW雷达中有直接体现。频率分辨率\Delta f \frac{1}{T}对应到距离分辨率为\Delta R \frac{c \cdot \Delta f}{2S} \frac{c}{2B}这里B S·T是调频带宽。所以距离分辨率只取决于调频带宽不直接取决于做FFT的点数。但如果采样率固定FFT点数增加意味着采样窗口时间变长这时距离分辨率会随着T变长而提高——因为带宽在被测频段内实际上是增加的对FMCW而言更长的chirp时间在相同斜率下意味着更大的带宽。很多初学者把“FFT点数越多分辨率越高”简单等同于“插值”但忽略了点数的增加往往来自更长的观察时间这才是分辨率提升的真正来源。4.3 工程加窗用相干积累损失换旁瓣抑制矩形门虽然在增益上最“干净”但sinc的旁瓣衰减很慢第一旁瓣只比主瓣低约13.3dB。在雷达场景中强反射体比如金属护栏、地角反射器的旁瓣很容易盖住邻近的弱目标。为了压低旁瓣工程上通常在FFT之前乘一个非矩形的窗函数比如汉宁窗、汉明窗、布莱克曼窗。但加窗是有代价的。窗函数会改变信号的幅度包络导致原本同相叠加的效率下降主瓣峰值降低。这类损失一般称为窗函数的相干积累损失常用“等效相干增益”来表示。下表是我实际做车载毫米波数据处理时常用的几组参数窗函数相干增益归一化等效损失(dB)第一旁瓣电平(dB)矩形窗1.000-13.3汉宁窗0.50-6.0-31.5汉明窗0.54-5.4-43.0布莱克曼窗0.42-7.5-58.0从这个表格能直观看到加窗就是拿信噪比换旁瓣。在雷达多目标检测场景下这种权衡通常是值得的因为CFAR检测被旁瓣干扰导致的虚警往往比损失几个dB信噪比更头疼。我个人的做法是先不加窗做一轮查找看目标大致位置确定没有强目标邻近之后再对目标距离窗加窗做精细谱估计如果追求全自动检测流程就直接用汉明窗统一处理。5. 信噪比增益的定量账信号涨N倍噪声只涨根号N倍5.1 信号部分同相叠加的功率增益相干积累最诱人的红利是信噪比的改善。现在把信号和噪声分开算账。信号部分已经在前面算过了。N个输入样本同相叠加后输出幅度为NA信号功率变为P_{s,out} |N A|^2 N^2 |A|^2 N^2 P_{s,in}所以信号功率放大N²倍。这里要注意一个细节如果FFT做了归一化处理例如输出除以N信号幅度就会变成A而不是NA这时讲义里的“N倍增益”就看不到了。FFT的缩放约定不同直接对比绝对值没有意义关键是看信噪比比值。5.2 噪声部分随机相位叠加的统计结果噪声的情况完全不同。假设每个采样点的噪声是独立同分布的复高斯白噪声均值为零方差为σ²。FFT输出是N个噪声样本的线性组合Y[k] \sum_{n0}^{N-1} w[n] \cdot e^{-j2\pi k n / N}由于每个w[n]乘以一个模为1的复指数后统计特性不变而且各样本相互独立输出噪声的功率为P_{n,out} E\left[|Y[k]|^2\right] \sum_{n0}^{N-1} E\left[|w[n]|^2\right] N \sigma^2噪声功率只增长了N倍而不是N²倍。原因在于噪声相位是随机的N个噪声向量在复平面上做的是随机行走合成长度的期望按√N增长平方之后就是N倍。于是FFT输出端的信噪比为SNR_{out} \frac{N^2 P_{s,in}}{N \sigma^2} N \cdot \frac{P_{s,in}}{\sigma^2} N \cdot SNR_{in}一句话总结信号是“排队走正步”N个人步子统一合起来是N倍噪声是“广场上乱走”N个人方向随机合起来只涨√N倍。这就叫相干积累增益。5.3 等效噪声带宽视角与雷达灵敏度的实际提升另一个常见的等效说法是“等效噪声带宽压缩”。输入噪声的带宽由前端滤波器决定假设为B_noise而FFT每个频点等效于一个中心频率为kΔf、带宽约为1/T的窄带滤波器。做FFT相当于把宽带噪声压缩到了窄带里噪声功率因此减少为原来的1/(T·B_noise)左右。在信号恰好落入某一个窄带滤波器时这个比例就是N倍和上面的推导自洽。不同FFT点数下的理论增益值可以直接查表FFT点数N相干积累增益(dB)6418.112821.125624.151227.1102430.1这个增益在雷达链路里是非常可观的。按照雷达方程最大探测距离R_max与接收信噪比的四次方根成正比R_{max} \propto SNR_{out}^{1/4}如果通过相干积累把信噪比提高24dB也就是功率比放大251倍对应的探测距离理论上可以扩展到原来的约4倍。当然这是理想情况实际还会受前端线性度、相位噪声、天线口径等限制但方向是对的。补充一个实际的数字感受在我调试77GHz雷达时用256点距离FFT配合64点多普勒FFT两级积累总增益约18dB21dB39dB。如果去掉多普勒维的FFT只保留包络检波再做非相干积累64个chirp的增益大约只有√(64)倍即9dB。同样一段回波相干处理和非相干处理差了约10dB的信噪比这对弱目标检测、雨雾环境下的行人识别影响极其显著。6. 实战中关于“FFT相干积累”的几个常见误判6.1 误区一FFT点数越多距离分辨率越高这是我在带新人时几乎每次都要纠正的问题。距离分辨率由调频带宽B决定ΔRc/(2B)。FFT点数N再多如果带宽没有变物理分辨率也不会变。增加FFT点数到超出ADC采样点数的那部分实际是靠补零实现的它只能让频谱采样更密在视觉上让峰值更平滑却无法把两个靠得很近的反射体分开。判断一个目标能否被分辨看的是频谱主瓣宽度而不是谱线间隔。主瓣宽度由积累时间T决定而T的长短来自实际采样了多少有效数据不是由补零决定的。真正提升距离分辨率的做法是增大调频带宽或是采用超分辨算法而不是盲目把FFT点数翻倍。6.2 误区二积累时间可以无限拉长做慢时间维FFT时有人会想既然FFT点数越多增益越高那我多积累几百个chirp不就行了这个思路在静止目标场景确实可行但目标一旦运动长时间积累会引入两个问题。第一个就是距离走动。目标在积累时间T_coherent内发生径向位移超过一个距离单元时目标的峰值会在距离维上“漂移”导致慢时间维上同一距离门的信号不再是同一个目标的相位序列。例如目标以30m/s运动积累128个chirp假设每个chirp周期100μs总时长12.8ms目标移动了0.384m。若距离分辨率为2.3cm这相当于跨越了大约16个距离门。这种情况下同一距离门做慢时间FFT看到的根本不是同一个反射点积累增益大打折扣。第二个是相位噪声的累积。雷达本振相位噪声会随着观察时间的增加而累积长时间积累后信噪比的增长可能从N倍退化为√N倍。所以在做长时间积累前必须评估目标的距离走动是否小于一个距离门。超出一两个距离门时就要考虑距离走动补偿算法或者在积累之前做包络对齐。6.3 误区三加窗是免费的从第4节的表格看得很清楚加窗会牺牲掉几个甚至七八个dB的相干增益。对于弱目标检测场景这个代价很可能是致命的。所以加窗之前要问自己旁瓣压制的需求真的大于信噪比的需求吗一个折中方案是自适应的先用矩形窗检测主目标定位所有强散射点的距离-多普勒位置然后在谱估计阶段对这些位置附近用窗函数重做局部FFT。这样既保留了全局检测时的信噪比又能在精细分析时压低旁瓣。还有一个工程细节加窗会改变目标的相位估计精度影响测角、测速的相位链。很多在做AOA估计时发现相位误差偏大的问题最后查下来是窗函数对幅度包络调制引入的相位偏置。加窗之后做相位类运算一定要先做窗函数的相位校正。6.4 误区四补零能提高积累增益和分辨率补零是FFT频谱细化的常用手段但它的效果有限。补零只是对已有的DFT结果做了sinc插值不会引入任何新的信息因此不会提高信噪比增益也不会提高物理分辨率。判断补零有没有用的标准很简单如果原始数据有效点数只有128那不管补多少零最终等效的积累时间仍然是128个采样周期噪声带宽和信号能量都没有变化。补零唯一能改善的是“频谱显示效果”——让栅栏效应造成的峰值低估得到一部分恢复便于更精确地读取峰值位置。6.5 实操建议如何低成本验证这套理论如果你手上没有雷达硬件也可以用纯软件来验证FFT相干积累增益。我自己常用的方法是生成一段复数正弦信号叠加复高斯白噪声信噪比设为0dB左右分别对64、256、1024点做FFT观察目标峰值处的信噪比变化。再做一个对比实验不改变有效信号长度只对64点数据补零到1024点做FFT你会发现信噪比没有任何改善。把我在验证时用的关键判断思路整理成一张可直接对照的检查表问题检查点信号相位是否相干相邻样本相位差是否恒定即中频信号是否近似单频积累时间是多少FFT有效点数乘以采样周期补零点不能计入目标是否发生距离走动积累时间内目标位移是否小于一个距离门宽度是否加窗加窗是否有对应的相干增益损失补偿FFT缩放方式输出是否除以N对比信噪比时保持同一约定这套理论最有价值的应用场景之一是解释为什么同样一颗毫米波雷达在某些工况下探测距离明显变短。多数时候不是天线或者射频端出了故障而是处理链中的相干积累被某个环节破坏了——比如中频滤波器带宽过窄导致目标信号被削边、距离FFT的窗函数选择过重、或者是chirp间相位不一致。把“FFT相干积累”这个公式吃透后你会习惯性地从相位对齐的角度去定位问题而不是盲目调一发波形参数。我自己在调试中最大的体会是把“频谱分析”和“相干积累”这两个概念在脑子里合并成同一个操作之后再去看Range-Doppler图、再去做CFAR阈值设计思路会清楚很多。每一次FFT本质上都是你在跟回波信号“对暗号”——相位对得上信号就留下对不上就当成噪声滤掉。这种理解方式比单纯记公式有用得多。
返回列表