SNDR 分析与 BER 估算

前言

最近在用 Infiniium 分析 PAM4 波形时,我一直没有完全想明白 SNDR 到底是怎么计算的。软件除了给出最终的 SNDR,还能显示 SNDR InputPulse CorrectedErrorLinear Fit Pulse Response 四条中间波形。乍看之下,好像就是用已知码型拟合一个脉冲响应,再用拟合波形与原始波形做差,但仔细看会发现事情没有这么简单:SNDR Input 并不是直接输入示波器的原始波形,而且它的眼图有时甚至比原始统计眼图张开得更好。

把整个计算过程捋顺以后,我发现 SNDR 的核心并不是简单计算一个“信号功率除以噪声功率”,而是先将测得的波形拆成三个部分:可以由线性系统解释的有效响应、不能由线性系统解释的失真,以及随机噪声。最后再根据这三部分计算信号质量。

SNDR 到底想测什么

SNDR 是 Signal to Noise and Distortion Ratio,即信号与噪声及失真之比。Infiniium 文档给出的计算式为:

SNDR=10log10(Pmax2σe2+σn2)\mathrm{SNDR}=10\log_{10}\left(\frac{P_{\max}^2}{\sigma_e^2+\sigma_n^2}\right)

其中:

  • PmaxP_{\max} 来自线性拟合脉冲响应,代表有效线性信号的幅度或能量指标,具体算法取决于所选择的标准;
  • σe\sigma_e 是线性拟合误差波形 e(k)e(k) 的标准差,代表不能被最佳线性模型解释的失真;
  • σn\sigma_n 是从 PAM 电平稳定区域测得的随机噪声。

这里最重要的是,SNDR 没有把所有误差混在一起计算,而是将随机噪声和线性拟合失真分开测量。理解这一点,后面的码型平均、脉冲拟合以及 Error 波形就都能串起来了。

第一步:利用长连码测量随机噪声

以 IEEE PRBS13Q 的测量方式为例,算法会在码型中寻找至少六个连续相同的 PAM4 符号,例如:

000000,111111,222222,333333000000,\quad111111,\quad222222,\quad333333

这里的 0、1、2、3 表示 PAM4 的四个电平,不是二进制比特。算法在这些长连码的第 3 个 UI 中心取样。之所以选择中间位置,是为了尽量远离长连码两端的跳变,减小前后符号和 ISI 对平台电压的影响。

对于某个电平,例如 Level 1,算法会找到码型中多次满足条件的位置,收集这些位置的电压:

v1,1,v1,2,,v1,Nv_{1,1},v_{1,2},\ldots,v_{1,N}

然后计算这些采样值围绕平均电平的标准差:

σn,1=1N1i=1N(v1,ivˉ1)2\sigma_{n,1}=\sqrt{\frac{1}{N-1}\sum_{i=1}^{N}(v_{1,i}-\bar v_1)^2}

四个电平分别得到 σn,0\sigma_{n,0}σn,1\sigma_{n,1}σn,2\sigma_{n,2}σn,3\sigma_{n,3},再按照所选标准规定的方式合并,得到最终的 σn\sigma_n

需要注意,这里的平均与后面生成 SNDR Input 时的“码型平均”不是同一回事。这里是在多个稳定平台位置上统计电压离散程度,目的是估计随机噪声;码型平均则是把多个完整码型周期对齐后逐点平均,目的是提取确定性的波形响应。

第二步:原始波形为什么要同步和码型平均

如果直接用拟合波形减去未经处理的原始波形,理论上似乎也能得到误差,但这个误差会同时包含失真、随机噪声、随机抖动、采样时刻偏差和触发漂移。尤其在信号边沿处,极小的时间偏移都会产生很大的电压差:

y(t+Δt)y(t)dy(t)dtΔty(t+\Delta t)-y(t)\approx\frac{dy(t)}{dt}\Delta t

