FEKO应用16偶极子阵列天线罩解析.docx
《FEKO应用16偶极子阵列天线罩解析.docx》由会员分享,可在线阅读,更多相关《FEKO应用16偶极子阵列天线罩解析.docx(16页珍藏版)》请在冰豆网上搜索。
![FEKO应用16偶极子阵列天线罩解析.docx](https://file1.bdocx.com/fileroot1/2022-10/22/ecc8472c-707c-4860-a013-1d309c72ee5f/ecc8472c-707c-4860-a013-1d309c72ee5f1.gif)
FEKO应用16偶极子阵列天线罩解析
FEKO应用16:
天线罩透波
内容:
偶极子阵列天线(带反射板)+单层天线罩
一、设计仿真流程
二、模型描述
工作频率:
freq=8GHz
天线:
采用91个偶极子辐射单元+反射板
天线振子长度:
0.45*lam,极化方向在X方向
天线阵列单元排布规律参见文件:
antarrayLayOut.inc
反射板离开辐射振子的距离为:
0.25*lam
反射板半径:
R=110mm
天线罩:
相对介电常数:
epsr=2.23
介质损耗正切:
tand=0.015
天线罩母线文件从radome.cfx文件中读入
天线阵列的端口和激励的复制在EditFEKO中完成。
三、主要流程:
启动CadFEKO,新建一个工程:
antarray_with_Radome.cfx,在以下的各个操作过程中,可以即时保存做个的任何修正。
3.1:
定义长度单位:
默认单位是m
点击菜单“Home”中的图标按钮“Modelunit”,在“Modelunit”对话框中,选择mm;
3.2:
定义容器大小:
默认单位是5e+02
点击菜单“Home”中的图标按钮“ModelExtents”,在“Geometryextents”对话框中,设置Maximumcoordinate为5E+03;
3.3:
定义变量:
在CadFEKO中左侧的树型浏览器中双击“Variables”节点,依次定义如下变量:
工作频率freq=8e9
工作波长lam=c0/freq/0.001
介电常数epsr=2.33
损耗正切tand=0.015
天线反射板半径:
R=110
天线反射板离偶极子阵列的距离:
offset=-lam/4
天线罩网格剖分标准:
radome_mesh=lam/3.5
3.4:
定义材料:
在CadFEKO中左侧的树型浏览器中选中“Media”节点,点击鼠标右键,选择“Dielectric”,在弹出的“Dielectricmediumproperties”对话框中,定义相对介电常数(Relativepermittivity)和介质损耗正切值(Dielectriclosstangent),名称定义为“radome”:
3.5:
模型建立:
天线模型:
在“Construct”菜单中,点击“Line”,弹出“Createline”对话框,定义线段的起始点坐标:
StartPoint(U:
-lam*0.225,V:
0,N:
0.0),Endpoint(U:
lam*0.225,V:
0.0,N:
0.0),Label:
dipole,点击“Create”。
天线模型反射板:
在“Construct”菜单中,点击“Ellipse”,弹出“CreateEllipse”对话框,定义中心位置坐标:
CentrePoint(U:
0.0,V:
0.0,N:
offset),Radius(U)=r,Radius(V)=r,Label:
ref,点击“Create”。
天线罩模型:
在“Home”菜单中,点击“Import->CadFEKOmodel(*.cfx)”,选择自带的“radome.cfx”文件,在弹出的“ImportCADFEKOmodel”对话框中,按照如下选项设置,点击OK。
完成导入之后,可以发现在左侧树型浏览器的“Model->Geometry”中有“radome_base”、“radome_inner”、“radome_outer”,同时选中这三个模型,点击鼠标右键,选择“Apply->Union”,新生成的模型为“Union1”;
选中新模型“Union1”,点击鼠标右键“Apply->Spin”,在弹出的“Spin”对话框中,按照下图进行设置:
旋转中心Origin:
(U:
0.0,V:
0.0,N:
0.0),
旋转轴Axisdirection(U:
0.0,V:
0.0,N:
1.0),
旋转角Angle[degrees]:
360;
点击“Create”,把新生成的模型“Spin1”更名为“radome”:
天线罩模型材料设置:
在左侧树型浏览器的“Geometry”中,选中Radome,在详细树型浏览器中,展开其“Regions”,选择“Region?
?
[freespace]”,点击鼠标右键选择“Properties”,在弹出的“Regionproperties”对话框中,设置Regionmedium为“radome”;
在“Regionproperties”对话框中,进入“Meshing”标签:
勾选:
Localmeshsize
Meshsize:
radome_mesh
点击:
OK
3.6:
天线端口设置:
在左侧树型浏览器的“Model->Geometry”中选择“dipole”,在其“details”树浏览器中展开“Wires”节点,选择“Wire1”,点击鼠标右键选择“Createport->Wireport”,在弹出的对话框“Createwireport”中,把“Locationonwire”设置为“Middle”,Label:
Port1,点击“Create”。
3.7:
电参数与求解设置:
在左侧树型浏览器中,由“Construct”切换到“Configuration”:
工作频率设置:
展开“Global”,双击“Frequency”,弹出“Solutionfrequency”对话框:
选择:
Singlefrequency;
Frequency(Hz):
freq
点击OK
激励设置:
在“Global”中,选中“Sources”点击鼠标右键选择“VoltageSource”,弹出“Addvoltagesource”对话框,采用默认设置,点击“Create”。
辐射远场设置:
在“Configurationspecific”中,选中“Requests”点击鼠标右键选择“Farfields”,弹出“Requestfarfields”对话框:
点击“3Dpattern”,修正步长“Increment”中Theta的值为2,Label:
ff3D,点击Add;
点击“Verticalcut(UNplane)”按钮,修正步长“Increment”中Theta的值为1,label:
ffXOZ,点击“Create”。
求解方法设置:
点击“Solve/Run”菜单,弹出“Solversettings”对话框,进入“MLFMM/ACA”标签,选择“Solvemodelwiththemultilevelfastmultipolemethod(MLFMM)”;
为了降低内存,加速收敛,可以修正MLFMM的预调件(默认预调件是SuperLU-8193,可以修正为SPAI-8192)和迭代残差(0.009的计算精度足够,默认值是0.003),在这里我们设置为0.01:
在“Solversettings”对话框中,进入“Preconditioner”标签,设置如下:
Stoppingcriterionforresiduum:
0.01
Preconditioner:
Sparseapproximateinverse(SPAI)(8192)
3.8:
网格划分:
点击菜单“Mesh->Createmesh”弹出“Createmesh”对话框,设置如下:
网格剖分方法Meshsize:
Custom****采用自定义方式
三角形面元棱边长度Triangleedgelength:
lam/6
线段剖分单元长度Wiresegmentlength:
lam/15
线段剖分单元半径:
Wiresegmentradius:
lam/90
点击:
Mesh生成网格。
3.9:
阵列的生成:
由于阵列的单元(93个)比较多,在CadFEKO中为每个单元设定端口和激励效率相对比较低,由于阵列的单元尺寸是相同的,所以可以在EditFEKO中通过循环来快速生成阵列,并完成对端口激励信号的快速定义。
为了保住CadFEKO与EditFEKO设置的一致性,我们在进入到EditFEKO界面的时候,可以锁定CadFEKO中的求解设置,操作如下:
在CadFEKO中,先保存工程文件,点击菜单“Solve/Run”中的“EDITFEKO”按钮,启动EditFEKO,弹出“DisableCadFEKOSolutionconfiguration?
”对话框,如下,点击“Yes”即可进入EditFEKO界面。
每一个工程文件都会对应一个脚本文件(后缀为.pre),该工程自动生成的脚本如下,可以发现在该脚本中包含了:
计算方法、材料设置、求解设置、激励、计算远场等全面信息,接下来我们需要在“IN”函数下边写循环生成天线阵列,采用的TG函数(来复制、平移、旋转天线单元),在Sources部分,写循环来对端口进行信号加载。
把下边的脚本(或者从附带的脚本文件arrayGeneration.txt中复制)复制到“IN”函数的下边:
**Generatethearray
!
!
for#i=1to92
#x=("arrayLayOut.inc",#i+2,1)
#y=("arrayLayOut.inc",#i+2,2)
#z=("arrayLayOut.inc",#i+2,3)
TG:
1:
dipole.wire1:
dipole.wire1:
#i:
2:
:
:
:
#x:
#y:
#z
TG:
1:
dipole.wire1.port1:
dipole.wire1.port1:
#i:
2:
:
:
:
#x:
#y:
#z
!
!
next
复制之后,EditFEKO中的脚本如下:
说明:
函数()实现从某文件中(如:
“arrayLayOut.inc”)读取某行、某列的数值,#x=(“arrayLayOut.inc”,#i+2,1)是从文件“arrayLayout.inc”中读取第i+2行、1列的数据赋给x变量;
在EditFEKO,保存修改。
把光标定在“Sources”下边,把A1一行注释掉,即:
在A1前边添加“**”,把下边的脚本复制到A1一行的下边(或者从附带的脚本文件arraySource.txt中复制)。
**Sources
!
!
for#i=1to93
!
!
if#i=1then
A1:
0:
dipole.Wire1.Port#i:
0:
:
:
1:
0**VoltageSource1
!
!
else
A1:
1:
dipole.Wire1.Port#i:
0:
:
:
1:
0**VoltageSource#i
!
!
endif
!
!
next
修改后的EditFEKO脚本如下:
在EditFEKO中保存做过的修改,点击“Solve/Run”菜单中的“PreFEKO”,检查有无错误,无误之后,可以点击“Solve/Run”中的“FEKOSolver”来提交计算。
(也可以关闭EditFEKO,在CadFEKO中提交计算,效果是一样的),在这里我们采用在CadFEKO中提交计算。
3.10:
后处理显示结果:
计算完成之后,点击“Solve/Run”菜单中的“PostFEKO”,启动后处理模块PostFEKO显示结果。
在PostFEKO中,启动之后默认显示是3D视图方式,点击“FarField”按钮选择“ff3D”显示3D辐射方向图,在右侧面板中,勾选dB。
显示2D结果:
点击“Home”菜单中的“Cartesi