微波仿真论坛_matlab feko
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Matlab 与Feko软件混合
目录
•概述
•模型的建立
•EditFeko中控制卡的编辑•Matlab调用Feko 讨论•Matlab对Feko结果文件的处理
Matlab调用Feko的几个要点
•Matlab调用Feko的几个要点
–在Matlab以如下形式调用Feko
dos('prefeko OnespiralAnt');
dos (‘runfeko OnespiralAnt');
其中的OnespiralAnt为Feko工程文件的名称,prefeko和runfeko是Feko关键字符
串,分别表示Feko预处理和Feko求解器
–在Feko中生成的.pre和.out可以以文本的形式打开,所以在Mablab中可以象处理文本那样来处理这些文件:
在Matlab定义一个变量,该变量对应于Feko的.pre文件中某一个变量(如:工作频率、几何模型的尺寸变量、模型旋转角等),这样,就可以用Matlab控制Feko中
的这个变量,每改变一次该变量的值就可以重新生成一个新的.pre文件,然后调用
runFeko运行新生成的.pre文件;
同样,可以应用Matlab像处理文本一样来处理Feko的结果文件.out,来对仿真结果进行处理。
–Matlab生成的.m文件需要和Feko的工程文件、.pre文件及输出文件存放在同一文件夹中。
举例(单螺旋天线)
•问题描述
–以单螺旋为例来说明如何用Matlab控制Feko
•可以在CadFeko中进行建模;
•也可以在EditFeko中进行建模;(有些问题用EditFeko处理会非常方便)–Matlab可以控制Feko脚本文件.pre中的某个或某几个变量,在该例子中是控制螺旋天线的旋转角度#alpha
–Matlab控制Feko的结果文件(.out),(要想很好的处理结果文件,必须对其格式非常清楚)读取内部的源阻抗数值
目录
•概述
•模型的建立
•EditFeko中控制卡的编辑•Matlab调用Feko 讨论•Matlab对Feko结果文件的处理
螺旋天线的建立(CadFeko)
•建立Feko工程文件“OneSpiralAnt”
•双击Variables添加以下变量:
freq=3.0e+10
n=6.5, lambda=c0/freq
D=lambda/pi,s=0.225*lambda,
seg_len=lambda/15
seg_rad=lambda/200
tri_len=lambda/20.0
a=0.75*lambda
•点击图标添加螺旋曲线helix
•点击图标把helix模型分成两部分
选择小的一部分更名为:feed
模型建立
•点击图标创建地板ground
网格剖分
•选中所有模型点击图标进行模型合并,并把新生成的模型更名为spiral •把馈源位置的线元更名为feed
•点击菜单“Mesh\create mesh”或按住键盘Ctrl+M进行网格剖分
目录
•概述
•模型的建立
•EditFeko中控制卡的编辑•Matlab调用Feko 讨论•Matlab对Feko结果文件的处理
EditFeko处理
•按住Alt+2进行预处理,并保存工程文件•按住Alt+1调出EditFeko
•在IN卡下边添加FM卡
•在FM卡下边添加“#alpha=0”
•然后添加TG卡
** TG卡用来控制模型的平移
与旋转,在该项目中,我们
是把该基本模型沿y轴旋转
#alpha角度,初始值是0度
•修正FR卡
•添加A1卡•添加FF卡
•所有的控制卡添加完毕后保存该文件
Spiral.feed
目录
•概述
•模型的建立
•EditFeko中控制卡的编辑•Matlab调用Feko 讨论•Matlab对Feko结果文件的处理
Matlab部分处理
•点击Matlab程序中的M-file editor或先进入Matlab主程序,在主程序中点击菜单“File\New\M file”进行.m文件的制作部分(可以命名为OneSpiralAnt.m)
•第一步添加如下命令
clear all; %清除工作间的变量和函数
•第二步添加循环(该循环的目的是为了得到不同的旋转角alpha,循环变量用i表示,i的变化范围是从1到5,步长为1,alpha表示为10*i)
for i=1:1:5
第一部分:初始化变量部分;
第二部分:文件的读写部分;
第三部分:生成新的脚本文件;
第四部分:Matlab中调用Feko;
end % 结束for循环
•第一部分:变量的初始化
special_str_1='prefeko ';
special_str_2='runfeko ';
project_name=' OneSpiralAnt_';
prestr='#alpha='; % Initialise a variable for special string
注释:
变量special_str_1、special_str_2和project_name是为了最终装配最终的字符串形式“runfeko OneSpiralAnt_1.pre”而设定的,因为在循环中,我们是以
OneSpiralAnt_1.pre、OneSpiralAnt_2.pre…OneSpiralAnt_5.pre的形式来存储脚本文件的,而且每循环生成一个.pre脚本文件,我们会运行一次Feko软件,这样处理就相对比较灵活了
prestr变量是一个关键字符,用于存储模型的旋转角度