如果两条完全相同的波形只错开了一点时间,边沿处依然会出现很大的 Error。因此,在逐点相减之前,必须先让实测波形与已知码型处于同一个时间和码型坐标中。

这个过程可以分成三个层次。

首先是时钟恢复。示波器通过 CDR 或软件 PLL 从波形跳变中恢复符号时钟,确定每个 UI 的边界和相位参考。对于 PAM4,恢复的是符号时钟而不是比特时钟。例如 106.25 Gb/s PAM4 的符号率为 53.125 GBd,CDR 应按照 53.125 GBd 的 UI 工作。

其次是码型同步。仅仅知道 UI 边界还不够,算法还要知道当前 UI 对应 PRBS 序列中的哪个符号。软件会对判决后的 PAM4 符号与指定码型进行相关匹配,找到码型起点。时钟同步解决的是“每个 UI 在哪里”,码型同步解决的是“这个 UI 是码型中的第几个符号”。

最后是重采样与码型平均。软件按照 Points Per UI 将每个 UI 插值到统一的采样网格,再将多个完整码型周期循环对齐。假设设置 Number of Averages = M,则同一码型位置上的采样值被逐点平均:

ySNDR(k)=1Mm=1Mym(k)y_{\mathrm{SNDR}}(k)=\frac{1}{M}\sum_{m=1}^{M}y_m(k)

这条平均后的波形就是 SNDR Input

SNDR Input 到底消除了什么

码型平均会抑制与码型不同步的随机成分。对于独立随机噪声,理想情况下平均后的标准差约为:

σavgσM\sigma_{\mathrm{avg}}\approx\frac{\sigma}{\sqrt M}

因此,热噪声、随机电压噪声和部分非同步干扰会明显减小。CDR 能够跟踪的低频相位漂移,也会在时钟对齐和重采样过程中得到补偿。

但是,不能简单说 SNDR Input 已经“剔除了所有噪声和 jitter”。码型平均仍会保留与码型同步、每次重复都会出现的成分,例如:

  • 线性带宽限制和线性 ISI;
  • 数据相关抖动;
  • 电平压缩和 PAM4 电平不等间隔;
  • 上升沿与下降沿不对称;
  • 与码型相关的非线性失真;
  • 与码型同步的周期性串扰或干扰。

所以更准确地说,SNDR Input 是从原始采样中提取出的确定性代表波形。随机噪声并没有被 SNDR 忽略,而是被码型平均从拟合波形中压低,再通过前面单独测得的 σn\sigma_n 加回 SNDR 分母。如果直接使用未经平均的原始波形计算 Error,随机噪声已经包含在误差中,最后再加一次 σn2\sigma_n^2,就可能造成重复计算。

为什么 SNDR Input 与原始波形看起来码型不一致

SNDR Input 来源于原始采样,但它并不是原始波形在相同横轴上的简单副本。原始波形按照示波器的采集时间排列,而 SNDR Input 按照恢复时钟和识别出的码型位置重新组织。软件可能将内部定义的码型起点放到横轴零点,因此两条波形很可能只是发生了循环移位:

ySNDR(k)=yraw(k+k0)y_{\mathrm{SNDR}}(k)=y_{\mathrm{raw}}(k+k_0)

除此之外,Linear Fit Pulse Delay、每 UI 采样点数、显示区间和独立的 Function Scaling 都会让两条波形看起来不一样。因此,不能只按照屏幕上的相同横坐标肉眼比较。更可靠的方法是分别在 UI 中心判决出 0、1、2、3 符号,再对两个序列做循环互相关。

在正确配置下,两条序列应该能够通过固定延迟或循环移位对应起来。如果无论怎样移位都无法匹配,就要检查:

  • 实际输入是否真的是所选的 PRBS13Q;
  • 自己生成的 PRBS13 到 PAM4 的 bit-to-symbol 映射是否符合标准;
  • PAM4 极性和 Gray 映射是否一致;
  • CDR 使用的是波特率还是误用了比特率;
  • 自动码型检测是否因为严重闭眼而识别错误;
  • 软件中设置的码型长度是否正确。

