当前位置: 首页 > news >正文

使用 PyAEDT 设计参数化对数周期偶极子天线 LPDA

 

HFSS 配备了许多工具,可帮助 RF 设计人员设计不同类型的组件、滤波器、匹配网络和天线。其中一个工具是 ACT 扩展。从 View>ACT 扩展。

 

在 ACT 扩展中,有一个与天线相关的部分。用户可以使用 ACT 向导设计许多天线。其中一根天线是对数周期偶极子天线 (LPDA)。但是,该工具不允许合成天线,因此用户仅限于给定的情况。

 

此外,HFSS 具有组件 Libraries。用户可以在其中找到更多组件的另一个位置。View>Component 库。此外,此库仅包含一种设计。

 

 

本博客讨论了如何创建一个脚本来为任何所需频段设计对数周期天线。该脚本以 PyAEDT 格式编写。HFSS 可以读取多种类型的脚本,例如 Python、IronPython 和 PyAEDT。PyAEDT 比 IronPython 具有更多的功能,并且提供了更多的函数。因此,重点是为此目的开发 PYAEDT 计划。

PADL 天线具有众所周知的公式。我们将使用这些公式来设计天线。设计人员可以运行 HFSS 并参数化天线以进一步优化。

对数周期天线的公式为:

 

L_max(最长偶极子)= c/(2*Fmin)

L-min(最短偶极子) = c/(2*Fmax)

其中 Fmin 和 Fmax 是目标频带的极限。

N (元素数) = int (max (log(L_min/L_max)/log(tau)))+1

其中 tau 代表逐渐减量,介于 0.8-0.95 之间。

sigma 是间距与波长 al Fmin 的比率

 

天线方向性是 tau 和 sigma 的函数。减小 sigma 将减小天线长度,但减小 tau 将减少天线长度和元件数量(间距不变)

 

编号: Log‑Periodic Dipole Array Calculator

 

吊杆的大小和间距与天线的阻抗有关。设计人员需要使用 HFSS 运行仿真,以组装一个结构,该结构可以在没有偶极子的情况下提供正确的阻抗。一些设计改变了两个动臂之间的间距,较宽的动臂位于最长的偶极子处,较窄的动臂位于最短的偶极子处。

构造 PyAEDT 代码:

首先,首先初始化代码:

 

from pyaedt import Hfss

import math

 

下次启动 HFSSL

hfss = Hfss(projectname="LPDA", designname="LPDA", solution_type="DrivenModal", new_desktop_session=True)

 

定义主要参数。在运行之前,需要在代码中定义这些参数,因为代码必须执行许多计算才能得出天线的尺寸:

 

f_min = 300e6 # Hz

f_max = 3e9   # Hz

c = 3e11       # mm/s

tau = 0.9

sigma = 0.05

r = 1         # mm

