您的位置 首页 > 数码极客

相位抖动如何消除——剪映如何消除抖动!

如果要评选电子工程师近20年来的最耳熟能详的专业词汇,眼图和抖动作为孪生姊妹一定在前10之列。所以业界关于抖动的论述和文章也是时常见诸各种媒体和平台。

本期微信头条,小K也将就抖动测试做一个专题介绍,本期主要包括如下主题:

01. 抖动研究的源起

02. 抖动测试和分析的基本方法和经典理论

03. 抖动测试的演进和新挑战(上)

(本篇共 6000 字左右,预计需要 20 分钟,分时阅读建议浮窗观看。)

01. 抖动研究的源起

抖动测试最早在上个世纪80年代开始萌芽,HP公司电信网络测试部门-苏格兰科技公司1982年在苏格兰推出了针对PDH(Plesiochronous Digital Hierarchy,准同步数字体系)的第一个抖动测量仪器,速率高达E3和DS3,之后在1984年推出首批140 Mb / s抖动测试仪之一。

在90年代推出针对SONET / SDH抖动测试产品和方案。事实上在同步数字传输体系(SONET/SDH)和通讯系统中引入抖动的概念主要用于评估数据包级的传输延时偏差。因此大家也可以看到经典抖动定义也来自于当年的业界巨擘贝尔实验室。

进入90年代以后,随着数字电路系统中的源同步时钟总线的发展,由于外部同步时钟频率渐渐成为瓶颈开始转向嵌入式时钟的串行差分总线,非常典型的就是PCI总线同步时钟频率最高到133MHz就开始转向PCIE1.0 2.5Gbps发展。由此对数字电路系统中的水平时间参数的测量也从传统的Setup/Hold或Skew测量转为水平方向Jitter的测量。

在今天,抖动测试除了是很多高速串行总线和标准的一致性测试众多项目中的重要组成部分和内容,同时还是针对系统级传输性能评估的重要方法,以及探究系统问题根源的重要手段。因此对抖动进行深入的探索和研究无论何时都具有深刻的意义和价值。

02. 抖动测试和分析的基本方法和经典理论

在90年代,伴随着数字电路和系统的串行差分化的同时以x86处理器为核心的软硬件系统广泛应用于各行业,当然也包括测试测量行业,示波器也开始全面武装更强大的x86处理器和windows操作系统,随之而来的是各种算法程序的全面发展和推进,这其中就包括了抖动测量算法和分离的经典理论。

下图显示的是充斥于各种文献的抖动测量中三种基本的抖动算法:

图1 基本抖动算法示意图

周期抖动算法比较简单,以信号本身的每个周期值为样本进行统计分析,可以反映所有样本的平均值及个体与圆心即平均值偏差的情况,用于一般的时钟信号的评估。

周期-周期抖动以两个相邻周期的周期差值为样本进行统计分析,很明显这是对信号周期的一阶微分运算,这一指标对分析锁相环的性能时有很高价值。由此还衍生出N周期—N周期抖动,比如针对DDR总线的时钟测试中就有5/10个连续时钟周期抖动的测试。

第三个度量方法,时间间隔误差(Time Interval Error,简称TIE)抖动,有时也被称作相位抖动(Phase Jitter),以每个周期点的累计时间值相对当前时间点的理想值偏差为样本进行统计分析,这个时间偏差算法呈现累积效应,是一个积分运算,可以反映出信号的长期抖动,而这一理想位置则需要通过软件时钟恢复(实时示波器方法)或者通过外部输入/硬件时钟恢复(采样示波器方法)得到一个参考时钟作为运算的基准。

TIE抖动在今天的数字电路与通信系统中已经成为分析数据传输中的抖动指标和性能的最为通用的抖动度量方法。关于以上三个经典抖动算法定义和描述,推荐阅读Ref [6]-- PCI ExpressTM Jitter Modeling Revision 1.0RD.

图2 时间间隔误差抖动测量方法示意图

除了上述三个度量方法还有常用到的三个统计学参数:

  • 平均值:相对绝对值的一个固定偏移或偏差,通常不重要因为可以修正。
  • RMS抖动:通常用于表征随机抖动成分。
  • Peak-to-Peak抖动:可用于表征确定性(有界)和随机(无界)抖动分量,另外必须在给定的BER下引用或考虑随机(无界)抖动。

小测验:

在实时示波器进入windows时代前,业界的老师傅们经常用无限余辉累积触发位置后的一个时钟周期边沿,然后用光标测量边沿累积后的时间宽度值,如下图示,请问这是哪种抖动?

A. 周期抖动 B. 周期-周期抖动 C. TIE抖动

图3 实时示波器上经典抖动测量示意图


小思考:

采样示波器在进行分析眼图时也会得到一个抖动测量值,这又是什么抖动呢?