尤其需要注意,“用 PRBS13 驱动 PAM4”不一定等于标准规定的 PRBS13Q。如果是自己生成两路 PRBS13 再组合成 PAM4,码型顺序和映射规则可能与仪器内置标准不同。

为什么原始眼闭合,但 SNDR Input 的眼却可能张开

如果一个周期波形逐采样点完全重复,那么码型平均前后确实应该完全相同:

y1(k)=y2(k)==yM(k)y_1(k)=y_2(k)=\cdots=y_M(k)

此时:

ySNDR(k)=y1(k)y_{\mathrm{SNDR}}(k)=y_1(k)

因此,确定性 ISI 导致的眼闭合不会被码型平均消除。对于同一个码型位置,如果前后符号造成的电压偏移每个周期都完全重复,这些轨迹在 SNDR Input 中依然存在。

但“数字码型周期重复”不代表“每次采到的模拟波形完全相同”。实际波形可以表示为:

ym(k)=ydet(k)+nm(k)+jm(k)y_m(k)=y_{\mathrm{det}}(k)+n_m(k)+j_m(k)

其中 ydety_{\mathrm{det}} 是确定性响应,nmn_mjmj_m 分别代表每次不同的随机噪声和随机抖动。原始统计眼图叠加了大量采集结果,所以会看到轨迹变粗、边沿横向扩散以及电平上下扩散;SNDR Input 则是在时钟和码型对齐后得到的平均代表波形,所以眼图可能明显变干净、变张开。

这说明原始眼图的闭合至少有一部分来自随机噪声、随机抖动或时钟漂移,而不全是确定性 ISI。可以将 Number of Averages 依次设置为 1、2、4、8、16 进行验证:如果固定的多轨迹结构不变,只是轨迹逐渐变细,说明确定性 ISI 被保留;如果眼图随平均次数明显张开,说明随机成分占比较大。

还要保证比较的是相同条件下的眼图,包括 CDR、PLL 带宽、UI 速率、均衡、滤波、显示比例、持续时间以及每 UI 采样点数。SNDR Function 波形有独立的自动缩放,仅凭视觉效果也可能产生误判。

第三步:根据 SNDR Input 拟合线性脉冲响应

得到 SNDR Input 后,算法利用已知 PAM4 符号序列 a(k)a(k) 构造卷积矩阵 AA,再通过最小二乘求一个脉冲响应 p(k)p(k)

pfit=argminpySNDRAp2p_{\mathrm{fit}}=\arg\min_p\left\|y_{\mathrm{SNDR}}-Ap\right\|^2

得到的 p(k)p(k) 就是 Linear Fit Pulse Response。它不是直接测得的物理通道冲激响应,而是在所设置的 Linear Fit Pulse Length 范围内,最能够解释 SNDR Input 的等效线性脉冲响应。

如果测量没有做严格去嵌,它可能同时包含:

  • 发射机输出带宽;
  • 封装和电气通道响应;
  • 调制器或光电链路的线性响应;
  • 示波器和测试夹具响应;
  • 其他能够由线性时不变模型解释的效应。

因此,把它直接叫作“通道脉冲响应”并不严谨。更准确的说法是当前测量参考面上看到的等效线性脉冲响应。

Linear Fit Pulse Length 也会影响拟合结果。如果脉冲长度太短,长尾 ISI 无法被 p(k)p(k) 表示,本应属于线性响应的部分也会泄漏到 Error 中;如果长度足够,线性带宽限制、反射和长尾 ISI 会被拟合脉冲响应吸收。

第四步:Pulse Corrected 理想线性重构波形

将已知码型与拟合脉冲响应卷积:

yfit(k)=a(k)pfit(k)y_{\mathrm{fit}}(k)=a(k)*p_{\mathrm{fit}}(k)

得到的就是 Pulse Corrected

