Channel Simulation: Bit-by-bit vs Statistical
通道模擬第一個會遇到的問題是:該跑bit-by-bit 還是 statistical?
先說結論,對於初學者,或是常常搞不清楚這兩者差別的工程師,我會建議用ADS ChannelSim初始設定,也就是bit-by-bit,因為基本上立於不敗。
接著我們談這兩者的差別,要從AMI模型開始說起。
每一個AMI模型都會有兩個保留參數,Init_Return_Impulse() 和 GetWave_Exists(),兩個參數可以為ture或false,因此會有四種可能,見下表。
但不能兩個都是false,所以剩三種可能,我們簡單討論一下分別代表的模型特性。
Type1: 典型的TX模型,LTI (Linear and Time-invariant線性非時變),可以透過impulse response來描述模型。
Type2: 典型的RX模型,NLTV(Non-linear and Time-variant非線性時變),包含了CDR和適應性的等化器,無法透過Impulse response來描述模型,需要透過GetWave()來處理並輸出波型。
Type3: 適用於LTI和NLTV兩種情況,但這需要特別小心,最好跟模型供應商確認正確的使用方法。
剛剛開頭有說過了,用bit-by-bit基本上立於不敗,那什麼情況可以用statistical呢?
1. TX和RX都是Type1
2. 沒有了...
你可能會傻眼,那豈不是不太可能可以跑statistical了嗎?是的,因為現在高速晶片基本上不可能是LTI,RX肯定會有CDR和adaptive-EQ,若跑Statistical就無法考慮這些NLTV的效應,因此必須跑bit-by-bit。
但接著會遇到下一個難題,應該跑多少個bit?ADS help上有說明,ChannelSim的極限是2e9 bits,但我的經驗是基本上無法達到,主要原因,第一是要跑太久,二來電腦也沒有這麼多空間存這麼多資料。多數SI工程師會跑1e6 bits,然後使用外插,這邊可以參考另一篇文章 "Extrapolate in bit-by-bit mode"。
最後給一個觀念,SI模擬看的是趨勢,並找出較好的solution,效率非常重要。因此一開始可以透過bit-by-bit模式,跑個1e6 bits,先看晶片是不是可以在某些情況將眼睛打開,並評估比較可行的通道設計。若行有餘力當然可以試著跑更多的bit去看看在低BER的情況下眼圖閉合的速度,增加對該通道設計的信心程度。
留言
張貼留言