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