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