第4章 距离测量

4.1 时间延迟到距离

站在山谷里喊一声,过一会儿听到回声,就知道前面有山;若再知道声音传播速度,还可以把山壁距离算出来。雷达测距也是同样的道理,只是把声波换成了电磁波,把人耳换成了接收机。

时间延迟与目标距离

第3章已经提到,目标距离为 $R$ 时,回波相对发射信号的延迟满足

$$ \Delta t = \frac{2R}{c} $$

这里的 $c$ 是光速,因子 2 表示电磁波走了一个来回。把这个式子改写一下,就得到最基本的测距公式

$$ R = \frac{c\Delta t}{2} $$

这就是脉冲雷达测距的出发点:只要测出回波晚到了多少时间,就能把时间差换成目标距离。

例如,若回波延迟是 $1$ ms,那么目标距离为

$$ R = \frac{3\times10^8 \times 0.001}{2} = 1.5\times10^5\ \text{m} = 150\ \text{km} $$

反过来看,若目标距离是 $1$ km,则对应的往返时间差约为

$$ \Delta t = \frac{2\times1000}{3\times10^8} \approx 6.67\ \mu s $$

因此,测距问题本质上就是测时问题。时间差测得越准,距离估计就越准。

脉冲雷达测距示意图
脉冲雷达测距示意图

脉宽与距离分辨率

若场景中只有一个目标,计算不复杂。真正麻烦的地方在于:目标往往不止一个,而且它们的回波未必彼此分离。如果两个目标贴在一起,无法分开,相隔远一点就可以分辨。于是自然而然的引出了新的问题:相隔很近的两个目标,回波能不能分开?

这个问题和脉冲宽度直接相关。设发射脉冲宽度为 $\tau$,那么这个脉冲在空间中对应的长度约为 $c\tau$。若两个目标的距离差太小,它们的回波就会在接收端重叠,看上去像一团更宽的回波,而不是两个彼此分开的峰。

距离分辨率示意图
距离分辨率示意图

图左中两个目标相距较远,两个回波在时间上能够分开;图右中两个目标相距过近,两个回波叠在一起,接收机很难判断到底是一个目标还是两个目标。由此得到脉冲雷达最基本的距离分辨率关系:

$$ \Delta R = \frac{c\tau}{2} $$

这个式子说明,单频短脉冲里,脉宽越窄,距离分辨率越高。举例来说,若 $\tau=1\ \mu s$,则

$$ \Delta R = \frac{3\times10^8 \times 10^{-6}}{2} = 150\ \text{m} $$

也就是说,相距 150 m 以内的两个目标,很可能会在距离向上合成一个响应。

这里就出现了第4章后面几节要解决的矛盾。若把脉冲做得很短,分辨率会提高,但发射能量随之下降,回波特别微弱;若把脉冲做长,能量会提高,分辨率却会变差。远距离探测希望脉冲长一些,精细测距又希望脉冲短一些,这两件事很难同时满足。

后面几节讨论的脉冲压缩,正是为了解决这个矛盾。它并不改变测距公式 $R=c\Delta t/2$,改变的是接收机区分相近回波的能力。

4.2 脉冲压缩原理

上一节讲的是一个目标有多远,核心关系是”回波晚回来多少,就对应多远的距离”。但一旦真要把距离测得更细,读者很快会遇到一个新问题:想把距离分得更开,往往需要更短的脉冲;可脉冲一短,带出去的能量又会变少。

这测距体制里最典型的一组矛盾。脉冲压缩要解决的,正是这组矛盾:能不能在发射时保留长脉冲的能量优势,而在接收时又得到接近短脉冲的分辨能力?

带宽决定分辨能力

先从最普通的单频矩形脉冲看起。这样的脉冲没有什么内部结构。接收机看到这样的回波时,除了回波到来和结束时间,可以利用的信息其实很有限。

于是,当两个目标的回波相隔很近时,接收机判断它们能不能分开,基本上就是在看这两团回波有没有明显分成两份。若两团回波已经严重重叠,就很难说清那里到底是一个目标还是两个目标。对这种普通脉冲,分辨率自然首先和脉宽联系在一起。若脉宽为 $\tau$,距离分辨率常写成

$$ \Delta R = \frac{c\tau}{2} $$

先不用急着背成结论,只要明白脉冲越短,时间上占得越窄,两个相近回波越容易分开,所以距离分辨率越高。

短脉冲虽然有利于分辨率,却不利于能量积累。脉冲压缩换了一种思路:发射时故意让脉冲内部带上可识别的结构,例如频率随时间变化,或相位按一定规律变化。这样一来,接收机就不只是问“这一团回波大概什么时候回来”,而会继续问:回波内部的变化规律,在什么延迟位置上和发射信号最对得齐?

