作者简介

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

作者注:"欢迎同学们来信讨论相关问题,也欢迎来我室学习深造。"

内容安排及教程代码获取

适用人群:想节约时间做点更有意义事情的天线设计人员

阅读时间:10分钟

实操时间:30分钟

软件操作:能读懂MATLAB代码,在CST中独立仿真过微波器件

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

软件版本:CST 2018,MATLAB2016b

内容安排:

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

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

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

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

第六节:MATLAB—CST联合仿真之有奖自测

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

(加群请备注:MATLAB-CST)

正文 第二节

上一节中我们通过一个简单微带贴片的建模和仿真,对MATLAB控制CST的方法有了一定了解。但是在实际的天线设计过程中,我们遇到的问题通常都比较复杂,特别是刚入门CST的同学大多会在建立复杂天线模型时陷入不同程度的困境。复杂天线模型一般分为天线单元结构复杂型和阵列天线组阵布局复杂型两种。

1. 天线单元结构复杂型

如图1所示,是常见的螺旋天线,属于单元结构复杂型,其曲线的构成一般可以采用参数方程来表示,不知表达方程的同学可以查阅相关文献。当然,由于此类天线的曲线相对简单,对于有一定CST使用操作经验的人来说还是比较容易绘制的。

我回想了一下,多年以前我绘制阿基米德螺旋天线的时候,最初想到的办法就是用MATLAB分别生成了具有一定宽度的闭合曲线(每个臂对应一条独立的闭合曲线)并将其坐标的数值点保存成TXT文件,然后在CST里面用“Polygon”命令载入此TXT文档,这样就在CST里面生成了一个闭合的曲线,最后利用“Cover Curve”命令将此闭合曲线变成金属面,再将此面扩展成体就得到了阿基米德螺旋天线实体模型。虽然这样的操作也并不复杂,但是对于喜欢追求效率的人,还是显得太麻烦了,就想着要么就在MATLAB里面把所有操作完成,要么就在CST里面完成,在各种程序之间捣腾略显绕脑和耗时。

因此,我后来就直接用CST的VBA命令生成曲线来建模了,不过我对VB的各种命令不是很熟悉,都是边查边用,还是比较耗时。近几年版本的CST也可以通过自带的宏命令绘制一些常用的复杂曲线天线了,但是为了能够更灵活的绘制我们需要的天线,学会借助MATLAB强大的计算能力和便捷的操作性来完成各种复杂天线的建模也是非常不错的。

图1  常见的平面和立体螺旋类天线

为帮助大家快速上手,就以图1所示的两种基本线天线为例,介绍两种用MATLAB控制CST进行绘制曲线类天线模型的简单快速方法。请大家先看示例代码。

示例代码中已经有较为详细的注释,这里梳理一下不同方法的关键步骤:

第二种方法的基本思路:首先生成两条曲线,一条是路径,利用“Curve”和“AnalyticalCurve”组合生成(AnalyticalCurve是CST自带的参数方程曲线生成命令);一条是剖面轮廓(闭合曲线将生成实心体,非闭合曲线将生成面),可以绘制成矩形、圆形或其他复杂形状;然后利用“SweepCurve”命令就可以将剖面沿着路径生成天线实体了。此方法相比第一种方法要更加通用一些,不受几何形状和空间限制,且“SweepCurve”命令还提供了扭转角(Twistangle)和锥角(Taperangle)两个参数的选择,更加丰富了建模的形状。

图2所示为这两种螺旋天线的自动建模演示。当然,具有复杂结构的天线单元种类很多,本节只提供了线天线建模的基本方法,希望同学们可以举一反三,自己动手建立具有复杂曲面的天线模型。

图2  螺旋天线自动建模演示(gif)

2. 阵列天线组阵布局复杂型

一个合格的天线设计师,除了要会设计一些形状怪异的天线单元外,还要能应对阵列天线各种复杂的组阵方式。如图3所示,这些阵列天线单元的几何形状大小位置不都一样,关键是数目众多,假如在CST中为每一个单元都建立参数变量,显然难以管理。

3  反射阵天线(感谢陈焱和刘桃林供图)和波导缝隙阵列天线

其实,经常使用HFSS的天线设计师通常会用MATLAB-HFSS-API来实现阵列天线的建模,此API操作方式主要是通过MATLAB生成HFSS可执行的脚本文件实现自动建模仿真等,使用方便、应用广泛。刚开始我也是用MATLAB-HFSS-API实现缝隙阵列天线的建模,也想过基于此种思路写个类似的MATLAB-CST-API代码,想通过MATLAB生成CST可执行的VBA宏文件,但是最终以失败告终,写了几个函数就放弃了,因为我知道这东西真不适合我去写,有钱又有闲的人可能更适合。

因此,我只能转而用VBA代码读取外部的天线结构参数然后再建模,比如在对Vivaldi天线曲线的优化和其加载介质形状的优化时、反射阵天线的建模时等。诚然,利用VBA来读取外部数据是一个好方法,但很多时候这些外部数据也是来源于MATLAB程序的计算。因此,要是能直接在MATLAB里面完成参数生成和模型建立,甚至进行仿真和优化将是非常有意义的一件事。

下面我们就以简单的波导缝隙阵列天线的建模为例来介绍一下MATLAB控制CST进行阵列建模的方法。有了一定基础之后,阵列天线建模的重点其实是落在了MATLAB编程上和一些建模命令的灵活应用上,但是我想看到这里的人应该还是很想直接看到示例代码,那就请先按照文首方式下载代码吧,希望能对大家有所帮助。

图4  程序代码名字

图4所示为示例代码的构成,SlotArray.m是主程序,程序里面的注释已经比较完善了,应该都能看懂,Brick.m、Material.m和Transform.m就是三个CST里面常用的操作命令,我这里将其写成了函数,这样在主程序里面调用时就比较方便了,代码看上会去整洁一些。StructureParameters.mat是我已经生成好的10×10波导缝隙阵列的相关结构参数,比如说缝隙的位置、长度和宽度等信息,总共100组。

图5  波导缝隙阵列天线自动建模演示

运行主程序可得到如图5所示的建模过程,通过MATLAB完成缝隙几何参数的读取,然后建立仿真模型,最后添加馈电端口并开始仿真。里面用到了更多已经翻译好的CST操作命令而已,这样大家在参考的时候可以节约一些翻译代码的时间,同时也可以借鉴这种思路,帮助大家快速建立阵列天线模型。

学完这一节的内容,面对复杂天线的建模,同学们心里应该有底了。

大家使用本文介绍的MATLAB-CST联合仿真方式建模后,感觉与MATLAB-HFSS-API建模的有什么不同?各有什么优势呢?

本节校对与代码测试人员:

文颖,成都电子科技大学本科,国防科技大学电子科学学院硕士研究生在读。

作者简介:

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

获取代码及深入交流

2006-2018专注微波12年,现13万微波会员

会员注册 | 资料下载 | 会议信息 | 微波培训