• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > CST > CST教程 > MATLAB-CST联合仿真之三:结构参数优化

MATLAB-CST联合仿真之三:结构参数优化

录入:edatop.com     点击:
第二节中我们学习了怎么用MATLAB控制CST进行复杂天线的建模,主要是为了解决常见复杂天线模型的绘制问题。

而按照理论设计建立好天线模型之后,一般情况下并不能立马达到最优性能,我们还需要进一步优化其中的一些结构参数,因此仿真模型的结构参数优化是一项重要且不可避免的工作。

CST自带有参数优化工具,可以进行参数扫描、也可以利用各种数值优化算法对其多个参数进行优化,目标函数的设置也比较灵活,如图1所示。     

图1  CST中参数优化工具

在结构优化设计的最后阶段,我们一般都会采用全波仿真来验证结构的有效性。对于全波计算来说,CST

的计算性能通常比我们自己编写的普通FDTD算法要快且准确很多,在仿真微波器件时,利用CST来计算诸如反射系数、耦合系数、方向图、增益、极化等参数时非常便捷。借助MATLAB控制CST的手段,我们就可以将CST的很多功能当作一个函数来使用了。在优化设计中,我们常常会遇到多种结构参数的物理实现上存在相互约束的情况,需要有灵活的初始化机制来对优化变量的取值做出预选,比如在优化过程中某个参数必须一直小于或大于另一个参数,也可能需要某个参数在一些不连续的变化区间取值,也可能某个参数和另外多个参数存在某种非解析的函数关系等等,那么单纯采用CST自带的优化工具将略显不足,导致我们不得不将优化过程分拆成很多步骤。

所以利用MATLAB灵活的编程方式,并通过其控制CST全波仿真来优化结构参数,是本节主要解决的问题。

本节内容旨在提供一种结构参数优化设计的编程思路,给出的示例程序只实现了一个简单的参数扫描功能,通过扫描不同的结构参数得到器件对应的反射系数,最后根据自己定义的目标函数选出一组反射系数最优的结构参数,从而完成优化的功能。

 

图2  微带—基片集成波导过渡结构优化设计演示(gif)

 

如图2所示,演示的就是在结构参数扫描过程中,微带—基片集成波导过渡结构的变化情况,每一次改变结构参数之后都会进行一次全波仿真得到其S11参数,然后将其代入预设的目标函数中计算,通过函数值的大小来判断其满足目标要求的程度,最后从若干组目标函数值中选出最优结果对应的结构参数,再更新到模型中仿真得到优化后的S11参数。本示例中,我们的优化目标是使该结构的S11参数在8~12GHz的频带范围内小于-20dB,最终从一系列参数中选出了最优的一组,如图3所示。大家会发现,在8~8.2GHz的频段内,S11参数没有满足设计要求,那么此时可以在优化后的结构参数附近进行微调,假如还是不能满足,就只能放大搜索范围寻求更优的结果,想要自动完成此过程,可以将参数扫描的过程修改为数值迭代优化的过程(采用遗传算法、粒子群算法生成结构参数等)。

图3  优化后的S11参数

此示例程序中包含一个小技巧:很多人在参考官方文件导出S11参数的幅度值时,会用到以下命令:result =invoke(mws, 'Result1D', 'a1(1)1(1)');大多数人看到这行代码都会有点懵,这个a1(1)1(1)是哪里来的?很难有人想到S11的幅度要这么来读取!那要是读取其他数据呢,它们有没有如此简洁的名字可供使用,不得而知。其实,我用了一个非常简单的方法就可以方便读取到S11的幅度,那就是用代码复现手动操作的过程来实现。想象一下,我们在操作CST时,点击结果树中的S11就会出现一条曲线,还可以修改显示单位,然后还可以导出成txt文件。因此,我们需要做的就是利用MATLAB控制CST去完成点击的操作(见本节示例代码,里面有详细的命令)、导出曲线,这样的话就方便MATLAB再从这个文件读取数据来使用了。用代码复现操作的思想非常重要,当你想获得各种各样的参数时,只要你能在结果树里面找到,理论上就可以导出。这样就避免了我们去查找CST内部定义的奇怪名字的麻烦,我们也只需要想象一下操作并用代码复现就可很简单的实现了。学了这节课程最大的用处我觉得可以从文献[1]看出,这篇文献里面有段话是这样的:

The desired goal for thisoptimization problem is expanding the bandwidth of the antenna. Therefore, by linking AE-LGMS-FOA source codesto an electromagnetic simulator, the performance of the antenna can beoptimized in a wide range of frequencies. For these kinds of iterativeproblems, finite-difference time-domain(FDTD)-based simulators are more attractive than method-of-moments (MOM)-basedones. This is due to the fact that FDTD-based simulators provide fast andwideband simulations.

我想大家看了这段话后,大家应该很好奇这位作者是用什么编程软件控制什么样的FDTD全波仿真软件,不过我们学习本节内容之后就可以MATLAB-CST联合仿真的方法来实现了,同学们可以自己加入数值优化算法来试一下结构参数优化功能。

参考文献:

[1] Darvish A, Ebrahimzadeh A. Improved Fruit-Fly OptimizationAlgorithm and its Applications in Antenna Arrays Synthesis[J]. IEEETransactions on Antennas & Propagation, 2018, 66(4):1756-1766.

课后讨论

当需要优化结构参数超过10个时,大家会采用什么样的过程来预先确定各参数的取值范围和步进,和什么样的数值优化方式来优化结构参数呢?



MATLAB—CST联合仿真由 国防科大 刘燚原创,共六小节

作者简介:刘燚

国防科技大学电子科学学院电子科学系电磁调控技术教研室讲师,主要从事微波毫米波技术、天线理论与设计等方向的教学和科研。

邮箱:yi_liu@nudt.edu.cn

适用人群:想节约时间做点更有意义事情的天线设计人员
软件操作:能读懂MATLAB代码,在CST中独立仿真过微波器件

专业基础:电磁波与天线,阵列天线理论

软件版本:CST 2018,MATLAB2016b

内容安排:

第一节:MATLAB—CST联合仿真之入门

第二节:MATLAB—CST联合仿真之建模

第三节:MATLAB—CST联合仿真之结构参数优化

第四节:MATLAB—CST联合仿真之方向图分析与综合

第五节:MATLAB—CST联合仿真之共形天线建模与端口设置

学习方法:最好边运行代码边看文字

 

CST微波工作室培训课程套装,专家讲解,视频教学,帮助您快速学习掌握CST设计应用

上一篇:MATLAB-CST联合仿真之二:建模
下一篇:MATLAB-CST联合仿真之四:方向图分析与综合

CST培训课程推荐详情>>

  网站地图