此时,真正决定“能不能分清很小时间错位”的,就不再只是整个脉冲拖了多久,而是脉冲内部到底变化得有多快、有多丰富。这个“变化有多快”的刻画,正对应到带宽 $B$。

如果一个波形内部变化得很慢,那么两个彼此接近的时延,往往仍会对应十分相似的波形,接收机就不容易把它们区分开。反过来,如果一个波形内部变化得很快,那么很小的时延差也会对应更明显的波形差异,接收机就更容易把它们分开。带宽越大,通常正说明这种内部变化越丰富,因此系统对小时延差也就越敏感。

普通长脉冲与大带宽波形对微小错位的敏感性对比
普通长脉冲与大带宽波形对微小错位的敏感性对比

这张图可以配合上面的转折一起看。左边的普通长脉冲,轻微时延主要体现为整体平移,波形差异仍不丰富;右边的大带宽波形,哪怕只错开同样一点,内部结构也会明显失配,微小的变化都会被放大。所以在脉冲压缩体制里,接收机开始主要依赖内部结构去分辨微小延迟差,而这种能力首先和带宽相关。

区分能力往往取决于对象中包含多少可利用信息。信息过少时,不同对象即使存在差别,也可能显得相互接近;信息更丰富时,原本细微的差别就更容易被识别。比如观察两个相距很近的物体,如果只能看到模糊轮廓,它们容易混在一起;若还能看到边缘、纹理和明暗变化,区分就会容易得多。大带宽波形在这里起到的作用,也正是增加回波中可供利用的结构信息,使小时延差更容易表现出来。

从时间分辨率到距离分辨率

这种大带宽的波形,在时间上大约能分多细?

对普通单频长脉冲,脉冲内部前后基本相同,轻微时延变化主要表现为整体平移或相位变化。这样的变化虽然存在却微小,但不足以稳定地区分两个很近的目标。大带宽波形则不同。由于它在脉冲内部包含更丰富的变化,两个彼此接近的时延会对应更明显的波形差异,因此系统对小时延差更敏感。于是,可分辨的最小时延差会随着带宽增大而减小。在量级上,可定性的记为

$$ \Delta t_{\text{res}} \propto \frac{1}{B} $$

时间分辨率和带宽成反比。当只关心数量级时,去掉常量,就可以进一步写成

$$ \Delta t_{\text{res}} \approx \frac{1}{B} $$

有了这个时间尺度以后,再把它和第 4.1 节的测距关系接起来就可以捋顺了。距离本来就是由传播时间换算出来的,所以把“可分辨的最小时间差”换回距离,只需要再走一步:

$$ \Delta R \approx \frac{c\Delta t_{\text{res}}}{2} $$

再把

$$ \Delta t_{\text{res}} \approx \frac{1}{B} $$

代进去,才得到脉冲压缩里最常见的结果:

$$ \Delta R \approx \frac{c}{2B} $$

回头再看本章里出现的两条分辨率公式:

$$ \Delta R = \frac{c\tau}{2} $$

$$ \Delta R \approx \frac{c}{2B} $$

前一个式子对应普通单频脉冲,接收机主要把回波当成“整团能量”来看,所以分辨率主要由脉宽决定;后一个式子接收机开始利用波形内部结构去做精细对齐,所以分辨率主要由带宽决定。这里先定性,下一小节会定量的精确给大家算一算。

能量与分辨率的平衡:时间-带宽积

讲到这里,读者自然会追问:如果长脉冲主要带来能量,大带宽主要带来分辨率,那么是不是可以构造一个参数,衡量雷达这方面的综合能力?这就是时间-带宽积的作用。它写成

$$ TB = \tau B $$

一个脉冲持续了多久,同时又在内部装进了多宽的频率变化范围。$\tau$ 大,说明保留了长脉冲的能量优势;$B$ 大,说明内部可供接收机利用的结构丰富。两者同时做大,才是脉冲压缩真正想要的状态。

对普通单频脉冲雷达,$TB$ 往往只有 1 这个量级;对采用大带宽波形的脉冲压缩雷达,$TB$ 则常常远大于 1。$TB$ 越大,说明波形内部结构越丰富,接收端可利用的信息越多。例如,若发射脉冲宽度是 $100\ \mu s$,带宽是 $10$ MHz,则

$$ TB = 100\times10^{-6}\times10^7 = 1000 $$

先看时间分辨尺度:

$$ \Delta t_{\text{res}} \approx \frac{1}{B} = 0.1\ \mu s $$

再把它换成距离分辨率:

$$ \Delta R \approx \frac{c\Delta t_{\text{res}}}{2} = \frac{3\times10^8\times0.1\times10^{-6}}{2} = 15\ \text{m} $$

