天线阵列设计入门:从阵列因子到波束扫描与工程实践
2026/8/27 1:39:39 网站建设 项目流程

如果你做过通信系统或射频前端的项目,大概率遇到过这种尴尬:指标要求天线增益做到14~15 dBi,同时还希望波束能快速指向不同方向,单个贴片天线、偶极子或者八木天线很难同时满足。这时候,天线阵列就是绕不开的答案。这篇笔记写给刚接触天线阵列的工程师、研究生和转行做射频的同行,从最基本的“为什么要把天线排成一排”讲起,把方向图叠加、阵列因子、波束扫描、幅度加权,再到仿真和实测之间那些容易踩的坑,一条线串下来。文章里会有必要的公式和可以运行的代码,但重点不是堆数学,而是帮你在脑子里建立起对阵列行为的直觉——理解了阵列是怎么把电磁波“捏”成特定形状的,后面看相控阵、大规模MIMO甚至卫星通信里的阵列方案,都会顺很多。

1. 天线阵列到底在解决什么问题?

1.1 单个天线做不到的事

天线本质上是一个把电路里的射频信号转换成空间电磁波的换能器。它的方向性取决于口径上的电流和场分布。咱们先说结论:单个天线的增益和波束灵活性是有物理天花板的

偶极子天线增益只有2.2 dBi左右,方向图近似全向;微带贴片天线正常做到6~8 dBi,波束覆盖半球,但再往上走就变得困难。想继续提高增益,最直接的办法是增大口径,比如抛物面天线、透镜天线,增益确实可以做到20~30 dBi,但尺寸、重量、风阻都上来了,而且波束方向是固定的,要靠电机转动天线才能改变指向。在很多场景里,你需要的不仅是高增益,还有毫秒级的波束切换,这时候机械转动根本来不及。

于是自然会想到另一条路:用多个普通天线单元,按一定几何关系排列,通过馈电的幅度和相位控制电磁波在空间中的干涉。多个弱信号在某个方向上同相叠加,就能形成比单个天线强得多的等效辐射,这就是天线阵列。它把“做大天线”变成了“做多天线+聪明地控制相位”,从制造和调度的角度都灵活得多。

1.2 阵列的三个典型应用场景

天线阵列不是实验室里的摆设,近几年几乎所有跟无线相关的系统都在往阵列方向走。我列三个最常见的场景:

  • 5G大规模MIMO:基站端部署几十甚至上百个天线单元,利用阵列的空域自由度同时服务多个用户。每个用户拿到不同的波束,空间资源被重复利用,频谱效率大幅提升。
  • 相控阵雷达:通过改变各单元的馈电相位,让波束在空间快速扫描,不需要转动雷达天线。从搜索到跟踪的切换可以在几毫秒内完成,这是机械扫描做不到的。
  • 卫星通信与射电天文:在卫星地面站和射电望远镜中,用阵列合成大孔径,等效口径可以做到非常大,用来提升接收灵敏度和分辨能力。

这三个场景对阵列的具体要求完全不同:MIMO看重的是多流传输和用户解耦,雷达看重低副瓣和快速扫描,射电天文看重灵敏度和口径效率。但它们的数学基础是同一个——方向图叠加

1.3 用声音阵列建立直觉

在进入公式之前,先用一个生活化的类比把直觉建立起来。想象一排扬声器同时播放同一段音频:在你正前方,所有扬声器到达耳朵的距离相同,声波同相叠加,声音明显加强;当你走到侧面,不同扬声器到你的距离不一样,声波到达时有先有后,相位差导致部分抵消,声音变弱。如果给每个扬声器加上不同的延迟,还可以让加强的方向偏转。这个现象就是声学里的干涉。

