CST MWS中時域求解器的頻率設置與時-頻域變換引起的計算誤差問題
說明:CST中時域求解器的頻率設置,是每一個使用CST仿真軟件的人每天必須面對的問題。說明文件或者某些高校的教程中給出了建議的頻率設置方法,但并未說明為什么那樣設置。CST說明文檔還算比較詳細,不過畢竟是商業軟件的說明,不是百科全書,不可能就每一點問題都作出解釋。于是就會有細心地、有鉆研精神的網友提出這樣的問題:頻率設置原則是根據什么定的?
以前我本人長期使用CST(目前因為實驗室只有正版的HFSS,所以暫時不用CST了),對該問題有點淺顯的認識,在這里說出來與大家分享,如果不對,還望不吝賜教。
這里僅僅給出示意性質的函數圖形以及定性為主的解釋,有興趣的朋友不妨自己用真實信號驗證,當然,也可以向CST公司驗證(CST回復的話別忘了告訴我啊,共同進步嘛,呵呵)。
CST中時域仿真器的頻率設置原則是:如果關注的頻段是f1—f2,那么需要將頻率范圍設置為f1/1.3—f2*1.3。原則上講,CST可以計算更寬頻帶,但是為什么沒有建議更寬呢?我認為,這主要在于:時域求解器中,S參量是通過時域解到頻域變換實現的,而這一變換過程中必然存在誤差(原因稍后解釋),而且,頻帶越寬,誤差越大。
時域解到頻域變換過程中存在怎樣的誤差呢?學習過信號的人都可以理解:時域截斷效應。CST中默認的信號形式為“準”高斯信號(這里也以此信號為研究對象),之所以叫準高斯信號,是因為真正的高斯信號在時域上是無限的,而我們處理的高斯信號確實在一定時間范圍內的,這就要對理想高斯信號時域截斷。或者說,我們使用的真實的高斯信號是無限時域內理想高斯信號與時域截斷函數的乘積。下圖中,時域截斷函數的自變量取值范圍為[0,1](本文中沒有賦予單位,以簡單為原則處理),通過乘積作用,它保留的理想高斯信號的在[0,1]區間內的部分,使得區間外任何部分均為零。
理想高斯信號本身具有傅里葉變換對稱性,也就是說理想高斯函數的傅里葉變換也是高斯函數。那么,真實的高斯函數信號對應的頻域信號呢?根據時域乘積對應頻域卷積的傅里葉變換性質,以及時域截斷信號對應辛格函數(取樣函數,sin(x)/x)的特點,可以知道:真實的高斯信號對應的頻譜是帶有“波紋”的(為說明問題,圖形夸張處理)。而且,觀察仿真完的信號可以看到:輸入信號和輸出信號持續的時間不一樣!兩者在頻域上的波紋肯定也不相同。
波紋的產生,是時域信號變換到頻域的必然結果。而且,起伏的大小和時域截斷信號的持續時間直接相關,截斷信號越長,其本身對應的頻域信號越接近于Dirac取樣函數,篩選性質越好,波紋越小;反之,波紋越大。
可見,如果想要得到無波紋(不可能絕對沒有)或者小波紋干擾的頻域結果,需要采用持續時間長的截斷信號。如果我們有一個關注的頻點或者頻率范圍,在時域仿真器中設置求解頻率范圍的時候,最好是采用盡可能窄的頻帶,因為頻域信號越狹窄,對應的時域信號時間持續越長,在后期進行時頻域變換時,產生的誤差越小。不過,仿真頻帶也不能太小,因為如果關注的頻帶與之相同,那么關注的兩個頻點(高端和低端)將會出現在頻域高斯函數的兩端,幅值很小,幅值越小,對誤差越敏感,結果越不可信。S參量幅度很小(線性值)時,也存在自身小、干擾大的問題,所以,S參量太小的時候計算難免不準確。
正是以上兩方面的考慮,CST建議采用f1/1.3—f2*1.3的頻率設置。
結論:CST軟件的時域算法決定了自身至少存在兩種誤差:時域有限積分過程中的誤差和時頻域轉換過程中的誤差,前一種誤差主要是算法自身決定的,后一種誤差需要我們控制仿真頻率范圍來減小,以期得到最可信的結果。
PS:有些人堅持說CST的仿真精度低,其中的一種情況很有可能就是時頻域轉換誤差過大。
感冒了,在家休息,抓時間寫了一下自己的理解,希望可以對大家有所幫助。轉載請務必注明出處。
學習了,收下先
頂一個!! 學習了^^
學習了!!!
很精彩!
謝謝!如果帖子可以帶給大家一點點幫助,得到朋友們的認同,無疑是我最大的收獲了,呵呵
帖子說的只是我個人的理解或者猜測,沒有定量的驗證過,希望有興趣的朋友檢驗一下。畢竟CST中的時域信號都是在幅度值衰減到最大值的百萬分之一(1e-6)才截斷的,不知道定量的影響會有多大。
感謝樓主
很實用
看了這篇文章,啟發很大,受教了!