这个例子体现了本章的核心:脉冲压缩让长脉冲内部带上可利用的结构,发射时保留能量,接收时再把这些结构重新对齐,于是获得接近短脉冲的分辨能力。

下一节就顺着这条线往前走,看工程上最常见的一类大带宽波形——LFM——到底长什么样。

4.3 线性调频信号

前一节已经把脉冲压缩的主线讲清楚了:若想在保持较长脉冲能量的同时提高分辨率,发射波形内部就必须带有足够丰富的结构。工程上最常见的选择,是线性调频信号,也就是 LFM。

线性调频信号的基本形式

所谓线性调频,意思是脉冲内部的瞬时频率随着时间按线性规律上升或下降。在理解这个概念之前,先看一个更简单的例子。

假设有一个信号,它的频率每秒增加 1 Hz:第 1 秒是 1 Hz,第 2 秒是 2 Hz,第 3 秒是 3 Hz,依此类推,直到第 5 秒达到 5 Hz。这个信号的频率在变化,但变化是阶梯式的,每秒跳一次。

阶梯式频率变化示意图
阶梯式频率变化示意图

上图显示了这种阶梯式变化的信号波形,下图则是它的频率随时间的关系:一条阶梯状的曲线。用公式表示,频率为 $f(t) = \lfloor t \rfloor + 1$ Hz,信号则是 $s(t) = \sin(2\pi f(t) \cdot t)$。

现在把这个想法推进一步:如果频率连续平滑地变化呢?从 1 Hz 开始,在 4 秒内连续上升到 5 Hz,中间没有任何跳跃。这就是线性调频的核心思想。

连续频率变化示意图
连续频率变化示意图

上图显示了连续变化的信号波形,可以看到振荡逐渐变密;下图是它的频率随时间的关系:一条平滑的直线,$f(t) = 1 + t$ Hz。对应的信号表达式是 $s(t) = \sin(2\pi f(t) \cdot t) = \sin(2\pi (1+t) \cdot t)$。这种频率随时间线性变化的信号,就是 LFM(线性调频)信号。

若把它变成声音来听,会像一个持续时间有限、音调不断升高或降低的扫频声。LFM 的每一小段时间,都带着与前后略有不同的频率特征。

现在把这个想法推广到一般情况。假设频率不是从 1 Hz 开始,而是从某个起始频率 $f_0$ 开始;调频率也不一定是 1 Hz/s,而是用 $\mu$ 来表示。那么频率随时间的关系就变成:

$$ f(t) = f_0 + \mu t $$

这里 $\mu$ 的单位是 Hz/s,表示频率每秒变化多少。如果 $\mu > 0$,频率上升;如果 $\mu < 0$,频率下降。

接下来需要把这个频率关系转换成信号表达式。回忆一下,正弦信号 $\cos(2\pi f t)$ 中的 $2\pi f t$ 是相位。当频率随时间变化时,相位不再是简单的 $2\pi f t$,而是频率对时间的积分:

$$ \phi(t) = 2\pi \int_0^t f(\tau) \, d\tau = 2\pi \int_0^t (f_0 + \mu\tau) \, d\tau = 2\pi f_0 t + \pi \mu t^2 $$

因此,LFM 信号可以写成:

$$ s(t) = \cos(2\pi f_0 t + \pi \mu t^2) $$

这就是线性调频信号的核心表达式。其中 $2\pi f_0 t$ 是起始频率对应的相位项,$\pi \mu t^2$ 是频率变化带来的额外相位。

在信号处理中,常用复指数形式来表示:

$$ s(t) = e^{j(2\pi f_0 t + \pi \mu t^2)} $$

这里 $j$ 是虚数单位。复指数形式在数学推导和频域分析时更方便,实际发射的信号取其实部即可。两种写法本质相同,只是表达习惯不同。

在实际雷达中,正如3.1小节所说的,脉冲雷达发射的是持续一段时间的脉冲,LFM 脉冲有一个持续时间 $\tau$,超出这个时间就不再发射。为了表示这个有限长度,引入矩形窗函数 $\operatorname{rect}(t/\tau)$:

$$ \operatorname{rect}\!\left(\frac{t}{\tau}\right) = \begin{cases} 1, & |t| \leq \tau/2 \\ 0, & |t| > \tau/2 \end{cases} $$

别看这个数学符号复杂,实际含义非常简单,它的作用是把信号限制在 $[-\tau/2, \tau/2]$ 这个时间窗内。因此,完整的 LFM 信号表达式为:

$$ s(t) = \operatorname{rect}\!\left(\frac{t}{\tau}\right) e^{j(2\pi f_0 t + \pi \mu t^2)} $$