A. 周期抖动 B. 周期-周期抖动 C. TIE抖动

必须要说明的是,业界针对抖动的研究和分析其实最初是从采样示波器开始。因为上个世纪90年代末采样示波器相比实时示波器可以实现的带宽更高(因为等效采样无需高采样率配套,且无需考虑普遍信号测试需求通常输入信号幅度有限因此无衰减和放大器电路因而带宽更高),同时高ADC位数提供的测量精度也更高,因此首先被用于高速芯片及一些器件如光模块等串行数据的眼图分析,并根据眼图结果衍生出抖动分析和测量。

基于眼图堆叠和测量结果,为了评估数字串行总线传输的总体性能因此引入抖动的分析和评估理论。采用的重要评价指标是特定误码率(通常是10E-12)水平下的总抖动Tj @ BER,因为Eye Open= 1UI – Tj @BER。

那么如何得到总体抖动这一结果呢?

图4 典型的串行传输链路中的抖动根源

一种方法是根据上图中抖动根源按图索骥分别测量得到Rj和各种Dj成分然后卷积得到给定误码水平下的抖动概率密度函数然后推算出Tj。显然这一方法的可操作性不高尤其是早年基于采样示波器叠加的眼图结果进行抖动分析的状况。

另一种方法就是双狄拉克模型法(Dual-Dirac Model),通过测量和计算Rj(δ)与Dj(δδ)再根据如下公式:

Tj@BER = n x Rj +Dj

计算得到Tj@BER。通常10E-12误码水平时n=14 (因篇幅限制,本文不就n与BER关系做过多描述,参考Ref[1])。

双狄拉克模型法有5个假设前提:

1. 总体抖动可以分解为Rj和Dj

2. RJ遵循高斯分布,可以用单个相关参数的术语进行完整描述,RJ的rms值分布,或等效地,高斯分布的标准偏差σ

3. Dj遵循有限和有边界的分布

4. DJ遵循由两个Dirac-delta函数形成的分布。两个delta函数的时间延迟分离给出了双狄拉克模型相关DJ,如下图所示

5. 抖动是一种静止现象或者可重复观测。也就是说,测量了在适当的时间间隔内对给定系统的抖动后无论何时再启动该时间间隔范围的测量,都会给出相同的结果

双狄拉克模型法基于眼图左右交叉点的抖动直方图,提供了最简单的概率密度函数:交叉点分为两个Dirac-delta函数,位于μL和μR(DJ主导区域),然后采用人为拟合快速过渡到RJ主导的尾部。有许多方法可以实现双狄拉克模型,在所有这些模型中,估计总体抖动的主要问题是如何描述抖动分布尾部的问题,两个标准偏差为σ的高斯分布的尾部由固定量DJ(δδ)= |μL - μR|分隔。

图5 双狄拉克模型分解RJ和DJ示意图

有的时候还会经常看到另一个测量结果DJ(p-p),这个如何理解?

真实的DJ从不遵循简单的双狄拉克分布,因此期望从双狄拉克模型中提取的DJ接近实际的峰峰值DJ是不合理的。DJ(δδ)是模型相关量,必须在假设DJ遵循由两个Dirac-delta函数形成的分布的情况下导出,如图5所示。

相比DJ(δδ)总是可以测量得到,而DJ(p-p)只能在特定情况下可测。比如当DJ仅由数据相关抖动(DDJ)组成时,可以通过比较重复数据码型的平均跳变次数来测量。通常DJ(δδ)小于DJ(p-p)。因此总结,DJ(δδ)定义明确且可测,而DJ(p-p)仅能在特定情况下测量得到,而且对估计总体抖动没有作用。

顺便提一下,虽然DJ(p-p)无法测量且意义不大,但是DJ的子成分如DDJ(p-p)和ISI(p-p)却是有界且可测,在实时抖动分析结果里经常可以看到。

针对一个典型的包含发送端,传输链路以及接收端以及CLK的典型系统架构,比如PCIExpress:

图6 典型的PCIExpress架构

通过分别测量和分析得到系统各单元的Rj标准偏差和Dj(δδ)后可以得到整个系统的抖动参数:

之后就可以得到整个系统在特定误码率下的总体抖动。关于双狄拉克模型的相关原理及知识,请参考Ref [1].

由于采样示波器在早期只是纯粹进行眼图叠加进而进行总体抖动估算而很难对具体的成因进行分析,因此无法满足很多的应用需求(直到2006年左右在采样示波器上开发出码型同步触发技术从而可以稳定捕获特定码型比如不长于2ˆ16的PRBS码型,才引入了抖动分解技术)。

随着实时示波器在平台和性能上的大幅提升,在实时示波器上进行抖动分析越来越普遍并渐渐成为主流。实时示波器无需外部触发或同步时钟信号,同时相比采样示波器具有长内存可以一次触发采集一定时长的波形用于抖动分析进而做出对实际工作有指导性的抖动分解结果。

