基于matlab的偶极子天线设计程序

RF/无线

1773人已加入

描述

 

1. 前言Matlab和HFSS相结合设计分析天线,不仅发挥了matlab强大的数据分析功能,同时还是实现天线设计的自动化。这对于复杂的阵列天线而言无疑是一个十分有用的功能。通过两者相结合组成的设计框架,实现了自动化的建模,降低了软件使用的难度,同时增强了两者的耦合度与集成度,提升天线工程师的设计效率。2. 偶极子天线理论2.1 概述智能天线如图1所示,可以跟踪目标调整天线的辐射方向图。图中的天线可以是多个偶极子天线组成的阵列,通过一定的相位差合成一个窄波束的方向图。偶极子天线图1. 智能天线偶极子天线是一种经典的天线形式,偶极子天线可分为电偶极子和磁偶极子天线两种形态。其中,电偶极子天线在其 E 面,辐射方向图形状为∞,在 H 面,其辐射方向图形状为O形。而磁偶极子在 E 面,H 面的辐射方向图正好与电偶极子的辐射方向图相反。目前偶极子天线主要朝着宽带化、小型化发展。比较新颖的宽带偶极子天线有以下几种。偶极子天线2.2 电偶极子天线电偶极子天线的的物理长度远小于其波长,此时此导线上各处电流I可看作均匀分布,如图2所示,通过失位法分析电偶极子产生的电磁场。偶极子天线图2. 电偶极子模型天线在远场的辐射性能见下式。偶极子天线由此可知,此时在远场天线只存在上述公式中的两个分量即Eθ和Hφ,并且相互垂直同向,这些特性表明该天线可以向外传播能量。偶极子天线图3. 辐射示意图2.3 磁偶极子天线磁偶极子是为了类比电偶极子而假想的概念模型,通常将磁偶极子模型等效为一个极小型的载有电流的圆环。假设xoy平面上一小圆环的半径为a,其远小于波长,如图4所示,使用矢位法分析该天线的电场强度和磁场强度。偶极子天线图4. 磁偶极子经过推导得到下式的电场强度和磁场强度。偶极子天线对比电偶极子的电场强度和磁场强度,两种偶极子天线存在一定差异,两种天线存在90°的相位差,即两种的方向图正好相反。半波长偶极天线的输入阻抗是由寻=73+ j42.5欧姆。2.4 宽带电磁偶极子天线1954年Calvin提出了磁电偶极子天线,下面将以一种宽带电磁偶极子天线为例,说明其工作原理。该天线主要由E形贴片和折叠垂直短路贴片组成。E 形电偶极子贴片一般具有多个相邻的谐振频点,从而实现了扩宽工作频带;折叠垂直短路贴片与其之间的地板可以等效为磁偶极子。下图是该天线的表面电流分布图。偶极子天线图5. 天线表面电流分布上图为该宽带天线在同一周期内不同时刻的表面电流分布,当t=T/2时,电偶极子处于工作的状态,天线的电流大部分都存在于E贴片上,折叠垂直端路贴片上只有很少的电流;而在t=T/4时,E形贴片上的电流很少,折叠垂直短路贴片上的表面电流增大,此时天线处于磁偶极子工作状态。可见,其电偶极子和磁偶极子有效结合在一起,就可以在远场实现良好的互补型辐射方向图,这也是电磁偶极子天线的基本理论依据。偶极子天线图6. 电磁偶极子辐射特性两者的远场辐射方向图存在互补的关系。通常情况下,电磁偶极子天线由正交放置且同时激励的电偶极子和磁偶极子组成,电偶极子在 E 面的方向图是平 8 字,对于磁偶极子,其是 O 字形状;在 H 面电偶极子的方向图是 O 字形状,而对于磁偶极子,其是平 8 字形状。将电偶极子和磁偶极子采用恰当的方式结合在一起,就可以在 E 面和 H 面获得相似的心形辐射方向图,电偶极子和磁偶极子在 E 面和 H 面叠加后的辐射方向图具有良好的相似性,更为关键的是,得到的辐射方向图后瓣都很小。3. 基于matlab的偶极子天线设计程序3.1 设计流程基于Matlab的HFSS天线是指编写matlab程序并由该程序生成对应的脚本文件,接着再由HFSS调用该脚本文件最终实现天线设计的自动化过程。与手动进行天线设计相类似,脚本语言设计天线遵从以下流程,首先使用启动HFSS命令开启软件,接着新建工程,在该工程中建立天线模型,依次设置各参数后开始仿真。偶极子天线按照上述流程使用matlab控制HFSS生成的部分脚本内容如下:
Set oHfssApp = CreateObject("AnsoftHfss.HfssScriptInterface")Set oDesktop = oHfssApp.GetAppDesktop()oDesktop.RestoreWindowoDesktop.NewProjectSet oProject = oDesktop.GetActiveProjectoProject.InsertDesign "HFSS", " dio ", "DrivenModal", ""Set oDesign = oProject.SetActiveDesign("dio")Set oEditor = oDesign.SetActiveEditor("3D Modeler")oEditor.CreateCylinder _Array("NAME:CylinderParameters", _"XCenter:=", "0.00100meter", _"YCenter:=", "0.000000meter", _"ZCenter:=", "0.000000meter", _"Radius:=", "0.020000meter", _"Height:=", "0.028000meter", _"WhichAxis:=", "X"), _Array("NAME:Attributes", _"Name:=", "mydipole_1", _"Flags:=", "", _"Color:=", "(255 255 0)", _"Transparency:=", 0, _"PartCoordinateSystem:=", "Global", _"MaterialName:=", "vacuum", _"SolveInside:=", true)oEditor.CreateCylinder _Array("NAME:CylinderParameters", _"XCenter:=", "-0.001000meter", _"YCenter:=", "0.000000meter", _"ZCenter:=", "0.000000meter", _"Radius:=", "0.020000meter", _"Height:=", "-0.028000meter", _"WhichAxis:=", "X"), _Array("NAME:Attributes", _"Name:=", " mydipole_2", _"Flags:=", "", _"Color:=", "(255 255 0)", _"Transparency:=", 0, _"PartCoordinateSystem:=", "Global", _"MaterialName:=", "vacuum", _"SolveInside:=", true)Set oModule = oDesign.GetModule("BoundarySetup")oModule.AssignPerfectE _Array("NAME:Antennas", _"InfGroundPlane:=", false, _"Objects:=", _Array("mydipole_1"," mydipole_2"))oEditor.CreateRectangle _Array("NAME:RectangleParameters", _"IsCovered:=", true, _"XStart:=", "-0.025000meter", _"YStart:=", "0.000000meter", _"ZStart:=", "-0.020000meter", _"Width:=", "0.040000meter", _"Height:=", "0.050000meter", _"WhichAxis:=", "Y"), _Array("NAME:Attributes", _"Name:=", "GapSource", _"Flags:=", "", _"Color:=", "(255 255 0)", _"Transparency:=", 5.000000e-01, _"PartCoordinateSystem:=", "Global", _"MaterialName:=", "vacuum", _"SolveInside:=", true)oEditor.CreateBox _Array("NAME:BoxParameters", _"XPosition:=", "-1.000000meter", _"YPosition:=", "-0.500000meter", _"ZPosition:=", "-0.500000meter", _"XSize:=", "2.000000meter", _"YSize:=", "1.000000meter", _"ZSize:=", "1.000000meter"), _Array("NAME:Attributes", _"Name:=", "AirBox", _"Flags:=", "", _"Color:=", "(255 255 0)", _"Transparency:=", 0.75, _"PartCoordinateSystem:=", "Global", _"MaterialName:=", "vacuum", _"SolveInside:=", true)Set oModule = oDesign.GetModule("BoundarySetup")oModule.AssignRadiation _Array("NAME:ABC", _"Objects:=", Array("AirBox"))Set oModule = oDesign.GetModule("AnalysisSetup")oModule.InsertSetup "HfssDriven", _Array("NAME:Setup150MHz", _"Frequency:=", "2.50000GHz", _"PortsOnly:=", false, _"maxDeltaS:=", 0.020000, _"UseMatrixConv:=", false, _"MaximumPasses:=", 25, _"MinimumPasses:=", 1, _"MinimumConvergedPasses:=", 1, _"PercentRefinement:=", 20, _"ReducedSolutionBasis:=", false, _"DoLambdaRefine:=", true, _"DoMaterialLambda:=", true, _"Target:=", 0.3333, _"PortAccuracy:=", 2, _"SetPortMinMaxTri:=", false)
3.2 空气盒子对偶极子天线仿真结果的影响这里将天线的空气盒的大小设置为变量AIR,研究AIR的尺寸对天线仿真结果的影响程度。对应的程序设置内容如下。偶极子天线偶极子天线图7. 天线仿真模型这里在工作频段内计算了3个频点,依次按照[λ/4,2λ]范围调整空气盒子的大小,对比天线S11参数的仿真计算结果,如下图所示,可见随着空气盒子的尺寸大于天线中心频率的一个波长时,此时的仿真结果的差异逐渐减少。由此可得出以下结论:当天线空气盒子的尺寸设置大于λ时,天线仿真的结果差异性较小;当天线空气盒子的尺寸小于λ/4时,此时的天线计算结果取决于空气盒子的尺寸。偶极子天线

 

 

  审核编辑:汤梓红


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分