如果用带宽 $B$ 来描述频率总共变化了多少,那么在 $\tau$ 时间内,频率从 $f_0$ 变化到 $f_0 + B$,因此:

$$ \mu = \frac{B}{\tau} $$

这个式子只是把"在 $\tau$ 这么长的时间里,频率一共扫过了 $B$"写成数学形式。真正需要抓住的是:$B$ 越大,LFM 在脉冲内部的变化越明显,可供接收机利用的结构也越丰富。

LFM信号的时域和频域
LFM信号的时域和频域

图中上半部分是时域波形。随着时间推进,波形振荡逐渐变密,表示瞬时频率在变化;下半部分是频域能量分布,说明这个脉冲不再集中在一个很窄的频率点上,而是占据了宽度为 $B$ 的频带。

下变频与基带表示

实际雷达系统中,发射的 LFM 信号载频 $f_0$ 通常在几 GHz 量级,直接处理这么高的频率对硬件要求很高。因此接收端常先做下变频,把信号搬移到零中频附近,得到基带信号。

下变频的过程是将接收信号与本振信号 $e^{-j2\pi f_0 t}$ 相乘:

$$ s_{\text{基带}}(t) = s(t) \cdot e^{-j2\pi f_0 t} = \operatorname{rect}\!\left(\frac{t}{\tau}\right) e^{j\pi \mu t^2} $$

可以看到,下变频后载频项 $2\pi f_0 t$ 被消除,只剩下调频项 $\pi \mu t^2$。这样得到的基带信号频谱以零频为中心对称分布,带宽仍为 $B$,但处理起来更方便,采样率也可以大幅降低。

零中频LFM信号
零中频LFM信号

上图展示了基带表示下的 LFM 信号:第一行是时域实部,第二行是时域虚部,第三行是幅频特性。可以看到频谱完全对称,以零频为中心,带宽为 30 MHz。这种基带表示在信号处理中很常见,既降低了采样率要求,又能得到对称美观的频谱图。

有了 LFM 这种大带宽波形,发射端的问题就解决了。但接收端还有一个关键问题:回波仍然是一个拖得很长的脉冲,怎样才能把它压成窄峰?这就是下一节要讲的匹配滤波。

4.4 匹配滤波

现在脉冲内部有了丰富的信息,稍微错位就可以表现出很大的差异,那么如何让这个差异显现出来,表征成方便测量的参数呢?

互相关与时间延迟估计

假设雷达发射了信号 $s(t)$,目标在距离 $R$ 处反射回来,回波就是 $s(t - \tau)$,其中 $\tau = 2R/c$ 是往返延迟。接收机的任务是:从回波中找出这个延迟 $\tau$。

最直接的想法是:把回波和发射信号做比对,看它们在哪个时间偏移下最相似。这个过程实际上是互相关计算,一个非常常见的求延迟的方法。

假设发射信号是10个采样点,大部分是0,只有中间3个点形成三角形:

$$ s[n] = [0, 0, 1, 2, 1, 0, 0, 0, 0, 0] $$

回波也是同样的三角形,但整体延迟了3个点:

$$ r[n] = [0, 0, 0, 0, 0, 1, 2, 1, 0, 0] $$

现在要找这个延迟。把两个序列逐点相乘再求和,尝试不同的偏移量 $d$:

$$ \begin{aligned} d=0: \quad & 0 \cdot 0 + 0 \cdot 0 + 1 \cdot 0 + 2 \cdot 0 + 1 \cdot 0 + 0 \cdot 1 + \cdots = 0 \\ d=1: \quad & 0 \cdot 0 + 0 \cdot 0 + 1 \cdot 0 + 2 \cdot 0 + 1 \cdot 0 + 0 \cdot 1 + \cdots = 0 \\ d=2: \quad & 0 \cdot 0 + 0 \cdot 0 + 1 \cdot 0 + 2 \cdot 0 + 1 \cdot 1 + 0 \cdot 2 + \cdots = 1 \\ d=3: \quad & 0 \cdot 0 + 0 \cdot 0 + 1 \cdot 1 + 2 \cdot 2 + 1 \cdot 1 + 0 \cdot 0 + \cdots = 6 \\ d=4: \quad & 0 \cdot 0 + 0 \cdot 1 + 1 \cdot 2 + 2 \cdot 1 + 1 \cdot 0 + 0 \cdot 0 + \cdots = 4 \\ d=5: \quad & 0 \cdot 1 + 0 \cdot 2 + 1 \cdot 1 + 2 \cdot 0 + 1 \cdot 0 + 0 \cdot 0 + \cdots = 1 \end{aligned} $$

可以看到,延迟3个点时,乘积和达到最大值6。这就找到了真实的延迟。通过不断的左右移动信号,当对齐的时候,就是值最大的时候。没有太多高深的理论,思想朴素直接。