天线阵列做的事情和这排扬声器一模一样,只不过把声波换成了电磁波,把“延迟”换成了“馈电相位”。每一个天线单元是一个小扬声器,阵列的总方向图就是所有单元辐射场在空间中的干涉结果。理解了这一层,后面所有的公式和设计其实都是在回答同一个问题:怎么安排单元的位置、幅度和相位,才能让干涉结果符合预期。

2. 方向图叠加:阵列背后的第一性原理

2.1 乘法原理:单元方向图 × 阵列因子

学习阵列方向图时,最先要记住的是一个非常实用的结论:阵列的总方向图等于单元方向图乘以阵列因子。这句话的意思是,总方向图可以拆成两个独立部分的乘积。

单元方向图代表单个天线自身“喊话”的覆盖形状,比如贴片天线在正面辐射强、侧面辐射弱。阵列因子则代表这一组单元按照某种幅度、相位关系叠加后形成的“干涉条纹”。相乘后的结果,相当于用干涉条纹去“调制”单元本身的覆盖范围。

当然,这个乘积关系成立是有前提的:所有单元完全相同、朝向一致,并且单元之间的互耦足够小。真实阵列里互耦不可能为零,所以乘法原理更多是辅助理解和快速估算的工具,最终设计还是要靠全波仿真。但如果你连这个简化模型都还没吃透,直接上仿真反而容易被各种细节淹没。

2.2 均匀线阵的阵列因子推导

下面推导最经典的均匀线阵(ULA:Uniform Linear Array)阵列因子。假设N个各向同性单元沿z轴等间距排列,间距为d,单元馈电幅度相同,相邻单元之间的馈电相位差为β。

第n个单元在远场的贡献可以写成:

E_n(θ) = e^{j(n-1)(k d cosθ + β)}

其中 k=2π/λ,θ是观察方向与阵轴(z轴)的夹角。把所有单元场矢量加起来:

AF(θ) = Σ_{n=1}^{N} e^{j(n-1)ψ}, ψ = k d cosθ + β

这是一个等比数列求和,利用等比数列公式并把幅度归一化,得到:

AF(θ) = sin(Nψ/2) / (N sin(ψ/2))

主瓣位置出现在ψ=0,也就是:

cosθ_0 = -β / (k d)

当β=0时,θ_0=90°,波束指向阵列侧向,这种阵列叫边射阵。当β=-kd时,θ_0=0°,波束指向阵列轴向,叫端射阵。绝大多数工程场景用的是边射阵或接近边射的扫描状态。

这个公式包含的3个关键设计自由度是:阵元数量N决定波束锐利程度,阵元间距d决定栅瓣是否出现,馈电相位差β决定波束指向。

2.3 副瓣、栅瓣与“空间采样”视角

把阵列因子画出来,你会看到除了主瓣之外还有一串副瓣。均匀加权的线阵,第一副瓣电平固定是-13.2 dB,这个数字在工程里非常经典。副瓣意味着阵列会从不希望的方向接收或辐射能量,在雷达里会造成虚警,在通信里会引入干扰,所以实际设计中经常需要压制它。

比副瓣更要命的是栅瓣。当阵元间距太大时,干涉条纹会在可见空间内出现多个等幅的主瓣,每个都像真实主瓣一样“能打能收”,这会造成严重的指向歧义。可以把它类比成数字信号处理里的采样混叠:阵列相当于在空间上以间距d对波前进行采样,当采样间隔大于半个波长,就无法唯一重建波前方向。

所以工程设计里有一个默认规则:阵元间距通常取d≤λ/2。半波长间距可以保证即使波束扫描到接近端射方向,也不会有栅瓣进入可见区。很多初学者在仿真软件里把间距设成0.7λ甚至更大,仿真出来方向图花里胡哨,主瓣旁边莫名其妙多出几根“刺”,其实就是栅瓣。

3. 从公式到设计:手算一个8单元线阵的完整过程

3.1 需求拆解:先算规模,再选间距

