<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 理解串行數(shù)據(jù)測試中的總體抖動算法

          理解串行數(shù)據(jù)測試中的總體抖動算法

          作者: 時間:2012-04-10 來源:網(wǎng)絡(luò) 收藏
          在高速的測試中,抖動的測試非常重要。在的抖動測試中,抖動定義為信號的邊沿與其參考時鐘之間的偏差。對于抖動測量值的量化,通常有抖動的峰峰值和有效值這兩個參數(shù)。不過,抖動的峰峰值隨著測量時間的增加,測量值不斷變大,不能將抖動值與誤碼率直接聯(lián)系起來,所以對于抖動測試,抖動的峰峰值并不是一個理想的指標(biāo)來很衡量器件和系統(tǒng)的性能。
          總體抖動(Total Jitter,簡稱Tj)為某誤碼率(Bit Error Ratio,簡稱BER)下抖動的峰峰值,在很多的規(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;


          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();