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聯合仿真之有獎自測
學習方法:最好邊運行代碼邊看文字
教程獲取:關注公眾號“微波仿真論壇”
示例代碼:請在公眾號后臺回復“CST001”獲取下載鏈接
加群方式:加Amy_wang微信: 18010874378
(加群請備注:MATLAB-CST)
論壇交流:http://bbs.rfeda.cn/read-htm-tid-112943.html
正文 第二節
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進行繪制曲線類天線模型的簡單快速方法。請大家先看示例代碼。
示例代碼中已經有較為詳細的注釋,這里梳理一下不同方法的關鍵步驟:
第一種方法的基本思路:在繪制平面型線天線時,可以先用MATLAB生成曲線的二維坐標點集,然后通過“Curve”和“Polygon”來生成曲線,最后通過“Trace From Curve”就可以生成具有一定厚度和寬度的天線實體,且天線起始端或者末端可以設置成圓形。此方法相比我上文中介紹的利用閉合曲線生成實體的方式要簡單得多,它就只考慮中心路徑,不需要閉合曲線圍成面。據我了解“Trace FromCurve”應該是CST2018版本新增的命令,所以請有需要的同學自行升級到最新版本,版本低運行報錯的請注釋掉此方法的整段代碼再運行。
第二種方法的基本思路:首先生成兩條曲線,一條是路徑,利用“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建模的有什么不同?各有什么優勢呢?
致謝
本節校對與代碼測試人員:
文穎,成都電子科技大學本科,國防科技大學電子科學學院碩士研究生在讀。
作者簡介:
劉燚,國防科技大學電子科學學院電子科學系電磁調控技術教研室講師,主要從事微波毫米波技術、天線理論與設計等方向的教學和科研。
郵箱:yi_liu@nudt.edu.cn
獲取代碼及深入交流
教程獲取:關注公眾號“微波仿真論壇”
示例代碼:請在公眾號后臺回復“CST001”獲取下載鏈接
配套微信群:加編輯Amy_wang微信: 18010874378 (請備注:MATLAB-CST)
論壇留言:http://bbs.rfeda.cn/read-htm-tid-112943.html
微波仿真論壇 公眾號(bbs.rfeda.cn)
2006-2018專注微波12年,現13萬微波會員
長按二維碼關注公眾號
會員注冊 | 資料下載 | 會議信息 | 微波培訓
加編輯Amy_wang微信 (備注:MATLAB-CST)
至 論壇留言 交流 點擊閱讀原文
代碼下載不了
很不錯,謝謝分享
厲害了,謝謝分享
咋看不了圖片呢
看這里。
謝謝分享,謝謝謝