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

          新聞中心

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

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

          作者: 時(shí)間:2012-04-10 來源:網(wǎng)絡(luò) 收藏

          在業(yè)界除了對(duì)BER圖進(jìn)行外插值以獲取小誤碼率的Tj這種方法外,另外一種方法是對(duì)PDF進(jìn)行外插值,得到BER10e-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)計(jì)TIE分布的直方圖,測量的樣本數(shù)量越多,推算的Tj越準(zhǔn)確,在下面的TIE直方圖中包括了102.6k個(gè)樣本;
          第二步對(duì)TIE直方圖的Y軸(即樣本數(shù)量)取對(duì)數(shù),把Y坐標(biāo)變?yōu)閷?duì)數(shù)坐標(biāo),對(duì)數(shù)運(yùn)算后直方圖的輪廓近似為二次方程曲線;
          第三步使用最小二乘法對(duì)兩個(gè)尾部進(jìn)行擬合;
          第四步對(duì)直方圖的尾部進(jìn)行外插值,歸一化后可得到BER=10e-16 的概率密度函數(shù);
          第五步對(duì)每一個(gè)偏移值x進(jìn)行積分:BER(x) =
          =1-CDF,得到BER/CDF曲線;
          第六步測量某誤碼率下CDF曲線的寬度即為總體抖動(dòng)Tj。




          圖4:PDF的尾部擬合算法計(jì)算總體抖動(dòng)

          在尾部擬合(tail-fit)算法中,前提是測量的抖動(dòng)樣本足夠多,抖動(dòng)直方圖中包括了很多小概率的抖動(dòng)事件,通常這些小概率的抖動(dòng)樣本分布在直方圖的尾部,在尾部有了足夠的樣本后才可以準(zhǔn)確的進(jìn)行尾部擬合與外插值。
          總結(jié):
          本文簡要介紹了總體抖動(dòng)的直方圖、概率密度函數(shù)、誤碼率BER與累計(jì)分布函數(shù)CDF、,以及兩種tail-fit算法的處理步驟,后續(xù)的文章將介紹力科獨(dú)特的抖動(dòng)求解算法——NQ-Scale算法以及分析儀SDA中的幾種抖動(dòng)分解方法。
          參考文獻(xiàn):
          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.


          上一頁 1 2 3 下一頁

          評(píng)論


          相關(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); })();