發表文章

目前顯示的是 10月, 2021的文章

Causality Check

圖片
Causal: 因果關係 簡單來說,有input才有output。這我們認為很理所當然的鐵律,在SI的世界卻是一個常常會遇到的問題,常見原因有: 1. time/frequency transformation: 常見的情景是拿到一個有限頻寬的S參數,例如0-40GHz,放到ChannelSim裡想要看對眼圖的影響,這個時候ChannelSim會先把頻域的S參數轉為時域,再做bit convolution(卷積)。但因為是有限頻寬,所以轉換到時域就不可避免會有因果性的問題,這基本上是無法避免的,因為實際上也不可能量測到,或是抽出接近無限頻寬的S參數。這個原因佔違反因果律的比重較小,除非判斷是否違反的標準很嚴苛,否則應該不至於成為主要因素。 2. frequency dependent material: 做EM模擬時,會設定材料的dk/df模型,我們都知道dk/df會隨頻率變化,也就是frequency dependent,所以若在模擬的時用單一dk/df給所有頻率點使用,模擬結果就會違反因果律。ADS支援的頻變模型是Svensson/Djorjievic,user給定一個頻率的dk/df值(e.g. 5GHz),ADS會協助外插其他頻域的dk/df (e.g. 1kHz to 1THz),由於SD頻變模型的公式是符合因果律的,跑出來的結果就可以確保因果性。 3. 量測的手法,EDA工具的設定,這些都可能會造成違反因果律的問題,可能原因有很多,若遇到建議直接跟相關應用工程師尋求諮詢。 為了克服non-causal,每一家時域模擬引擎都會具備enforce causality的功能,否則跑出來的結果會很違反常理。ADS Transient 使用自家專利 (USA patent 7962541),在不修改太多Spectrum的前提下,透過hilbert transform來讓時域訊號符合因果律,所以 ADS的Transient/ChannelSim模擬結果一定符合因果律 。 由於enforce causality是ADS Transient/ChannelSim的內建設定,這邊跟大家分享兩點實用技巧 1. 如何看S參數是否符合因果律  2.若S參數違反因果律,拿這個S參數來跑Transient/ChannelSim會被ADS修改多少。 在這之前要提醒大家,工具只...