这个名字很容易让人以为它是经过脉冲校正或均衡后的张眼波形,但其实不是。它表示的是:如果当前测得的系统能够完全由刚才拟合出的线性系统描述,这个码型理论上应该产生什么波形。因此它更接近“线性拟合重构波形”。如果拟合出的脉冲响应本身包含线性 ISI,那么 Pulse Corrected 也会包含对应的 ISI,并不是理想方波。

第五步:Error 与失真项计算

将 SNDR Input 与 Pulse Corrected 做差:

e(k)=ySNDR(k)yfit(k)e(k)=y_{\mathrm{SNDR}}(k)-y_{\mathrm{fit}}(k)

得到的 e(k)e(k) 就是 Error 波形。然后对 Error 计算去除均值后的标准差或 AC RMS:

σe=1Nk=1N[e(k)eˉ]2\sigma_e=\sqrt{\frac{1}{N}\sum_{k=1}^{N}\left[e(k)-\bar e\right]^2}

所以 Error 和 σe\sigma_e 不是同一个东西:Error 是一整条误差波形,σe\sigma_e 是这条波形的一个统计量。

σe\sigma_e 主要反映不能被最佳线性脉冲响应解释的成分,包括非线性、电平压缩、PAM4 电平不等间隔、上下边沿不对称、非线性码型相关失真,以及由于脉冲长度有限、系统时变或拟合不充分造成的残差。它不等于“全部链路失真”,因为可以由线性脉冲响应解释的 ISI 已经被划入有效线性响应中。

BER 估算

用一次实际测量理解电平间距和标准差

这里我拿到了一组单波 106.25G 的 PAM4 波形数据,均衡前

均衡前 SNDR 分析

均衡后

均衡后 SNDR 分析

这就是一个比较好的例子,原眼图闭合了,但 SNDR input 和 Pulse Corrected 的眼图略微睁开。这是因为原始眼图随机噪声或抖动,经过时钟同步与码型平均,在一定程度上被分离过滤了出去。当系统随机噪声和随机抖动较大时,可以利用 SNDR Input 减弱非码型相关随机因素的影响,再通过它与 Pulse Corrected 的对比,将链路问题大致分解为可由线性脉冲响应解释的确定性线性响应,以及无法由线性模型解释的确定性失真,从而判断眼图无法张开主要是由随机因素、线性 ISI,还是非线性失真造成的。

其中四个 PAM4 电平为:

L0=7.7978 mVL_0=-7.7978\ \mathrm{mV}

L1=2.8156 mVL_1=-2.8156\ \mathrm{mV}

L2=2.8392 mVL_2=2.8392\ \mathrm{mV}

L3=7.6639 mVL_3=7.6639\ \mathrm{mV}

三个相邻电平间距分别为:

ΔV01=4.9822 mV\Delta V_{01}=4.9822\ \mathrm{mV}

ΔV12=5.6548 mV\Delta V_{12}=5.6548\ \mathrm{mV}

ΔV23=4.8247 mV\Delta V_{23}=4.8247\ \mathrm{mV}

如果判决门限位于相邻电平中点,则最差的电平到门限距离为:

dmin=4.82472=2.4124 mVd_{\min}=\frac{4.8247}{2}=2.4124\ \mathrm{mV}

测得:

σn=0.886 mV,σe=0.277673 mV\sigma_n=0.886\ \mathrm{mV},\qquad \sigma_e=0.277673\ \mathrm{mV}

按照 SNDR 分母的平方和合并:

σtotal=σn2+σe20.9285 mV\sigma_{\mathrm{total}}=\sqrt{\sigma_n^2+\sigma_e^2}\approx0.9285\ \mathrm{mV}

最差门限裕量约为:

Qmin=2.41240.92852.60Q_{\min}=\frac{2.4124}{0.9285}\approx2.60