互相关寻找时延的直观示意
互相关寻找时延的直观示意

用求和符号重新表达一下:

$$ \begin{aligned} d=0: \quad & \sum_{n=0}^{9} s[n] \cdot r[n+0] = s[0] \cdot r[0] + s[1] \cdot r[1] + s[2] \cdot r[2] + s[3] \cdot r[3] + \cdots = 0 \\ d=1: \quad & \sum_{n=0}^{9} s[n] \cdot r[n+1] = s[0] \cdot r[1] + s[1] \cdot r[2] + s[2] \cdot r[3] + s[3] \cdot r[4] + \cdots = 0 \\ d=2: \quad & \sum_{n=0}^{9} s[n] \cdot r[n+2] = s[0] \cdot r[2] + s[1] \cdot r[3] + s[2] \cdot r[4] + s[3] \cdot r[5] + \cdots = 1 \\ d=3: \quad & \sum_{n=0}^{9} s[n] \cdot r[n+3] = s[0] \cdot r[3] + s[1] \cdot r[4] + s[2] \cdot r[5] + s[3] \cdot r[6] + \cdots = 6 \\ d=4: \quad & \sum_{n=0}^{9} s[n] \cdot r[n+4] = s[0] \cdot r[4] + s[1] \cdot r[5] + s[2] \cdot r[6] + s[3] \cdot r[7] + \cdots = 4 \\ d=5: \quad & \sum_{n=0}^{9} s[n] \cdot r[n+5] = s[0] \cdot r[5] + s[1] \cdot r[6] + s[2] \cdot r[7] + s[3] \cdot r[8] + \cdots = 1 \end{aligned} $$

把这些结果画出来,可以清楚地看到峰值位置:

离散互相关结果
离散互相关结果

推广到任意偏移量 $d$,离散信号的互相关定义为:

$$ R_{sr}[d] = \sum_{n=0}^{N-1} s[n] \cdot r[n+d] $$

其中 $d$ 是偏移量,$N$ 是信号长度。当 $R_{sr}[d]$ 达到最大值时,对应的 $d$ 就是真实的延迟。

推广到连续信号,就是把"逐点相乘求和"换成"逐时刻相乘积分"。数学上用互相关来算这个相似度:

$$ R_{sr}(\tau) = \int_{-\infty}^{\infty} s(t) \cdot r^*(t - \tau) \, dt $$

这里 $s(t)$ 是参考信号,$r(t)$ 是待匹配的信号。公式中的星号 $*$ 表示复共轭(对于实信号可以忽略)。互相关函数 $R_{sr}(\tau)$ 的含义是:当 $r(t)$ 相对 $s(t)$ 偏移 $\tau$ 时,两者的重叠程度有多大。

同样的道理,连续信号也是通过滑动匹配找到峰值位置:

连续信号互相关示意
连续信号互相关示意

把所有延迟对应的互相关值连起来,就得到互相关函数曲线:

互相关函数曲线
互相关函数曲线

当 $\tau$ 正好等于真实延迟时,两个信号完全对齐,互相关值达到最大;当 $\tau$ 偏离真实延迟时,两者错位,互相关值迅速下降。即使信号有衰减或噪声,峰值位置仍然对应真实延迟(只是峰值幅度会降低)。

因此,互相关峰值的位置就是两个信号之间的延迟:

$$ \tau_{\text{peak}} = \arg\max_{\tau} R_{sr}(\tau) $$

这个方法对任何波形都适用。只要参考信号有足够的结构特征,互相关就能找到延迟位置。

但"结构特征"这个说法有点抽象。什么样的波形算是"结构特征丰富"?为什么 LFM 比普通矩形脉冲更适合做匹配滤波?来看一个对比。

假设用两种不同的波形做参考信号:

  1. 矩形脉冲:幅度恒定,没有频率变化
  2. LFM chirp:频率随时间线性变化,内部结构复杂

分别计算它们的互相关曲线:

波形结构对互相关峰值的影响
波形结构对互相关峰值的影响

上下两组对比可以看到:

  • 矩形脉冲的互相关峰值宽而平:因为脉冲内部是平的,稍微错位一点,重叠区域仍然很大,互相关值下降缓慢。这导致峰值区域很宽,延迟位置不够精确。
  • LFM chirp 的互相关峰值尖锐突出:因为频率随时间变化,只有完全对齐时,所有频率成分才同时匹配;稍微错位,频率就对不上,互相关值迅速下降。这导致峰值非常尖锐,延迟位置精确。

这就是为什么雷达要用 LFM 而不是简单的矩形脉冲:波形的结构特征越复杂,互相关峰值越尖锐,测距精度越高