光看公式容易飘,我拿一个具体例子走一遍完整的设计流程。假设要做工作在2.4 GHz的微带贴片线阵,需求是半功率波束宽度(HPBW)在15°左右,增益尽量高。

先估算需要的阵列长度。均匀线阵的HPBW近似为:

HPBW ≈ 0.886 λ / (N d)

2.4 GHz的波长λ约125 mm。15°换算成弧度是0.262 rad,于是:

N d ≈ 0.886 λ / 0.262 ≈ 3.38 λ

如果取阵元间距d=0.5λ,那么N≈6.76,取整就是8。这里取0.5λ不是随便拍脑袋,前面说过,半波长间距保证扫描时不会出现栅瓣,而且馈电网络尺寸也相对紧凑。8个单元加上5 mm的贴片尺寸,阵列总长度大约在0.55 m左右,工程上完全可以接受。

接下来估算增益。均匀阵列的理论增益约等于单元增益加上10log10(N)。贴片单元增益按6~8 dBi估算,8单元均匀阵列的理论增益约15~17 dBi。这只是理想估算,实际要扣除互耦、馈线损耗、阻抗失配,通常低1~2 dB。有这个数,你就能初步判断系统链路预算是否够用。

3.2 手算波束宽度与零点位置

对边射阵(β=0),主瓣在θ=90°方向。第一零点位置由条件Nψ/2=π得到:

ψ = 2π/N = π/4 ψ = k d cosθ = π cosθ

所以 cosθ=1/4,θ≈75.5°。由于方向图关于90°对称,另一个零点在104.5°,第一零点波束宽度FNBW大约是29°

再用前面的近似公式算半功率波束宽度:

HPBW ≈ 0.886 × λ / (N d) = 0.886 / (8 × 0.5) = 0.2215 rad ≈ 12.7°

这个数字比15°的需求略窄一点,说明8单元方案在波束宽度上是有余量的。如果后续实测因为互耦或误差导致波束展宽,也不至于立刻超标。

计算到这里你会发现,阵列设计在早期阶段其实很简单,不需要开仿真软件,一张纸一支笔就能把规模、波束宽度和第一零点位置定下来。这些手算值也是后面判断仿真结果是否合理的“标尺”。

3.3 用Python把方向图画出来

理论计算只能告诉你关键数字,想直观看到方向图形状,最好还是画一下。我习惯用Python里的numpy和matplotlib快速画归一化方向图,代码如下:

import numpy as np import matplotlib.pyplot as plt def array_factor(theta_deg, N, d, beta): theta = np.deg2rad(theta_deg) k = 2 * np.pi # d以波长为单位,所以 k*d = 2π*d/λ psi = k * d * np.cos(theta) + beta AF = np.abs(np.sin(N * psi / 2) / (N * np.sin(np.clip(psi, 1e-12, None) / 2))) return AF theta = np.linspace(0, 180, 1801) N = 8 d = 0.5 # 单位:波长 beta = 0 # 边射 AF = array_factor(theta, N, d, beta) AF_db = 20 * np.log10(AF / AF.max()) fig, ax = plt.subplots(subplot_kw={'projection': 'polar'}) ax.plot(np.deg2rad(theta), AF_db, linewidth=1.5) ax.set_ylim(-40, 0) ax.set_title('8-element ULA, d=0.5lambda, broadside') plt.show()

np.clip是为了避免分母为零的除零报错。运行这段代码,你会看到主瓣在90°方向,第一副瓣大约在-13.2 dB的位置,前两个电零点和我们手算的75.5°/104.5°基本吻合。

这个脚本只考虑了理想阵列因子,没有单元方向图、互耦和地平面。它的价值在于帮你把参数影响“玩”明白——把N改成16,波束变窄;把d改成0.7,观察栅瓣跑进可见区;把beta改成某个非零值,看波束偏转。这种快速验证的循环,是建立设计直觉最好的方式。

4. 波束扫描与幅度加权:从均匀阵列到实用化

