3. 阵列信号处理基础:波束形成、DOA估计、自适应阵列原理

好,咱们进入第三章。阵列信号处理,说白了就是怎么用好多个天线。单个天线能做的事有限,但当你把一堆天线摆成阵列,很多神奇的事情就发生了。我个人习惯把阵列处理比作「耳朵」——一只耳朵听不出方向,两只耳朵就能定位声源。天线阵列也是这个道理。

3.1 波束形成:让天线「指哪打哪」

波束形成,核心思想就一句话:对不同天线接收到的信号,加上不同的时延(或相位),然后叠加起来。这样,来自某个方向的信号会同相叠加,信号增强;来自其他方向的信号会错相抵消,信号减弱。

嗯,这里要注意:波束形成分两种——常规波束形成自适应波束形成。常规波束形成就是固定一组权值,指向一个固定方向。自适应波束形成则会根据接收到的数据,实时调整权值,去抑制干扰。

我在项目中遇到过一件事:某次外场测试,常规波束形成指向目标方向,结果旁边有个强干扰源,直接把目标信号淹没了。后来换成自适应波束形成,干扰立马被压下去。你想想看,这就是自适应和固定的区别。

常规波束形成的输出可以写成:

y(t) = w^H · x(t)

其中 w 是权值向量,x(t) 是阵列接收信号向量。对于均匀线阵,指向 θ 方向的权值为:

w(θ) = [1, e^{-j2πd·sinθ/λ}, e^{-j4πd·sinθ/λ}, ...]

说白了,这就是给每个阵元一个相位补偿,让来自 θ 方向的信号对齐。

我的经验: 实际工程中,权值计算要考虑阵元互耦、通道不一致性。我曾经因为没做通道校正,波束指向偏了3度,目标差点没抓到。所以,校准是波束形成的第一步

3.2 DOA估计:目标到底在哪个方向?

DOA估计,就是根据阵列接收到的信号,反推信号来自哪个方向。这和波束形成是「逆问题」——波束形成是已知方向去合成波束,DOA是已知波束去反推方向。

常用的方法有几种:

  • Bartlett法:就是常规波束形成扫描。把波束指向每个角度,看哪个角度输出功率最大。简单,但分辨率受限于阵列孔径。
  • Capon法(最小方差无畸变响应):在保持目标方向增益不变的前提下,最小化输出功率。分辨率比Bartlett高,但计算量大。
  • MUSIC算法:基于子空间分解。把接收信号分解成信号子空间和噪声子空间,利用两者的正交性来估计角度。分辨率极高,但需要知道信源数。
  • ESPRIT算法:利用阵列的旋转不变性,不需要谱搜索,计算效率高。

为什么会这样?因为不同方法对信号模型的假设不同。Bartlett假设信号是确定性的,MUSIC假设信号和噪声统计独立。你选哪种方法,取决于你的应用场景。

我曾经在机载雷达项目里用过MUSIC。当时要求分辨两个相距很近的目标,常规波束形成根本分不开。MUSIC一上去,两个角度清清楚楚。但代价是——MUSIC对信噪比敏感,信噪比低了,子空间分解就不准了。

方法 分辨率 计算量 适用场景
Bartlett 信噪比高、角度间隔大
Capon 干扰抑制、中等分辨率需求
MUSIC 高分辨率、已知信源数
ESPRIT 实时处理、均匀阵列
避坑指南: 我曾经在DOA估计中踩过一个坑——信源数估计错了。MUSIC算法要求你提前知道有几个信号源,如果估多了或估少了,角度估计会完全乱掉。后来我改用信息论准则(AIC、MDL)来自动估计信源数,才稳定下来。

3.3 自适应阵列原理:让阵列自己「学会」抗干扰

自适应阵列,核心就是根据环境自动调整权值。目标是最小化输出中的干扰和噪声,同时保持对期望信号的增益。

最经典的准则有几种:

  • 最小均方误差(MMSE):让输出与期望信号之间的均方误差最小。需要知道期望信号。
  • 最大信干噪比(Max SINR):直接最大化输出信干噪比。理论上最优,但需要知道干扰和噪声的统计特性。
  • 线性约束最小方差(LCMV):在约束期望方向增益不变的条件下,最小化输出功率。不需要知道期望信号的具体波形。

我建议在实际工程中优先考虑LCMV。为什么?因为它只需要知道期望信号的方向,不需要知道波形。这在雷达里很实用——我们只知道目标大概在哪个方向,但不知道它具体发什么信号。

LCMV的数学表达:

min  w^H R w
s.t. w^H a(θ) = 1

其中 R 是接收数据的协方差矩阵,a(θ) 是期望方向的导向矢量。解出来:

w_opt = R^{-1} a(θ) / (a^H(θ) R^{-1} a(θ))

说白了,就是让权值在期望方向保持增益为1,同时让输出功率最小。干扰方向上的增益会被自动压低——这就是自适应抗干扰的本质。

核心要点: 自适应阵列的「自适应」体现在权值随环境变化。干扰来了,权值自动在干扰方向形成零陷。干扰走了,零陷消失。整个过程不需要人工干预。

嗯,这里有个实际问题:协方差矩阵 R 是通过有限快拍数据估计出来的。快拍数太少,估计不准,零陷会变浅甚至偏移。我一般建议快拍数至少是阵元数的2~3倍。如果快拍数不够,可以用对角加载(Diagonal Loading)来增强稳健性。

我曾经在机载雷达上调试自适应算法,发现零陷深度总是不够。查了半天,发现是通道间有幅度不一致性。做了通道均衡后,零陷深度从-20dB降到了-40dB。所以,硬件校准和自适应算法是相辅相成的

3.4 三者之间的关系

波束形成、DOA估计、自适应阵列,这三者其实是同一枚硬币的三个面:

  • 波束形成是「执行者」——它负责合成波束,指向目标或抑制干扰。
  • DOA估计是「侦察兵」——它告诉你目标或干扰在哪个方向。
  • 自适应阵列是「指挥官」——它根据DOA估计的结果,动态调整波束形成的权值。

在实际系统中,这三者经常串在一起用。比如:先用DOA估计找到目标和干扰的方向,然后用自适应波束形成在目标方向形成主瓣、在干扰方向形成零陷。你想想看,这就是一个完整的抗干扰链路。

我的建议: 学习阵列信号处理,不要只盯着公式。动手仿真一下均匀线阵的波束图,看看不同权值下波束怎么变。再试试加一个干扰,看自适应算法怎么把零陷移过去。纸上得来终觉浅,绝知此事要躬行。

好,这一章就到这里。下一章咱们会深入讨论自适应算法的工程实现细节——包括怎么在DSP上高效计算权值、怎么处理有限字长效应。到时候我会分享一些我在实际项目中踩过的坑,敬请期待。