第2章:天线阵列基础——均匀线阵(ULA)模型、阵列流形向量、相位差与到达角(AoA)的关系
各位同学,欢迎来到第二章。
上一章我们聊了毫米波雷达的基本原理。从这一章开始,咱们正式进入天线阵列的世界。说实话,天线阵列是角度估计的基石。你想想看,如果没有阵列,单天线只能测距和速度,角度信息根本拿不到。
我个人习惯把天线阵列比作「耳朵」。一只耳朵听不出声音从哪来,但两只耳朵就能判断方向。雷达的天线阵列,就是这个道理。
2.1 均匀线阵(ULA)模型
均匀线阵,英文叫 Uniform Linear Array,简称 ULA。这是最简单、最经典的阵列结构。
什么叫均匀线阵?
就是 N 个天线阵元,等间距地排成一条直线。间距通常用 d 表示。每个阵元都是全向的,或者说具有相同的方向图。
我给大家一个标准模型:
- 阵元数量:N
- 阵元间距:d
- 信号波长:λ
- 信号入射方向:与阵列法线的夹角 θ(这就是我们要估计的到达角 AoA)
这里有个关键参数——阵元间距 d。我在项目中遇到过有人随便选 d,结果角度估计一塌糊涂。记住一个原则:d 通常取 λ/2。为什么?
因为 d > λ/2 时,会出现角度模糊,也就是栅瓣效应。d < λ/2 时,阵列孔径变小,角度分辨率下降。λ/2 是个折中,也是奈奎斯特采样定理在空间域的体现。
重要结论:均匀线阵的阵元间距 d = λ/2 是最常用配置。既避免栅瓣,又保证最大孔径。
2.2 阵列流形向量
好,接下来我们聊阵列流形向量。这个名字听起来有点唬人,其实没那么复杂。
阵列流形向量,英文叫 Array Manifold Vector,记作 a(θ)。它描述的是:当一个来自方向 θ 的平面波入射到阵列上时,每个阵元接收到的复信号之间的相对关系。
说白了,就是一组复数,反映了信号到达不同阵元时的相位差异。
对于均匀线阵,阵列流形向量的表达式是:
a(θ) = [1, e^(-j·2π·d·sinθ/λ), e^(-j·2π·2d·sinθ/λ), ..., e^(-j·2π·(N-1)·d·sinθ/λ)]^T
这里我解释一下:
- 第一个阵元作为参考点,相位为 0,所以是 1
- 第二个阵元比第一个多走了 d·sinθ 的距离,相位滞后 2π·d·sinθ/λ
- 第三个阵元比第一个多走了 2d·sinθ 的距离,以此类推
嗯,这里要注意:阵列流形向量只与阵列几何结构和信号方向有关,与信号本身无关。这是阵列信号处理的核心概念之一。
我的小技巧:在实际编程时,我习惯把阵列流形向量写成一个函数。输入角度 θ,输出一个 N 维复数向量。这样后面做波束成形、MUSIC 算法时直接调用,非常方便。
2.3 相位差与到达角(AoA)的关系
这是本章的重头戏。相位差和到达角之间,到底有什么关系?
我们来看两个相邻阵元。它们之间的距离是 d。信号从方向 θ 入射,到达第二个阵元时,比第一个阵元多走了 ΔR = d·sinθ 的路程。
这个路程差,对应一个相位差:
Δφ = 2π·ΔR/λ = 2π·d·sinθ/λ
所以:
sinθ = Δφ·λ / (2π·d)
你看,只要测出相邻阵元之间的相位差 Δφ,就能算出到达角 θ。这就是角度估计的基本原理。
但是,这里有个坑。
我曾经在调试一个 77GHz 雷达时,发现测出来的角度总是跳变。查了半天,原来是相位差 Δφ 超出了 [-π, π] 的范围,发生了相位缠绕。
避坑指南:当 d > λ/2 时,Δφ 可能超过 ±π,导致角度估计模糊。这就是我之前说的栅瓣问题。我曾经因为没注意这个,浪费了整整两天时间。所以,老老实实用 d = λ/2。
另外,实际系统中我们测到的是多个阵元之间的相位差,不是只有一对。比如 N 个阵元,我们可以得到 N-1 个相邻相位差。用这些数据联合估计角度,精度会更高。
2.4 一个简单的例子
假设我们有一个 4 阵元的均匀线阵,d = λ/2。信号从 θ = 30° 方向入射。
计算阵列流形向量:
λ = 1(归一化)
d = 0.5
θ = 30°, sinθ = 0.5
a(30°) = [1, e^(-jπ·0.5), e^(-jπ·1), e^(-jπ·1.5)]
= [1, e^(-jπ/2), e^(-jπ), e^(-j3π/2)]
= [1, -j, -1, j]
相邻阵元之间的相位差是 -π/2,也就是 -90°。代入公式:
sinθ = Δφ·λ / (2π·d) = (-π/2)·1 / (2π·0.5) = -0.5
等等,这里算出来是 -0.5,对应 θ = -30°?
嗯,注意符号。相位差的正负取决于你定义的参考方向。在实际系统中,你需要统一约定。我一般约定:信号从法线右侧入射时,相位差为正。
2.5 阵列流形向量的矩阵形式
在实际工程中,我们通常把多个方向的阵列流形向量组合成一个矩阵。这个矩阵叫做阵列流形矩阵,记作 A。
假设有 K 个信号源,方向分别是 θ₁, θ₂, ..., θK,那么:
A = [a(θ₁), a(θ₂), ..., a(θK)]
这是一个 N×K 的矩阵。每一列对应一个方向的阵列流形向量。
那么阵列接收到的信号可以写成:
x(t) = A·s(t) + n(t)
其中:
- x(t) 是 N 维接收信号向量
- s(t) 是 K 维源信号向量
- n(t) 是 N 维噪声向量
这个模型,就是后续所有角度估计算法的基础。不管是波束成形、Capon、还是 MUSIC,都从这个模型出发。
核心总结:
- 均匀线阵(ULA)是最基本的阵列结构,阵元间距通常取 λ/2
- 阵列流形向量 a(θ) 描述了不同方向信号的相位模式
- 相位差 Δφ 与到达角 θ 的关系:Δφ = 2π·d·sinθ/λ
- 阵列接收模型:x(t) = A·s(t) + n(t)
下一章,我们会基于这个模型,开始讲波束成形。说白了,就是怎么把阵列流形向量用起来,让雷达「看」得更准。
好,这一章就到这儿。有问题欢迎交流。