4.1 相位梯度让波束转起来

上一节的例子是固定波束的边射阵。要让波束转起来,只需要改变相邻单元之间的相位差β。从主瓣条件cosθ_0=-β/(kd)可以反推出,想让波束指向θ_0,需要设置的相位梯度是:

β = - k d cosθ_0

换个更直观的说法:波束指向端射方向(θ_0=0°)时,需要的相位梯度最大;波束指向边射方向(θ_0=90°)时,相位梯度为零。波束扫描的本质就是在每个单元上增加一个与位置成正比的递进相位,在工程上用移相器实现,这就是相控阵雷达的基本原理。

但是波束扫描不是免费的。当你把波束偏转到偏离阵列法线θ_s的角度时,阵列在视线方向上的投影口径变小,等效于一个物理尺寸更小的天线,直接结果就是波束变宽、增益下降。这个损失近似为:

扫描损失 ≈ 10 log10(cosθ_s)

所以实际系统一般把扫描范围限制在±60°以内。再往外扫,增益损失太大,同时还可能出现栅瓣。这也是为什么很多阵列天线覆盖角度只有120°左右,超过这个范围就用多面阵或者共形阵来解决,比如基站的三扇区配置。

4.2 幅度加权控制副瓣:没有免费午餐

均匀加权虽然实现最简单,但-13.2 dB的副瓣在很多系统里不合格。比如雷达通常要求副瓣低于-30 dB,否则强杂波会从副瓣进入掩盖小目标。解决思路是幅度加权——让阵列中央的单元分配更大的激励幅度,边缘单元幅度变小。

常用加权方式有这么几种:

加权方式典型副瓣电平主瓣代价工程评价
均匀加权-13.2 dB主瓣最窄,增益最高实现最简单
余弦加权约-23 dB主瓣略有展宽过渡方案,偶尔用
海明窗约-42 dB主瓣明显展宽,孔径效率低边缘权值太小,不适合小阵列
切比雪夫加权可指定,如-30 dB主瓣比均匀阵宽约1.3~1.5倍等副瓣,工程常用
泰勒加权前若干副瓣近等,后渐降主瓣展宽较小平衡性好,相控阵首选

以海明窗为例,权值公式是:

w_n = 0.54 - 0.46 cos(2π n / (N-1)), n = 0, 1, ..., N-1

N=8时权值大约为[0.08, 0.25, 0.64, 0.95, 0.95, 0.64, 0.25, 0.08],归一化后边缘单元的权值非常小。代价就是阵列的有效口径缩短,波束变宽,增益损失明显。如果系统只需要-25 dB左右的副瓣,切比雪夫或泰勒加权通常比海明窗更合适,因为它们在压副瓣的同事对主瓣宽度的牺牲更小。

4.3 权值如何落地:馈电网络与数字控制的代价

幅度加权在原理图上只是一串数字,落地却要花钱。模拟相控阵每条通道除了移相器,还要加一个可调衰减器或者可变增益放大器,用来设置幅度。这意味着馈电网络的复杂度、器件成本和校准工作量都会上升。

所以实际项目里有一条朴素经验:如果系统指标对副瓣不是特别敏感,优先用均匀加权。很多商用通信阵列就这样干,因为通信系统更关心的是波束增益和覆盖范围,副瓣问题可以通过协议和基带算法部分缓解。而雷达、射电天文这类对干扰和噪声特别敏感的场景,才值得为低副瓣付出额外成本。

另外,如果你做的是数字波束成形,幅度加权就便宜得多——幅度和相位都是在数字域完成的,不需要额外的模拟衰减器,只需要在基带里乘一个复数权值。这也是为什么大规模MIMO系统能轻易部署复杂的波束赋形算法。

5. 仿真与实测之间:校准、互耦和那些踩过的坑

5.1 工具链怎么选:从脚本到全波仿真的顺序

