教你如何定義CST的激勵信號
來源:edatop
更新時間:2024-09-06
閱讀:
1) CST MWS 自帶的激勵信號
在整個時域仿真過程中,時域求解器通過時間信號的激勵來計算空間上各個時刻的場值。因此任何一個用于時域仿真的結(jié)構都至少應該含有一個用于場輸入和輸出的端口。
將仿真結(jié)構抽象為含有一個輸入端口和一個輸出端口的系統(tǒng),根據(jù)輸入信號i1,輸出信號o2,1 和反射信號o1,1,以及這些信號的頻域值即可得系統(tǒng)特性,并最終設計出需要的系統(tǒng)結(jié)構。因此,時域仿真過程中選擇合適的激勵信號是很重要的。
在 MWS 的時域求解過程中,定義激勵端口后,系統(tǒng)會給出缺省的激勵信號,該缺省的激勵信號是由仿真的頻率范圍決定的高斯脈沖信號。
如上圖所示,高斯脈沖信號的頻譜仍是高斯函數(shù)。高斯脈沖帶寬是有限的,因此可以確保整個頻帶上網(wǎng)格的生成,有利于求解器在整個頻帶上對所有頻點進行采樣。另外,高斯脈沖的頻譜在帶寬中不含有零點,故高斯脈沖信號可以在其頻帶上可以準確地計算S 參量。因此對S 參量的求解等,該缺省的高斯脈沖就足夠了。
微波工作室的信號庫中含有幾個預先定義好的激勵信號,可供用戶選擇。完成結(jié)構建模,并設置好仿真頻率等仿真參數(shù)后,點擊導航樹→Excitation Signals 即可查看當前缺省設置下的激勵信號。
如果對缺省的激勵信號不滿意,還可以在導航樹的 Excitation Signals 上點擊右鍵,選擇右鍵菜單中的Load from Signal Library.....打開信號庫(Load New Excitation Signal From Library)選擇需要的激勵信號。
在下圖的信號庫對話框中選擇需要的激勵信號后,點擊 Apply 按鈕即可完成信號的加載,在以后的仿真中,可以從求解器對話框中加載該信號對結(jié)構進行激勵。
2) 自定義激勵信號
如果信號庫中的信號都不能符合仿真要求,您還可以自己定義需要的激勵信號。完成結(jié)構建模,并設置好仿真頻率等仿真參數(shù)后,在導航樹的 Excitation Signals 上點擊右鍵選擇右鍵菜單中的New Excitation Signal......
在打開的 Excitation Signal 對話框中選擇Gaussian 選項即可通過設定頻率范圍Fmin 和Fmx 來定義高斯脈沖信號,選擇Rectangular 選項即可通過指定信號的上升(Trise)、下降(Tfall)、保持(Thold)以及總激勵時間(Ttotal)來定義矩形脈沖信號,并可以在Name 欄中為定義的激勵信號指定一個您喜歡的名字,這里我們定義一個矩形脈沖,并將名字命名為rectangular。
完成激勵信號的設置后,點擊OK 按鈕關閉對話框,即可在導航樹中打開Excitation Signals 文件夾,選擇rectangular 選項查看添加的激勵信號。
選擇 User defined 選項,將激活Edit.....。點擊該按鈕即進入VBA 編輯器。
在打開的 VBA 編輯器中您可以利用相應的VBA 命令來定義需要的激勵信號。
系統(tǒng)已經(jīng)幫您定義好激勵函數(shù) Function ExcitationFunction(dtime As Double) As Double 您可以在該激勵函數(shù)中利用VBA 命令定義需要的激勵信號。例如,我們在這里定義一個0 到2pi 的正弦函數(shù)。
在激勵函數(shù) ExcitationFunction 中輸入正弦函數(shù)語句,如下圖所示:
回到主視圖中界面將 Excitation Signal 對話框中的Ttotal 變?yōu)?*pi,并為該信號指定一個您喜歡的名字(這里我們定義為sin_func),點擊OK 按鈕即完成激勵信號的定義。
此時,導航樹會自動指向新定義的激勵信號sin_func。
至此,您已經(jīng)成功地完成了激勵信號的定義和加載,可以在隨后的仿真中指定該信號對端口進行激勵。
另外:為了方便您對編寫的 VBA 激勵信號進行調(diào)試查看,系統(tǒng)還預先定義好主函數(shù)Sub Main2。
例如,我們需要對 VBA 命令編寫正弦激勵信號進行調(diào)試查看,將其變?yōu)閟in(x)*cos(x)則需要進行以下操作:
(1)回到VBA 編輯器界面,將主函數(shù)中的Sub Main2 變?yōu)镾ub Main,把最長激勵時間tmax 由缺省的10.0 變?yōu)?*pi。并且讓激勵信號函數(shù)Function ExcitationFunction=sin(x)*cos(x)
(2)點擊Run Macro 按鈕,運行該程序。
(3) 程序運行后, 回到主視圖中。此時, 導航樹自動指向Excitation Signals->Userdefined Functions->sin_func_plot,此函數(shù)即是新定義的激勵信號。
(4)激勵信號符合要求后,請一定回到VBA 編輯器界面,將主函數(shù)Sub Main 更名為Sub Main2 等其他的名字,并保存程序。
(5)最后回到主視圖中,點擊Excitation Signal 對話框中的OK 按鈕,關閉對話框,即成功完成信號的定義和加載,在以后的仿真中可以選擇sin_func、rectangular 或是default 作為激勵信號。
注意:主函數(shù) Sub Main 只做調(diào)試用,故完成信號定義前一定要將其更名為Sub Main2 等其他的名字。如果您保持主程序Sub Main 的名字不變,則激勵信號sin_func 將仍是調(diào)試以前定義的信號。
恭喜您!您現(xiàn)在已經(jīng)可以在微波工作室中隨意定義需要的激勵信號了!
注意:用除了高斯脈沖以外的信號激勵,得到的頻譜分量都是假的!
如上所述:理應得到的是輸出響應(如某點處探針頻域值)=系統(tǒng)函數(shù)*激勵時域信號的傅里葉變換,而實際CST中,無論用什么信號激勵得到的輸出響應都=系統(tǒng)函數(shù)*高斯信號的頻譜!
希望大家一定要注意!
謝謝了啊 ,學習了
重新了解了不少東西
除了高斯信號以外,其他信號激勵得到的各個頻譜分量響應=系統(tǒng)函數(shù)頻域*高斯信號的頻譜
都可以用宏的方式自定義自己需要的激勵信號
內(nèi)在的東西,我還真不知道,我很多都是一知半解的,希望大家多來交流
一知半解,學起來太痛苦了
你們都很強悍
謝謝了啊 ,學習 ,小編很強?。?br />
很好的帖子
謝謝了啊 ,學習了
很不錯,先收下了
先頂 然后慢慢研究學習~
慢慢學,呵呵!
小編真是謙虛啊,你都一知半解的話,那我豈不是一無所知,慚愧??!看來我的加把勁啊。(*^__^*) 嘻嘻……
沒有系統(tǒng)的自學的書~學起來好痛苦哦~
thanks you
^^^
謝謝了啊 ,學習了