偶极子阵列天线(带反射板)+单层天线罩
工作频率:freq=8GHz
天线:采用91个偶极子辐射单元+反射板
天线振子长度:0.45*lam,极化方向在X方向
天线阵列单元排布规律参见文件:antarrayLayOut.inc
反射板离开辐射振子的距离为:0.25*lam
反射板半径:R=110 mm
天线罩:
相对介电常数:epsr=2.23
介质损耗正切:tand=0.015
天线罩母线文件从radome.cfx文件中读入
天线阵列的端口和激励的复制在EditFEKO中完成。
启动CadFEKO,新建一个工程:antarray_with_Radome.cfx,在以下的各个操作过程中,可以即时保存做个的任何修正。
点击菜单“Home”中的图标按钮“Model unit”,在“Model unit”对话框中,选择mm;
点击菜单“Home”中的图标按钮“Model Extents”,在“Geometry extents”对话框中,设置Maximum coordinate为5E+03;
在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
在CadFEKO中左侧的树型浏览器中选中“Media”节点,点击鼠标右键,选择“Dielectric”,在弹出的“Dielectric medium properties”对话框中,定义相对介电常数(Relative permittivity)和介质损耗正切值(Dielectric loss tangent),名称定义为“radome”:
天线模型:在“Construct”菜单中,点击“Line”,弹出“Create line”对话框,定义线段的起始点坐标:Start Point (U: -lam*0.225, V: 0, N: 0.0), End point (U: lam*0.225, V:0.0, N:0.0),Label: dipole,点击“Create”。
天线模型反射板:在“Construct”菜单中,点击“Ellipse”,弹出“Create Ellipse”对话框,定义中心位置坐标:Centre Point (U: 0.0, V: 0.0 , N: offset), Radius (U)=r, Radius(V)=r,Label: ref,点击“Create”。
天线罩模型:在“Home”菜单中,点击“Import->CadFEKO model (*.cfx)”,选择自带的“radome.cfx”文件,在弹出的“Import CADFEKO model”对话框中,按照如下选项设置,点击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),
旋转轴Axis direction (U:0.0, V:0.0, N:1.0),
旋转角Angle[degrees]:360;
点击“Create”,把新生成的模型“Spin1”更名为“radome”:
天线罩模型材料设置:在左侧树型浏览器的“Geometry”中,选中Radome,在详细树型浏览器中,展开其“Regions”,选择“Region??[free space]”,点击鼠标右键选择“Properties”,在弹出的“Region properties”对话框中,设置Region medium为“radome”;
在“Region properties”对话框中,进入“Meshing”标签:
勾选:Local mesh size
Mesh size: radome_mesh
点击:OK
在左侧树型浏览器的“Model->Geometry”中选择“dipole”,在其“details”树浏览器中展开“Wires”节点,选择“Wire1”,点击鼠标右键选择“Create port->Wire port”,在弹出的对话框“Create wire port”中,把“Location on wire”设置为“Middle”,Label:Port1,点击“Create”。
在左侧树型浏览器中,由“Construct”切换到“Configuration”:
工作频率设置:展开“Global”,双击“Frequency”,弹出“Solution frequency”对话框:
选择:Single frequency;
Frequency (Hz): freq
点击OK
激励设置:在“Global”中,选中“Sources”点击鼠标右键选择“Voltage Source”,弹出“Add voltage source”对话框,采用默认设置,点击“Create”。
辐射远场设置:在“Configuration specific”中,选中“Requests”点击鼠标右键选择“Far fields”,弹出“Request far fields”对话框:
点击“3D pattern”,修正步长“Increment”中Theta的值为2,Label:ff3D,点击Add;
点击“Vertical cut (UN plane)”按钮,修正步长“Increment”中Theta的值为1,label:ffXOZ,点击“Create”。
求解方法设置:点击“Solve/Run”菜单,弹出“Solver settings”对话框,进入“MLFMM/ACA”标签,选择“Solve model with the multilevel fast multipole method (MLFMM)”;
为了降低内存,加速收敛,可以修正MLFMM的预调件(默认预调件是SuperLU-8193,可以修正为SPAI-8192)和迭代残差(0.009的计算精度足够,默认值是0.003),在这里我们设置为0.01:
在“Solver settings”对话框中,进入“Preconditioner”标签,设置如下:
Stopping criterion for residuum: 0.01
Preconditioner: Sparse approximate inverse (SPAI) (8192)
点击菜单“Mesh->Create mesh”弹出“Create mesh”对话框,设置如下:
网格剖分方法Mesh size : Custom **** 采用自定义方式
三角形面元棱边长度Triangle edge length: lam/6
线段剖分单元长度Wire segment length: lam/15
线段剖分单元半径:Wire segment radius: lam/90
点击:Mesh 生成网格。
由于阵列的单元(93个)比较多,在CadFEKO中为每个单元设定端口和激励效率相对比较低,由于阵列的单元尺寸是相同的,所以可以在EditFEKO中通过循环来快速生成阵列,并完成对端口激励信号的快速定义。为了保住CadFEKO与EditFEKO设置的一致性,我们在进入到EditFEKO界面的时候,可以锁定CadFEKO中的求解设置,操作如下:
在CadFEKO中,先保存工程文件,点击菜单“Solve/Run”中的“EDITFEKO”按钮,启动EditFEKO,弹出“Disable CadFEKO Solution configuration?”对话框,如下,点击“Yes”即可进入EditFEKO界面。
每一个工程文件都会对应一个脚本文件(后缀为.pre),该工程自动生成的脚本如下,可以发现在该脚本中包含了:计算方法、材料设置、求解设置、激励、计算远场等全面信息,接下来我们需要在“IN”函数下边写循环生成天线阵列,采用的TG函数(来复制、平移、旋转天线单元),在Sources部分,写循环来对端口进行信号加载。
把下边的脚本(或者从附带的脚本文件arrayGeneration.txt中复制)复制到“IN”函数的下边:
** Generate the array
!!for #i=1 to 92
#x=fileread("arrayLayOut.inc",#i+2,1)
#y=fileread("arrayLayOut.inc",#i+2,2)
#z=fileread("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中的脚本如下:
说明:函数fileread()实现从某文件中(如:“arrayLayOut.inc”)读取某行、某列的数值,#x=fileread(“arrayLayOut.inc”,#i+2,1)是从文件“arrayLayout.inc”中读取第i+2行、1列的数据赋给x变量;
在EditFEKO,保存修改。
把光标定在“Sources”下边,把A1一行注释掉,即:在A1前边添加“**”,把下边的脚本复制到A1一行的下边(或者从附带的脚本文件arraySource.txt中复制)。
** Sources
!!for #i=1 to 93
!!if #i=1 then
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”中的“FEKO Solver”来提交计算。(也可以关闭EditFEKO,在CadFEKO中提交计算,效果是一样的),在这里我们采用在CadFEKO中提交计算。
计算完成之后,点击“Solve/Run”菜单中的“PostFEKO”,启动后处理模块PostFEKO显示结果。
在PostFEKO中,启动之后默认显示是3D视图方式,点击“Far Field”按钮选择“ff3D”显示3D辐射方向图,在右侧面板中,勾选dB。
显示2D结果:点击“Home”菜单中的“Cartesian”,进入直角坐标系,点击“Far field”按钮选择“ffXOZ”,在右侧面板中,勾选dB。
不要关闭PostFEKO,点击保存。
在CadFEKO中,把“antarray_with_radome.cfx”另存为“antarray_only.cfx”,在左侧树型浏览器中,进入“Model->Geometry”,选中“radome”,点击鼠标右键选择“delete”。只保留了“dipole”和“ref”。
进入“Solve/Run”,点击“FEKO Solver”提交计算。计算完成之后,切换到已经打开的PostFEKO,进入到已经显示的“Cartesian”直角坐标系中。点击“Home”菜单中的“Add Model”按钮,选择“antarray_only.bof”,就可以把天线阵列的辐射结果读进来,以便和带天线罩时的辐射方向图放在一起比较。从图中可以看出:
主瓣增益:天线罩使的天线罩下降了约24.8687-22.8878=1.98dB
第一副瓣电平SLL抬高了:17.7031-16.0305=1.6726dB。