通过 ACT Extensions


Launch Wizards 启动向导


选择矩形贴片探针馈电

频率 1 GHz,基板 Duroid (tm)。点击综合(Synthesis),自动计算 Antenna Dimensions 预定义尺寸,点击 Finish。




包含边界条件和激励


包含分析求解器 FF_Sweep(远场)和 SParam_Sweep







我们将从一个简单的贴片天线单元模型开始,该天线工作在 1 GHz 频段,底部采用同轴馈电。该模型是使用 Antenna Toolkit(天线工具包)创建的。

例如,如果您选择“天线”>“Patch”>“矩形探针馈电”,中央页面将更新为“综合(Synthesis)”页面,并显示该天线模板:

有两个选项:综合(Synthesis)和生成(Generate)。如果向导未连接到 AEDT,则“生成”按钮将不可用。点击 Connect to AEDT,会启动 AEDT 界面。

“综合”按钮用于执行天线的综合设计,无需连接 AEDT 即可使用。您可以查看控制天线几何结构的各项参数。此外,您可以随意进行多次综合操作,甚至可以更换天线模板。

“Generate”按钮用于创建HFSS模型。它会利用“3D Component”、“Create Hfss Setup”和“Lattice pair”复选框,以及“Sweep Bandwidth %”选项,并结合长度和频率单位来执行HFSS设置。
以下是“Design”选项卡中各复选框的使用说明:



在天线周围创建了一个空气盒(Airbox)空气盒子四周紧挨基板,上下留有空气区域,使其从各个方向包裹基板,并使用主从边界条件(LCE Pair Boundaries)来模拟单元的周期性,上下面则设置了辐射边界条件。
删除单元自动设置的的空气辐射边界以及辐射区域。单元不删除自动设置的空气区域,会导致在阵列中区域冲突。




选择上下两个面作为辐射边界

显式法(不推荐):创建了一个 8x8 的阵列模型。其创建方式就是复制单元并将几何体放置排列到相应位置,同时复制激励条件。这是分析整个阵列的传统方法。在这种方法中,HFSS 会对整个结构进行网格剖分和仿真。对于较大的阵列,网格剖分过程会变得非常复杂,且需要大量的计算资源,这限制了用户仿真更大规模阵列的能力。
修改阵列单元求解类型,取消勾选 Auto-Open Region

修改开放区域,四周扩展区域改为 0 ,以便应用周期边界。上部区域距离设置为 15cm = λ/2 半个波长,下部区域保持 10cm。
+Z 通常是天线的主辐射方向(远场主瓣朝上),-Z 是接地板/背面方向,两者物理上完全不对称:
主辐射方向要多留距离保证 PML 吸收干净,背面方向能量弱可以少留。



删除单元的开放区域边界条件

重新设置边界。四周是周期性边界, Coupled 手动设置 Lattice Pair,或者选择自动 Auto








上下两面设置辐射边界


切换求解器类型 HFSS with Hybrid and Ayyays (具体取决于版本)



Padding Cells 的作用是:在你定义的 8×8 真实阵列的外围,自动再包裹一圈(或多圈)"虚拟/填充单元",这些填充单元参与场求解,但不计入最终的阵列结果(不算方向图、不算端口 S 参数)。
这里 Padding Cells = 1,意思就是:在 8×8 阵列的四周各加 1 圈填充单元,实际参与 DDM 求解的是 (8+2) × (8+2) = 10×10 个单元,但输出结果只取中间真实的 8×8。
加 Padding Cells(核心作用):
经验法则:Padding Cells = 1 对大多数工程阵列够用;如果你特别关心边缘单元的增益/扫描性能、或者阵列很小(比如只有 4×4,边缘占比大),可以加到 2;阵列很大(比如 16×16 以上)边缘占比小,填 1 甚至 0 都行。
在 HFSS 里域分解法 DDM(Domain Decomposition Method)的具体实现叫 HFSS DDM(也常和有限阵列一起称为 Finite Array DDM),是 ANSYS 专门用来求解大型阵列天线的一种高效算法。
传统 FEM(有限元)算一个 8×8=64 单元的阵列,要把整个阵列当成一个大模型一次性剖分求解,网格量巨大、内存吃不消。
DDM 的思路是:
所以它能用远小于全波FEM的资源,算出带真实互耦和边缘效应的大型有限阵列结果——这是 Regular Array + Padding Cells 对话框背后的求解原理。
保持激活所有单元