如果暂时将所有误差都看成零均值高斯噪声,2.60σ2.60\sigma 对应的单侧越界概率约为 0.47%。PAM4 的最外侧电平只有一个相邻门限,中间电平则有两个相邻门限,计算时不能混为一谈。

进一步分别考虑三个实际眼高,在四个电平等概率、门限位于中点、噪声标准差相同的假设下,可以粗略估算:

SER12[Q(ΔV012σ)+Q(ΔV122σ)+Q(ΔV232σ)]\mathrm{SER}\approx\frac{1}{2}\left[Q\left(\frac{\Delta V_{01}}{2\sigma}\right)+Q\left(\frac{\Delta V_{12}}{2\sigma}\right)+Q\left(\frac{\Delta V_{23}}{2\sigma}\right)\right]

代入数据,SER 约为 0.5%。不过,这个结果只能用来判断数量级,因为 σe\sigma_e 是整条 Error 波形的 AC RMS,并不一定等于最佳采样时刻的高斯电压噪声。Error 在跳变边沿处可能很大,而真实接收机只在 UI 中心附近做判决。

PAM4 BER 公式中的 SNR 与 分析得到的 SNDR

回顾光电链路训练中从 SNR 推导 BER 的证明,理想等间距 PAM4 的四个电平可以写成:

3a,a,+a,+3a-3a,\quad-a,\quad+a,\quad+3a

相邻电平间距为 d=2ad=2a,平均符号功率为:

Ps=9a2+a2+a2+9a24=5a2P_s=\frac{9a^2+a^2+a^2+9a^2}{4}=5a^2

如果判决点高斯噪声标准差为 σ\sigma,传统 PAM4 AWGN 模型中的 SNR 为:

SNR=Psσ2=5d24σ2\mathrm{SNR}=\frac{P_s}{\sigma^2}=\frac{5d^2}{4\sigma^2}

Gray 编码 PAM4 在相邻误判占主导时,其 BER 近似为:

BERPAM434Q(d2σ),Q(x)=12erfc(x2)\mathrm{BER}_{\mathrm{PAM4}}\approx\frac{3}{4}Q\left(\frac{d}{2\sigma}\right),\quad Q(x)=\frac{1}{2}\operatorname{erfc}(\frac{x}{\sqrt{2}})

也可以写成:

BERPAM438erfc(SNR10)\mathrm{BER}_{\mathrm{PAM4}}\approx\frac{3}{8}\operatorname{erfc}\left(\sqrt{\frac{\mathrm{SNR}}{10}}\right)

这里的 SNR 与 SNDR 测量得到的 SNDR 不是同一个定义。传统公式的分子是 PAM4 四个电平的平均功率 5a25a^2,而 SNDR 的分子是由线性拟合脉冲响应计算的 Pmax2P_{\max}^2

SNDR=10log10Pmax2σe2+σn2\mathrm{SNDR}=10\log_{10}\frac{P_{\max}^2}{\sigma_e^2+\sigma_n^2}

不同标准对 PmaxP_{\max} 的计算方式还可能不同,例如取脉冲响应最大值、平方和形式或双脉冲拟合的有效值。因此,不能把示波器显示的 SNDR dB 数值直接代入传统 PAM4 BER 公式。即使两者都叫“信号与噪声之比”,分子的物理定义也不一样。

如果强行将 σn2+σe2\sqrt{\sigma_n^2+\sigma_e^2} 当作判决点高斯噪声,可以结合实际电平间距构造一个等效 SNR,再估算 BER,但这已经加入了高斯分布、等间距和最佳采样点等额外假设,不能视为标准 SNDR 到 BER 的严格换算。

BER 能否由 SER 得到

PAM4 每个符号携带 2 bit。采用 Gray 映射且误码率较低时,错误主要发生在相邻电平之间,相邻符号只相差 1 bit。因此一次符号错误通常只造成一个 bit 错误,于是:

BERSER2\mathrm{BER}\approx\frac{\mathrm{SER}}{2}

