基于Dual-Dirac模型的眼图抖动分析方法
刘峰, 王硕
北京交通大学 计算机与信息技术学院,北京 100044

第一作者:刘峰(1961—),男,北京人,教授.研究方向为计算机软件、通信软件和网络管理.email:fliu@bjtu.edu.cn.

摘要

针对高速串行信号中存在的抖动问题,对现有的眼图抖动分析方法进行了改进.基于双狄拉克(Dual-Dirac)模型,提出了一种针对眼图直方图的抖动分析方法.该方法可在眼图基准点所在区域确定合理范围做直方图,通过对直方图的分析,成功分离确定性抖动及随机性抖动.通过实验验证了该方法的可行性.

关键词: 抖动分析; 双狄拉克模型; 眼图; 串行信号
中图分类号:TN911.6 文献标志码:A 文章编号:1673-0291(2017)02-0015-06
Eye diagram jitter analysis based on the Dual-Dirac model
LIU Feng, WANG Shuo
School of Computer and Information Technology, Beijing Jiaotong University, Beijing 100044,China
Abstract

In view of the jitter existing in the high-speed serial signal, we improve the existing eye diagram analysis method. A jitter analysis method by eye diagram histogram is proposed based on the Dual-Dirac Model. The proposed method can determine the reasonable scope of crossing point in eye diagram to generate the histogram and separate the deterministic jitter from the random jitter by analyzing the histogram. The feasibility of the method is verified through experiments.

Keyword: jitter analysis; Dual-Dirac model; eye diagram; series signals

在高速串行信号的传输过程中, 由于抖动的存在, 整个系统的性能往往会受到很大影响.因此, 抖动已经成为制约高速数字系统设计的关键因素[1].从当前各种高速串行总线规范中可以看出, 高速串行信号传输系统内对其存在的抖动分量控制很严格.为保证高速数字系统的稳定性, 需要准确判断其存在的抖动成分, 并对不同的抖动成分进行分离, 判断系统性能是否满足误码率和稳定性的设计要求, 尽可能减少系统由于抖动而产生的误差.

在实际应用中, 数学概念难以界定抖动的表现形式.因此观察抖动在系统中的表现形式, 需要用示波器等测量仪器观察输入信号叠加而成的波形, 这就是眼图分析方法.从眼图上可以直观地观察出不同的抖动成分对信号的影响, 从而判断信号质量的优劣[2].另外也可以根据眼图分析造成抖动的关键成因, 以削弱码间串扰, 同时提高系统的性能.

目前针对眼图的分析大多采用定性的方法, 即直接观察眼图形状以判断信号优劣性, 无法定量衡量其包含的抖动成分.本文作者基于双狄拉克模型, 提出了一种眼图直方图抖动分析方法.该方法可在眼图上确定基准点, 并在基准点所在区域确定合理范围做直方图, 通过对此直方图的分析, 最终成功分离确定性抖动及随机性抖动.

1 眼图和抖动技术
1.1 基本概念和构建原理

眼图是一种直观的用来分析信号优劣性的方法.眼图是高速数字信号不同位置的数据比特按照时钟的间隔累计叠加在一起显示的结果, 因为信号叠加后显示的波形如眼睛形状, 称为眼图.眼图的生成原理如图1所示.

图1 眼图生成原理示意图Fig.1 Generative principle of eye diagram

图1中, “ 1” 代表信号中高电平, “ 0” 代表信号低电平, “ UI” 表示一个比特位长度.当数字信号叠加形成眼图以后, 为了方便区分信号在不同位置出现的频率大小, 会用彩色余辉的模式进行信号的观察.余辉模式就是把信号在屏幕上不同位置出现的概率大小用相应的色彩表示出来, 这样可以直观地观察出信号的抖动分布情况.

信号无抖动和有抖动时生成的眼图如图2所示.从图2中可以看出:无抖动时, 眼图的轮廓比较清晰, 眼睛的形状很规则且张开很大见图2(a); 有抖动时, 眼睛的轮廓很杂乱, 眼睛的形状不规则且张开较小见图2(b).表明眼图可以反应出抖动的大小和系统性能.

