天线阵列基础:从一根天线到一群天线

各位同学,欢迎来到《5G基站天线阵列波束赋形实战》的第一章。我是你们的讲师,一个在射频天线领域摸爬滚打了十几年的老工程师。

今天咱们聊点最基础,但也最核心的东西——天线阵列。你想想看,5G基站为什么能同时给几十个用户高速传数据?靠的就是天线阵列。说白了,就是把一堆天线排成队,让它们协同工作。

1.1 天线基本参数:你得先懂这些“硬指标”

在玩阵列之前,咱们得先搞清楚单根天线的脾气。我刚开始做天线时,总觉得参数越多越牛,后来踩了坑才明白——关键参数就那么几个。

增益(Gain)

增益不是把信号“放大”,而是把能量往某个方向“挤”。好比手电筒,不加透镜光就散,加了透镜光就聚。天线增益的单位是dBi(相对于理想点源)或dBd(相对于半波振子)。

经验公式: 增益(dBi)≈ 10 × log10( 4π × 有效面积 / λ² )

我做过一个项目,客户要求增益18dBi,结果仿真出来只有16.5dBi。后来发现是馈电网络损耗太大。嗯,这里要注意——增益是“辐射效率×方向性”,别光看方向图。

方向图(Pattern)

方向图就是天线在空间各个方向上的辐射强度分布。通常用极坐标或直角坐标画。主瓣越窄,增益越高;副瓣越低,干扰越小。

  • 主瓣宽度(HPBW): 半功率波束宽度,决定了覆盖范围
  • 副瓣电平(SLL): 第一副瓣相对于主瓣的比值,单位dB
  • 前后比(F/B): 主瓣方向与反方向的比值,越大越好

避坑指南: 我曾经在调试一款基站天线时,发现副瓣电平超标。查了半天,原来是反射板边缘的电流没处理好。加了几根扼流条,副瓣降了3dB。所以啊,仿真再漂亮,实际加工时边缘效应也得留神。

极化(Polarization)

极化就是电场矢量在空间中的指向。5G基站常用双极化(±45°),为啥?因为可以同时收发,容量翻倍。

极化失配会带来损耗。比如垂直极化天线收水平极化信号,理论上损耗无限大。实际中,我见过有人把天线装歪了,导致极化隔离度从30dB掉到15dB,整站性能直接崩了。

极化类型 特点 5G应用
线极化(垂直/水平) 结构简单,易实现 早期基站,现已少用
双极化(±45°) 极化分集,容量翻倍 主流5G基站
圆极化(左旋/右旋) 抗多径,适合移动 卫星通信,部分特殊场景

1.2 均匀线阵(ULA):一维排兵布阵

均匀线阵,就是把N个天线单元等间距排成一条直线。这是最基础的阵列形式,也是理解波束赋形的起点。

为什么排成线阵就能控制波束方向?因为每个单元收到的信号有相位差。你想想看,如果所有单元同相馈电,波束就指向法向(0°)。如果给相邻单元一个固定的相位差,波束就会偏转。

核心公式: 阵列因子 AF(θ) = Σ wn · ej·n·k·d·sinθ

其中 wn 是加权系数,k=2π/λ,d是单元间距,θ是波束指向角。

我习惯用Python快速验证阵列性能。下面这段代码,可以画出8单元半波长间距的ULA方向图:

import numpy as np
import matplotlib.pyplot as plt

N = 8          # 单元数
d = 0.5        # 间距(波长)
theta = np.linspace(-90, 90, 1801)
theta_rad = np.deg2rad(theta)

# 阵列因子(均匀加权,指向0°)
AF = np.zeros_like(theta, dtype=complex)
for n in range(N):
    AF += np.exp(1j * n * 2*np.pi * d * np.sin(theta_rad))

AF_dB = 20 * np.log10(np.abs(AF) / N + 1e-10)

plt.plot(theta, AF_dB)
plt.xlabel('角度 (°)')
plt.ylabel('归一化方向图 (dB)')
plt.grid(True)
plt.show()

个人经验: 单元间距d很关键。d太大(>0.7λ)会出现栅瓣,就像衍射光栅一样,在多个方向产生强波束。d太小(<0.3λ)单元间互耦严重,方向图会畸变。我一般取0.5λ,这是工程上的黄金折中。

1.3 均匀面阵(UPA):二维波束控制

线阵只能控制一个维度的波束(方位角或俯仰角)。但5G基站需要同时控制水平和垂直方向,这就得上均匀面阵了。

UPA说白了,就是把多个ULA并排放置。假设有M行N列,总共M×N个单元。每个单元的位置用(m,n)表示,m是行索引,n是列索引。

二维阵列因子: AF(θ,φ) = Σm Σn wm,n · ej·(m·k·dy·sinθ·sinφ + n·k·dx·sinθ·cosφ)

θ是俯仰角(从天顶算起),φ是方位角。

我记得有个项目,客户要求波束在水平方向±60°扫描,垂直方向±30°扫描。用8×8的UPA,间距0.5λ,仿真结果很漂亮。但实际测试时发现,大角度扫描时增益下降严重。为什么?因为单元方向图本身有波束宽度限制,阵列因子再厉害也拧不过单元的天生局限。

注意: 面阵的波束扫描范围受单元方向图限制。如果单元本身只有±60°的覆盖,你硬要扫到±70°,增益会断崖式下跌。这叫“扫描盲区”,我在好几个项目里都吃过这个亏。

1.4 从参数到实战:一个简单的波束赋形例子

说了这么多理论,咱们来点实际的。假设你有一个4单元ULA,想让波束指向30°方向。怎么做?

  1. 计算相位差: Δφ = k·d·sin(30°) = 2π/λ × 0.5λ × 0.5 = π/2
  2. 设置加权系数: w = [1, ejπ/2, e, ej3π/2]
  3. 馈电: 每个单元按对应的幅度和相位馈电

就这么简单?嗯,原理上是的。但实际工程中,你还要考虑功放的线性度、移相器的精度、馈电网络的损耗。我见过一个案例,移相器量化误差只有5.6°(6位移相器),结果波束指向偏差了2°,副瓣抬高了1.5dB。所以啊,理论计算只是第一步,工程实现才是硬骨头。

我的建议: 刚开始做阵列设计时,先用MATLAB或Python把理想情况跑通。然后逐步加入非理想因素(量化误差、互耦、幅度误差),看看性能退化多少。这样心里有底,做硬件时才知道哪些指标必须严控。

1.5 本章小结

这一章我们聊了天线的基本参数(增益、方向图、极化),然后从ULA讲到UPA。说白了,阵列的核心就是“用多个单元的空间分布,通过控制相位和幅度,来合成想要的波束形状”。

下一章,我们会深入波束赋形的数学原理,包括傅里叶变换视角下的阵列理论。到时候你会发现,原来阵列方向图和数字信号处理里的DFT是一回事。有意思吧?

好了,今天就到这里。有什么问题,欢迎在课程群里讨论。咱们下章见。