很多新手一上来就打开HFSS或CST,建一个完整阵列模型,然后花几个小时等仿真结果。这个做法不能说错,但效率太低。我的经验是分步走:

  1. 先用Python或MATLAB把阵列因子算清楚,确定阵元数量、间距、加权方式和预期波束宽度。这一步花不了5分钟,但能帮你定位大部分设计方向问题。
  2. 再用全波仿真工具(HFSS、CST、Feko)建单个单元,把单元的阻抗带宽、方向图和增益摸清楚。
  3. 把单个单元放入阵列,加上正确的激励幅度和相位,观察互耦影响,反复迭代。

全波仿真的关键设置之一是端口激励。阵列仿真里每个单元端口都要单独设置幅度和相位,别偷懒用“所有端口同相”来替代波束扫描场景。我见过有人只仿了边射状态就认为设计完成,结果扫描到30°时方向图变形严重,因为互耦随扫描角变化导致有源阻抗失配。

5.2 互耦:仿真里敢不敢忽略

互耦是阵列设计和单天线设计最大的区别之一。单元靠得越近,互耦越强。它带来的问题主要有三个:

  • 输入阻抗漂移:单个单元匹配到50Ω,放进阵列后因为周围单元的耦合,输入阻抗变了,驻波变差。
  • 扫描盲区:阵列在某个扫描角附近有源反射系数突然变大,波束在这个方向形成“盲区”,这在相控阵里是非常讨厌的问题。
  • 单元方向图畸变:中间单元和边缘单元辐射环境不同,方向图不完全一致,乘法原理的假设被破坏。

工程上应对互耦的办法包括:拉开单元间距、在单元之间加去耦结构、优化地平面、在后端加有源匹配电路。但最可靠的方法还是把完整阵列放进全波仿真里验证。这步不能省,尤其在阵元间距接近或小于0.5λ的时候。

5.3 相位不一致是方向图畸变的第一大元凶

如果你把设计好的阵列拿去暗室实测,发现方向图不对称、副瓣抬高、波束指向偏移,先不要怀疑原理错了。根据我的经验,最大概率的原因是各通道之间的相位不一致

不一致的来源很多:射频线缆长度误差、功分器各路相位差异、移相器状态误差、放大器相位偏差、连接器松紧程度不同。这些误差叠加起来,方向图很容易从-13 dB副瓣恶化到-8 dB,主瓣指向偏出好几度。

常规校准流程是:

  1. 用矢量网络分析仪分别测量每个通道从功分器端到天线端口之间的传输系数S21,记录幅度和相位。
  2. 以其中一个通道为基准,算出每个通道相对于基准的相位差。
  3. 根据相位差设置移相器或者数字域的复数权值,做相位补偿。
  4. 如果有幅度差异,还要在幅度上做均衡。
  5. 校准后在暗室复测方向图,看副瓣和波束指向是否回到仿真预期。

除了相位误差,别忘了检查方向图测量条件。远场测量需要满足:

R ≥ 2 D² / λ

D是天线的最大尺寸。刚才8单元2.4 GHz阵列D约0.5 m,R至少4 m。如果暗室尺寸不够或者测试距离太近,量出来的方向图会“胖”,因为天线相位中心到探头的波前不是平面波。

5.4 板材、地平面与边缘效应

还有几个不被阵列因子理论覆盖的细节值得单独说。

微带阵列的地平面如果太小,边缘辐射会改变方向图,尤其是副瓣区域。设计时尽量让地平面比阵列边缘多出至少0.1λ。PCB板材的介电常数批次差异、厚度公差,会让谐振频率偏移几十MHz,这也是实测与仿真对不上的常见原因。有经验的工程师会在版图设计时预留可调匹配,或者使用同一批次板材先做单单元测试,确认参数后再投板。