图2 有无码间串扰时生成的眼图Fig.2 Eye diagram in terms of inter-symbol interference

1.2 抖动的主要成分

抖动可定义为在某一特定时刻, 数字信号与其理想位置相比较而产生的时间偏离, 抖动包括多种分量, 每种抖动分量的特征也不尽相同.按其分布形态是否符合随机特性进行区分, 可将抖动大致分为随机性抖动和确定性抖动[3].

1.2.1 随机性抖动

随机性抖动是由传输系统中的设备噪声引起, 其合成效应接近高斯分布[4].这种建模的原因有以下两点:1)热噪声是造成随机噪声的主要原因, 它的模型一般体现为高斯分布的形式; 2)由中心极限定理可知, 多种噪声合成的结果通常是呈现为高斯分布形式.

高斯分布也被称作正态分布, 其概率密度函数表达式为

RRJ=1σ2πe-(x22σ2)(1)

式中: σ为高斯分布的标准差; x是抖动变量的值.

图3显示了一个平均值为0、标准差为1.0 ps的满足高斯分布的随机性抖动.一般来说, 由于随机抖动是无界的, 因无法用峰峰值的形式来表示, 需采用标准差 σ来量化它的值.

图3 高斯分布Fig.3 Gaussian distributions

1.2.2 确定性抖动

确定性抖动的产生原因是特定的而非随机性的.这部分抖动一般是有界的并且在理论上是可以被预测的, 因此一般表现为峰峰值的形式.确定性抖动的峰峰值具有上限和下限, 在观察的数据数量比较少时, 可以采用高置信度的方法去估测其峰峰值, 从而量化确定性抖动.

1.3 眼图分析技术难点

针对信号生成的眼图, 往往采用直接观察的方法来判断信号质量的优劣, 无法定量衡量眼图中包含的抖动信息.为实现眼图的定量分析, 本文作者提出了一种新的确定眼图基准点的方法.与原有在全屏幕中选取基准点的方式相比, 该方法能够判断基准点所在区域, 在选定区域内准确地找出基准点.同时, 根据基准点所在范围做直方图, 通过对此直方图的分析, 分离出信号中存在的抖动成分.

2 基于Dual-Dirac模型的抖动分离

当测试信号同时存在确定性抖动和随机性抖动时, 在眼图中取纵坐标上像素范围内向时间轴做直方图, 得到的直方图表现为双峰的形式.针对眼图直方图的抖动分析, 是一种更方便快捷的眼图定量分析方法, 能够快速判断信号中存在的抖动成分.以下阐述基于双狄拉克模型的眼图直方图抖动分析方法.

2.1 双狄拉克模型

双狄拉克模型是一种针对抖动概率密度函数(Probability Density Function, PDF)直方图进行分析的一种抖动分解方法[5].总抖动(Total Jitter, TJ)可以分解为确定性抖动(Deterministic Jitter, DJ)和随机性抖动(Random Jitter, RJ), 由于彼此产生机理不同, 因此假定这两个成分是相互独立的, 两个独立变量各自的PDF卷积构成了两个独立变量的总PDF[6].通过这一原理, 可在已知两个分量时求得总抖动的 fTJ

fTJ=fDJ* fRJ(2)

式中, fTJfDJfRJ分别为TJ、PJ和RJ的概率密度函数.

在1.2.2节中提到, 在量化抖动时, 由于DJ是有界的, 因此采用峰峰值的形式来描述DJ; 而RJ是无界且随机的, 因此采用高斯模型的形式描述RJ.当直方图表现出一个双峰的特性, 而不是单一的高斯曲线时, 就表明信号同时存在随机性抖动和确定性抖动, 不再满足高斯分布的形式[7].

如图4所示, 由于 fDJ分布形式在左右两端是有界的, 所以经过卷积后得到的 fTJ在其左右两端的尾部区域都保留了 fRJ的高斯分布特征.因此, 本文是在已知 fTJ的情况下, 确定TJ所含有的RJ标准差.同时, 可以通过 fTJ中左右尾部拟合的均值之差确定 fDJ[8].

