一、模型描述
工作频率:freq=1GHz
天线:采用51源偶极子组成的偶极子阵列(垂直极化放置)
天线振子长度:0.45*lam,沿X方向平行排列
天线阵列单元排布规律参见文本格式文件[图2所示]:../started/arrayLayout.inc
天线阵列单元的激励幅度和相位参见文本格式文件[图3所示]:../started/Mag_phase.inc
注:上述两个文件中单元的幅度和相位排布要和坐标位置排列对应,如单元位置文件的第二行描述的是端口1,在单元激励幅度与相位文件的第二行对应的就是端口1对应的激励和相位。
注:该例子中天线阵列单元排布规律文件的坐标值是以m单位给定的,所以在CadFEKO中建模的时候,也是采用m的单位,这个要注意对应。
天线单元的复制和激励的添加均在EditFEKO中完成。
图1:阵列的模型示意图
图2:天线阵列各单元的位置(X坐标、Y坐标、Z坐标),第一行是注释
图3:天线阵列各单元的幅度和相位(幅度、相位组合1、相位组合2…)
第一行描述主瓣指向角度与第二行均为注释行
二、主要流程:
启动CadFEKO,新建一个工程:dipole_array.cfx,在以下的各个操作过程中,可以即时保存做个的任何修正。
2.1 定义变量:
在左侧树型浏览器中,双击“Variables”节点,依次定义如下变量:
工作频率:freq=1e9
工作波长:lam=c0/freq
2.2 模型建立:
天线模型建立:在“Construct”菜单中,点击“Line”,弹出“Create line”对话框,定义线段的起始点坐标:Start Point (U:0.0, V: 0, N: -lam*0.225), End point (U:0.0, V:0.0, N: lam*0.225),Label: dipole,点击“Create”。
图4:天线模型建立
2.3 天线端口设置:
在左侧树型浏览器中,展开“Model->Geometry”节点,选中新建的“dipole”模型,在左下角的“details”树浏览器中展开“Wires”节点,选择“Wire1”(注:该名称在EditFEKO中进行模型复制平移-TG的时候要对应),点击鼠标右键选择“Create port->Wire port”,在弹出的 “Create wire port” 对话框中,把“Location on wire”设置为“Middle”,Label:Port1(该端口的编号也和EditFEKO中应用端口复制平移TG命令用到的编号对应),点击“Create”按钮。
图5:端口的定义
2.4 电参数与求解设置:
在左侧树型浏览器中,由“Construct”切换到“Configuration”:
工作频率设置:展开“Global”,双击“Frequency”,弹出“Solution frequency”对话框:
选择:Single frequency;
Frequency (Hz): freq
点击OK
激励设置:在“Global”中,选中“Sources”点击鼠标右键选择“Voltage Source”,弹出“Add voltage source”对话框,采用默认设置,点击“Create”。
图6:设置电压源激励
辐射远场设置:在“Configuration specific”中,选中“Requests”点击鼠标右键选择“Far fields”,弹出“Request far fields”对话框:
图7:设置3D远场
点击“3D pattern”,修正步长“Increment”中Theta的值为1,phi的值为1,Label:ff3D,点击Add;
点击“Horizontal cut (UV plane)”按钮:
Start:(Theta: 90; Phi: 0)
End:(Theta: 90; Phi: 180)
修正步长“Increment”:Theta的值为0,Phi的值为0.5
label:ffXOY;
点击“Create”。
图8:设置XOY面的远场
求解方法设置:采用默认的矩量法,不需要进行设置
2.5 网格划分:
点击菜单“Mesh->Create mesh”弹出“Create mesh”对话框,设置如下:
网格剖分方法Mesh size : Custom **** 采用自定义方式
线段剖分单元长度Wire segment length: lam/15
线段剖分单元半径:Wire segment radius: lam/80
点击:Mesh 生成网格。
图9:网格划分设置
2.6 阵列的生成:
由于阵列的单元(51个)比较多,在CadFEKO中为每个单元设定端口和激励效率相对比较低,由于阵列的单元尺寸是相同的,所以可以在EditFEKO中通过循环来快速生成阵列,并完成对端口激励信号的快速定义。为了保持CadFEKO与EditFEKO设置的一致性(只满足CadFEKO->EditFEKO的单向性,EditFEKO的设置无法返回到CadFEKO),我们在进入到EditFEKO界面的时候,可以锁定CadFEKO中的求解设置,操作如下:
在CadFEKO中,先保存工程文件,点击菜单“Solve/Run”中的“EDITFEKO”按钮,启动EditFEKO,弹出“Disable CadFEKO Solution configuration?”对话框,如下,点击“Yes”即可进入EditFEKO界面。
图10:选择是否锁定CadFEKO的求解设置
每一个工程文件都会对应一个脚本文件(后缀为.pre),该工程自动生成的脚本如下,可以发现在该脚本中包含了:计算方法、材料设置、求解设置、激励、计算远场等全面信息,接下来我们需要在“IN”函数下边写循环生成天线阵列,采用的TG函数(可用来复制、平移或旋转天线单元),在Sources部分,写循环来对端口进行信号加载(如幅度和相位)。
图11:EditFEKO自动生成的命令行
EditFEKO修改1:把下边的脚本(或者从附带的脚本文件arrayGeneration.txt中复制)复制到“IN”函数的下边:
** Generate the array
!!for #i=1 to 50
#x=fileread("arrayLayOut.inc",#i+1,1)
#y=fileread("arrayLayOut.inc",#i+1,2)
#z=fileread("arrayLayOut.inc",#i+1,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中的脚本如下:
图12:添加完天线阵列复制代码之后的EditFEKO显示
说明:函数fileread()实现从某文件中(如:“arrayLayOut.inc”)读取某行、某列的数值,#x=fileread(“arrayLayOut.inc”,#i+1,1)是从文件“arrayLayout.inc”中读取第i+1行、1列的数据赋给x变量;
在EditFEKO,保存修改。
EditFEKO修改2:把光标定在“Sources”下边,把A1一行注释掉,即:在A1前边添加“**”(或把光标定在A1这一行,点击Alt+C快捷键来完成注释,Alt+T是取消注释);
把光标定在FR命令行的下边,同时选中NC命令行和DA命令行,点击Alt+C快捷键,把这两行也注释掉,如下图所示:
图13:注释部分代码之后的EditFEKO显示
把下边的脚本复制到FR命令行的下边(或者从附带的脚本文件arraySource.txt中复制)。
!!for #j=1 to 7 ** for the no of the phase
NC: StandardConfiguration_#j
!!for #i=1 to 51 ** for the calculation of each pase combination
#Source_Mag=fileread("Mag_phase.inc",#i+2,1)
#Source_Phase=fileread("Mag_phase.inc",#i+2,#j+1)
!!if #i=1 then
A1: 0 : dipole.Wire1.Port#i : 0 : : : #Source_Mag : #Source_Phase : : : : 50 ** VoltageSource1
!!else
A1: 1 : dipole.Wire1.Port#i : : : : #Source_Mag : #Source_Phase : : : : 50 ** VoltageSource#i
!!endif
!!next
修改后的EditFEKO脚本如下:
图14:添加循环实现信号的加载
EditFEKO修改3:把光标定在EditFEKO的最后一行EN命令的上边(包括注释行**End of file),添加一行命令“!!next”,该命令是为了和图14中的第一组“!!for”循环对应,修改后的EditFEKO如图15所示:
图15:添加循环终止行的代码
在EditFEKO中保存做过的修改。
2.7 预处理并提交计算:
点击“Solve/Run”菜单中的“PreFEKO”,检查有无错误,无误之后,可以点击“Solve/Run”中的“FEKO Solver”来提交计算。(也可以关闭EditFEKO,在CadFEKO中提交计算,效果是一样的),在这里我们采用在CadFEKO中提交计算。
2.8 后处理显示结果:
计算完成之后,点击“Solve/Run”菜单中的“PostFEKO”,启动后处理模块PostFEKO显示结果。
显示3D结果:在PostFEKO中,启动之后默认显示是3D视图方式,点击“Far Field”按钮选择“ff3D”显示3D辐射方向图,在右侧面板中,勾选dB。
进入菜单“Result”,点击“Grid”,在3D结果中不显示网格。
图16:显示3D计算结果(主瓣指向y轴时)
在右侧控制面板最上方的“dipole_array1_source”区域,查看主瓣指向偏离y方向的方向图。
图17:主瓣偏离y轴一定角度(60度)时的3D方向图
显示2D结果:点击“Home”菜单中的“Cartesian”,进入直角坐标系“Cartesian graphic1”,在左侧“Model Browser”区域,依次选择“StandardConfiguration_1”…“StandardConfiguration_7”中位于“Request”下的“ff_XOY”,用鼠标拖到中间的直角坐标系中,在右侧面板中:
在右上方的“Traces”区域,同时选中所导入的曲线“ffXOY_?”;
勾选dB;
进入菜单“Measure”,选择“Point”中的“Global maximum”;
图18:2D增益方向图
在“Home”菜单中,点击“Save”保存为“dipole_array.pfs”,退出PostFEKO。