另外,阵列单元的馈电结构本身就是辐射体的一部分。微带线、同轴探针、缝隙耦合,每种馈电方式的寄生辐射都不一样。如果方向图局部出现异常“凸起”,可以试着把馈线的屏蔽层、过孔阵列、地平面开槽都纳入排查范围。

6. 下一步:走向平面阵列与大规模MIMO

6.1 面阵的方向图乘积

线阵只能在一个平面内控制波束,比如垂直方向的俯仰角。但很多系统需要在方位和俯仰两个维度同时扫描,比如基站既要水平覆盖,又要兼顾下倾角。这时候要使用平面阵列

均匀平面阵列(UPA)在理想情况下,阵列因子可以近似分解为两个正交方向的线阵因子乘积:

AF(θ, φ) ≈ AF_x(θ, φ) × AF_y(θ, φ)

这个可分离性意味着你前面学的所有线阵知识可以直接搬到面阵上:先把x方向的8单元线阵因子算好,再把y方向的4单元线阵因子算好,乘起来就是完整的面阵方向图。当然,这只是工程上的快速近似,真实面阵的互耦和边缘效应会更加复杂。

再往后还有圆环阵、共形阵,它们的方向图失去了简单的可分离性,需要更复杂的综合算法。但对入门者来说,先把线阵和面阵的原理吃透,再看那些特殊阵列就不会发怵。

6.2 模拟、数字与混合波束成形

天线阵列一旦和基带信号处理结合,“波束成形”就成了无法绕开的话题。按实现位置可以分为三种:

  • 模拟波束成形:一套射频收发信机后面接多个移相器,信号在射频域加权。优点是成本低、功耗低,缺点是一个时刻只能形成一个波束,灵活性差。
  • 数字波束成形:每个天线单元后面都接一条完整的射频收发链路,在基带里对数字信号做幅度相位加权。可以同时形成多个波束,支持自适应调零和空分复用,但成本和功耗都比较高。
  • 混合波束成形:模拟域和数字域各做一部分处理,是5G毫米波系统里的主流折中方案。

对于刚入门的人来说,我建议先把关注点放在天线和阵列本身的物理特性上,等方向图、互耦、扫描这些概念都清楚了,再去理解数字域的波束成形算法。否则容易陷入“软件能算出漂亮波束但天线根本辐射不出来”的困境。

6.3 给入门者的学习路线与参考书

最后分享一条我比较认可的学习路线:

  1. 用Python脚本把均匀线阵方向图玩熟,手动改N、d、β,记录波束宽度、副瓣、栅瓣的变化规律。
  2. 加入幅度加权,比较均匀、海明、切比雪夫、泰勒的差异,理解“压低副瓣必然展宽主瓣”这个守恒关系。
  3. 学习互耦的基本概念,再回到全波仿真中看阵元间距、地平面、馈电结构是如何影响方向图的。
  4. 选一个简单项目做闭环,比如双单元或四单元贴片阵列,从设计、仿真、制板到暗室测试走一遍。

书的话,Balanis的《Antenna Theory》是经典中的经典,阵列相关章节值得反复读;Mailloux的《Phased Array Antenna Handbook》是做相控阵绕不开的工具书;如果你想深入到系统端,可以参考阵列信号处理方向的教材。

最后说一点个人体会。我做阵列项目这几年,最深的感受是:阵列因子公式其实很简单,难的是工程里所有“不一致”——相位不一致、幅度不一致、板材参数不一致。很多初学者在仿真里把方向图做得漂亮,一到实测就翻车,原因往往不是原理没搞懂,而是低估了馈电网络和误差预算的重要性。所以当你开始设计天线阵列时,我建议在方案阶段就把每一路馈线、功分器、移相器的相位误差列成一张预算表,估算它对波束指向和副瓣的最坏影响;否则实测时的“惊喜”,会在暗室里等着你。天线阵列这个方向,门槛不算高,但想做出能稳定量产的成熟产品,需要大量迭代和细心积累。

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

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

立即咨询