图4 双狄拉克模型原理图Fig.4 Principle diagram of the Dual-Dirac model

该算法估计公式如下:

RJ=σ1+σ2/2(3)DJ=μ2-μ1(4)

式中: μ为均值.

2.2 眼图直方图抖动分析方法

眼图直方图的抖动分析方法, 其主要步骤概括为3个方面:

1)数据预处理.包括对眼图直方图的数据进行前期处理, 为后续的参数估计工作做准备.

2)参数估计.其主要目的是估算出高斯分布的初始值, 对直方图进行拟合求出初步的结果.

3)抖动分析.根据估算的结果求出确定性抖动和随机性抖动的值.其具体算法步骤见图5.

图5 眼图直方图抖动分析方法流程图Fig.5 Flow chart of the method of jitter analysis based on eye diagram histogram

2.2.1 数据预处理

1)取基准点.需要采集一串中间无采集空白区的连续信号, 至少包含几千个周期的比特流.然后根据恢复的时钟信号, 将采集到的波形按比特位分割成长度固定的小数据段, 将这些小数据段依次对齐并叠加在一起, 生成眼图.建立直方图以前, 需要判断眼图的基准点.基准点定义为眼图中两个沿的交叉位置出现数据频率最高的一个点.在以往的方法中, 找基准点的方式为直接在屏幕中找出出现频率最高的点, 但对于部分特殊情况, 眼睛顶部或底部由于噪声的存在, 也可能会出现频率很高的点, 从而影响结果.

因此在本文中基准点的寻找方式为:①在眼图纵坐标上取眼高上限和下限中间30%~70%的位置, 划定交叉点所在区域; ②对眼图幅度中心位置附近的一个窄带(白色虚线部分即为眼图幅度中心位置附近的窄带), 如图6所示, 做水平直方图, 其均值就是基准点的时间坐标; ③对于这个时间轴做垂直直方图, 其均值就是基准点的幅度坐标.

图6 眼图中窄带示意Fig.6 Narrow-band in the eye diagram

2)建立直方图.取以眼图基准点为中心的上下像素范围, 将该范围内出现点数向水平方向做累加, 得到原始数据.由于仪器接口接触等问题, 可能会造成异常值的出现.对高斯分布来说, 在范围内分布了99.7%的数据点.在拟合过程中, 通常不考虑尾部的极端区域, 因此可去除 μ±3σ范围之外的数据点来去除异常值.将去除异常值后的数据进行统计分组获得直方图, 将此直方图划分为400柱.此时, 从左右尾部同时开始判断, 如果某个柱的纵坐标大于等于1, 而前后有连续6个值的纵坐标为0, 则将此点判定为异常值点, 并将其坐标置为0.

3)数据标准化.对去除异常值后的直方图进行平滑滤波处理.本文中选取10点平滑滤波的方式, 即每个柱用其本身与后9个柱的纵坐标的平均值表示.在测量过程中, 由于数据的数量级都比较小, 会导致在尾部拟合过程中的精确度较低, 因此需要对该直方图的数据进行归一化处理.计算公式如下:

Xstd=xi-x-σ(5)

其中,

x-=1Ni=1Nxi(6)σ=1Ni=1Nxi-x-2(7)

式中: xi为每个柱所对应数据; x-σ为所有数据的均值与方差; Xstd为进行归一化处理后的横坐标值; N为采集的所有数据的点数.

为了提高高斯分布初始值的准确性, 需从直方图的两端分别遍历直方图的柱数进行初始值估算.在初始值估算前, 先要确定直方图的尾部, 目的是为数据拟合做准备.以左半部分为例, i设定为柱数的个数, 左半部分直方图的柱数为从第1个柱开始遍历到第200个柱.在寻找过程中, 依次判断每个索引值对应的直方图的值是否均大于其后20个柱.当此条件成立时, 定义该点为左边尾部的峰值, 从起点到该点以后20个点的长度为左边尾部.右边尾部的确定方法与左边的确定方法相同, 方法为从第400个柱依次向左遍历到第201个柱.