看完后面 LFM 的压缩效果,再回头看这张图,就能理解为什么 LFM 能把长脉冲压成窄峰,而矩形脉冲做不到——LFM 的频率结构提供了足够的"指纹",互相关峰值才足够尖锐。

从互相关到匹配滤波

前面看到,互相关能找到信号的延迟。但在雷达接收机的实际工作中,直接计算互相关有个问题:

假设雷达的探测范围是 150 km,对应的最大往返延迟是 1 ms。如果采样率是 10 MHz(每 0.1 μs 采样一次),那么 1 ms 内有 10000 个采样点。要找到回波的延迟位置,就需要对这 10000 个可能的延迟位置,每个都算一遍互相关(10000 次求和),总共需要 1 亿次乘法运算。

如果雷达每秒发射 1000 个脉冲(脉冲重复频率 1 kHz),接收机每秒要做 1000 亿次乘法。即使用现代 DSP 芯片,这个计算量也很难实时完成。

有没有更高效的方法?可以把互相关改写成卷积形式,用滤波器来实现。这样做有两个好处:

  1. 硬件实现简单:滤波器可以用模拟电路或 FPGA 实现,不需要逐个延迟去试
  2. FFT 加速:在数字系统中,卷积可以用 FFT 快速计算,计算量从 $O(N^2)$ 降到 $O(N \log N)$

数学上的等价变换

先看离散情况。前面的互相关公式是:

$$ R_{sr}[d] = \sum_{n=0}^{N-1} s[n] \cdot r[n+d] $$

做一个变量替换,令 $m = n + d$,则 $n = m - d$,求和变成:

$$ R_{sr}[d] = \sum_{m=d}^{N-1+d} s[m-d] \cdot r[m] $$

现在定义一个新序列 $h[n] = s[-n]$(把发射信号做时间反转),那么 $s[m-d] = h[d-m]$,于是:

$$ R_{sr}[d] = \sum_{m} r[m] \cdot h[d-m] $$

这正是卷积的定义!记作 $R_{sr}[d] = (r \ast h)[d]$。

雷达接收机的实现

在雷达接收机中,这个变换意味着:

  • 互相关的思路:存储发射信号 $s[n]$,让回波 $r[n]$ 在时间轴上滑动,每个位置都算一次相似度
  • 匹配滤波的思路:把发射信号时间反转得到 $h[n] = s[-n]$,做成一个滤波器,让回波直接通过这个滤波器

两种方法在数学上完全等价,但后者可以用滤波器硬件实现。回波信号进来后,直接通过滤波器,输出就是互相关函数,峰值位置就是目标距离。

匹配滤波器的实现
匹配滤波器的实现

上图展示了匹配滤波的实现方式。回波 $r(t)$ 进入滤波器,滤波器的冲激响应是发射信号的时间反转 $h(t) = s(-t)$,输出就是互相关函数。峰值位置对应目标距离。

匹配滤波的 FFT 实现

在现代数字雷达中,匹配滤波通常用 FFT 实现。根据卷积定理,时域卷积等于频域相乘:

$$ y(t) = r(t) \ast h(t) \quad \Longleftrightarrow \quad Y(f) = R(f) \cdot H(f) $$

因此,只需要三步:

  1. 对回波 $r(t)$ 做 FFT,得到 $R(f)$
  2. 乘以预先计算好的 $H(f)$(发射信号的频谱共轭)
  3. 做 IFFT,得到 $y(t)$

对于 10000 点的信号,直接计算卷积需要 1 亿次乘法,FFT 方法只需要 13 万次(包括两次 FFT 和一次频域相乘),快了近 1000 倍。这就是为什么现代雷达都用 FFT 实现匹配滤波。

因此,只要设计一个滤波器,它的冲激响应是:

$$ h(t) = s^*(-t) $$

(连续情况下,$s^*(t)$ 表示复共轭,对于实信号可以省略星号)

让回波通过这个滤波器,输出就是互相关结果。这就是匹配滤波器的由来。

匹配滤波器的概念最早由诺斯(North)在1943年提出,用于雷达信号检测。它的核心思想是:要从噪声中提取信号,最优的滤波器应该"匹配"信号的形状。这个理论后来被证明,在高斯白噪声环境下,匹配滤波器能使信噪比达到最大,因此成为雷达信号处理的基础工具。

从这个角度看,匹配滤波器本质上是互相关的高效实现,是把"寻找最相似位置"这个想法,换成了滤波器的实现方式。

匹配滤波对 LFM 的压缩效果

前面讲的互相关和匹配滤波,对任何波形都适用。但 LFM 有个特殊之处:它的匹配滤波输出不仅能找到延迟,还能把长脉冲压成窄峰。

