【MATLAB HFSS API】遇到问题该如何解决

  1. 第一封邮件
  2. 我的回复
  3. 这位朋友的回信

——记一次与读者Email的交流记录

首先,大家新年好。许久没有更新文章了,恰好前几天收到一封邮件,来询问关于MATLAB HFSS API使用中的问题。这位朋友的邮件,可以说写的非常好,不仅完整清晰的记录的问题,也可以看出是在认真思考之后才来寻求帮助的。

就把这次沟通的过程,作为2020年第一篇文章吧。

简而言之,这位朋友在使用API里面的一个函数,名为 hfssEditSources ,遇到了问题。如果有人在使用中遇到问题,请仔细阅读本文,应该会有帮助。本文详细描述了遇到报错该如何解决,以及如何参照HFSS自动记录的脚本,来修改和编写函数。这是一个通用的做法。

第一封邮件

Woody Buendia你好:

我是你的博客的一位读者,读到你的教程和资料之后,让我收获很多。 但作为刚刚设计天线仿真的一个新手,在我自己进行仿真时,遇到了问题,困扰了我几天仍然没有解决,想向你请教一下。 首先我基于较早版本的examples文件夹中的microwave_patch.m这个文件重新进行了设计,得到了一个9*1的线阵。由于我的目标是基于hfss和matlab,利用***算法调整阵元的激励,从而优化阵列方向图。因此需要对阵元激励进行调整,在读过你的教程之后,基于我的理解,我采用了hfssEditSources这个函数,格式如下:

可以得到vbs脚本,但在hfss中run script之后,报错如下:

我个人分析认为,.m文件没有报错,对于函数的使用应该是没有问题的。应该是hfssEditSources.m或者vbs文件的问题,但对于vbs的语法我个人一知半解,对于这个报错网上的讨论也不多,我自己的理解很可能是错的。就想就这个问题问问你,听一下你的见解。 在工作日的晚上打扰你,还请谅解;你能抽时间阅读我的邮件和问题,我不胜感激。 另外,也想咨询你一下,对于方向图优化的过来人的经验和想法,比如这个方面是否有其他的成熟的模式或者软件,如果你愿意指导和分享给我,我也十分感谢! 附件中,是我的.m文件和vbs文件,.m文件由于进行了多次尝试,注释的较乱,请多包涵。
wx 2020.02.19

我的回复

wx 你好我简要写了一个文档,你可以参考看看,最后附的matlab代码我并没有来得及验证,但意思应该表达的较为明确了。

对于方向图优化的问题:如果是优化副瓣电平、加窗等,这种现有的解析公式已经有比较好的结果了,可以参考天线相关书籍,例如电子科技大学王建老师的书:阵列天线理论与工程应用;如果是特殊的波束要求,使用随机优化算法的效果还是比较好的。但是仿真起来有些麻烦,就比如你现在做的,会遇到matlab来回调用hfss,效率比较低。这个问题我也遇到过,最后是通过避免调用hfss来提高效率,***
WoodyBuendia20200220

附件:/images/2020/02/Edit-Sources问题.pdf

这位朋友的回信

WoodyBuendia:

十分感谢你的回复和详细文档,上午收到了你的文档就开始了调试。
问题最终被解决了,对照test和microstrip的vbs文件的不同,我发现我使用的hfss15和你使用的hfss2019 r1所需要进行的修改不同,我重新在你的hfssEditSources.m文件上进行了一定程度的修改:1. 将幅度magnitudes相关的“%fw”修改为“%fW”(单位的问题);2. 将源程序中最后的%fprintf(fid, ‘Array(“NAME:Impedances”), _\n’); %fprintf(fid, ‘ false, false,false,”1W”‘);的两行代码,对照正确的vbs文件修改为了fprintf(fid, ‘Array(“NAME:Impedances”), false, false’);3. 删除了一些下划线;这样修改后得到了附件中的hfssEditSourcestest.m。另外,考虑到函数有传入mode参数的可能,增加了函数的一个参数mode,将原有对mode赋1的操作,修改为与幅相类似的循环,得到附件中的hfssEditSourcesupdate.m。这两个修改后的文件都可以完成edit sources的操作。
另外,你有关方向图优化的建议对我来说也十分有价值,说真的,我本来的想法***【此处隐去】
十分感谢你的回复和帮助,解决了我的困惑,并且让我从matlab编程,接触到了vbs层次,掌握了新的调试技巧,加深了vbs使用和api编写的理解,这对我接下来的仿真和学习帮助真的很大。
再次感谢你在百忙之中的指导和帮助,也希望以后能和前辈就其他问题多多交流,还请你不吝赐教。
wx 20200220


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 tinywoody@126.com

💰

×

Help us with donation

github