如果前面粗略估算的 SER 约为 0.5%,则 BER 大约为 0.25%。但这只是相邻误判占主导时的近似。如果存在跨越两个甚至三个电平的错误,或者 PAM4 没有使用 Gray 映射,就必须知道完整的符号转移概率和 bit 映射,不能再简单除以 2。

从统计眼图估算 BER

如果示波器能够在统计眼图上直接绘制 BER 等高线,那么用它判断 BER 数量级通常比用 SNDR 反推更直接。

统计眼图描述的是电压与时间的联合概率分布:

p(V,t)p(V,t)

在给定采样时刻和判决门限下,误码率来自错误判决区域内的概率积分。它能够反映三个眼的实际高度、电平不对称、不同电平的噪声宽度、时间与幅度的联合分布,以及最佳采样相位和门限。这些信息是一个 SNDR 单值无法完整保留的。

但需要区分 BER 等高线是直接统计还是模型外推。如果只采集了 NN 个符号,直接统计能够分辨的最低概率大约只有:

Pmin1NP_{\min}\sim\frac{1}{N}

例如只捕获 10610^6 个符号,却显示 101210^{-12} BER 等高线,那么 101210^{-12} 不可能来自真实观察到的误码,而是软件根据随机噪声、随机抖动、确定性抖动和尾部分布模型外推得到的。外推越远,结果越依赖模型是否正确,也越容易漏掉低频漂移、突发噪声和长记忆码型效应。

因此,如果目的只是判断 BER 大致处于 10310^{-3}10610^{-6} 还是 10910^{-9} 数量级,正确配置下的 BER 等高线通常比 SNDR 换算更合适;如果要证明极低 BER,则仍然需要足够长时间的 BERT 实测。

还要确认示波器显示的究竟是 BER contour、SER contour、单眼越界概率还是普通 density contour。PAM4 有三个判决门限,有些软件会合成完整 BER,有些只显示某一只眼的概率,不能只看张得最好的一只眼。

总结

SNDR 完整流程

现在可以将 SNDR 的计算过程完整概括为:

  1. 在至少六个连续相同的 PAM4 符号中,选取稳定平台的第 3 个 UI 中心,统计各电平的随机电压离散程度,得到 σn\sigma_n
  2. 对原始波形进行时钟恢复、码型识别、重采样、周期对齐和码型平均,抑制非码型相关的随机噪声与部分抖动,得到 SNDR Input;
  3. 用已知码型对 SNDR Input 做最小二乘脉冲拟合,得到当前测量参考面上的等效线性脉冲响应 p(k)p(k)
  4. 将码型与 p(k)p(k) 卷积,得到线性拟合重构波形 Pulse Corrected;
  5. 用 SNDR Input 减去 Pulse Corrected,得到 Error 波形 e(k)e(k),再对它计算 AC RMS,得到 σe\sigma_e
  6. 根据所选标准从拟合脉冲响应计算 PmaxP_{\max},最后代入 SNDR 公式。

用公式表示就是:

原始波形CDR、码型对齐、重采样和平均ySNDR(k)\text{原始波形}\xrightarrow{\text{CDR、码型对齐、重采样和平均}}y_{\mathrm{SNDR}}(k)

pfit=argminpySNDRAp2p_{\mathrm{fit}}=\arg\min_p\left\|y_{\mathrm{SNDR}}-Ap\right\|^2

Pulse Corrected=Apfit\text{Pulse Corrected}=Ap_{\mathrm{fit}}

e(k)=ySNDR(k)Apfite(k)=y_{\mathrm{SNDR}}(k)-Ap_{\mathrm{fit}}

SNDR=10log10(Pmax2σe2+σn2)\mathrm{SNDR}=10\log_{10}\left(\frac{P_{\max}^2}{\sigma_e^2+\sigma_n^2}\right)

