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