2.2.2 参数估计

1)估算初始值.确定随机抖动的数学模型如下

ft=Am×e(x-μ)22πσ2(8)

式中: Am为幅度; x是抖动变量的值; σ均方差.

定义直方图尾部的意义就在于需要获得高斯拟合的参数值, 将确定的尾部中最大的20个点做平均, 则纵坐标的平均值为该模型中的幅值 Am, 横坐标的平均值为均值 μ, 均值的初始值为所有尾部点的均方差.以左尾部为例, 具体算法流程如下:

算法:高斯分布初始值算法

输入:定义的左尾部

输出:左尾部高斯拟合的参数初始值

①遍历左部分, 找出左尾部中纵坐标最大的20个数据, 将横坐标的坐标值存在数组 ai中, 纵坐标的值存在数组 bi中.

②用所得20个数据样本估算高斯分布初始值.

均值为

μ=120i=120ai(9)

幅值平均值为

Am=120i=120bi(10)

2)数据拟合.通过在初始 μ0所确定的一定范围内进行遍历, 当高斯分布的变量以确定步长值不断从最小值增长到最大值时, 比较直方图的尾部和新的高斯分布.在每一种情况下, 获取其与真正尾部的拟合度, 这里用 χ2表示, 并将最小值所对应的 μ作为拟合的最优均值和方差[9].其计算公式如下

χ2=i=1kxi-Ei2Ei(11)

式中: xi表示的是第 i个索引所对应的直方图的值; Ei表示是当 x=i时在高斯分布下所对应的值, 当值越小时, 吻合度越高, 则说明此时为最佳拟合状态.

3)逆标准化.此时得到的值是经过归一化处理得到的, 需要对其进行逆标准化的过程才能得到实际的数据, 计算公式如下:

σactual=σ1×σ0(12)μactual=μ1×σ0+μ0(13)

式中: σactualμactual为实际的均方值和均值; σ1μ1的均方值和均值; σ0μ0为初始的均方值和均值.

2.2.3 抖动分析

随机性抖动为左右尾部方差的均值和确定性抖动的峰峰值为左右尾部均值的差分别为

RJ=σL+σR/2(14)DJ=μR-μL(15)

式中: μLμR分别为左尾部和右尾部的均值; σLσR分别为左尾部和右尾部的方差[10].

3 仿真实验

使用PRBS7码为信号源, 利用误码仪向信号添加已知的确定性抖动及随机性抖动, 以此信号作为被测信号进行抖动分析实验.实验1通过对眼图上选取不同范围得到的直方图进行抖动分析, 从而确定了眼图直方图的取值范围.实验2通过实验结果与已知参数的对比, 验证了算法的可行性.

3.1 确定参数值

实验1:向PRBS7码中添加大小为100 ns的确定性抖动和大小为10 ns随机性抖动作为被测信号.首先确定眼图的基准点.以基准点所在纵坐标的位置为中心点, 取3个像素的高度设为中心幅度范围 λ.取此范围内纵坐标的值向时间轴做直方图, 直方图的值为在某一水平横坐标对应所取范围内所有纵坐标内点数的和.当取 λ、3 λ、5 λ范围取时, 可观察到生成的眼图直方图如图7所示.

图7 取不同范围时的眼图直方图Fig.7 Eye diagram histogram under different value ranges

通过图7分析可以发现:当取的范围较小为 λ时, 眼图直方图点数较少, 个别噪声对直方图的干扰较大; 当取的范围逐渐增大为3 λ时, 眼图直方图分布更均匀, 更适合抖动分析运算; 当取值的范围增长到5 λ时, 由于选取的点数过多, 存在的噪声会对直方图的统计结果存在干扰作用.当范围取3 λ时, 数据拟合结果如图8所示:

图8 数据拟合结果示意图Fig.8 Results of data fitting

使用双狄拉克模型对生成的直方图进行计算和拟合, 结果如表1所示