SNDR 分析实际上是在问:测得的波形中,有多少可以由一个最佳线性系统解释,又有多少属于随机噪声和线性模型无法解释的失真。它更适合评价发射端波形质量和线性可恢复性;至于接收机最终会产生多少 BER,还与采样相位、判决门限、均衡、CDR、误差分布尾部以及码型映射有关。统计眼图和 BER 等高线更接近这个问题,而真正的低 BER 结论最终仍应交给长时间误码测试。

SNDR Input:提取可重复的确定性波形

原始波形可以近似表示为:

ym(k)=ydet(k)+nm(k)+jm(k)y_m(k)=y_{\mathrm{det}}(k)+n_m(k)+j_m(k)

经过时钟恢复、码型对齐和多周期平均后:

ySNDR(k)=1Mm=1Mym(k)ydet(k)y_{\mathrm{SNDR}}(k) = \frac{1}{M}\sum_{m=1}^{M}y_m(k) \approx y_{\mathrm{det}}(k)

其中:

  • 非码型相关的随机电压噪声被平均压低;
  • 部分随机抖动和 CDR 能跟踪的时钟漂移被减弱;
  • 线性 ISI、反射、带宽限制等确定性线性响应被保留;
  • 非线性、电平压缩、上下边沿不对称、数据相关抖动等确定性失真也被保留。

所以,观察 SNDR Input 的眼图,可以近似回答:

如果先减弱随机噪声和随机抖动,这条链路本身可重复的确定性响应会把眼图变成什么样?

Pulse Corrected:最佳线性系统能够解释的部分

Pulse Corrected 是:

yPC(k)=a(k)pfit(k)y_{\mathrm{PC}}(k) = a(k)*p_{\mathrm{fit}}(k)

它表示已知码型通过最佳拟合线性系统后产生的波形,主要包含:

  • 带宽限制;
  • 线性 ISI;
  • 反射和长尾;
  • 频率相关损耗;
  • 其他能被等效线性脉冲响应描述的效应。

它不是“修复后的波形”,也不是均衡后的结果,仍然可能闭眼。观察 Pulse Corrected 的眼图,可以回答:

假如链路完全是线性的,仅仅由当前拟合出的脉冲响应决定,眼图会闭合到什么程度?

两者一起看,可以进一步分辨问题来源

由于:

SNDR Input=Pulse Corrected+Error\text{SNDR Input} = \text{Pulse Corrected} + \text{Error}

其中 Error:

e(k)=ySNDR(k)yPC(k)e(k) = y_{\mathrm{SNDR}}(k)-y_{\mathrm{PC}}(k)

就是无法由最佳线性模型解释的剩余确定性成分,以及平均后仍残留的噪声、抖动与拟合误差。

因此可以按照下面的逻辑判断。

现象 更可能的原因
原始眼闭合,SNDR Input 张开 随机噪声、随机抖动或同步漂移占主导
SNDR Input 与 Pulse Corrected 都闭合,且两者接近 线性 ISI、带宽限制、反射或长尾占主导
Pulse Corrected 张开,但 SNDR Input 闭合 非线性、数据相关失真、电平压缩或边沿不对称占主导
两者都闭合,但 SNDR Input 比 Pulse Corrected更差 线性 ISI 与确定性非线性共同作用
SNDR Input 与 Pulse Corrected 接近且都张开 确定性链路质量较好,原始性能主要受随机项限制

总结起来,如果原始眼图闭合,而 SNDR Input 明显张开,说明闭眼主要来自随机噪声、非同步干扰或时钟波动。传统均衡器对随机电压噪声作用有限,但 CDR 仍可能补偿带宽内的抖动。

如果 SNDR Input 仍然闭合,说明存在明显的确定性问题。若 SNDR Input 与 Pulse Corrected 接近,问题主要属于线性 ISI、反射或带宽限制,FFE/CTLE/DFE 具有较大的开眼潜力;若 Pulse Corrected 明显优于 SNDR Input,则问题主要来自非线性或其他线性模型无法解释的失真,普通线性均衡的改善能力有限。