Ctrl + D 缩放至窗口显示

设置辐射球




对于这些仿真,可以通过 Tools > Options > HPC and Analysis Options > Edit 来调整使用的核心数。

选择 Save radiated fields only 只是为了减少结果文件的大小。


建议 50G 以上电脑内存,等仿真完成(需要1个小时左右)之后,阵列波束计算,并且应用到激励源。

在该方法中,HFSS 首先对单个单元进行网格剖分,然后将该网格复制并应用到所有其他阵列单元上。这种方法可以显著减少网格剖分时间和内存占用,并且通过该方法强制保持网格的周期性,从而提高仿真精度。
先删除单元自动设置的辐射边界以及辐射区域。单元不删除自动设置的辐射边界和区域,会导致在阵列中区域冲突。单元修改为四周是周期边界和上下面是辐射边界。
然后将单元的 HFSS Design 复制一个,用于阵列。不要手动在阵列修改单元边界,导致网格无法匹配。
双击分析求解设置打开分析设置。在这里,我们不再对单元进行自由网格剖分,而是直接从单元模型导入网格。

因此,我们先求解单元模型并生成网格,然后回到此处,选择该项目中的单元模型来导入网格。如果需要,可以勾选保留源设计求解结果的选项。
接着进入“变量映射(Variable Mapping)”选项卡,按名称映射变量。

在“额外网格细化”选项中,选择忽略目标设计中的所有网格操作,因为我们只需要从单元模型复制网格即可。

此处必须使用的求解器是“域分解(Domain Decomposition)”求解器,它可以通过网络分布网格并访问分布式 RAM,从而允许以更短的仿真时间仿真更大的阵列。

现在我们已经导入了单元模型的网格。
3D 组件阵列法(3D Component Array Method)与 FDDM 方法类似,但要求单元必须使用 3D 组件(3D Components)创建。它利用了高效的域分解方法,与 FDDM 相比,这种仿真技术能够实现更快的仿真速度和更低的内存占用,并且同样可以利用分布式计算资源。
使用 3D 组件阵列法的另一个好处是,用户可以插入不同的 3D 组件单元,从而能够对包含非相同单元的有限半周期结构进行建模,提高了灵活性。
回到单元模型,删除单元的空气辐射边界以及辐射区域。单元不删除空气区域,会导致在阵列中区域冲突。
首先要创建一个 3D 组件。切换到对象选择模式,按 Ctrl+A 全选所有对象,右键点击选择“Create 3D Component(创建 3D 组件)”。为其命名并点击确定,将其保存到本地。现在我们有了该单元的 3D 组件。


在项目菜单中插入一个新的 HFSS 设计,命名为“Component DDM”。接下来导入 3D 组件:右键点击 3D Components 选择“Browse 3D Component”,选中刚才保存的组件并打开。

你可以通过创建目标坐标系或相对坐标系将其放置在任意位置,这里我们保持全局坐标系不变,点击确定。现在组件已插入模型中。要使用此方法,必须更改求解类型。进入 HFSS 菜单,选择 Solution Type(求解类型),此处必须选择“HFSS with Hybrid and Arrays”,同时确保模型求解类型与其他模型一致,点击确定。
这里不需要再设置边界条件。在原来的 3D 组件中已经包含。
创建阵列同样非常简单:右键点击模型选择“Create Array”,设置为 8x8。Padding cells 是 1。
进入 Unit Cell 选项卡,选择哪些单元激活、哪些被动。要全部激活,只需点击一个然后拖动鼠标到底部即可。点击应用并关闭,模型就创建完成了。

