CST進(jìn)階之路:第三節(jié) MATLAB—CST聯(lián)合仿真之結(jié)構(gòu)參數(shù)優(yōu)化
太赫茲雷達(dá)技術(shù)空間應(yīng)用與研究進(jìn)展
微波仿真論壇 原創(chuàng)投稿MATLAB—CST聯(lián)合仿真由 國防科大 劉燚 原創(chuàng),并首發(fā)微波仿真論壇(公眾號(hào))。共六小節(jié),分六天連載。每節(jié)均附有示例代碼 + 課后討論 + 配套微信群深入交流 + 論壇贊助禮品獎(jiǎng)勵(lì)。如需轉(zhuǎn)載請(qǐng)聯(lián)系 劉燚 博士獲取授權(quán)。
作者簡介
作者:劉燚,國防科技大學(xué)電子科學(xué)學(xué)院電子科學(xué)系電磁調(diào)控技術(shù)教研室講師,主要從事微波毫米波技術(shù)、天線理論與設(shè)計(jì)等方向的教學(xué)和科研。
郵箱:yi_liu@nudt.edu.cn
作者注:"歡迎同學(xué)們來信討論相關(guān)問題,也歡迎來我室學(xué)習(xí)深造。"
內(nèi)容安排及教程代碼獲取
適用人群:想節(jié)約時(shí)間做點(diǎn)更有意義事情的天線設(shè)計(jì)人員
閱讀時(shí)間:10分鐘
實(shí)操時(shí)間:30分鐘
軟件操作:能讀懂MATLAB代碼,在CST中獨(dú)立仿真過微波器件
專業(yè)基礎(chǔ):電磁波與天線,陣列天線理論
軟件版本:CST 2018,MATLAB2016b
內(nèi)容安排:
第一節(jié):MATLAB—CST聯(lián)合仿真之入門(點(diǎn)擊查看)
第二節(jié):MATLAB—CST聯(lián)合仿真之建模(點(diǎn)擊查看)
第三節(jié):MATLAB—CST聯(lián)合仿真之結(jié)構(gòu)參數(shù)優(yōu)化(本節(jié))
第四節(jié):MATLAB—CST聯(lián)合仿真之方向圖分析與綜合
第五節(jié):MATLAB—CST聯(lián)合仿真之共形天線建模與端口設(shè)置
第六節(jié):MATLAB—CST聯(lián)合仿真之有獎(jiǎng)自測
學(xué)習(xí)方法:最好邊運(yùn)行代碼邊看文字
教程獲?。?/b>關(guān)注公眾號(hào)“微波仿真論壇”
示例代碼:請(qǐng)?jiān)诠娞?hào)后臺(tái)回復(fù)“CST003”獲取下載鏈接
加群方式:加Amy_wang微信: 18010874378
(加群請(qǐng)備注:MATLAB-CST)
論壇交流:http://bbs.rfeda.cn/read-htm-tid-112944.html
正文 第二節(jié)
CST進(jìn)階之路:第三節(jié)
MATLAB—CST聯(lián)合仿真之結(jié)構(gòu)參數(shù)優(yōu)化
第二節(jié)中我們學(xué)習(xí)了怎么用MATLAB控制CST進(jìn)行復(fù)雜天線的建模,主要是為了解決常見復(fù)雜天線模型的繪制問題。
而按照理論設(shè)計(jì)建立好天線模型之后,一般情況下并不能立馬達(dá)到最優(yōu)性能,我們還需要進(jìn)一步優(yōu)化其中的一些結(jié)構(gòu)參數(shù),因此仿真模型的結(jié)構(gòu)參數(shù)優(yōu)化是一項(xiàng)重要且不可避免的工作。
CST自帶有參數(shù)優(yōu)化工具,可以進(jìn)行參數(shù)掃描、也可以利用各種數(shù)值優(yōu)化算法對(duì)其多個(gè)參數(shù)進(jìn)行優(yōu)化,目標(biāo)函數(shù)的設(shè)置也比較靈活,如圖1所示。
圖1 CST中參數(shù)優(yōu)化工具
在結(jié)構(gòu)優(yōu)化設(shè)計(jì)的最后階段,我們一般都會(huì)采用全波仿真來驗(yàn)證結(jié)構(gòu)的有效性。對(duì)于全波計(jì)算來說,CST的計(jì)算性能通常比我們自己編寫的普通FDTD算法要快且準(zhǔn)確很多,在仿真微波器件時(shí),利用CST來計(jì)算諸如反射系數(shù)、耦合系數(shù)、方向圖、增益、極化等參數(shù)時(shí)非常便捷。
借助MATLAB控制CST的手段,我們就可以將CST的很多功能當(dāng)作一個(gè)函數(shù)來使用了。在優(yōu)化設(shè)計(jì)中,我們常常會(huì)遇到多種結(jié)構(gòu)參數(shù)的物理實(shí)現(xiàn)上存在相互約束的情況,需要有靈活的初始化機(jī)制來對(duì)優(yōu)化變量的取值做出預(yù)選,比如在優(yōu)化過程中某個(gè)參數(shù)必須一直小于或大于另一個(gè)參數(shù),也可能需要某個(gè)參數(shù)在一些不連續(xù)的變化區(qū)間取值,也可能某個(gè)參數(shù)和另外多個(gè)參數(shù)存在某種非解析的函數(shù)關(guān)系等等,那么單純采用CST自帶的優(yōu)化工具將略顯不足,導(dǎo)致我們不得不將優(yōu)化過程分拆成很多步驟。所以利用MATLAB靈活的編程方式,并通過其控制CST全波仿真來優(yōu)化結(jié)構(gòu)參數(shù),是本節(jié)主要解決的問題。
本節(jié)內(nèi)容旨在提供一種結(jié)構(gòu)參數(shù)優(yōu)化設(shè)計(jì)的編程思路,給出的示例程序只實(shí)現(xiàn)了一個(gè)簡單的參數(shù)掃描功能,通過掃描不同的結(jié)構(gòu)參數(shù)得到器件對(duì)應(yīng)的反射系數(shù),最后根據(jù)自己定義的目標(biāo)函數(shù)選出一組反射系數(shù)最優(yōu)的結(jié)構(gòu)參數(shù),從而完成優(yōu)化的功能。
圖2 微帶—基片集成波導(dǎo)過渡結(jié)構(gòu)優(yōu)化設(shè)計(jì)演示(gif)
如圖2所示,演示的就是在結(jié)構(gòu)參數(shù)掃描過程中,微帶—基片集成波導(dǎo)過渡結(jié)構(gòu)的變化情況,每一次改變結(jié)構(gòu)參數(shù)之后都會(huì)進(jìn)行一次全波仿真得到其S11參數(shù),然后將其代入預(yù)設(shè)的目標(biāo)函數(shù)中計(jì)算,通過函數(shù)值的大小來判斷其滿足目標(biāo)要求的程度,最后從若干組目標(biāo)函數(shù)值中選出最優(yōu)結(jié)果對(duì)應(yīng)的結(jié)構(gòu)參數(shù),再更新到模型中仿真得到優(yōu)化后的S11參數(shù)。
本示例中,我們的優(yōu)化目標(biāo)是使該結(jié)構(gòu)的S11參數(shù)在812GHz的頻帶范圍內(nèi)小于-20dB,最終從一系列參數(shù)中選出了最優(yōu)的一組,如圖3所示。大家會(huì)發(fā)現(xiàn),在88.2GHz的頻段內(nèi),S11參數(shù)沒有滿足設(shè)計(jì)要求,那么此時(shí)可以在優(yōu)化后的結(jié)構(gòu)參數(shù)附近進(jìn)行微調(diào),假如還是不能滿足,就只能放大搜索范圍尋求更優(yōu)的結(jié)果,想要自動(dòng)完成此過程,可以將參數(shù)掃描的過程修改為數(shù)值迭代優(yōu)化的過程(采用遺傳算法、粒子群算法生成結(jié)構(gòu)參數(shù)等)。
圖3 優(yōu)化后的S11參數(shù)
此示例程序中包含一個(gè)小技巧:
很多人在參考官方文件導(dǎo)出S11參數(shù)的幅度值時(shí),會(huì)用到以下命令:
大多數(shù)人看到這行代碼都會(huì)有點(diǎn)懵,這個(gè)a1(1)1(1)是哪里來的?很難有人想到S11的幅度要這么來讀??!
那要是讀取其他數(shù)據(jù)呢,它們有沒有如此簡潔的名字可供使用,不得而知。其實(shí),我用了一個(gè)非常簡單的方法就可以方便讀取到S11的幅度,那就是用代碼復(fù)現(xiàn)手動(dòng)操作的過程來實(shí)現(xiàn)。想象一下,我們?cè)诓僮鰿ST時(shí),點(diǎn)擊結(jié)果樹中的S11就會(huì)出現(xiàn)一條曲線,還可以修改顯示單位,然后還可以導(dǎo)出成txt文件。
因此,我們需要做的就是利用MATLAB控制CST去完成點(diǎn)擊的操作(見本節(jié)示例代碼,里面有詳細(xì)的命令)、導(dǎo)出曲線,這樣的話就方便MATLAB再從這個(gè)文件讀取數(shù)據(jù)來使用了。用代碼復(fù)現(xiàn)操作的思想非常重要,當(dāng)你想獲得各種各樣的參數(shù)時(shí),只要你能在結(jié)果樹里面找到,理論上就可以導(dǎo)出。這樣就避免了我們?nèi)ゲ檎褻ST內(nèi)部定義的奇怪名字的麻煩,我們也只需要想象一下操作并用代碼復(fù)現(xiàn)就可很簡單的實(shí)現(xiàn)了。
學(xué)了這節(jié)課程最大的用處我覺得可以從文獻(xiàn)[1]看出,這篇文獻(xiàn)里面有段話是這樣的:
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.
我想大家看了這段話后,大家應(yīng)該很好奇這位作者是用什么編程軟件控制什么樣的FDTD全波仿真軟件,不過我們學(xué)習(xí)本節(jié)內(nèi)容之后就可以MATLAB-CST聯(lián)合仿真的方法來實(shí)現(xiàn)了,同學(xué)們可以自己加入數(shù)值優(yōu)化算法來試一下結(jié)構(gòu)參數(shù)優(yōu)化功能。
參考文獻(xiàn):
[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.
課后討論(加相關(guān)微信群)
課后討論(移步 論壇 或 交流群):
當(dāng)需要優(yōu)化結(jié)構(gòu)參數(shù)超過10個(gè)時(shí),大家會(huì)采用什么樣的過程來預(yù)先確定各參數(shù)的取值范圍和步進(jìn),和什么樣的數(shù)值優(yōu)化方式來優(yōu)化結(jié)構(gòu)參數(shù)呢?
致謝
本節(jié)校對(duì)與代碼測試人員:
黃志洵,國防科技大學(xué)電子科學(xué)學(xué)院碩士研究生在讀。
作者簡介:
劉燚,國防科技大學(xué)電子科學(xué)學(xué)院電子科學(xué)系電磁調(diào)控技術(shù)教研室講師,主要從事微波毫米波技術(shù)、天線理論與設(shè)計(jì)等方向的教學(xué)和科研。
郵箱:yi_liu@nudt.edu.cn
獲取代碼及深入交流
教程獲?。?/b>關(guān)注公眾號(hào)“微波仿真論壇”
示例代碼:請(qǐng)?jiān)诠娞?hào)后臺(tái)回復(fù)“CST003”獲取下載鏈接
配套微信群:加編輯Amy_wang微信: 18010874378 (請(qǐng)備注:MATLAB-CST)
論壇留言:http://bbs.rfeda.cn/read-htm-tid-112944.html
微波仿真論壇 公眾號(hào)(bbs.rfeda.cn)
2006-2018專注微波12年,現(xiàn)13萬微波會(huì)員
長按二維碼關(guān)注公眾號(hào)
會(huì)員注冊(cè) | 資料下載 | 會(huì)議信息 | 微波培訓(xùn)
加編輯Amy_wang微信 (備注:MATLAB-CST)
至 論壇留言 交流 點(diǎn)擊閱讀原文
嘻嘻嘻嘻嘻嘻嘻嘻尋尋尋
為什么要將原來的模型的三維sat文件導(dǎo)出?原.m文件我運(yùn)行結(jié)束之后點(diǎn)擊CST里面的保存,CST就卡死了?但是我之前也有做過類似的.m建模的,卻沒有出現(xiàn)卡死的情況,還有一個(gè)問題就是.m文件里面的單位以及背景條件,頻率范圍,我新建CST文件再導(dǎo)入sat文件之后,這些都沒有了?這是為什么,matlab程序可以解決嗎?
請(qǐng)?jiān)敿?xì)看第一節(jié)里面的描述
我使用的是CST2017,第一節(jié)的東西我也跑了,同樣的結(jié)果,在使用你的程序 MATLAB連接CST建立了一個(gè)貼片天線模型并仿真結(jié)束之后,我關(guān)閉了patchantenna這個(gè)項(xiàng)目,之后再次打開這個(gè)項(xiàng)目時(shí),frequency全變?yōu)?,units變成了標(biāo)準(zhǔn)單位 m Hz s K ,background變成了PEC,boundries變成了的 Et=0 ,這樣的情況實(shí)在無法理解,希望你能給我一點(diǎn)指導(dǎo)
借同學(xué)電腦使用CST2018跑也是一樣。
請(qǐng)看詳細(xì)完整的看第一節(jié)內(nèi)容
看一看。學(xué)一學(xué)
講的太好了
是啊 怎么 看圖片啊
加群方式:加Amy_wang微信: 18010874378
(加群請(qǐng)備注:MATLAB-CST)