微波仿真论坛_FEKO基础简介
- 格式:pdf
- 大小:968.54 KB
- 文档页数:20
第18卷第1期2009年3月计算机辅助工程Computer A ided EngineeringVol . 18No . 1Mar . 2009・安世亚太软件应用・文章编号:1006-0871(2009 0120073205阵列天线的FEK O 仿真分析刘源, 焦金龙(安世亚太科技(北京有限公司, 北京100026摘要:为在有限的硬件资源下, 对复杂单元的大规模阵列天线进行有效分析,提出采用FEK O 软件分析任意大规模阵列天线的有效方法. 首先应用FEK O 进行相控阵分析, 然后根据阵列天线的单元激励方向图(Active Ele ment Pattern, AEP 进行阵列天线FEK O 仿真分析. 实例表明, 在普通硬件资源条件下, FEK O 仿真分析可以在考虑单元互耦等实际因素的影响下, 分析任意大规模阵列的方向图和端口特性等指标.关键词:阵列天线; 单元激励方向图; 互耦; FEK O 中图分类号:U441. 5; U444. 18; T B115文献标志码:S i m ul a ti on tenna usi n g FEK OI U Yuan, J I A O J inl ong(PERA Tech . (Beijing Co . , L td . , Beijing 100026, ChinaAbstract:To i m p le ment the effective analysis of large 2scale array antenna with comp licated ele ments under the conditi on of li m ited hardware res ources, an effective method is p r oposed t o analyze arbitrary large 2scale array antenna by using FEK O. The phased array is analyzed . By intr oducing the concep t of Active Ele ment Pattern (AEP , an array antenna is si m ulated by FEK O. The app licati on indicates that the radiati on pattern and i m pedance of arbitrary large 2scale array antenna can be si m ulated and analyzed by FEK O under the nor mal conditi on of hard ware res ources, while considering the influence of the mutual coup ling bet w een the elements and s o on .Key words:array antenna; active ele ment pattern; mutual coup ling; FEK O收稿日期:2009202202修回日期:2009203204作者简介:刘源(1978— , 男, 北京人, 博士, 研究方向为电磁仿真分析、阵列综合和阵列信号处理等, (E 2mail yuan . liu@peraglobal . com0引言阵列天线[1]是由不少于2个天线单元规则或随机排列, 并通过适当激励获得预定辐射特性的1类特殊天线. 阵列可由各种类型的天线组成, 数目可以是2个甚至几十万个. 通过选择和优化阵单元的结构形态、排列方式和馈电幅相特性, 阵列天线能够实现单个天线难以提供的优异特性, 如更高的增益、方位分辨率、系统信噪比等指标, 因此在雷达和通信等领域被广泛地应用.在仿真分析阵列天线的过程中, 由于阵列天线孔径很大, 经常会达到数十、上百个波长, 计算过程中会划分大量网格, 产生大量未知量, 给仿真分析带来很大困难.1FEK O 简介FEK O 是针对天线分析、天线布局及RCS 等分析而开发的专业电磁场分析软件. 它从严格的电磁场积分方程出发, 以经典的矩量法(Method of Moment,MOM 为基础, 采用多层快速多极子(Multi2Level FastMulti poleMethod, MLF MM 算法在保持精度的前提下大大提高计算效率, 同时将矩量法与经典的高频分析方法(物理光学(Physical Op tics, P O , 一致性绕射理论(Unif or m Theory of D iffracti on, UT D 完美结合起来, 非常适合于分析开域辐射和雷达散射截面(Radar Cr oss Secti on, RCS 领域的各类电磁场问题.对于电大尺寸类问题, FEK O 具备强大的分析能力, 因此在阵列天线分析中的性能非常好.2应用FEK O 进行相控阵分析考虑如图1所示的阵列形式. 该阵列由30×4个半波振子构成, 各阵元间距均为半波长. 其中, 沿x 方向的4个单元构成子阵, 采用端射阵加权方式, 即整个阵列由30个阵元间距为半波长的端射阵构成. 端射阵的方向图可直接通过FEK O 计算得到, 见图2.图1偶极子阵列模型图2端射阵方向首先考虑均匀加权时的情况. 通过在FEK O 中对各阵元添加端口, 加入激励和负载等, 可直接计算得到阵列方向图(见图3 , 可计算得到方向性系数为19. 6dB.在实际工程中, Chebyshev [2]阵列也是常用的形式之一, 可以在FEK O 中调整各单元的加权幅度及相位实现不同主瓣指向的Chebyshev 阵列. 图4为主瓣指向180°方向, 即构成旁射阵时, 控制旁瓣为-30dB 时的阵列方向图. 图5为主瓣指向210°, 同样旁瓣为-30d B 的阵列方向图.图3均匀加权时阵列方向图4Chebyshev旁射阵方向图5主瓣扫描时的Chebyshev 方向上述结果表明, 通过FEK O 软件能够进行相控阵的分析及设计. 由于采用矩量法进行计算时无须对空气进行网格剖分和设置边界条件等, 所以对上述30×4的阵列进行仿真, 仅需要14MB 的内存, 在20s 内就能完成.47计算机辅助工程2009年3阵列天线单元激励方向图综上所述, 已经看到可以在FEK O 中快速进行相控阵的分析和设计. 上例采用的单元形式为线天线, 在应用矩量法分析时, 未知量很小, 耗费内存也很小. 若考虑单元为面天线或其他复杂天线形式, 仍可能产生大量未知量, 对计算机硬件要求非常高.在FEK O 多种激励模式中, 包含等效源(在CADFEK O 中可直接定义, 也可在ED I TFEK O 中应用AR 卡的激励模式, 可读入计算或测量得到的方向图作为激励源. 下面利用这一特点进行超大阵列及复杂阵单元构成阵列的仿真分析.对于任意类型的N 元阵列, 其方向图F (θ, < =w H・v (θ, <(1 式中:w =[w 1, w 2, …, w N ]T为阵列的加权向量; v (θ, < 为阵列导向矢量; 上标H 和T 分别表示共轭转置和转置. 若各阵元的方向图为g k (θ, < , k =1, 2, …, N , 则有v (θ, < =[g 1(θ, < exp (j 2πf 0τ1 , …,g N (θ, < (f 0N 2式中:f 0为工作频率; τk (…, .根据文献[3]引入单元激励方向图(Active Ele ment Pattern, AEP 的概念. 阵元q 接归一化信号源, 其他单元接阻抗值与信号源相同的无源负载, 这种工作模式称为阵元q 的单元激励模式, 用e q (θ, < 表征阵元q 的AEP, 则阵列的方向图[3]F (θ, < =∑Nq =1w q ・e q (θ, < ・ej2πf 0τq (3AEP 与一般意义上的单元方向图不同, 最重要的差别在于一般使用的单元方向图均为单个天线单元的方向图, 而AEP 则是在考虑其他阵元的影响、考虑互耦的前提下得到的单元方向图. 由于各无源单元的负载阻抗与阵列实际工作时的信号源阻抗相同, 因此AEP 不仅考虑单元互耦的影响, 而且考虑天线单元端口与信号源间的失配影响. 在通过计算或者测量得到AEP 后, 可以采用多种方法进行阵列综合[4, 5], 这样得到的阵列综合已充分考虑互耦影响. 因此, 如果由式(3 得到各个单元的e q (θ, < , 即可以得到真实的阵列方向图.下面利用AEP 的概念计算阵列方向图.4基于AEP 的阵列天线FEK O 仿真分析首先考虑如图6所示13×3的阵列. 为说明采用的分析方法, 这里仍旧采用线天线构成的阵列.单元均为半波振子, 阵元间距均为1/4波长.图6偶极子阵列2模型仍然将该阵列视为由13个单元(3个偶极子构成的端射阵构成, 且按图中所示排列. 并称之为阵元1, 阵元2, ……, 阵元13. 按上述AEP 的定义, 通过对阵元1加激励, 其他各阵元均加负载即可计算得到阵元1的AEP . 1的AEP , 因此在计算AEP , . , 3个, 4个和51的AEP, 并将计算到的方8中. 图中, endfire 是阵元1单独存在时的方向图; t w o more endfire 对应图7中模型1的方向图; with 3endfire 对应图7中模型2的方向图; with 4endfire 对应图7中模型3的方向图.图7阵元1AEP的计算模型图8阵元1AEP 的确定由图8可见, 模型3和模型4的结果已经较好重合, 这表明阵元4对阵元1的影响很小, 可以忽略(相应的阵元5到阵元13与阵元1的耦合也很小, 可以忽略 , 所以可以将模型2中单元1的AEP 作为整个阵列阵元1的AEP . 因此, 可以采用阵元1到阵元7构成的7元阵列(见图9 , 来等效计算得到实际阵列各个阵元的AEP . 其中, 各阵单元记为a 1, a 2, …, a 7, 则图6中阵元1的AEP 对应于a 1的AEP; 阵元2对应于a 2;阵元3对应于a 3; 阵元4到阵元10的AEP 均对应于a 4的AEP; 阵元11对应于a 5; 阵元12对应于a 6; 阵元13对应于a 7.图9偶极子阵列3模型在FEK O 中, 各阵元的AEP 在计算时可被分别自动存为扩展名为ffe 的数据文件, 并可在后续计算中以等效源的方式(CADFEK O 中radiati on point s ource 的激励模式被读入. 按上述方式读入各阵元的410位置上读入的均为图的 , 各阵元读入时选择的空间位置已经包含式(3 中的相位信息.图10等效源构成的13元阵列按图10所示计算得到的方向图即为根据式(3 得到的阵列方向图, 采用均匀加权激励的结果见图11. 在图11中, “fullarray ”是应用FEK O 对整体阵列进行仿真分析的结果; “equivalent ”是采用上述方法, 通过等效源的方式得到的结果. 可以看出两者的结果完全重合. 这种方法充分考虑单元间互耦的影响, 并能够对等效源构成的阵列进行相位和幅度加权, 实现相控阵. 采用这种基于AEP 的方法, 实际上只对少量单元(此例为7个进行网格剖分, 从而计算出整体阵列的方向图. 由这种方法能够得到任意多个(此例为13个同样单元(此例为3元端射阵按照等间距(这里为1/4波长组成阵列的方向图, 并且实际参与计算的单元数并不随着阵列规模的增大而增加. 因此, 对于复杂形式单元构成的大规模阵列, 该方法能够在得到有效计算结果的前提下, 极为显著地减小计算规模及内存需求.图11阵列方向对该方法的具体归纳如下:(1 确定计算AEP所需的最小阵元数; (2 计算由最小阵元数所构成阵列的各阵元的AEP; (3 通过等效源的方式, 计算阵列的方向图.下面考虑图12所示的16×4微带阵列. 阵单元采用FEK O . 4例10, 工作频率为3GHz . , O 中的快速多, 12G B.图12微带阵列模型对于该阵列, 将纵向的4个单元作为子阵. 按照上述分析步骤, 首先确定所需最小阵元数为9个, 并分别计算9个子阵构成阵列的各单元的AEP, 用p 1, p 2, …, p 9表示. 随后, 以等效源的方式读入, 图12中阵元1对应p 1, 阵元2对应p 2, 阵元3对应p 3, 阵元4对应p 4, 阵元5到阵元12对应p 5, 阵元13~16分别对应于p 6, p 7, p 8, p 9. 最后, 对等效源构成的阵列进行计算, 结果见图13和14. 图13和14分别是在xO z 面和xO y 面上对阵列实际建模分析计算的结果(full array 以及采用基于AEP 的等效源方式(equivalent 计算的结果. 从结果可见, 等效源的结果已与实际阵列的仿真结果较好地吻合, 完全能图13xO z 面方向图图14xO y 面方向够满足工程计算的要求, 所需内存仅为6. 5G B (直接计算需要内存12G B , 并能够得到任意多个这样的4单元子阵所构成的阵列. 同时, 在计算过程中并不需要引入子阵的概念. 例如, 仍考虑阵单元为FEK O 5. 4例10的微带天线组成的25×25的阵列, 可以取出5×5的阵列来进行计算, 分别计算各阵元的AEP (共25个 , 随后通过等效源的方式依次读入, 得到整个25×25阵列的方向图. 由于E D I TFEK O 中提供循环操作的文本输入方式, 使得多次读取文件非常易于操作.5总结首先以实例表明FEK O 在阵列天线分析方面的良好性能, 继而引入AEP 的概念, 提出在FEK O 中对大规模阵列进行分析的有效方法. 通过计算由最小阵元数构成的小阵列的AEP, 可有效得到任意大规模规则阵列的方向图, 从而在有限的硬件资源下, 对复杂单元的大规模阵列进行有效分析. 多个算例表明该算法的有效性.参考文献:[1]张祖稷, 金林, 束咸荣. 雷达天线技术[M].电子工业出版社, [2]DOLPH C L. A current distributi on for br oadside op ti m bet w een bea m width and side l obe level[J ].Pr oc I RE,1946, 34(6 :3352348.[3]KELLEY D F, ST UTZ modeling methods that include mutual coup ling effects[J ].I EEE Trans Antennas &Pr opagati on, 1993, 41(12 :[4]张志军, 冯正和. 考虑互耦的圆形天线阵列方向图综合[J ].电波科学学报, 1997, 12(4 :3612368. [5]刘源, 邓维波, 李雷, 等. 一种超方向性阵列天线综合方法[J ].电子学报, 2006, 34(3 :4592463.(编辑廖粤新(上接第59页参考文献:[1]肖晓玲, 卢正鼎, 张翔. VC 与Fortran 语言混合编程[J ].江汉石油学院学报, 2000, 22(2 :71274. [2]周振红, 颜国红, 吴虹娟. Fortran 与V isual C ++混合编程研究[J ].武汉大学学报, 2001, 34(2 :84287. [3]张志华, 王林江, 吕庆风. 混合编程与Fortran 计算程序可视化[J ].计算机应用, 1999, 19(6 :33235. [4]罗金炎, 陈庆强. 船舶面向对象有限元的应用研究[J ].计算机辅助工程, 2004, 13(1 :18222.[5]谭德强, 何险峰, 周家驹. V isual C ++和Fortran 的混合编程———CAS AC 软件W indows 版的研制[J ].计算机与应用化学, 2001, 18(4 :3242328.[6]边炳传, 龙连春, 隋允康, 等. 基于C ++和Fortran 混合编程的优化系统设计[J ].计算机工程与设计, 2006, 27(11 :204622048. [7]夏舒杰, 谭建荣, 陈洪亮. 基于文件操作的VC ++和Fortran 模块交互通信方法[J ].计算机工程, 2003, 29(9 :63265.[8]李伟. 基于Access 数据库的反舰导弹智能导引知识库设计[J ].控制与制导, 2007(3 :59262. [9]田晓青. 对ANSYS 创建面命令A 的改进[J ].计算机辅助工程, 2007, 16(4 :47250.(编辑廖粤新。
Matlab 与Feko软件混合目录•概述•模型的建立•EditFeko中控制卡的编辑•Matlab调用Feko 讨论•Matlab对Feko结果文件的处理Matlab调用Feko的几个要点•Matlab调用Feko的几个要点–在Matlab以如下形式调用Fekodos('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+10n=6.5, lambda=c0/freqD=lambda/pi,s=0.225*lambda,seg_len=lambda/15seg_rad=lambda/200tri_len=lambda/20.0a=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变量是一个关键字符,用于存储模型的旋转角度•第二部分:文件的读写部分fid_r=fopen(‘OneSpiralAnt.pre’,‘r’); % Define a file reading point (定义读文件指针)fid_w=fopen(‘OneSpiralAnt.tmp’,‘w’); %Define a file writting point (定义写文件指针)while ~feof(fid_r) % while not the end of the file (如果不是文件的结尾就继续循环)line_r=fgetl(fid_r); % get each line value (遍历每一行的值)g=strfind(line_r,‘#alpha=’); % whether this line need be modified(是否是需要修改的那一行)if g>0 %如果是需要修改的那一行,则在if…end区间修改这一行的值newvalue=num2str(10*(i-1));line_r=strcat(prestr,newvalue); % modify this line's value, line_r=‘#alpha=10’or 20…end% 通过fprintf语句把line_r的值写入fid_w指向的文件OneSpiralAnt.tmp中fprintf(fid_w,'%s\n',line_r); % write each line to the file 'OneSpiralAnt.tmp' end %end while (结束读写脚本文件循环)fclose(fid_r); % close file reading point (关闭读文件指针)fclose(fid_w); % close file writting point (关闭写文件指针)•第三部分:生成新的脚本文件% get and save each .pre file in the form of OneSpiralAnt_1.pre,OneSpiralAnt_2.pre...% 我们需要生成的文件的名称分别为OneSpiralAnt_1.pre,OneSpiralAnt_2.pre,OneSpiralAnt_3.pre, % OneSpiralAnt_4.pre以及OneSpiralAnt_5.pre% new_file_name分别为OneSpiralAnt_1.pre, OneSpiralAnt_2.pre, OneSpiralAnt_3.pre…new_file_name=strcat('OneSpiralAnt_',num2str(i));new_file_name=strcat(new_file_name,'.pre');% 把文件OneSpiralAnt.tmp中的内容拷贝到new_file_name中,即生成上边提到的5个.pre文件中copyfile('OneSpiralAnt.tmp',new_file_name);•第四部分:Matlab调用Feko% Assemble the “prefeko OneSpiralAnt_i.pre”stringsspecial_str_1=strcat(special_str_1,project_name);special_str_1=strcat(special_str_1,num2str(i));special_str_1=strcat(special_str_1,'.pre');% Assemble the “runfeko OneSpiralAnt_i.pre”stringsspecial_str_2=strcat(special_str_2,project_name);special_str_2=strcat(special_str_2,num2str(i));special_str_2=strcat(special_str_2,'.pre');%invoke feko functions (通过dos函数调用prefeko、funfeko)dos(special_str_1); % dos(‘prefeko OneSpiralAnt_1.pre')dos(special_str_2); % dos('runfeko OneSpiralAnt_1.pre')%;完整的Matlab代码结果文件分析•打开Matlab 主程序,调出OneSpiralAnt.m 文件,然后点击菜单Debug\Run 或直接按F5开始运行,运行完毕后,•我们就得到了5个后缀为.pre 的脚本文件,5个PostFeko 文件(后缀为.bof,.fek )以及5个后缀为.out 的结果文件,它们分别对应不同的角度alpha ,分别打开*_1.fek, *._2.fek, *_3.fek,*_4.fek 和*_5.fek 可以看到模型随角度的变化alpha=0alpha=10alpha=20alpha=30alpha=40EditFeko文件中alpha 角度的变化alpha=0alpha=40 alpha=10alpha=20alpha=30目录•概述•模型的建立•EditFeko中控制卡的编辑•Matlab调用Feko 讨论•Matlab对Feko结果文件的处理•借用前边的项目文件OneSpiralAnt.cfx,OneSpiralAnt.cfm和OneSpiralAnt.pre。
feko软件综述简介Feko是一种基于有限元方法(FEM)的电磁场仿真软件,用于分析和设计各种电磁问题。
它可以模拟各种物体对电磁波的响应,包括天线、微波元件、电磁屏蔽结构等等。
Feko软件由Altair公司开发,已经成为工程师在电磁学领域中进行仿真和设计的首选工具之一。
主要特点多物理场仿真Feko软件支持多物理场同时仿真,包括电磁场、热场、声场等。
这使得工程师可以综合考虑不同物理场对电磁问题的影响,提高仿真结果的准确性。
广泛的应用领域Feko软件在多个应用领域都有广泛的应用,包括通信系统、无线电频率集成电路设计、雷达系统、天线设计、汽车电磁兼容性等。
无论是传统领域还是新兴领域,Feko软件都能够满足工程师的仿真需求。
直观的用户界面Feko软件拥有直观的用户界面,使得用户能够轻松进行仿真设置和结果分析。
用户可以通过拖拽、缩放等操作来构建模型,并可实时查看仿真结果。
同时,Feko软件还提供了丰富的可视化工具,如2D/3D图形、动画等,帮助用户更好地理解和解释仿真结果。
强大的后处理功能Feko软件具有强大的后处理功能,使得用户可以对仿真结果进行深入分析。
用户可以通过绘制图表、计算参数等方式对仿真结果进行详细的研究。
此外,Feko软件还支持与其他工具的数据交换,方便用户在不同平台间进行数据共享和处理。
优势和适用性准确性和可靠性Feko软件基于有限元方法,可以提供高精度的仿真结果。
同时,Feko软件经过了广泛的验证和验证,其准确性和可靠性得到了工程师的确认。
灵活性和可扩展性Feko软件具有灵活性和可扩展性,适用于各种不同的电磁问题。
无论是简单的天线设计还是复杂的雷达系统仿真,Feko软件都能够满足工程师的需求。
用户友好性Feko软件的用户界面简单直观,易于使用。
即使对于没有电磁仿真经验的用户,他们也可以通过简单的操作来完成仿真设置和结果分析。
兼容性Feko软件与其他常用工程软件兼容性强,可以与CAD软件、EDA软件、结构仿真软件等进行数据交换和协同工作。
使用FEKO进行电磁场模拟和分析第一章:引言FEKO是一种广泛应用于电磁场模拟与分析的软件。
本文将介绍FEKO的基本原理、应用领域以及其在电磁场模拟和分析中的重要作用。
第二章:FEKO的基本原理FEKO是一种基于有限元和边界元方法的电磁场模拟软件,可以用于分析各种电磁问题。
其基本原理是将电磁问题转化为求解最优适应Electric 或Magnetic Field Integral Equations (EFIE 或MFIE)的问题。
第三章:FEKO的应用领域FEKO的应用领域非常广泛,包括天线设计、射频与微波设计、电磁兼容性分析等。
其中,天线设计是FEKO最常见的应用之一。
使用FEKO进行天线设计可以优化天线的性能,提高接收和发射的效率,确保无线通信系统的稳定性。
第四章:电磁场模拟与分析的流程电磁场模拟与分析的流程通常包括几个步骤。
首先,需要对模拟问题进行建模。
这是一个非常关键的步骤,需要根据实际情况选择合适的模型建立方法,并确定模型的准确性和适用性。
然后,将模型导入FEKO软件中进行模拟计算。
根据模型的不同,可以选择不同的求解器和求解方法。
完成模拟计算后,还需要进行结果的后处理和分析,得到所需的电磁场参数。
第五章:FEKO的优势与不足使用FEKO进行电磁场模拟和分析具有一些明显的优势。
首先,FEKO具有非常强大的求解能力和高效率,可以处理复杂的电磁问题。
其次,FEKO具有友好的用户界面和丰富的建模和后处理功能,使得用户可以更加方便地进行模拟计算和分析。
然而,FEKO也存在一些不足之处,比如需要较高的计算资源和较长的计算时间,对用户的计算机性能有一定的要求。
第六章:FEKO的案例分析为了更好地了解FEKO的应用效果,我们对几个典型的案例进行了模拟和分析。
这些案例包括天线设计、电磁兼容性分析等。
通过对这些案例的模拟和分析,我们可以清楚地了解到FEKO在电磁场模拟和分析中的重要作用以及其实际应用的效果。
——两种仿真方式,两种激励类型说明分析一个偶极子天线的step by step教程要点偶极子是线天线,可用线单元模拟,但半径较粗时,亦可用柱体模拟两种模拟方式对应不同的激励方式•Segment port•Edge port此后的很多例程中都涉及到这两种激励,这里具体到这两种激励端口的设置,以后的例子中均按照这样的方式设置Part 1——线单元模拟启动CADFEKO设置变量•在Variables上右键,Add variable•Freq=300e6•Lam=c0/freq•Seg_l=lam/15建立模型•点Line工具,输入参数z从-lam/4开始到lam/4•Label域输入dipole•Create,Close设置激励用的端口在Geometry选择dipole 在信息列表内点开Edges项,选择Wire1点右键,选择Create port->wire port弹出的对话框内选择middleCreate,Close3D视图内会显示端口的预览工程树内也会在Ports内增加一项剖分网格模型建立好后,需要剖分网格,设置激励和求解分网方式点Mesh菜单,Createmesh由于此例只有线结构,所以,只需设置线单元属性•在segment length输入seg_l, wire segmentradius输入lam/200Create,Close点视图工具,显示单元节点Meshes项内和ports项都将增加网格内容设置求解项转到Solution项,设置其中的选项Frequency项上双击,输入freq变量,设置频率转到Excitation,右键,选择Voltage source选择port1,Create,Close转到Calculation,右键,选择Request far field点3D partten按钮Create,Close求解到此,设置完成File->Save, 取工程名为dipole_seg, OKAlt+2,运行prefeko预处理,弹出窗口,OKAlt+3进入POSTFEKO查看模型设置点显示激励和求解场按钮模型显示如图在CADFEKO或POSTFEKO 内按alt+4运行feko求解弹出求解进度窗口,完成后点OK后处理返回到POSTFEKO点左边三维工具条中的远场显示按钮3D视图内显示3D远场图可更改左边面板内的参数,如用dB显示,如显示增益等等点上排二维工具栏远场显示图标左边面板内选择gain,选择属性设置工具,选择极坐标显示Part 2——面单元模拟File->New,新建工程 建立变量•Freq =300e6•Lam=c0/freq•Rad=0.05•Tri=min(lam/10,rad/3) 建模•点柱体工具,输入参数–Base centre (0,0,-lam/4)–Radius 0.05,height=lam/2•Create, close劈开构成偶极子结构由于是偶极子天线,为了加激励剖空内部•选择dipole,点列表内的region域下的Region1,右键属性•设置为free space劈开成两部分•选择dipole,点split工具•点选global XY按钮,Create设置端口用于激励为了加端口,需要将两部分合并选择2部分几何,点union工具合并菜单Geometry->Union1 选中中间的edge,右键->create port->Edge port 选择其中一个Face_2,点击,Move to negativefaceCreate,Close端口在3D视图内会标记如图Mesh->Create mesh Edge length输入参数triCreate,Close设置求解设置频率Frequency域双击,输入freq设置激励Excitations域,右键,Voltage source默认,Create,Close 远场求解Calculation域,右键,request far field点击3D partten按钮,Create,Close求解保存工程为surf_dipRun->prefeko, 弹出窗口提示单元数目和类型Run->POSTFEKO, 查看模型设置点击查看激励和求解2个按钮,显示激励和求解运行求解Run->FEKO,弹出求解进度窗口完成后点OK后处理求解完成后,直接返回POSTFEKO点左边三维视图控制工具栏内的远场显示工具Quantily选择GainLegend下拉列表选择top left,显示图例比较为了便于比较2种方式,可在POSTFEKO内讲二者结果同时显示File->load results文件路径对话框内找到dipole_seg.bof文件,OK点二维远场结果显示工具选择gain点工具按钮,增加一条曲线选择series_2标签,在file name下来列表下选择dipole_seg同样选择gain两种仿真方式的结果就在同一个图内显示出来了激励方式线wire port->excitation面edge port->excitationNOTE:后面的很多例子,都要用到这两种激励方式,遇到激励设置的时候都仿照此处,不必再用EDITFEKO的方式设置。
一、FEKO简介F E KO是德语FEldberechnung bei Korpern mit beliebiger Oberflache的缩写,意思是任意复杂电磁场计算,适用于复杂形状三维物体的电磁场分析。
FEKO是一款用于3D结构电磁场分析的仿真工具。
它提供多种核心算法,矩量法(MoM)、多层快速多极子方法(MLFMM)、物理光学法(PO)、一致性绕射理论(UTD)、有限元(FEM)、平面多层介质的格林函数,以及它们的混合算法来高效处理各类不同的问题。
FEKO界面主要有三个组成部分:CADFEKO、EDITFEKO、POSTFEKO。
CADFEKO 用于建立几何模型和网格剖分。
文件编辑器EDITFEKO用来设置求解参数,还可以用命令定义几何模型,形成一个以*.pre为后缀的文件。
前处理器/剖分器POSTFEKO用来处理*.pre为后缀的文件,并生成*.fek文件,即FEKO实际计算的代码;它还可以用于在求解前显示FEKO的几何模型、激励源、所定义的近场点分布情况以及求解后得到的场值和电流。
FEKO主要有以下典型应用:天线设计:线天线、喇叭和口径天线、反射面天线、微带天线、相控阵天线、螺旋天线、等等;天线布局:实际上,天线总是装在一个结构上的,这会改变天线的“自由空间”辐射性能;EMC/EMI分析:由于MoM中仅仅需要离散电流流过的表面,FEKO非常适合各种类型的EMC仿真;平面微带天线:FEKO采用全波方法分析微带天线,可以精确获得耦合、近场、远场、辐射方向图、电流分布、阻抗等参数;电缆系统:FEKO与CableMod结合起来,可以非常高效地处理系统中的负责电缆束的耦合以及电缆与天线的耦合问题;SAR计算:不同介质参数区域内的场值可以计算出来。
然后这些场值被用于计算规范吸收比(SAR);雷达散射截面(RCS)计算:对于大型目标、地面目标等的RCS雷达散射截面(目标识别)计算也通常是电大尺寸问题,同样,FEKO的混合高频算法对这类问题也有很好的计算效果。
Matlab 与Feko软件混合目录•概述•模型的建立•EditFeko中控制卡的编辑•Matlab调用Feko 讨论•Matlab对Feko结果文件的处理Matlab调用Feko的几个要点•Matlab调用Feko的几个要点–在Matlab以如下形式调用Fekodos('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+10n=6.5, lambda=c0/freqD=lambda/pi,s=0.225*lambda,seg_len=lambda/15seg_rad=lambda/200tri_len=lambda/20.0a=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变量是一个关键字符,用于存储模型的旋转角度•第二部分:文件的读写部分fid_r=fopen(‘OneSpiralAnt.pre’,‘r’); % Define a file reading point (定义读文件指针)fid_w=fopen(‘OneSpiralAnt.tmp’,‘w’); %Define a file writting point (定义写文件指针)while ~feof(fid_r) % while not the end of the file (如果不是文件的结尾就继续循环)line_r=fgetl(fid_r); % get each line value (遍历每一行的值)g=strfind(line_r,‘#alpha=’); % whether this line need be modified(是否是需要修改的那一行)if g>0 %如果是需要修改的那一行,则在if…end区间修改这一行的值newvalue=num2str(10*(i-1));line_r=strcat(prestr,newvalue); % modify this line's value, line_r=‘#alpha=10’or 20…end% 通过fprintf语句把line_r的值写入fid_w指向的文件OneSpiralAnt.tmp中fprintf(fid_w,'%s\n',line_r); % write each line to the file 'OneSpiralAnt.tmp' end %end while (结束读写脚本文件循环)fclose(fid_r); % close file reading point (关闭读文件指针)fclose(fid_w); % close file writting point (关闭写文件指针)•第三部分:生成新的脚本文件% get and save each .pre file in the form of OneSpiralAnt_1.pre,OneSpiralAnt_2.pre...% 我们需要生成的文件的名称分别为OneSpiralAnt_1.pre,OneSpiralAnt_2.pre,OneSpiralAnt_3.pre, % OneSpiralAnt_4.pre以及OneSpiralAnt_5.pre% new_file_name分别为OneSpiralAnt_1.pre, OneSpiralAnt_2.pre, OneSpiralAnt_3.pre…new_file_name=strcat('OneSpiralAnt_',num2str(i));new_file_name=strcat(new_file_name,'.pre');% 把文件OneSpiralAnt.tmp中的内容拷贝到new_file_name中,即生成上边提到的5个.pre文件中copyfile('OneSpiralAnt.tmp',new_file_name);•第四部分:Matlab调用Feko% Assemble the “prefeko OneSpiralAnt_i.pre”stringsspecial_str_1=strcat(special_str_1,project_name);special_str_1=strcat(special_str_1,num2str(i));special_str_1=strcat(special_str_1,'.pre');% Assemble the “runfeko OneSpiralAnt_i.pre”stringsspecial_str_2=strcat(special_str_2,project_name);special_str_2=strcat(special_str_2,num2str(i));special_str_2=strcat(special_str_2,'.pre');%invoke feko functions (通过dos函数调用prefeko、funfeko)dos(special_str_1); % dos(‘prefeko OneSpiralAnt_1.pre')dos(special_str_2); % dos('runfeko OneSpiralAnt_1.pre')%;完整的Matlab代码结果文件分析•打开Matlab 主程序,调出OneSpiralAnt.m 文件,然后点击菜单Debug\Run 或直接按F5开始运行,运行完毕后,•我们就得到了5个后缀为.pre 的脚本文件,5个PostFeko 文件(后缀为.bof,.fek )以及5个后缀为.out 的结果文件,它们分别对应不同的角度alpha ,分别打开*_1.fek, *._2.fek, *_3.fek,*_4.fek 和*_5.fek 可以看到模型随角度的变化alpha=0alpha=10alpha=20alpha=30alpha=40EditFeko文件中alpha 角度的变化alpha=0alpha=40 alpha=10alpha=20alpha=30目录•概述•模型的建立•EditFeko中控制卡的编辑•Matlab调用Feko 讨论•Matlab对Feko结果文件的处理•借用前边的项目文件OneSpiralAnt.cfx,OneSpiralAnt.cfm和OneSpiralAnt.pre。
一、滤波器的分类二、滤波器的应用三、滤波器的主要指标四、滤波器的设计五、设计举例1 、按其幅度频率特性可分为LPF HPF BPF BEF2 、按处理的信号形式可分为、和等。
3 、按不同的方式有很多种不同的分法, 下面给出一个粗略的分类总图:二、滤波器的应用滤波器的应用十分广泛,归纳起来有以下几个方面:1 、分离或者合成信号、抑制干扰2 、阻抗变换和匹配3 、延迟信号三、滤波器的主要技术指标1 、中心频率f 0 ,即工作频带的中心;2 、带宽△f ,或者相对带宽W= f/ △f 0 ;3 、带内插损,即通带衰减;4 、带外抑制,即阻带衰减;5 、回波损耗,即通带内的回波损耗;6 、带内波动,即通带衰减的波动范围;7 、还有群时延、功率容量、矩形系数等,有些还有互调指标要求。
四、滤波器的设计1 、滤波器设计的两种出发点:( 1 )、镜象参数法它以滤波网络的内在特性为根据,特点是: 根据滤波网络的具体电路, 用分析的方法推算出变换器损耗的特性。
然后再将这些具体电路拼凑起来, 使总的衰减特性满足所需要的技术要求。
( 2 )、插入损耗法它根据所提出的技术要求入手推求电路。
这种方法的优点是设计准确, 而且设计是已经考虑到外接负载的影响, 无需经过多次试探的手续。
它的缺点是需要用到比较难深的网络理论。
但是只要一当把满足各种要求的母型滤波器设计出来以后, 后来的设计手续变成了简单的查表读图和应用浅近数学方法换算数据, 从实用角度来说比镜象参数法还要简单得多。
所以这种是比较常用的设计方法。
2 、滤波器设计使用的逼近函数最广泛使用的逼近函数有以下三种:最平坦型(Butterworth )、等波纹型(Chebyshev) 和椭圆函数型。
3 、滤波器的设计步骤( 1 )、确定滤波器的类型和实现方式根据技术指标要求,确定滤波器的类型和实现方式,包括低通、高通、带通还是带阻的确定、使用何种逼近函数模型、具体实现形式(选择用微带线、同轴线还是用波导等实现)( 2 )确定滤波器的阶数n 根据技术指标要求、逼近函数模型,确定滤波器的阶数。
目录1概述2求解技术3主要应用4流程模块1. 4.1CADFEKO2. 4.2EDITFEKO3. 4.3POSTFEKO5技术特点1. 5.1FEKO针对电大尺寸电磁问题2. 5.2多层快速多极子3. 5.3高效并行技术4. 5.4单站RCS快速收敛技术5.6.7.8.9.10.1概述EMSS公司旗下的FEKO软件是一款强大的三维全波电磁仿真软件。
EMSS公司成立于上个世纪的九十年代初期,在创始人Gronum Smith博士领导下,将80年代盛行的数值方法矩量法(MOM)成功引入到FEKO,在此基础上又引入了多层快速多极子(MLFMM)[1],FEKO是世界上第一个把该方法推向市场的商业软件。
该方法使得精确分析电大问题成为可能。
FEKO支持有限元方法(FEM),并且将MLFMM与FEM混合求解,MLFMM+FEM混合算法可求解含高度非均匀介质电大尺寸问题。
特别适合结构之间通过自由空间耦合的问题,MLFMM区域(例如辐射区域)和FEM区域(例如介质区域)之间的空间并不需要划分网格,这使得矩阵规模很小,因此需要的计算资源很少;FEKO采用基于高阶基函数(HOBF)的矩量法,支持采用大尺寸三角形单元来精确计算模型的电流分布,在保证精度的同时减少所需要的内存,缩短计算时间;FEKO还包含丰富的高频计算方法,如物理光学法(PO),大面元物理光学(Large element PO),几何光学法(GO),一致性几何绕射理论(UTD)等,能够利用较少的资源快速求解超电大尺寸问题。
基于强大的求解器,FEKO软件在电磁仿真分析领域尤其是电大尺寸问题的分析方面优势突出,成为电磁仿真领域的领军产品。
2求解技术3主要应用1、天线分析2、共形天线设计3、阵列天线设计、4、天线罩分析设计5、多天线布局分析6、RCS隐身分析[2]7、生物电磁-SAR8、复杂线缆束EMC9、微波电路和射频器件l0、系统的EMC(电磁兼容)。
4流程模块CADFEKO1、强大的模型建立、导入和模型修复功能,提供各种常见CAD模型的导入接口:Unigraphics;Catia、Pro Engineer、Parasolid、IGES、ACIS等;2、可以导入复杂的CAE网格模型如:FEMAP、Nastran、Ansys、Patran、STL、Abaqus 等;3、介质材料、金属材料、多层薄层介质、阻抗层、支持频变材料等4、全面的馈电端口:波导端口(同轴端口、矩形波导、圆波导)、微带、线端口、棱边馈电端口、FEM模式馈电端口等,准确计算端口参数;5、计算方法(MoM、高阶MoM、MLFMM、FEM、GO、PO、LE_PO及UTD等)的设定;6、集成了丰富的优化算法,如单纯形法、遗传算法、粒子群算法以及网格快速搜索法等,可方便实现多参数、多目标优化;7、计算参数(近场、远场、电流、S参数及SAR分析等)的图形化设定。