信號完整性分析基礎(chǔ)之十——串行數(shù)據(jù)測試的總體抖動算法
在高速串行數(shù)據(jù)的測試中,抖動的測試非常重要。在串行數(shù)據(jù)的抖動測試中,抖動定義為信號的邊沿與其參考時鐘之間的偏差。對于抖動測量值的量化,通常有抖動的峰峰值和有效值這兩個參數(shù)。不過,抖動的峰峰值隨著測量時間的增加,測量值不斷變大,不能將抖動值與誤碼率直接聯(lián)系起來,所以對于抖動測試,抖動的峰峰值并不是一個理想的指標來很衡量器件和系統(tǒng)的性能。
總體抖動(Total Jitter,簡稱Tj)為某誤碼率(Bit Error Ratio,簡稱BER)下抖動的峰峰值,在很多串行數(shù)據(jù)的規(guī)范中通常需要測量誤碼率為10e-12的Tj,簡寫為Tj@BER=10e-12。對于BER小于10e-8的Tj的測量,通常只有誤碼率測試儀BERT可以直接測量到。對于示波器,假設(shè)該高速信號為2.5Gbps的PCIe,單個bit的時長為Unit interval = 400ps,假設(shè)示波器采樣率為20G采樣率,則1個bit上包括了400ps/50ps = 8個采樣點,一次分析1M個bit需要8M的存儲深度,如果要測量10個比特的抖動,需要讓示波器在8M的存儲深度下掃描100次,由于示波器在8Mpts時計算抖動已經(jīng)很耗時,重復(fù)100次的測試時間會非常長。所以示波器測量小于10e-12的誤碼率時的總體抖動必須通過某些算法來估算Tj。
圖1:TIE抖動圖示與抖動概率密度函數(shù)(PDF)
基于示波器求解抖動的算法通常在三個領(lǐng)域觀察和分析,即時域、頻域、統(tǒng)計域。比如TIE track即為TIE抖動在時域的函數(shù);在頻域分析抖動的頻譜,可以計算周期性抖動Pj和隨機抖動Rj;TIE直方圖、Tj的概率密度函數(shù)(Probability Density Function,簡稱PDF)是在統(tǒng)計域來分析抖動。
對于總體抖動的計算,通常從統(tǒng)計域分析,即分析抖動的直方圖、概率密度函數(shù)PDF和累計分布函數(shù)(Cumulative Distribution Function,簡稱CDF)。
概率密度函數(shù)PDF的定義為:對于實數(shù)隨機變量X,任何滿足下列條件的函數(shù)
都可以被定義為其概率密度函數(shù) :
在下圖2中簡要描述了從TIE直方圖生成PDF、CDF、浴盆曲線Bathtub curve的過程。
在第一步的圖示中,X軸是抖動的值,Y軸是某個抖動值上的樣本數(shù)量,示波器測量每個信號每個邊沿與參考時鐘的偏差(即TIE),統(tǒng)計在某個抖動值上邊沿的數(shù)量,得到TIE的直方圖;
第二步中對直方圖做歸一化,即直方圖中每個方柱子的數(shù)量除以樣本總數(shù),得到每個抖動值的發(fā)生概率,在這一步中即可得到TIE的概率密度函數(shù)PDF;
圖2:抖動的直方圖與PDF
在第三步中,對PDF的直方圖從左右兩邊向中央進行積分。假定信號邊沿相對理想位置超出距離x時,可能導(dǎo)致誤碼,誤碼率是對PDF從x到∞或-∞的積分(當x大于0時為∞,小于0時為-∞):BER(x) =
=1-CDF(x)。然后,對Y軸取對數(shù)后如下圖3中深藍色直方圖。所示,由于測試樣本較少,最矮的直方圖的概率(即誤碼率)僅1%=10e-2,要計算10e-12的BER,需要對現(xiàn)有的BER直方圖進行外插值;
在第四步中(如下圖3中Step4的圖片)顯示了外插值后的BER圖,綠色的柱子是外插值得到的,在圖上測量10e-12時拋物線形狀的BER曲線的內(nèi)側(cè)的寬度,即可得到Tj;
第五步中把外插值后的BER圖(類似于拋物線的曲線)以x=0分割成兩條曲線后,設(shè)定橫軸的最大值為0.5UI(Unit interval,即一個比特的寬度),最小值為-0.5UI,即水平方向正好一個UI的寬度,把Step4中生成的BER圖左半部分的曲線右移靠最右邊,右半部分的曲線左移靠最左邊,即可得到浴盆曲線Bathtub curve。
圖3:抖動的PDF/BER/CDF與浴盆曲線
當然,在上述的Tj求解過程中,除了BER圖中的外插值部分,其他都是基于實測結(jié)果計算的,所以BER圖的外插值是示波器的抖動分析算法中最關(guān)鍵的一部分。外插值算法的模型精準度決定了Tj計算的精度。由于外插值算法是對實測的BER/CDF圖中尾部進行擬合和外插值,在國外的相關(guān)文獻中稱為tail-fit算法。
在業(yè)界除了對BER圖進行外插值以獲取小誤碼率的Tj這種方法外,另外一種方法是對PDF進行外插值,得到BER<10e-12的PDF,然后積分得到BER/CDF和浴盆曲線,從而算出Tj。兩種算法分別稱為PDF尾部擬合算法(tail-fit method for PDF)和BER/CDF尾部擬合算法(tail-fit method for the BER/CDF)。
下面簡要介紹一種tail-fit method for PDF方法。如下圖4所示:
第一步統(tǒng)計TIE分布的直方圖,測量的樣本數(shù)量越多,推算的Tj越準確,在下面的TIE直方圖中包括了102.6k個樣本;
第二步對TIE直方圖的Y軸(即樣本數(shù)量)取對數(shù),把Y坐標變?yōu)閷?shù)坐標,對數(shù)運算后直方圖的輪廓近似為二次方程曲線;
第三步使用最小二乘法對兩個尾部進行擬合;
第四步對直方圖的尾部進行外插值,歸一化后可得到BER=10e-16 的概率密度函數(shù);
第五步對每一個偏移值x進行積分:BER(x) =
=1-CDF,得到BER/CDF曲線;
第六步測量某誤碼率下CDF曲線的寬度即為總體抖動Tj。
圖4:PDF的尾部擬合算法計算總體抖動
在尾部擬合(tail-fit)算法中,前提是測量的抖動樣本足夠多,抖動直方圖中包括了很多小概率的抖動事件,通常這些小概率的抖動樣本分布在直方圖的尾部,在尾部有了足夠的樣本后才可以準確的進行尾部擬合與外插值。
總結(jié):
本文簡要介紹了總體抖動的直方圖、概率密度函數(shù)、誤碼率BER與累計分布函數(shù)CDF、浴盆曲線,以及兩種tail-fit算法的處理步驟,后續(xù)的文章將介紹力科獨特的抖動求解算法——NQ-Scale算法以及串行數(shù)據(jù)分析儀SDA中的幾種抖動分解方法。
參考文獻:
1, Jitter, Noise, and Signal Integrity at High-Speed, Mike Peng Li
2, Fibre Channel – Method Jitter and Signal Quality Specification – MJSQ, T11.2/Project 1315-DT/Rev 14.1, June 5, 2005.