LFM 压缩机制

为什么 LFM 能被压缩?关键在于它内部的频率结构。LFM 信号的频率随时间线性变化,前半段是低频,后半段是高频。从频域角度看,LFM 包含了从 $f_0$ 到 $f_0 + B$ 的所有频率成分,但这些频率成分的相位不同:低频部分的相位变化慢,高频部分的相位变化快。具体来说,LFM 的相位是 $\phi(t) = \pi \mu t^2$,其中 $\mu = B/\tau$ 是调频斜率。

匹配滤波器 $h(t) = s^*(-t)$ 的相位是 $-\pi \mu t^2$,正好与 LFM 的相位相反。当回波通过匹配滤波器时,两者相乘,相位相加:$\pi \mu t^2 + (-\pi \mu t^2) = 0$。这意味着,原本相位各不相同的频率成分,经过匹配滤波后都变成了同相(相位为0)。

同相的频率成分叠加时,不会相互抵消,而是建设性干涉(振幅相加),形成一个高峰。这就像合唱团,大家唱同一个音时声音最响。

LFM匹配滤波的压缩效果
LFM匹配滤波的压缩效果

图中从上到下三行分别是:第一行是接收到的 LFM 回波(脉冲宽度 50 μs),第二行是匹配滤波器的冲激响应(频率"反着扫回来"),第三行是压缩后的输出(主瓣宽度约 0.1 μs)。可以看到,原本拖得很长的脉冲,被压成了一个窄峰。

这就是脉冲压缩的本质:利用 LFM 内部的频率结构,通过匹配滤波器把分散的能量重新聚集到一个时刻。压缩比等于时宽带宽积 $TB$:如果脉冲宽度是 100 μs,带宽是 10 MHz,那么 $TB = 1000$,意味着能量被压缩了 1000 倍,峰值功率提高了 1000 倍。

主瓣与旁瓣

原理推导比较抽象,需要一定的数字信号处理基础,看不懂的话,没关系,记住下面的结论也行。最好还是能看懂,搞算法的数字信号处理基础薄弱不是什么好事。

压缩后的输出并不是理想的单个针尖,而更接近一个带旁瓣的主峰。那么,压缩后的脉冲到底长什么样?

要理解压缩后的形状,需要从频域角度看。LFM 信号包含了从 $f_0$ 到 $f_0 + B$ 的所有频率成分,在频域上是一个宽度为 $B$ 的矩形频谱(假设脉冲足够长,频率扫得足够均匀)。匹配滤波器的作用是把这些频率成分的相位都调整为 0,使它们同相叠加。

从频域看,匹配滤波的输出是:

$$ Y(f) = S(f) \cdot H^*(f) $$

其中 $S(f)$ 是 LFM 的频谱(宽度为 $B$ 的矩形),$H^*(f)$ 是匹配滤波器的频谱(也是宽度为 $B$ 的矩形)。两者相乘,得到的仍然是宽度为 $B$ 的矩形频谱,但相位被"拉平"了(都变成 0)。

现在问题变成:一个宽度为 $B$ 的矩形频谱,对应的时域波形是什么?

这是傅里叶变换的经典结果:矩形频谱的逆变换是 sinc 函数。具体来说,如果频域是宽度为 $B$ 的矩形,时域就是:

$$ y(t) \propto \operatorname{sinc}(B t) = \frac{\sin(\pi B t)}{\pi B t} $$

这就是为什么压缩后的脉冲是 sinc 形状:因为 LFM 的频谱是矩形,匹配滤波后仍然是矩形,而矩形频谱对应的时域波形就是 sinc 函数。

sinc 函数是信号处理中的标准函数,定义为:

$$ y(t) \propto \operatorname{sinc}(B t) = \frac{\sin(\pi B t)}{\pi B t} $$

sinc 函数的第一个零点在 $t = \pm 1/B$,因此主瓣宽度约为 $2/B$。这对应的距离分辨率是

$$ \Delta R \approx \frac{c}{2B} $$

这就把 4.2 节的结论落到了具体实现上。

压缩后的脉冲形状
压缩后的脉冲形状

图中间最高的一部分叫主瓣,两侧逐渐衰减的起伏叫旁瓣。主瓣宽度决定两个相近目标能否分开,旁瓣则会带来另一个实际问题:若一个强目标旁边挨着一个弱目标,强目标的旁瓣可能会把弱目标淹没。因此工程上常会再配合加窗处理,在压低旁瓣和保持主瓣宽度之间做折中。

参数怎么选:带宽 $B$ 越大,主瓣越窄,距离分辨率越高,但对硬件的采样率要求也越高。脉冲宽度 $\tau$ 越长,能量越大,探测距离越远,但时宽带宽积 $TB$ 也要相应增大,否则压缩比不够。实际雷达中,$TB$ 通常在 100 到 10000 之间,取决于具体应用场景。

