波束成型扫描的工作原理-续

前面我们推导的波束指向角公式:

Δ ϕ = 2 π d λ ⋅ sin ⁡ ( θ ) \Delta\phi = \frac{2\pi d}{\lambda} \cdot \sin(\theta) Δϕ=λ2πdsin(θ)

**基于一维线性阵列(Uniform Linear Array,简称 ULA)**的假设!


一、这个公式成立的前提假设:

假设条件说明
线性阵列所有天线阵元在一条直线上均匀排列,阵元间距为 d d d
波束扫描方向限制在二维平面通常为水平面(azimuth)或垂直面(elevation)一个方向
远场假设(Fraunhofer region)被探测目标足够远,入射波认为是平面波(这通常在 > 2D²/λ 的距离满足)
波形一致所有阵元发射频率相同,仅相位不同
静态场景没有目标运动时的多普勒频移影响波束形成

二、阵列扩展到二维(平面阵列)时怎么办?

一旦你使用的是二维天线阵列(如 Nx × Ny 的矩阵),波束控制就不再是简单的一个角度了,而是:

波束方向 = ( θ azimuth , θ elevation ) \text{波束方向} = (\theta_{\text{azimuth}}, \theta_{\text{elevation}}) 波束方向=(θazimuth,θelevation)

在二维阵列中,必须控制两个方向的相位差,即:

  • 水平方向阵元间的相位差 → 控制方位角(Azimuth)
  • 垂直方向阵元间的相位差 → 控制俯仰角(Elevation)

三、二维阵列的波束形成公式(简化)

设阵列在 X-Y 平面上,入射方向是 θ \theta θ(俯仰)和 ϕ \phi ϕ(方位),则第 ( m , n ) (m,n) (m,n) 个阵元的相位应该是:

ϕ m , n = 2 π d λ ⋅ ( m ⋅ sin ⁡ θ ⋅ cos ⁡ ϕ + n ⋅ sin ⁡ θ ⋅ sin ⁡ ϕ ) \phi_{m,n} = \frac{2\pi d}{\lambda} \cdot (m \cdot \sin\theta \cdot \cos\phi + n \cdot \sin\theta \cdot \sin\phi) ϕm,n=λ2πd(msinθcosϕ+nsinθsinϕ)

变量含义
m , n m, n m,n阵列在X和Y方向上的索引
d d d阵元间距
θ \theta θ俯仰角(Elevation)
ϕ \phi ϕ方位角(Azimuth)

这允许你在三维空间内任意指向波束!


四、实际雷达中阵列布局例子

阵列类型特点示例
一维线阵(ULA)波束控制简单,只能扫描一个平面常用于成本敏感雷达,如车前毫米波雷达
二维平面阵(UPA)可在二维平面内扫描,支持3D定位高端车载雷达 / 空天雷达 / 5G基站天线阵列
三维立体阵可用于全向覆盖,高复杂度飞机机头/雷达罩(如美军AN/APG-81)

五、总结对比

类型控制维度可扫描角度实现复杂度
一维线性阵列1D(Azimuth 或 Elevation)单方向波束扫描⭐(简单)
二维阵列2D(Azimuth + Elevation)全向波束扫描⭐⭐⭐(中等)
三维体阵3D(任意方向)球面波束可定向⭐⭐⭐⭐(复杂)

六、二维波束形成图像化模型(Python):

8×8二维天线阵列在空间中的波束形成图

8×8 二维天线阵列**在空间中的波束形成图

上图展示的是一个 8×8 二维天线阵列在空间中的波束形成图。

  • 横轴是方位角 φ(Azimuth),从 0° 到 360°;
  • 纵轴是俯仰角 θ(Elevation),从 0°(正上方)到 90°(地平面);
  • 波束主瓣指向了我们设定的方向:(θ=50°, φ=45°)
  • 主瓣最强(0 dB),其余方向出现副瓣(sidelobes);
  • 已将 -40dB 以下部分截断,方便观察主瓣形状。

这个图展示了电子波束通过阵列干涉在空间中聚焦到一个方向的物理现象。

图像化模型展示的Python源代码:

import numpy as np
import matplotlib.pyplot as plt

# 常量定义
wavelength = 0.01  # 波长 (单位:米),对应频率30GHz(毫米波)
d = wavelength / 2  # 阵元间距,常设为 λ/2
k = 2 * np.pi / wavelength  # 波数

# 阵列规模(二维)
M = 8  # X方向阵元数
N = 8  # Y方向阵元数

# 波束方向设置(目标指向角)
theta_target = 70 * np.pi / 180  # elevation
phi_target = 45 * np.pi / 180    # azimuth

# 空间角度网格
theta = np.linspace(0, np.pi / 2, 181)  # 0 to 90°
phi = np.linspace(0, 2 * np.pi, 360)    # 0 to 360°
theta_grid, phi_grid = np.meshgrid(theta, phi)

# 计算方向向量 u = sin(theta) * cos(phi), v = sin(theta) * sin(phi)
ux = np.sin(theta_grid) * np.cos(phi_grid)
uy = np.sin(theta_grid) * np.sin(phi_grid)

# 波束形成函数(Array Factor)
AF = np.zeros_like(ux, dtype=np.complex128)

for m in range(M):
    for n in range(N):
        phase_shift = k * d * (m * (ux - np.sin(theta_target) * np.cos(phi_target)) +
                               n * (uy - np.sin(theta_target) * np.sin(phi_target)))
        AF += np.exp(1j * phase_shift)

# 归一化功率谱
AF_magnitude = np.abs(AF)
AF_dB = 20 * np.log10(AF_magnitude / np.max(AF_magnitude))

# 仅显示主瓣附近部分(抑制-40dB以下)
AF_dB_clipped = np.clip(AF_dB, -40, None)

# 绘图
fig = plt.figure(figsize=(10, 6))
ax = fig.add_subplot(111, projection='polar')
c = ax.contourf(phi_grid, theta_grid * 180 / np.pi, AF_dB_clipped, levels=40, cmap='viridis')
plt.title("2D Beam Pattern (M=8, N=8), Beam Pointing at (θ=30°, φ=45°)")
fig.colorbar(c, ax=ax, label='Relative Gain (dB)')
plt.show()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值