那么首先实时示波器如何进行抖动分析呢?

如下图示,实时示波器首先捕获一定时长的波形,然后基于特定标准的数据的时钟恢复算法通常为一阶或二阶锁相环,带宽因标准差异而不同,针对CLK通常采用Constant CLK即首先计算周期的平均值得到基准,分析得到信号的TIE抖动。

基于此TIE抖动结果,抖动分析软件会分析得到抖动趋势图(Trend),这一趋势图提供了每个时间点的数据边沿位置相对于理想位置时间差即TIE的趋势图。如果是数据相关抖动DDJ如ISI则会显示出与数据码型的强相关性,如果是周期性抖动Pj成分则会显示出与其它特定频率信号的相关性。

分析抖动的另一种方法是采用频域角度,针对TIE抖动趋势图做FFT数学函数,基于重复频率成分的抖动视图角度。在这种情况下,数据结果被处理绘制为垂直轴上的定时误差值与水平轴上的频率。这个角度在寻找与数据本身特征不相关的周期抖动Pj时,会特别有用。

实时抖动分析软件还提供了“直方图”视图,将抖动分析结果显示为概率分布的函数(PDF)(数据记录中所有TIE测量结果合成),表现为定时误差与命中数(N)的二维显示。实时直方图的结果应该与从眼图产生的重复直方图的测量结果密切相关。但是,通过实时采样的长存储深度,可以从单次采集信号中获得更多数据。此外,基于实时示波器的重复多次采样,可以产生更准确和完整的PDF。

图7 EZJIT软件实时抖动分析的处理方法

Keysight实时示波器抖动分析软件EZJIT提供的功能就到这里。

然后,实时抖动分析软件是如何进行一步步的抖动成分分解的? 抖动分解是EZJIT PLUS的功能。如Ref[2] [3]文献描述,根据经典抖动成因分解模型:

图8 经典抖动成因分解模型

首先第一步,根据数据码型特点(在EZJIT Plus软件里可以选择Periodic Data 或Arbitrary Data)将DDJ(数据相关抖动,主要是ISI即码间干扰)和RJ和PJ(与数据无关抖动成分)分离开来;根据DCD和ISI的不同表现再进行分离。

有时甚至可以采用发送特定如101010…码型以准确测量DCD抖动。在Arbitrary Data模式下EZJIT PLUS软件使用线性回归技术从TJ中提取DDJ。这种线性回归类似回声消除或其他自适应滤波应用。这一线性回归技术要求设定一组系数来描述数据相关抖动的如何从传输的数据码型计算,EZJIT PLUS软件里指这套系数为ISI Filter。(关于如何设定ISI Filter请参考Ref [5])

图9 典型DCD

典型ISI

第二步,基于第一步已经去除了DDJ成分的频谱图将PJ和RJ分离。对功率谱密度积分推导出RJrms,PJ成分求和可以得到PJrms。针对RJ的特性在EZJIT Plus软件里可以设定RJ的带宽,如白噪声为宽带宽,粉红噪声为窄带宽。(相关说明请参考Ref[3])

图10 分离了DDJ后高于设定阈值的被当作PJ,去除后就可以根据剩余的频谱分量计算RJrms

第三步,根据TIE的直方图视图结果基于前面描述的双狄拉克模型法拟合出DJ(δ-δ)。结合前面的频谱法拟合出的RJrms,就可以确定要求的误码率水平下的总体抖动即TJ@BER,基于此可以绘出浴盆曲线(Bath Tub)等图表。

到这里EZJIT PLUS就完成了实时示波器的抖动分析和分解的全部过程,最终输出包括分解完毕的各个抖动分量值,总体抖动@给定BER水平,浴盆曲线等。这也是我们进行抖动分析和分解最终需要得到的结果。

为了获得准确的分析和测量结果在进行实时抖动软件分析时必须进行正确的设置,包括恰当的信号垂直刻度,足够的波形数据也就是捕获时长,以及足够的采样率设置等等因素,另外针对前面提到的包括数据周期重复模式还是任意码型,RJ带宽及噪声设置,以及如何设置ISI滤波器尺寸等详细请参考文末所列参考文献2,3,4,5等。

另外要强调的是足够的波形数据和捕获时长除了可以捕获更多的时钟周期或数据UI进行更准确的抖动分析外也意味着可以捕获更低频的抖动因为捕获的整个波形周期更长,这也是示波器长存储的重要价值之一。

03. 抖动测试的演进和新挑战(上)

早年的经典抖动定义和分析分解方法在21世纪初基本已经确立,是通用串行电路分析的重要方法之一。但是随着数据速率的持续推高和电路复杂程度的加深比如链路宽度以及对均衡算法的应用等因素,特定标准的抖动定义和算法也在不断演进。