什么时候不管用:匹配滤波假设回波与发射信号完全匹配。如果目标有径向速度,回波会产生多普勒频移,导致频率失配,压缩效果变差(这个问题在第5章会详细讨论)。如果有多个目标,互相关函数会出现多个峰值,需要用检测算法来区分(这个问题在第7章会讨论)。

第4章的主线到这里已经闭合。4.1 节给出"时间延迟对应距离",4.2 节解释"为什么压缩后开始看带宽",4.3 节介绍了最常用的 LFM 波形,这一节则从互相关出发,自然引出匹配滤波器,并展示了它对 LFM 的压缩效果。

4.5 小练习

这些练习围绕本章的主线展开:距离由时延决定,分辨率由带宽决定,脉冲压缩依靠匹配滤波实现。建议先自己判断,再结合结果图验证。

练习 1:从单目标回波恢复距离

问题: 设一部脉冲雷达的参数如下:

  • 载频:$f_0 = 10$ GHz
  • 脉冲宽度:$\tau = 10$ μs
  • 带宽:$B = 20$ MHz
  • 采样率:$f_s = 100$ MHz
  • 目标距离:$R = 15$ km

请说明:在这个场景下,如何通过生成 LFM 发射信号、构造延迟回波、进行匹配滤波,再由主峰位置恢复目标距离?

如果你想先把完整流程跑一遍,可直接运行 ch04_pulse_compression_demo.m

解析: 这道题的主线只有四步。

第一步,由带宽和脉宽确定调频斜率

$$ k = \frac{B}{\tau} $$

并生成基带 LFM 发射信号。第二步,由目标距离得到往返时延

$$ \Delta t = \frac{2R}{c} $$

再把发射信号整体延迟,得到回波。第三步,构造匹配滤波器

$$ h(t) = s^*(-t) $$

并对回波做匹配滤波,得到输出

$$ y(t) = r(t) * h(t) $$

第四步,在输出中寻找主峰位置,再把对应时间换回距离:

$$ R = \frac{c\,t_{\text{peak}}}{2} $$

这就是从回波恢复目标距离的完整处理链。

练习 2:改变信噪比

问题: 把信噪比从 -10 dB 改成 -20 dB,主峰会发生什么变化?目标是否还能被辨认出来?

可直接运行 ch04_exercise_pulse_compression.m 中练习 1 的部分,比较不同 SNR 下的距离像。

解析: 当 SNR 下降时,噪声底会抬高,主峰与背景的对比度变差,因此目标会更难被直接看出来。但只要匹配滤波后的主峰仍明显高于周围噪声,就仍有机会完成检测。这个练习的重点不是算出一个固定数值,而是建立直觉:信噪比越低,峰值越不稳定,检测难度越大。

练习 3:加入第二个目标

问题: 在原来的单目标场景中,再加入一个距离为 20 km 的目标。匹配滤波输出会出现什么变化?什么时候两个目标会合并成一个峰?

可直接运行 ch04_exercise_pulse_compression.m 中练习 2 的部分,观察双目标距离像。

解析: 增加第二个目标后,距离像上会出现第二个主峰。若两个目标的距离差大于系统距离分辨率,它们会显示为两个可分离的峰;若距离差小于距离分辨率,两个峰会重叠甚至合并。这个练习的关键,是把“距离分辨率由带宽决定”这句话和图上的双峰分离效果对应起来。

练习 4:改变带宽

问题: 把带宽 $B$ 从 20 MHz 改成 5 MHz,主峰宽度会怎样变化?这说明了什么?

可直接运行 ch04_exercise_pulse_compression.m 中练习 3 的部分,对比不同带宽下的距离像。

解析: 距离分辨率满足

$$ \Delta R \approx \frac{c}{2B} $$

因此带宽减小后,距离分辨率会变差,主峰会变宽,两个相近目标也更难分开。这个练习的意义,是把公式里的 $B$ 和图形里的主瓣宽度直接对应起来。

练习 5:加入窗函数

问题: 在匹配滤波前加入汉明窗,会对主瓣宽度和旁瓣高度造成什么影响?

可直接运行 ch04_exercise_pulse_compression.m 中练习 4 的部分,比较无窗和加窗后的压缩结果。

解析: 加窗的主要作用是压低旁瓣,因此图上会看到旁瓣下降;但代价是主瓣通常会变宽,也就是分辨率会有所牺牲。这个练习体现的不是“窗越强越好”,而是工程上常见的折中:要更低的旁瓣,往往就要接受更宽的主瓣。

本章 PDF本章 MATLABGitHub 仓库