简介:本课件面向通信、电子工程及雷达相关专业的学生与技术人员,系统讲解阵列天线的核心理论与分析方法,帮助读者理解多单元协同实现复杂辐射特性的设计思路。压缩包内为1个PPT文件,约1.1MB,以图文与公式推导结合的形式呈现,便于课堂讲授与自学复习。内容涵盖直线阵、曲线阵、平面阵、曲面阵及立体阵等阵列类型,并围绕阵元相似性、馈电稳定性与可控性展开分析;重点讲解方向图乘积定理、等幅同相、等幅反相及等幅相差等典型激励情形,以及均匀直线阵的方向函数、边射式与端射式天线阵的辐射特性。课件中配有二元阵、五元半波振子端射阵等计算示例,可帮助读者掌握主瓣、副瓣与阵列因子的推导过程。目前已有510人学习,适合作为天线课程复习与工程入门的参考材料。
1. 阵列天线到底解决什么问题:从单天线失控到方向图乘积定理
单天线最大的问题是“没得选”。你给它一个馈电点,它的电流分布就被几何尺寸和材料定死了,方向图基本是固定的,想改波束指向只能靠机械转动。第十六讲阵列天线PPT课件开篇就点破了这个瓶颈:由单一馈电结合几何尺寸和天线材料变化来控制整个天线的电流和叠加后的定向辐射特性,已经无法满足要求。出路是把多个独立天线按一定规律排布成阵列,通过控制每个单元的馈电幅度和相位,更自由地操控天线在空间的叠加特性,进而控制定向辐射特性。
这份课件适合谁?正在学天线原理的本科生、准备雷达或通信系统天线选型的工程师、需要快速回顾阵列综合公式的从业者。它把直线阵、曲线阵、平面阵、曲面阵、立体阵的拓扑讲清楚,又把方向图乘积定理、均匀直线阵、边射阵、端射阵、地面对天线的影响逐层展开。看完你能算出一个N元直线阵的主瓣宽度、副瓣位置,也能判断阵元间距取半波长还是全波长会带来什么后果。下面按“理论怎么立住、公式怎么用、坑在哪”的顺序拆一遍。
2. 方向图乘积定理:把单元因子和阵列因子拆开算
2.1 定理的物理含义与适用条件
方向图乘积定理是阵列天线分析的基石,它的表述很简洁:阵列的辐射方向图等于单元因子乘以阵列因子。单元因子描述单个天线单元自身的辐射特性,阵列因子描述所有单元因为排列位置和馈电相位差异而产生的干涉效果。课件里用两个沿z轴排列的电基本振子做了推导,电流分别为I1和I2,间距为d,辐射场写成了两项叠加的形式,最终提取出公共的单元方向函数和只与阵列几何、馈电有关的因子。
这个定理成立有三个前提,课件里用“阵元相似性”概括了:天线形式一致,辐射场形式一致;阵列单元辐射场的坐标要和阵列一致;阵列单元可以不同,但差异只体现在幅度、相位和排列位置上。换句话说,如果某个单元的辐射方向图和别的单元不一样,乘积定理就失效了。常见做法是先用仿真软件确认所有单元在阵列环境下的有源方向图一致,再套公式。
2.2 二元阵的三种馈电情况与手算验证
课件把等幅二元阵分成三种情况:等幅同相、等幅反相、等幅相差为一般值。每种情况都给了d=λ/2和d=λ两个间距的推导。以等幅同相、d=λ/2为例,阵列因子化简为2cos(π/2·cosθ),在θ=90°方向取最大值2,在θ=0°和180°方向为零。等幅反相时,阵列因子变成2sin(π/2·cosθ),最大值出现在θ=0°和180°,θ=90°方向反而为零。课件特别提醒:sin和cos之间不能通过简单旋转获得,这意味着反相馈电不是把同相方向图转90度那么简单,副瓣结构会变。
下面用Python把三种情况的阵列因子画出来,方便对照课件里的公式。
import numpy as np import matplotlib.pyplot as plt theta = np.linspace(0, 2*np.pi, 721) d_over_lambda = 0.5 kd = 2 * np.pi * d_over_lambda # 等幅同相,psi=0 af_inphase = np.abs(2 * np.cos(kd * np.cos(theta) / 2)) # 等幅反相,psi=pi af_antiphase = np.abs(2 * np.sin(kd * np.cos(theta) / 2)) # 等幅相差pi/2 psi = np.pi / 2 af_quad = np.abs(2 * np.cos((kd * np.cos(theta) + psi) / 2)) plt.polar(theta, af_inphase, label='in-phase') plt.polar(theta, af_antiphase, label='anti-phase') plt.polar(theta, af_quad, label='quadrature') plt.legend() plt.show()这段代码直接对应课件里Case1、Case2、Case3的公式。参数d_over_lambda控制间距,改成1.0就能复现课件中全波长间距的栅瓣问题。注意反相情况的公式里用的是sin,不是cos加相位偏移,这是课件反复强调的易错点。
2.3 从二元阵推广到N元均匀直线阵
N元均匀直线阵的阵列因子是一个等比数列求和,课件给出了闭式结果:f(θ) = sin(Nψ/2) / sin(ψ/2),其中ψ = kd·cosθ + φ,φ是相邻单元的馈电相位差。归一化后除以N,得到F(θ) = sin(Nψ/2) / (N·sin(ψ/2))。这个公式在ψ=0时取极限值1,对应主瓣最大值方向。
课件用5个半波振子、间距半波长的端射阵做了完整算例。半波振子的单元因子是cos(π/2·cosθ)/sinθ,阵列因子是sin(5ψ/2)/sin(ψ/2),总方向图是两者乘积。在xoy面、yoz面、xoz面分别化简,得到不同截面上的方向函数。这个算例的价值在于展示了乘积定理怎么落到具体坐标面上,以及端射阵的主瓣确实指向阵列轴线方向。
注意:ψ=0对应的θ方向就是主瓣指向。边射阵要求φ=0且kd·cosθ=0,即θ=90°;端射阵要求φ=-kd,即θ=0°。如果φ设错符号,主瓣会跑到反方向。
3. 均匀直线阵的边射与端射:参数怎么设、方向图怎么读
3.1 边射阵与端射阵的相位条件
边射式天线阵的最大辐射方向垂直于阵列轴线,条件是所有单元同相馈电,即φ=0,此时ψ=kd·cosθ,最大值在θ=90°。端射式天线阵的最大辐射方向沿阵列轴线,条件是相邻单元相位差φ=-kd,此时ψ=kd(cosθ-1),最大值在θ=0°。课件里把这两种情况的方向函数都化简到了具体形式,边射阵的阵列因子是sin(Nkd·cosθ/2)/(N·sin(kd·cosθ/2)),端射阵是sin(Nkd(cosθ-1)/2)/(N·sin(kd(cosθ-1)/2))。
实际调试时,相位差φ由馈电网络实现。常见做法是用移相器或不等长馈线。如果用的是等长馈线加移相器,先确认移相器的参考状态是不是0度,有些移相器标称0度时实际有几十度的插入相位,这个偏差会直接让主瓣偏角。血泪经验是:先单独测每个通道的相位,再算差值,不要信标称值。
3.2 主瓣宽度与副瓣电平的估算
课件虽然没有展开副瓣电平的详细推导,但从阵列因子的sinc函数形式可以读出规律。N元均匀直线阵的副瓣电平理论值是-13.2 dB,第一副瓣位置大约在ψ=±3π/N附近。主瓣零点宽度是2π/N对应的ψ范围,换算到角度需要除以kd·sinθ。边射阵的主瓣宽度近似为0.886·λ/(N·d)弧度,端射阵的主瓣宽度更宽,近似为2·sqrt(0.886·λ/(N·d))弧度。
这些估算值在阵列综合阶段很有用。比如要求边射阵主瓣宽度小于5度,用0.886·λ/(N·d)反推,如果d=λ/2,N至少需要约20个单元。如果算出来N太大,就得考虑加大d,但d超过λ会产生栅瓣,这是个硬约束。课件里用d=λ的二元阵展示了栅瓣的出现,N元阵同样适用:d≥λ时,ψ在可见区会出现多个零点之间的最大值,形成栅瓣。
3.3 地面对阵列方向图的影响与镜像法
课件最后一部分讲地面对天线的影响,核心是镜像法。真实天线总是架设在离地面一定高度的位置,地面可以等效为无限大导体,也可以用加装反射板来模拟。竖直放置的电流元,其镜像电流方向相同;水平放置的电流元,镜像电流方向相反。课件给了一个竖直方向放置的等幅递增电基本振子阵列在xoz面的辐射方向图算例,阵列因子中包含了高度h带来的额外相位项k·2h·cosθ。
这个算例的实用价值在于:它告诉你地面不是简单地把方向图往下压,而是通过镜像阵列产生干涉。如果天线架高h=λ/4,镜像阵列和原阵列的相位差是π,在θ=90°方向可能同相叠加也可能反相抵消,取决于电流元的取向。常见做法是先用镜像法估算,再用仿真软件验证,因为实际地面的电导率和粗糙度会让镜像法偏差几个dB。
import numpy as np def array_factor_uniform(N, d_over_lambda, phi_deg, theta_deg): """N元均匀直线阵归一化阵列因子""" kd = 2 * np.pi * d_over_lambda phi = np.deg2rad(phi_deg) theta = np.deg2rad(theta_deg) psi = kd * np.cos(theta) + phi # 处理psi接近0的极限 with np.errstate(divide='ignore', invalid='ignore'): af = np.sin(N * psi / 2) / (N * np.sin(psi / 2)) af = np.where(np.abs(psi) < 1e-9, 1.0, af) return np.abs(af) # 边射阵:phi=0,主瓣在theta=90 print(array_factor_uniform(5, 0.5, 0, 90)) # 应为1.0 # 端射阵:phi=-kd,主瓣在theta=0 kd_deg = 180 # d=0.5lambda时kd=pi=180度 print(array_factor_uniform(5, 0.5, -kd_deg, 0)) # 应为1.0这段代码把课件里的公式封装成函数,phi_deg传馈电相位差,theta_deg传观察角。注意端射阵的phi要传-kd,如果传+kd主瓣会跑到θ=180°。参数d_over_lambda改成1.0,再扫theta就能看到栅瓣。
4. 避坑与排查:阵列天线计算和仿真中的五个常见翻车点
4.1 阵元相似性被破坏导致乘积定理失效
现象:用乘积定理算出来的方向图和仿真结果对不上,主瓣位置偏差大,副瓣形状完全不对。原因:阵列中某个单元因为互耦导致有源方向图和其他单元差异超过1dB,或者单元坐标系没有统一到阵列坐标系。解决:在仿真软件里提取每个单元的有源方向图,确认幅度和相位一致性;如果互耦严重,要么加大单元间距,要么改用有源方向图替代孤立单元方向图。
4.2 相位差符号搞反导致主瓣跑反
现象:端射阵仿真出来主瓣在θ=180°而不是θ=0°。原因:ψ=kd·cosθ+φ中φ的符号约定和馈电网络的实际相位方向不一致。解决:先确认馈电网络是“后单元超前”还是“后单元滞后”,再对应公式里的正负号。我一般会在代码里同时算φ和-φ两个方向图,看哪个和仿真对得上,再固定符号约定。
4.3 阵元间距超过波长产生栅瓣
现象:方向图在主瓣之外出现一个和主瓣差不多大的瓣,怎么调相位都消不掉。原因:d≥λ时,ψ在可见区(cosθ从-1到1)内出现了多个解,每个解对应一个最大值。解决:把d降到λ/2以下,或者采用非均匀间距阵列。如果因为孔径要求必须用大间距,就得接受栅瓣,或者用稀布阵优化算法压制。
4.4 地面镜像法忽略电流元取向导致方向图错误
现象:按镜像法算的垂直面方向图和实测差很多,零点位置对不上。原因:竖直电流元和水平电流元的镜像电流方向相反,如果搞混了,干涉条件就反了。解决:先判断电流元相对于地面的取向,竖直元镜像同向,水平元镜像反向。课件里的算例是竖直放置的,所以镜像电流方向相同,阵列因子中直接加了2h·cosθ的相位项。
4.5 归一化时除以N还是除以最大值搞混
现象:方向图最大值不是1,或者副瓣电平读数差了十几dB。原因:课件里归一化阵列因子是除以N,但有些教材除以最大值。如果N元阵的最大值不是N(比如有馈电幅度锥削),除以N就会得到小于1的最大值。解决:先确认馈电幅度是否等幅。等幅阵除以N没问题;不等幅阵要除以实际最大值。副瓣电平用dB表示时,分子分母都是归一化后的值,不影响相对关系。
5. 从课件公式到可复现脚本:阵列方向图批量扫描与验证
课件的价值在于把公式推导链条给全了,但真正做设计时不可能手算每个角度。我一般会把课件里的公式写成脚本,批量扫描参数,快速看趋势。下面这个脚本把N元均匀直线阵的边射和端射方向图放在一起对比,同时标出主瓣宽度和第一副瓣位置。
import numpy as np import matplotlib.pyplot as plt def normalized_af(N, d_over_lambda, phi_deg, theta_deg): kd = 2 * np.pi * d_over_lambda phi = np.deg2rad(phi_deg) theta = np.deg2rad(theta_deg) psi = kd * np.cos(theta) + phi with np.errstate(divide='ignore', invalid='ignore'): af = np.sin(N * psi / 2) / (N * np.sin(psi / 2)) af = np.where(np.abs(psi) < 1e-9, 1.0, af) return np.abs(af) theta_scan = np.linspace(0, 180, 1801) N = 8 d = 0.5 # 边射阵 af_broad = normalized_af(N, d, 0, theta_scan) # 端射阵 af_end = normalized_af(N, d, -180, theta_scan) fig, axes = plt.subplots(1, 2, figsize=(12, 4)) axes[0].plot(theta_scan, 20*np.log10(af_broad + 1e-12)) axes[0].set_title('Broadside, N=8, d=0.5λ') axes[0].set_xlabel('theta (deg)') axes[0].set_ylabel('dB') axes[0].grid(True) axes[1].plot(theta_scan, 20*np.log10(af_end + 1e-12)) axes[1].set_title('Endfire, N=8, d=0.5λ') axes[1].set_xlabel('theta (deg)') axes[1].set_ylabel('dB') axes[1].grid(True) plt.tight_layout() plt.show()这段脚本的关键参数是N和d_over_lambda。把N从8改成16,边射阵主瓣宽度会减半,端射阵主瓣宽度也会收窄但比边射阵宽。把d从0.5改成1.0,两个方向图都会出现栅瓣,边射阵的栅瓣在θ=0°和180°,端射阵的栅瓣在θ=60°和120°附近。这些现象和课件里的公式完全对应。
验证方法:先跑N=2、d=0.5、phi=0,看θ=90°是不是最大值1,θ=0°和180°是不是零。再跑N=2、d=0.5、phi=-180,看θ=0°是不是最大值1,θ=90°是不是零。这两个用例过了,说明公式实现和符号约定都对了。然后逐步加大N,观察主瓣宽度按1/N收窄,副瓣数量按N-2增加。最后把d加到1.0,确认栅瓣出现的位置和课件里d=λ的二元阵推导一致。
从那以后我每次拿到阵列天线的课件或论文,都强制走一遍“二元验证→N元扫描→栅瓣检查”这三步,不跳过任何一步。希望帮到你。
本文还有配套的精品资源,点击获取