接下来添加分析设置。同样,求解器必须选择“Domain Decomposition”。
前面的求解没有设置激励源,只有正确设置波束和激励源,才能准确计算阵列波束。


点击 Calculate and Apply to Sources
查看激励源


3D Polar Plot



更改 Theta: 20.0,点击 Calculate,再点击 Calculate and Apply to Sources。然后会自动更新求解远场数据。

相控阵扫描相位差计算过程
相控阵要让波束指向某个扫描角 θ,相邻单元之间需要施加的馈电相位差为:
其中各符号含义:
负号表示"滞后"——波束往 +θ 方向扫时,靠后的单元要依次滞后激励。
结果 ,对应
。我们反过来验证/还原计算过程。
第 1 步:把角度转成弧度制运算
公式里 算出来是弧度,最后再换算成度:
第 2 步:代入扫描角
第 3 步:确定 (归一化阵元间距)
由结果反推:
也就是说,B 方向(LatticePair2 / Y 方向)的阵元间距约为 0.6238 个波长(这是很典型的略小于 0.7λ 的设计,避免栅瓣)。
第 4 步:正向计算
加上"滞后"的负号:
即每个单元比前一个滞后 76.80°,整列累加后波束主瓣就精确指向 20°。

可视化结构场叠加显示


返回到模型结构界面
这是 64 单元整阵的方向图。 "贴在一个单元上"只是因为 HFSS 把远场球的原点放在全局坐标 (0,0,0)、又和 cm 级几何同框显示造成的视觉错觉,数据本身是整个阵列的。


可以创建一个相对坐标系,中心位于阵列中心。然后将 3D 辐射球的坐标系切换成相对坐标系。并且可以调整 Field Overlay 缩放。这样就可以将 3D 方向图绘制到阵列中央。





仿真模型的求解都能够收敛,结果基本相同并且正确。
网格规模主要通过“最大求解四面体数 (Max solved tets)”和“最大矩阵尺寸 (Max matrix size)”来体现,这直接反映了模型离散化的精细程度和计算复杂度。
内存数据主要关注“平均每进程内存 (Average memory/process)”和“最大每进程内存 (Max memory/process)”。所有运行均使用了4个核心(Total number of cores: 4),并在后期启用了4个进程(Distributed Interpolating sweep)。
这里主要对比最终的总耗时(取日志中最大的 Elapsed Time 或 Stop Time 减去 Start Time 的推算,日志中直接给出了分段耗时,看最终完成的总耗时)。
天线阵列按规模分两类:
简单说:无限阵列是理想假设,有限阵列是真实物理。
Finite Array Beam Angle 是一个波束指向角计算器(Beam Angle Calculator),作用是:根据你给的阵元间距、工作频率、各单元的激励相位(或想要的扫描角),快速算出阵列的主瓣波束指向角度,或者反过来——给定想要的扫描角,算出每个单元该加多少相位。
它本质是在算阵列因子(Array Factor)的相位关系,核心公式就是经典的相控阵扫描公式:
:相邻单元的馈电相位差;
:波长(由频率决定);
:阵元间距;
:波束扫描角(偏离法线的角度)。
完整链路:

Scan Angles(扫描角设置)—— "想让波束指到哪"
合起来:让这个 8×8 阵列的主瓣指向 θ=20°、φ=0° 的方向。
Phase Shifts(相位偏移)—— "每个方向该加多少相位差"
点 Calculate 后,工具用相控阵公式 自动算出两个晶格方向上相邻单元需要的馈电相位差:
这两个值就是等幅度、线性递进的相控扫描相位。
Aperture Taper(口径加权 / 幅度锥削)—— "要不要压低旁瓣"
该项控制各单元的激励幅度是否均匀,是用来做旁瓣抑制(SLL 控制)的:
坐标系与阵列范围 —— "对哪些单元施加这套激励"
底部按钮 —— 怎么把结果用到仿真里
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删