Zshift = 3   (Pitch between the two booms and the dimension of the boom's cross-section) # mm

Zgap = 1     (spacing between the two booms) # mm

 

现在我们开始计算偶极子和其他维度:

 

L_max = c / (2 * f_min)

L_min = c / (2 * f_max)

N = int(math.ceil(math.log(L_min / L_max) / math.log(tau))) + 1

 

x_pos = 0 # X-position start

 

# Create Dipoles

dipole_names = []

for n in range(N):

L_n = L_max * (tau ** n)

d_n = sigma * L_n

half_len = L_n / 2

 

name1 = f"Dipole{n}_1"

name2 = f"Dipole{n}_2"

 

hfss.modeler.primitives.create_cylinder(cs_axis="Y",

position=[x_pos, -half_len, 0],

radius=r,

height=L_n,

name=name1,

matname="copper")

 

hfss.modeler.primitives.create_cylinder(cs_axis="Y",

position=[x_pos, half_len, 0],

radius=r,

height=-L_n,

name=name2,

matname="copper")

 

dipole_names.extend([name1, name2])

x_pos += d_n

 

上述代码产生了一个对数周期天线,其中偶极子连接到一个吊杆上。我们把它们分成两部分,然后我们用 Zshift 移动它们:

 

split_names = hfss.modeler.split(dipole_names, plane="ZX")

 

moved_objects = [name for name in split_names if "_Split1" in name]

hfss.modeler.move(moved_objects, [0, Zshift, Zshift])

 

我们现在创建吊杆:

 

Startofthebar = -r - Zshift

Lengthofthebar = x_pos + 2 * (r + Zshift)

StartofGap = (Zshift - Zgap) / 2

 

box1 = hfss.modeler.primitives.create_box(

[Startofthebar, 0,  -(Zshift-Zgap)/2],

[Lengthofthebar, Zshift,  Zshift-Zgap],

name="Box1",

matname="vacuum"

)

hfss.modeler.change_material("Box1", "copper")

 

hfss.modeler.duplicate_along_line("Box1", [0, 0, Zshift], 2)

 

现在我们有了天线,我们需要添加一个端口:

 

Endofthebar = x_pos + (r + Zshift)

HZshift = Zshift / 2

HZgap = Zgap / 2

EndofGap = StartofGap + Zgap

 

rectangle = hfss.modeler.primitives.create_rectangle(

position=[Endofthebar, 0, StartofGap],

dimension_list=[Zshift, Zgap],

cs_axis="X",

name="Rectangle1",

matname="vacuum"

)

 

分配集总端口:

 

hfss.create_lumped_port_to_sheet(sheet_name="Rectangle1",

axisdir="Z",

impedance=50,

start_point=[Endofthebar, HZshift, StartofGap],

end_point=[Endofthebar, HZshift, EndofGap])

 

 

最后,我们可以关闭项目:

 

hfss.save_project()

hfss.release_desktop()

 

用户拥有专为所需带宽设计的天线。如果我们想对天线进行参数化以进一步优化它怎么办?我们希望优化偶极子长度,同时保持第一个和最后一个偶极子长度固定。因此,我们将创建偶极子的代码更改为以下内容:

# Create Dipoles

dipole_names = []

for n in range(N):

L_n = L_max * (tau ** n)

d_n = sigma * L_n

half_len = L_n / 2

 

name1 = f"Dipole{n}_1"

name2 = f"Dipole{n}_2"

name3= f"DipoleLength{n}"

hfss[‘name3’] = L_n

 

hfss.modeler.primitives.create_cylinder(cs_axis="Y",

position=[x_pos, -half_len, 0],

radius=r,

height=”name3”,

name=name1,

matname="copper")

 

hfss.modeler.primitives.create_cylinder(cs_axis="Y",

position=[x_pos, half_len, 0],

radius=r,

height=”-name3”,

name=name2,

matname="copper")

 

dipole_names.extend([name1, name2])

x_pos += d_n

 

 

具有参数化偶极子的最终模型如下所示。

 

 

相关文章:

  • 网站公司注册流程sem分析是什么
  • 个人建网站成本营销策略4p
  • 千博政府网站管理系统企业网站建设平台
  • 苏州新区网站建设广州新闻播报
  • 织梦网站修改教程网站做优化好还是推广好
  • 淘宝店铺网站建设长春关键词优化报价
  • OSS与NAS混合云存储架构:非结构化数据统一管理实战
  • 【Java高频面试问题】数据库篇
  • Drag-and-Drop LLMs: Zero-Shot Prompt-to-Weights
  • Windows10的任务栏时间显示秒 笔记250624
  • vue3+echarts实现tab切换多个图表
  • redis的安装及操作
  • 数据库AICD特性之--一致性 Consistency
  • 大语言模型训练中的自监督学习和其他训练方式
  • 【技术难题】el-table的全局数据排序实现示例,不受分页影响,以及异步请求带来的页面渲染问题
  • 数据结构与算法:图论——深度优先搜索dfs
  • 数据结构知识点总结--绪论
  • vue2中前端实现图片裁剪上传到服务器
  • go语言 *和
  • IoT创新应用场景,赋能海外市场拓展
  • ARM架构鲲鹏主机BClinux离线安装docker步骤
  • “免费音乐下载工具推荐:小梦音乐绿色版体验,下载速度实测“
  • ​CentOS 7 单用户模式重置 root 密码完整指南
  • CUDA12.1+高版本pytorch复现Mtrans环境
  • MySQL 8.x配置MGR高可用+ProxySQL读写分离(三):配置ProxySQL主从分组信息
  • 索引优化SEO帮助你的网站内容更快被搜索引擎发现