典型如PCIEx针对TX抖动测试重新进行了规划,定义TP1测试点(发送端芯片封装管脚处)抖动分为数据相关抖动和数据不相关成分。数据相关抖动成分主要源于封装损耗和反射等信号完整性效应。而数据不相关成分则源于PLL抖动,电源噪声和多链路之间串扰等。

PCIE4.0 Base规范里明确说明了之所以做如此分离的原因,因为这种分离与Tx和Rx均衡能力很好地匹配,Tx或Rx均衡不会减轻不相关的抖动成分,也无法通过均衡恢复水平时间窗口裕量即降低抖动或得到更加张开的水平眼图。重要的是,通过均衡可恢复的裕量(数据相关成分)不作为不可恢复的抖动计入预算。

从Tx测量中去除了数据相关的抖动,就可以分析剩余的抖动成分,计算剩余抖动成分的UTj和确定性抖动(双狄拉克模型)UDJDD分量。高频抖动(在通道中受到抖动放大)由分离的TTX-UPW-DJDD和TTX-UPW-TJ参数来解决。

图11 PCIE4.0 Base规范里描述的DDJ测量和定义

并引入了全新的PWJ,Pulse Width Jitter:

图 12 PCIE3.0引入PWJ

图13 PCIE4.0 Base规范定义的抖动测量项目

在PCIE4.0 Base规范中,最终定义了如上表的分析项目。可以看到,除了针对性的就DDJ专门做了定义并分离,针对Uncorrelated Jitter依然采用了前面描述的经典抖动分析和分解理论进行分析。关于最新的PCIE4.0标准中,针对抖动测量和分析的定义请参考PCIE4.0 Base规范,Ref [6]。

传统的抖动测试软件EZJIT作为通用抖动分析软件,没有按照PCI Express的新定义进行抖动分析和处理,因此如果需要进行完全符合PCI Express标准和规范的抖动分析就需要借助于实时示波器上的一致性测试软件如D9040PCIC测试软件,针对PCIE4.0 Base测试点有非常全面的抖动测试项目如下图示:

图14 Keysight D9040PCIC一致性测试软件测试项目

除了PCIE标准外,其它一些标准在抖动定义和测量分析方面也有很多发展和演进,比如USB3.x标准作为典型的接口一致性测试规定不同的测试码型,奈奎斯特码型CP1或者CP10用于RJ,PRBS码型CP0或CP9用于Tj测试,当然也需要一致性测试软件进行测试,具体不做更多举例。

另外针对多链路传输如IEEE 802.3系列标准在实现200G/400G时,相对早期单链路串行总线的抖动定义和测量分析,必须考虑跨链路的数据串扰引起的抖动,如下图所示:

图15 更全面的抖动成分分解模型

这种串扰或者地弹等引起的抖动,呈现为非周期,有界和与数据无关的特性,因此命名为ABUJ(Aperiodic Bunded Uncorrelated Jitter )。

针对这一新的抖动成因,继续采用EZJIT Plus软件的频谱法分析时,会存在将这一由串扰引起的ABUJ归入RJ的风险,从而得到过大的RJ结果,最终导致过大的TJ结果,带来测量误差。

图16 数据中存在XTALK引起ABUJ抖动时频谱法分析RJ产生误差

Keysight EZJIT Plus如何解决这一新的问题和挑战呢?

请听下回分解。


下期内容:

第二期:

03. 抖动测试的演进和新挑战(下)

04. 影响抖动测试结果和精度的因素

05. 从抖动测试到相噪测试——实时示波器的新战场

参考文献:

Ref[1]: Jitter Analysis: The dual-Dirac Model,RJ/DJ,and Q-Scale. Keysight Technologies,5989-3206EN

Ref[2]: Finding Sources of Jitter with Real-Time Jitter Analysis. Keysight Technologies,5888-0740EN

Ref[3]: Analyzing Jitter Using EZJIT Plus Software. Keysight Technologies,5989-3776EN

Ref[4]: Selecting RJ Bandwidth in EZJIT Plus Software. Keysight Technologies,5989-5065EN

Ref[5]: Choosing the ISI Filter Size for EZJIT Plus Arbitrary Data Jitter Analysis. Keysight Technologies,5989-4974EN

Ref[6]: PCI ExpressTM Jitter Modeling Revision 1.0RD, PCI-Sig.

Ref[7]: PCIE4.0 Base S.

Ref[8]: PCIE5.0 Base S.

Ref[9]: UXR Series Da Technologies,5992-3132EN

识别上方二维码关注是德科技官方号


责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“相位抖动如何消除,剪映如何消除抖动,停车抖动如何消除,如何消除按键抖动,视频如何消除抖动”边界阅读