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