看到了多年,渐渐熟悉,管中窥豹,隔岸观火。
在2年多前就接触过这两个概念了,那时还在小老板手下干活时,路由器上有个三级时钟板,搜索BITS时就找出过这两个概念,那时候连jitter都搞不懂,所有对这两个概念当然不理解了。
后来在了解POS、SDH和SONET的时候,从synchronous networking的角度又遇上这两个东西,还有搞不懂,但是终究能够分清楚jitter和wander了,也算有些进步。
接触了Sync-E之后,开始真正的关注同步网,才将这两个概念重视起来,不过也仅仅知道大概的量级,TDEV是平均的结果,在ns量级,MTIE是peak-to-peak,是us量级。真正接触维护时钟板了,了解到G series 的recommendation之后,才发现满篇的MTIE和TDEV。
终于有一天和实验室某帅哥在一台测试仪前嗑瓜子时,聊到时钟的测试,才发现原来自己对这两个概念真的是理解不透。于是我们扯了半天,始终没有理解清楚所谓滑动窗口到底是怎么滑动的。经过几个晚上的瞎看,似乎有些眉头,整理整理,同时不得不佩服自己的数学能力之差。
MTIE和TDEV的基础是TIE。说明TIE之前,先搞清楚TE(时间偏差)。
Actual clock和ideal clock的时间差叫做时间偏差TE,说起来有些拗口,也是经不起推敲的,同时观察两个时间信号,是不会有时间差的,有的只是相位(Phase error)或者此刻的频率差(frequence offset,由相位差微分得到)。
那么我认为的TE应该是同意采样时刻的相位差(相位差的量纲其实也是t)。既然这样,由x(t)表示的TE是一个时间的连续函数,从随机过程的角度来说,这个连续的时间函数是没有意义的,我们关系的实际上是采样点时刻的差,这个采样周期(sampling rate )就是我们说的TIE中的I(interval),这个和我们常在jitter度量中说的UI(Unit Interval)是不一样的,Interval表示的是一个ideal clock一个周期的时间,而TIE中interval是自定义的,可以是一个周期,也可以大于一个周期。实际用于度量MTIE和TDEV时,采样的频率是远远小于时钟频率的。
也就是说是在TE(x(t)表示的连续函数上),上使用interval(用t0表示)进行的采样。而测试的时间,也就是T,可以计算T=N*t0。那么相位误差可以表示成:
x(it0)=TIE(i) i=0,1,2,N;当然x(0)=0。
MTIE和TDEV都是为了表示时钟的长期稳定度,即Wander值。为了形象的表现出时钟的稳定度,首先需要定义一个观察窗口(Scope Windows),从这个窗口来看时钟,其实这样表述也是不对的,因为实际需要进行完所有的测试时间,也即完成了所有的采样点TIE之后,经过数学方法计算才能得到MTIE和TDEV。并不能在mask上边测试边打点,测试完成之后所有的点都生成了。定义的观察窗口长度叫做t=it0,也就是常说的滑动窗口大小。窗口内包括i个离散的TIE点。将所有的TIE采样点以t0的间隔为时间坐标画成一条曲线,使用之前定义的t=it0窗口套在上面,从左向由滑动,每次滑动一格(t0),在这个窗口内找出Max TIE和Min TIE,两个相减得到一个值,这样没滑动一次将产生一个值。大小为it0的窗口一共可以滑动N-i次,这样得到N-i+1个值,取出这N-i+1个值中的最大值就是当窗口等于t时的MITE(t),改变i的大小,可以得到一组不同的MTIE值。当i1>i2,一定由MTIE(i1)>=MTIE(i2),因为大窗口一定包括小窗口中的Max TIE和Min TIE,所以MTIE在在i上是一格单调递增的函数。
TDEV时间偏差,计算方法相对于MTIE要复杂一些。它同样定义了窗口的大小,只是需要使用两个等长连续的窗口。即[x(i+2n)-x(i+n)]和[x(i+n)-x(i)],在已经采样好的TIE点上让这两个窗口同时滑动,计算出方差(deviation,随机序列偏离数学期望的数学期望,即偏离程度),计算方法采用和艾伦方法类似的方法。具体如下:
1、 首先定义好i,即窗口大小;
2、 从第一格开始,计算[x(i+2n)-x(i+n)]-[x(i+n)-x(i)]的平方,即相邻两个窗口边界变化的变化的平方;
3、 将两个窗口向右滑动一格,按照2的方法求平方;
4、 重复2、3知道滑动i次,将这i个值求和
5、 从第二格开始,以后向后滑动一格(一共可以进行N-3i次),重复进行2、3、4步骤,将这些值求和;
6、 将5得到的结果求算术平均;
7、 开方再在窗口i上求均方差,得到TDEV。
看起来TDEV要比MTIE计算步骤要复杂的多,但是由此增加很多信息。首先TDEV采用的是两个窗口边界差值来计算方差,反应出来的是信号的慢变化程度,完全屏蔽了时钟中确定抖动引起的误差(deterministic component),完全描述的是随机抖动引起的误差,即根据信号的时域到频域的转化,频域积分得到时域信号,可以表示出随机信号中的功率谱密度。从时间上了看反应的是每次漂移偏离中心单位数学期望(均值)。另外,从计算中也可以看出TDEV并不会受到频率偏移的影响,而MTIE随窗口的变大会受到该影响。
观察窗口i的变化体现了测试观测时间的变化,在该时间内MTIE随i变化,体现了是这个窗口内任何时刻起观察信号的TIE变化的大小,反应在电路上,体现的是对缓冲的占用程度,因此在G810里面说MTIE适合用于:MTIE (and MRTIE) is well-suited for characterization of buffer size.
由此可以理解G81x上面经常提到的一句话:MTIE and TDEV are measured through an equivalent 10 Hz, first-order, low-pass measurement filter, at a maximum sampling time t0 of 1/30 seconds. The minimum measurement period for TDEV is twelve times the integration period (T = 12t).
1、 采用10 Hz, first-order, low-pass滤波器的原因是为了消除快速抖动的jitter成分;
2、 t0的采样频率不得于30Hz,是为了保证最小的滑动窗口内部有足够的点数来计算Max和Min,因为滑动窗口的最小值一般定义于0.1s,即内部至少有3个点进行max-min的计算;
3、T至少是12t的原因是保证足够的滑动次数,否者在计算TDEV时,不能够有足够的点数消去deterministic component的影响,而仅剩下随机变化的部分。