表1可看出, 当在眼图中取 λ~2 λ范围做直方图时, 采集数据较少, 计算结果误差较大, 确定性抖动和随机性抖动计算结果误差均在5%以上, 偏离理想结果; 随着取值范围的增大, 采集数据较多, 直方图趋于平稳, 计算结果接近理想值; 当取值范围保持在3 λ~4 λ.时, 确定性抖动和随机性抖动的误差均在5%以内.在不同取值范围内确定性抖动和随机性抖动计算值分布情况如图9所示.

表1 实际结果与理想结果的比较 Tab.1 Comparisons between actual results and ideal results

图9 不同取值范围内抖动计算值分布情况Fig.9 Distributions of the jitter calculations in different value ranges

3.2 性能验证

实验2:向PRBS7码中添加大小为110 ns的确定性抖动和大小为12 ns的随机性抖动作为被测信号.生成眼图后, 分别取以眼图基准点为中心的3 λ~4 λ范围做直方图, 使用双狄拉克模型对生成的直方图进行计算和拟合, 结果如表2所示.

表2 实际结果与理想结果的比较 Tab.2 Actual results compared with ideal results

表2可看出, 当在眼图中取3 λ~4 λ时, 确定性抖动和随机性抖动的计算结果误差均在5%以内, 验证了该分析方法的可行性.

4 结论

基于Dual-Dirac模型的眼图抖动分析方法, 可以在得到串行信号的眼图后, 直接对眼图进行定量分析, 分离出不同的抖动成分.是一种快捷的抖动分析方法, 能够迅速判断信号中存在的抖动类型.通过两组实验可以得到以下结论:

1)以眼图的基准点为中心, 当取值范围在3 λ~4 λ之间时, 得到的直方图更适合分离出确定性和随机性抖动.

2) 对眼图3 λ~4 λ范围之间的区域做直方图时, 利用Dual-Dirac模型的眼图抖动分析方法分解出的抖动成分接近理想值, 验证了该方法的可行性.

在此基础上确定抖动的来源, 进而可以有地采取相应的措施, 如降低高频增益、针对信号增加滤波环节等方式来降低抖动.

The authors have declared that no competing interests exist.

参考文献
[1] LI M. Jitter noise and signal integrity at high-speed[M]. New Jersey: Prentice Hall Press, 2007. [本文引用:1]
[2] Jitter analysis techniques for high data rates: Applicat-ion Note 1432[S]. California: Agilent Technologies, 2003. [本文引用:1]
[3] 朱健. 基于EMD的定时抖动分析与分解方法研究[D]. 成都: 电子科技大学, 2009.
ZHU Jian. A new method for jitter analysis and decomposition based on EMD[D]. Chengdu: University of Electronic Science and Technology, 2009. (in Chinese) [本文引用:1]
[4] Analyzing jitter using agilent EZJIT plus software: Application Note1563[S]. California: Agilent Technol-ogies, 2005. [本文引用:1]
[5] CHHABRA N K, BHATHEJA K, TRIPATHI J N, et al. Mitigating the impact of sinusoidal jitter and duty cycle distortion on rand om jitter estimation by Tailfit algorithm[J]. Electrical Performance of Electronic Packa-ging and Systems, 2013: 151-154. [本文引用:1]
[6] STEPHENS R W. Separation of rand om and deterministic components of jitter: US7149638[P]. 2006-12-12. [本文引用:1]
[7] NAN F, WANG Y, LI F, et al. A better method than tail-fitting algorithm for jitter separation based on Gaussian mixture model[J]. Journal of Electronic Testing, 2009, 25(6): 337-342. [本文引用:1]
[8] Measuring jitter in digital systems: Application Note 1448-1[S]. California: Agilent Technologies, 2003. [本文引用:1]
[9] LI M P, WILSTRUP J, JESSEN R, et al. A new method for jitter decomposition through its distribution tail fitting[C]. IEEE International Test Conference, 1999: 788-794. [本文引用:1]
[10] 李丽平. 高速串行互连中的抖动分析[D]. 西安: 西安电子科技大学, 2009.
LI Liping. Jitter analysis in high speed serial interconnect signal[D]. Xi’an: Xidian University , 2009. (in Chinese) [本文引用:1]