工频干扰频谱测量_【鼎阳硬件智库译文

2023-11-19

英文原文 by Mratin Miller

汪进进 译 鼎阳硬件设计与测试智库发起人之一

简介

多通道串行数据链路容易受到串扰的影响,这些串扰可能来自于相邻通道,也可能是外部的干扰源(Aggressor),其结果是增加了受干扰通道(Victim Lanes)的抖动和噪声,最终带来了系统误码的增加。使用 TDR 或 VNA 可以测量出通道之间的耦合,但是他们不能直接测量出串扰影响带来的具体抖动值。本文将讨论的 NQ-Scale 测量方法能准确分离出串扰贡献的抖动大小并且介绍使用不同方法进行实际测量的案例。

概述

串扰的影响引起了 Rj 和 Dj 的增加,但是影响的程度会有非常大的差别,这取决于相邻通道传输的数据的特性。利用数字示波器和其它类型仪器的抖动分析技术可以提供详细的抖动分解结果,包括周期性抖动 Pj,数据相关性抖动 DDj 和随机抖动Rj等。串扰从原理上来说是信道之间幅度上的耦合而产生的相关性的失真。在任何一个串行数据系统中,通常有两种类型的串扰存在:非相关性的或者说“alien”串扰和相关性的串扰。后者多表现为数据相关性抖动和随机抖动,而前者通常表现为周期性抖动。串扰的另外一个特征是,它直接影响信号的幅度,这个影响可以通过 ISOBer 的方法在眼图轮廓上看出来,也能在信号幅度的周期性的变化上看出来。考察周期性的幅度变化有助于确定非相关性串扰引起的周期性抖动。

串扰的存在使得随机抖动的准确测量变得非常困难。根据相互干扰信号的不同类型,串扰可能导致随机抖动显著增加,但是这种随机抖动并不能通过大多数的抖动测量模型准确测量出来,特别是对于那些带有延迟特性的干扰源(Aggressor)的相关性的串扰所贡献的随机抖动,这种随机抖动由于只有非常低的统计权重却又有比较大的标准偏差,只有利用多种抖动测量模型才有助于揭示总体抖动的真正特点。

随机抖动和固有抖动的分解通常是基于“双狄拉克(Dual-Dirac)”抖动模型。双狄拉克(Dual-Dirac)模型是将抖动的 PDF 函数当作包含两个权重都是 1/2 的狄拉克 delta 函数的单个高斯函数模型,而且将这两个狄拉克函数通过周期性抖动分离开来。对于串扰的分析,其它的一些模型可能是更有帮助,譬如双高斯模型,其具有两个分离的高斯函数,每一个具有自己的标准偏差、1/2 的权重和平均值,而且这两个高斯函数也是通过固有抖动分离开的。第三种模型也是双高斯,但各自都有自己的权重和标准偏差。这三种模型拟合TIE测量结果的自由度在逐次增加,逐次提供了更加准确的抖动 PDF 和 BER 性能的估计。

本文介绍了三组实验来证明不同类型的串扰引起的抖动成分的影响是不同的。第一组实验的干扰源(Aggressor)和受干扰对象(Victim)都使用一个简单的时钟信号码型,用以确定串扰和抖动之间的关系。 第二组实验的干扰源(Aggressor)是随机信号,而受干扰对象(Victim)是时钟信号码型,最后一个实验的干扰源(Aggressor)和受干扰对象(Victim)都是随机码型。在每组实验中,使用两个模型的抖动测量结果和基于串扰电压的峰峰值理论上计算的结果是相关的。

总体抖动和抖动分解

时序上的抖动从特征上看是一个随机过程因为它包含的成分是由热噪声引起的。最基本的观察抖动的方法是采用随机高斯噪声模型,可以根据标准偏差来对它进行分析。这种简单的模型在很多应用包括通信标准如 SONET/SDH 的应用中被用于预测串行数据链路长时间内的误码特性。 随着高速串行数据技术被应用于相对更低成本要求的平台上如PC行业,简单的高斯模型已不能准确测量抖动了,这主要是因为低成本的链路可能会有更多的不能用简单的高斯模型来描述的固有抖动。

双狄拉克(Dual-Dirac)抖动模型

FibreChannel 委员会在 MJSQ 文档[1] 中提出了一种更成熟的抖动模型,该文介绍的统计模型包括了随机抖动和固有抖动,能够更好地表征实际上的抖动。这个模型就是我们现在熟知的双狄拉克(Dual-Dirac)模型。该模型是通过两个双狄拉克(Dual-Dirac)delta 函数卷积组成单个高斯概率密度函数,而这两个函数通过与固有抖动成比例的数量分开,如图1 所示。和简单的高斯模型一样,双狄拉克(Dual-Dirac)模型寻求预测串行数据链路长时间下的误码性能,而且因为它包括了固有抖动成分,它会更加准确。抖动测量的准确性提高是至关重要的,因为随着串行数据链路的传输速率提高,性能的裕量变得越来越小了。

图1:带有模型参数的双狄拉克(Dual-Dirac)模型,函数QG(BER)表示一定BER时对应的高斯函数的标准偏差值

双狄拉克(Dual-Dirac)模型作为抖动测量方法被用于很多当前的串行数据标准中,其原因主要有两点,第一,这个简单的模型通过增加了双狄拉克(Dual-Dirac)固有抖动(有时侯也被称为 Dj(ᵟ-ᵟ) 成分,增加了随机抖动成分的平方和的均方根值,能够计算出链路的裕量,第二,该模型的参数能够通过多种类型的仪器计算出来,包括实时示波器、采样示波器和误码率测试设备。

测量双狄拉克(Dual-Dirac)模型参数

尽管双狄拉克(Dual-Dirac)模型比较简单,但是确定该模型的相关参数并非易事。数字示波器是测量抖动的首选工具。模型的参数 Rj 和 Dj 可以通过最佳拟合抖动分布的尾部得到。示波器测量大量信号边沿的时序抖动并据此预测抖动的分布图。方法之一是在归一化的区域内累积测量时间间隔误差(TIE)形成直方图。直方图表征了一定时间范围内的概率密度函数。图2 表示一个典型的抖动追踪图(Track)和直方图。通过拟合这个直方图可以得到 Rj 和 Dj。直方图累积的测量样本数越多,预测的 Rj 和 Dj 值会增大,直到累积的直方图达到非常稳定的状态。最大的问题是直接通过直方图来得到的 Rj 和 Dj 需要的时间太长了。传统上的数字示波器并不能在可以接受的时间范围内累积大量的数据来得到稳定的测量结果。(译者注:假如用直接测量的方法需要测量 10 的 12次方的样本)

图2:抖动追踪(左)和直方图(右)

所谓的频谱分析方法被用于解决上述直接测量的局限性,该方法利用 FFT 将 TIE 的追踪图转换为频域,分析抖动的频谱得到抖动参数。这个方法的原理就是要把随机噪声的频谱从固有抖动中“甄别”出来。这种分离方法需要定义一个幅值门槛,低于该门槛的 FFT 定义为随机噪声,高于该门槛的则为固有抖动。固有抖动的特点是它的频响表现为离散的“峰值点”。通过将门槛值以下的 FFT 的 Bins 以平方和相加得到随机抖动,因为这个方法中将随机抖动都假设为随机的和不相关的。这种计算 Rj 的方法计算速度快,可重复性好,这两点对于测量来说都是很好的特点。Dj 则可以通过多种方法得到,譬如拟合抖动的直方图或者对门槛值以上的 FFT 的 bins 做复杂的加法运算。

频谱方法是测量双狄拉克(Dual-Dirac)模型参数的初级方法,事实上也是非常有效的方法。但是频谱方法的一个先天性的不足是它是建立在这样一个假设前提下的:所有的随机抖动都是高斯分布的。通常来说实际中当然没有真正的高斯但是至少大多数的随机行为在实际的测量时间范围内是非常接近高斯分布的。但是也有些伪随机的案例,在短时间内表现为随机的,而实际上在比较长时间内观察则是属于固有抖动。还有些情况下虽然是随机抖动,但是其分布特性并不是高斯的。在这些情况下,频谱方法的假设就不成立了,Rj 就会比实际的大或者小。

图3:带有门槛的抖动频谱图。低于门槛幅值的 Bins 被定义为随机噪声

频谱方法遇到的另外一个问题是随机抖动的分布并不是单一的高斯分布,而是由多个高斯分布组成。例如,对于一个特定信号的每一个边沿可能是由一个在它之前的边沿引起的独特的上升时间。这在传输通道带宽受到限制而造成了 ISI 的情况下是很常见的。除了造成有些比特位的幅值减小,ISI 还使一些边沿的转换速率降低。 更低的转换速率带来信号中更多的噪声,这些噪声会转换为时序上的抖动。 根据数据码型的不同,边沿上很小的变化可能会有更高的随机抖动,结果表现为在抖动分布上有一个主体的高斯抖布和一个很小的、低统计权重的高斯。如果这种低权重的高斯有一个比较高的标准偏差值,那么正确的方法应将此作为随机抖动值,但是,频谱方法仅仅是计算出了低分布,高权重的高斯,测量到的 Rj 就会偏小。

串扰带来的抖动行为就属于频谱方法不能准确测量的类型。有些情况下,串扰带来伪随机抖动,这时的干扰源(Aggressor)和受干扰对象(Victim)是不相关的。在另外一些情况下,干扰源(Aggressor)是和受干扰对象(Victim)相关的,但是这时候的码型一般特别长而且不重复的。 在这些情况下,抖动是伪随机但是有界,导致频谱方法会过高估计了抖动大小。

抖动分解

双狄拉克(Dual-Dirac)模型对于评估串行数据链路长时间的误码性能是有效的,但是仅仅从 Dj 参数来确定固有抖动的根源是不够的。抖动测量仪器对固有抖动的组成成分进行更详细的分析以找出抖动的根源。图4 是一种典型的抖动分解树,固有抖动包括数据相关性抖动 DDj 和非相关性抖动。数据相关性抖动 DDj 通常是由背板、电缆和连接器等组成的信道衰减和散射等引起的,而非相关性抖动则是从外部源如开关电源和串扰耦合到信号中的。

图4:抖动分解树

非相关性抖动常被称做有界的非相关性抖动(BUj)。这种抖动通常可以根据频谱中的频率成分测量,它的分布是有界的,也就是说BUj的峰峰值范围是限定在一定范围以内,不会象高斯抖动那样随着观察时间的增加而增加。有些有界抖动并没有表现出离散的频率成分,至少在测量到的时间范围内它的表现形式是随机的。这种抖动被定义为其它的有界不相关抖动(OBUj)。应该注意到一些抖动模型将Pj单独作为一种类型而不是当作 BUj 的一部分,但是 MJSQ[1]中将 Pj 当作 BUj 的一部分。不管 BUj 是否包括 Pj,这并不影响抖动的整体分解结果,因为这只是一个词意上的分歧。两种情况下,Pj 都是和数据码型不相关的。

串扰存在时的信号完整性

串扰是由一个或多个信号耦合到另外一个信号中引起的。耦合通常是由被称作干扰源(Aggressor)的信号的电磁辐射引起的。辐射常发生在干扰源(Aggressor)的信号改变状态的时刻,从“1”到“0”或者相反。在电平转换时,“受干扰对象(Victim)”感应的电压正比于“干扰源(Aggressor)”的电压转换的速率。

(1)

上式中的后缀标记”c”和“a” 表示干扰源(Aggressor)电压和受干扰源(Aggressor)电压。感应到的电压对受干扰源(Aggressor)信号的时序或幅度产生影响,是影响时序还是幅度取决于干扰源(Aggressor)发生电平转换的时刻和受干扰源(Aggressor)之间关系。图5 以图形方式表示了这种影响。

图5:图形化表示的串扰。 受干扰通道的失真与干扰源(Aggressor)和边沿极性紧密相关

图6 表示测量到的干扰信号通过干扰源(Aggressor)信号感应到受干扰对象(Victim)。上面栅格中显示的是串扰信号,干扰源(Aggressor)信号在下面的栅格。推导出来的干扰源(Aggressor)信号(比较大的信号)叠加在测量到的串扰信号上,这表明等式1确是能预测串扰。

有很多种形式的串扰,包括近端串扰和远端串扰(NEXT 和 FEXT)以及在频率和时间上都和受干扰对象(Victim)不相关的不相关串扰。近端串扰和远端串扰是相关联的,从某种意义上来说他们和被测信号工作在相同的数据速率,但是不相关串扰是工作在不同的速率,和被测信号不相关。

图6:干扰源(Aggressor)信号感应到被干扰的通道

时序影响

当干扰源(Aggressor)的电平转换时刻和受干扰对象(Victim)的电平转换时刻刚好一致或者接近,受干扰对象(Victim)的时序会发生改变。当受干扰对象(Victim)的幅度被感应的串扰电压移动时,其结果必然是带来了时序的变化。如果信号的转换无限的快,那将没有时序上的变化,但是受干扰对象(Victim)的转换时间是一定的,它的时序就会按照和串扰电压成比例的大小变化。等式(2)表示串扰带来的峰峰值抖动所遵循的规则。

(2)

等式中

分别是感应到被干扰对象(Victim)上的峰峰值干扰电压和受干扰对象(Victim)的20%到80%的上升/下降时间,
是受干扰信号的峰峰值电压。等式2 中假设了串扰的唯一后果是带来固有抖动的增加,但实际中的情况并不完全是这样。全部的上升时间将近是上述的20%到80%的上升时间的2倍[2]。串扰引起的抖动是有界的,因为电压幅度是干扰源(Aggressor)斜率(参考等式1)和干扰源(Aggressor)与被干扰对象之间的耦合程度的函数。这两者都是有界的。

串扰抖动仅仅出现在干扰源(Aggressor)的电平转换和受干扰对象(Victim)的电平转换相同的时刻。多数情况下在多个通道同时传送串行数据时总会带来串扰问题。这时干扰源(Aggressor)和被干扰对象(Victim)的速率是相同的。

在参考文献[3]中推导了串扰引起的峰峰值 BUj 的关系式。该文基于的假设是干扰源(Aggressor)感应的串扰改变了被干扰信号的幅度,改变量的大小等于感应的串扰电压。受干扰对象(Victim)边沿移动的变化量由下面的等式(3)给出。

(3)

表示受干扰对象(Victim)上串扰感应的电压的峰峰值。该等式描述了当干扰源(Aggressor)的边沿和受干扰对象(Victim)的边沿一致的时候,感应的串扰引起的时序改变量。峰峰值抖动受限于干扰源(Aggressor)和受干扰对象(Victim)的边沿的重叠部分的大小。还有一个最大值限制等于干扰源(Aggressor)转换时间,当串扰电压大小超过一定程度时会达到这个上限。图7 表示串扰引起的幅度及时序上的变化。垂直部分的边沿上的失真反应了串扰引起的抖动的限制。

图7:串扰引起的幅度变化示意图

图7 的模型假设了感应的串扰电压是一个方波信号,这在现实中肯定是不真实的。串扰电压形状经过干扰源(Aggressor)和受干扰对象(Victim)之间的耦合的脉冲响应变得光滑些,这使得实际的串扰大小比等式(3)中预测的要小一些。另外等式(3)并不能预测当干扰源(Aggressor)和受干扰对象(Victim)不是完全同相时串扰对受干扰对象(Victim)边沿的影响。在这种情况下,受干扰对象(Victim)的边沿的形状被改变并带来了更大或者更小的斜率。受干扰对象(Victim)的垂直噪声转换为抖动,越低的斜率带来越大的随机抖动,其关系式如下所示:

(4)

式中N和

是受干扰对象(Victim)的基线噪声和噪声引起的随机抖动,斜率是指待测量边沿的斜率。随机抖动是时序抖动和噪声抖动平方和的均方根。

抖动测量是通过对被测信号进行大量的连续边沿进行观察并分析测量结果的追踪图而得到的。额外的串扰带来的抖动造成了待测信号的时序和干扰源(Aggressor)的时序关系发生了变化。等式3 和4 预测了串扰带来的固有抖动和随机抖动的增加。固有抖动的增加量的大小正比于干扰源(Aggressor)和受干扰对象(Victim)的耦合程度,随机抖动的增加则正比于干扰源(Aggressor)和受干扰对象(Victim)的相位大小。

串扰测量的实验

为了测量串扰引起的抖动,我们利用 Lattice 的评估板 ORT82G5 FPSC 做了一组实验。SERDES 输出两路速率都为 3.125 Gb/s 的信号,输出到一对比较短的 PCB 线径上。这两路信号作为干扰源(Aggressor)和受干扰对象(Victim)。一对 PCB 走线的间距非常接近以产生串扰。利用 TDR 测量出线径之间耦合的插入损耗,如图8 所示,插入损耗从频率点 2.5 GHz 之后的很长频率范围内都是 10 dB。干扰源(Aggressor)和受干扰对象(Victim)都施加在线径的同一端,实现近端串扰测量(NEXT)。而且我们注意到,在 DC 时的耦合为零,随着频率的增加而增加。

图8:干扰源和受干扰对象线路之间的插入损耗

实验1- 受干扰对象(Victim)和干扰源(Aggressor)都是半速率的时钟码型

第一个实验采用1100…作为干扰源(Aggressor)的码型。干扰源(Aggressor)的电压总共有 6种大小,测量结果和等式3 的预测值一起比较,如表1 所示。

表1:半时钟速率码型作为干扰源(Aggressor)的抖动测量结果

该实验中,干扰源(Aggressor)和受干扰对象(Victim)之间的相位尽可能保持为零。频谱方法(sp)和归一化 NQ-Scale(nq)方法的测量结果和预测的结果都很接近,如图9 所示。

图9:测量和理论计算的固有抖动和串扰电压大小之间关系

对于这种串扰信号非常简单的码型,频谱是由一系列离散的峰值点组成的,使用两种方法都能够容易准确测量,因为所有的干扰源(Aggressor)抖动大于抖动噪声的门槛值。抖动的频谱如图10 所示,随机抖动维持为一个常量,这和预期的是一致的,因为考虑到干扰源(Aggressor)和受干扰对象(Victim)之间的相位是恒定的。

图10:3.125 Gb/s 的受干扰对象(Victim)的抖动频谱和半速率的时钟抖动

干扰源(Aggressor)和受干扰对象(Victim)之间有不同的相位关系时的随机抖动和固有抖动值测量结果如图11 所示。

图11:固有抖动和随机抖动与干扰源(Aggressor)和受干扰对象(Victim)之间相差的关系。干扰源和受干扰对象的上升时间大约是50%的 UI

实验2 – 受干扰对象(Victim)为时钟码型,干扰源(Aggressor)为非重复性的数据码型

第二个实验利用随机的数据码型作为干扰源(Aggressor),以测量随机串扰的影响。这种串扰比简单的时钟码型对抖动的影响复杂得多,因为干扰源(Aggressor))的边沿转换是随机发生的,除此之外,上升时间和干扰源(Aggressor)与受干扰对象(Victim)之间的相位误差也是变化的。

测量结果如表2 和图12、13 所示。NQ-Scale 方法的随机抖动结果整体上要大一些,这是干扰源(Aggressor)的相位变化范围很大带来了受干扰对象(Victim)更小的上升时间所引起的必然结果。最显著的影响是当干扰源(Aggressor)的电平增加时,随机抖动增加,固有抖动减小。这和理论分析是一致的,因为干扰源(Aggressor)的抖动频谱由很多距离很近的线组成,而且由于频率分辨率有限,这些线看上去是连续的,可从图14清楚地看出来。图中显示的噪声基底具有和方波脉冲一致的形状。

根据等式3 预测的抖动结果比 NQ-Scale 的都要大一些。为什么会这样? 等式1 说明了串扰的大小和干扰源(Aggressor)的微分结果成正比。快沿比慢沿有更大的延迟,因此受干扰对象(Victim)和干扰源(Aggressor)之间的相位差更大。 因为相位误差越大,串扰引起的抖动的峰值就会越小,等式3 的预测是基于串扰电压的峰峰得到的,因此结果总会偏大一些。

表2:干扰源(Aggressor)为非重复性的数据码型 的抖动结果

图13 表示用频谱方法,NQ-Scale 方法及理论预测的总体抖动。总体抖动的预测值是根据基线的随机抖动值 4.61 ps 和根据等式3预测的固有抖动值计算得到的。 QN-Scale 方法的测量结果和预测的结果非常一致,但是频谱方法测量出来的抖动值明显大很多,这是因为它不能从Rj中准确地分离出 BUj。 固有抖动的减少和随机抖动的增加是非常吻合的。

图12:固有抖动和串扰大小之间的关系 (干扰源(Aggressor)是随机数据码型)

图13:总体抖动 VS. 干扰源(Aggressor)电压(受干扰对象(Victim)是时钟,干扰源(Aggressor)是非重复性的数据)

图14:受干扰对象(Victim)的抖动频谱(干扰源(Aggressor)是随机码型)

实验3- 受干扰对象(Victim)和干扰源(Aggressor)都是不重复的数据码型

第三组实验的干扰源(Aggressor)和受干扰对象(Victim)都是随机数据码型。 因为干扰源(Aggressor)和受干扰对象(Victim)都有非常明显的 ISI,两者之间的相位偏差的范围很大。测量结果如表3 和图15、16 所示。这组实验的随机抖动大约为 10 ps 比前面两组实验中的 4 ps 要大一些。图15 是没有干扰源(Aggressor)的受干扰对象(Victim)的抖动测量结果。

此例中固有抖动比等式3计算的结果要低一些,因为干扰源(Aggressor)和受干扰对象(Victim)之间的相位变化范围很大。 正如图11 指出的,串扰引起的抖动大部分表现形式为随机抖动。图16 画出了总体抖动测量结果,可以看出 NQ-Scale 方法的结果和理论计算的结果非常一致。和受干扰对象(Victim)是时钟码型的结果比起来有比较大的误差,这是更大的 ISI 引起的随机抖动造成的结果。

表3:抖动测量(干扰源(Aggressor)和受干扰对象(Victim)都是随机码型)

图15:峰峰值Dj VS.干扰源(Aggressor)电压(干扰源(Aggressor)和受干扰对象(Victim)都是随机码型)

图16:总体抖动 VS. 干扰源(Aggressor)电压(干扰源(Aggressor)和受干扰对象(Victim)都是随机的码型)

图17:抖动测量结果和显示出近高斯形状的 DDj 直方图(左上图)

结论

串扰问题的研究一度聚焦于其对固有抖动的影响,固然这方面的研究仍然是非常重要的,但是研究其对随机抖动的影响也是很有意义的。当受干扰对象(Victim)和干扰源(Aggressor)的边沿同相时,串扰造成的影响主要表现为固有抖动,但是在实际系统中很少有“同相”的案例,更多的可能是,受干扰对象(Victim)和干扰源(Aggressor) 的边沿之间有很大的相位差,从而影响受干扰对象(Victim)的波形形状和斜率并因此导致随机抖动的增加。直接测量抖动直方图的尾部可以更准确地测量这种随机抖动,因为这种类型的抖动直方图的统计分布离中心值很远,占整个统计分布的比重比较小。

虽然基于频域的抖动分析是目前示波器测量抖动的已用方法之一,但是在测量带有串扰的信号时该方法有严重的局限性。抖动频谱的噪声基底由统计比重最高的随机抖动成分占主要成分,掩盖了一些比重小的随机抖动成分如串扰引起的随机抖动。将频谱方法和抖动直方图的直接测量方法方法结合起来,这将为调试串扰问题提供了强有力的方法。两种方法的组合将有助于确认是否有串扰存在:比较两种方法测量的随机抖动,当两者测量的结果明显不一样时说明有串扰存在的可能。

参考文献

[1] T11.2/Project 1316-DT/Rev 14, Fibre Channel-Methods for Jitter and Signal Quality(MJSQ),June 9,2004

[2] Ransom Stephens, Characterizing, Anticipating, and Avoiding Aroblems with Arosstalk, DesignCon 2006

[3] Andy Kuo, Roberto Rosales, Touraj Farahmand, Sassan Tabatabaei, and Anddre Ivanov, Crosstalk Bounded Uncorrelated Jitter (BUJ) for High-Speed Interconnects, IEEE Transactions on Instrumentation and Measurement, October 2005

[4] James Buckwalter, Behnam Analui, and Ali Hajimiri, “ Data-Dependent Jitter and Crosstalk-Induced Bounded Uncorrelated Jitter in Copper Interconnects”, 2004 IEEE MTT-S digest

[5] Martin Miller, Michael Schnecker, A Comparison of methods for Estimating Total Jitter Concerning Precision, Accuracy and Robustness, DesignCon 2007


版权声明:鼎阳硬件设计与测试智库发表的所有文章皆为鼎阳硬件设计与测试智库专家呕心沥血之原创。希望我们的经验总结能够帮助到更多的硬件人,欢迎转载!我们鼓励分享,但也坚决捍卫我们的权益。引用请注明出处——“鼎阳硬件设计与测试智库”微信号(SiglentThinkTank)。鼎阳硬件设计与测试智库将保留追究文章非法盗用者法律责任的权利!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

工频干扰频谱测量_【鼎阳硬件智库译文 的相关文章

  • 【2022年MathorCup大数据竞赛】B题:北京移动用户体验影响因素研究(四)(问题一的千余行代码整理)

    目录 代码整理 一 问题一附件1语音业务数据集处理代码 二 问题一附件2上网业务数据集处理代码 一 问题一附件1语音业务数据集处理代码 问题一附件1语音业务数据集处理代码 import numpy as np import pandas a
  • 打包前后端项目并部署至服务器

    1 打包前端项目 打包命令 npm run build 执行完命令后 会生成一个名为 dist 的文件夹 这个就是打包好的前端项目 2 打包后端项目 2 1 执行 maven 的 clean 删除项目编译创建的 target 文件夹 2 2
  • fastcgi 模块各个常用变量的意义

    nginx fasrcgi 模块的文档 http nginx org en docs http ngx http fastcgi module html fastcgi pass 设置FastCGI服务器的地址 将匹配到该location的
  • C语言程序的结构

    1 C语言程序主要由函数构成 函数是C语言程序的基本单位 一个C语言源程序必须有一个main函数 可以包含一个main函数和若干个其他函数 主函数可以调用其他函数 其他函数之间可以互相调用 但其他函数不能调用主函数 被调用的函数可以是系统提
  • 时序算法研究系列之Prophet安装(准备篇)

    前言 新开一个关于时序数据预测算法的系列博客 计划整理目前的时序数列的预测方法 原理 应用 心得等 其中Prophet因为在安装时候踩了很多雷 所以专门开一个准备篇写安装过程 下一篇讲述具体应用 目录 前言 Prophet 简介 方法一 方
  • 查看字节码

    1 安装插件 ASM Bytecode outline 与hexview 2 查看字节码 源码 package com asm public class HelloWorld public static void main System o
  • 【华为OD机试真题 JAVA】求最多可以派出多少支团队

    JS版 华为OD机试真题 JS 求最多可以派出多少支团队 标题 求最多可以派出多少支团队 时间限制 1秒 内存限制 262144K 语言限制 不限 用数组代表每个人的能力 一个比赛活动要求参赛团队的最低能力值为N 每个团队可以由1人或2人组
  • Eclipse插件之Bytecode Outline

    本文介绍如何利用Eclipse插件Bytecode Outline在Eclipse中的操作使用 Eclipse是目前非常流行的开发平台 开放扩展的架构让很多程序员找到了自己个性化的工作环境 Bytecode Outline 插件可以把当前的
  • U盘安装ubuntu16.04及IP配置,硬盘挂载。

    U盘安装ubuntu16 04及IP配置 硬盘挂载 准备一个启动盘 进入BIOS 安装系统 设置静态ip 挂载硬盘脚本 安装基本包 准备一个启动盘 准备一个U盘 可以用 ultraiso 工具来制作 进入BIOS 将U盘插入要安装的电脑 开
  • 理解gateway网关,及与前端联调过程

    1 一些概念 客户端向Spring Cloud Gateway发出请求 然后在Gateway Handler Mapping中找到请求相匹配的路由 将其发送到Gateway Web Handler Handler再通过制定的过滤器链来将请求
  • NeRF神经辐射场中关于光线从世界坐标系转换为NDC坐标系 Representing Scenes as Neural Radiance Fields for View Synthesis

    本文旨在回复一个粉丝的关于坐标系变换编程提问 并结合下面的一个代码进行解释 完整代码参考我前面的文章 补充 希望那个同学可以看见 因为公众号对话10天未互动默认无法再回复消息了 def get ndc rays H W focal near
  • 两层及N层全连接神经网络模型原理

    两层及N层全连接神经网络模型原理 前言 1 两层MLP 1 1 前向传播 1 2 反向传播 2 N层MLP 2 1 网络参数 2 2 超参数优化 3 MLP优化 前言 深度学习是学习样本数据的内在规律和表示层次 在学习过程中获得的信息对诸如
  • 蓝桥杯最长不下降子序列,线段树python

    问题描述 给定一个长度为 N 的整数序列 A1 A2 AN 现在你有一次机会 将其 中连续的K 个数修改成任意一个相同值 请你计算如何修改可以使修改后的数 列的最长不下降子序列最长 请输出这个最长的长度 最长不下降子序列是指序列中的一个子序
  • 1+x 证书 Web 前端开发中级理论考试(试卷 6 )

    1 x 证书 Web 前端开发中级理论考试 试卷 6 官方QQ群 1 x 证书 web 前端开发初级对应课程分析 http blog zh66 club index php archives 194 1 X 证书 Web 前端开发中级对应课
  • 2022国赛5:神州路由器DHCP服务配置

    配置如下 RA配置 Router conf Router host RA RA config int g0 1 RA config g0 1 ip add 192 168 10 1 255 255 255 0 RA config g0 1
  • STM32+ESP8266+MQTT连接阿里云(1)

    ESP8266连接阿里云的流程 发送 目的是让ESP8266退出透传 AT RESTORE 让模块恢复出厂设置 AT 判断模块的好坏及工作状态 正常就会回复OK ATE0 关闭回显 这个没什么好说的 AT CWMODE CUR 1 设置为s
  • 【网络是怎样连接的】—— 向 DNS 服务器查询 IP 地址

    IP 1 基本知识 互联网和公司内部的局域网都是基于 TCP IP 的思路来设计的 由一些小的子网 通过路由器连接起来组成一个大的网络 这里的子网可以理解为用集线器连接起来的几台计算机 在网络中 所有的设备都会被分配一个地址 这个地址就相当
  • 设计模式学习笔记(一)之单例模式

    单例模式 作用 保证一个类只有一个实例 并且提供访问这个实例的全局访问点 应用场景有 数据库连接池 spring中 Bean默认是单例 Servlet中 每一个Servlet是单例 配置文件的类 一般是单例 优点 单例只生成一个实例 减少系

随机推荐

  • UVM实战——01基本概念_2 什么是UVM?

    什么是UVM 1 什么是UVM 2 UVM的特点 3 UVM提供的资源 3 1 编程指导 3 1 1 理念 3 1 2 功能 3 2 验证组件 3 3 验证激励 3 4 通信机制 3 5 宏 1 什么是UVM UVM Universal V
  • 在iOS9上调用支付宝不回调的问题解决,以及支付宝嵌入的流程梳理

    又有一段时间没有经营自己的博客了 这一段有点忙啊 在最近的一个项目中再一次用到了第三方支付 对 就是支付宝 之前的项目其实已经实现过相应的功能 那是还是在ios8的系统下 这不在iOS9下就遇到了一个问题 不回调啊 反正要梳理支付宝的嵌入
  • 搭建树莓派Pico交叉编译环境和工具链(arm-none-eabi-gcc)时可能会遇到的错误以及解决方案

    本文是一个类似手册的文章 用来记录可能遇到的错误 你可以通过侧栏选择遇到的错误来查看详细信息 No install step for ELF2UF2Build 遇到这种错误有两种原因 安装了版本不对或者不完整的arm none eabi g
  • 继电器、并联的二极管和驱动三极管选型实战演练

    继电器选型原则 继电器的选用原则参见下表 在表中 必须确定 栏中有 号的项目被确定之后 就可选定一款继电器 如果有进一步的要求 需要进一步考虑 参考 栏中有 号的相应项目 下面对表格中的所有参数进行详细说明 触点 1触点负载 确定继电器所能
  • 一篇文章了解爬虫技术现状

    本文全面的分析了爬虫的原理 技术现状 以及目前仍面临的问题 如果你没接触过爬虫 本文很适合你 如果你是一名资深的虫师 那么文末的彩蛋你可能感兴趣 需求 万维网上有着无数的网页 包含着海量的信息 无孔不入 森罗万象 但很多时候 无论出于数据分
  • list【2】模拟实现(含迭代器实现超详解哦)

    模拟实现list 引言 实现概述 list迭代器实现 默认成员函数 operator 与 operator gt operator 与 operator operator 与 operator 迭代器实现概览 list主要接口实现 默认成员
  • pnpm修改设置下载包的存储路径

    要修改 pnpm 存储依赖的路径 可以使用 pnpm 的 store 配置选项 通过更改 store 配置 可以指定 pnpm 存储依赖的目录位置 这在希望将依赖存储在不同磁盘分区 不同的硬盘驱动器或其他自定义位置时很有用 步骤 1 打开命
  • 9.2 流程分析

    介绍了系统文件加密和文件解密的流程 那么我们本例主要涉及两个核心函数个函数Encrypt File和Decrypt File 使用Encrypt File函数完成文件加密功能 Decrypt File函数完成文件解密功能 下面介绍这两个函数
  • 跟着官网编写一个LLVMPass

    官网地址 https llvm org docs WritingAnLLVMPass html introduction what is a pass 一 创建文件 1 项目结构为 llvm project lib Transforms H
  • TscanCode C/C++静态分析开源分析工具安装与使用

    TscanCode是腾讯静态分析团队开发的一款开源免费的C C 静态分析工具 由于其比较简单实用 准确率较高 并且扫描C C 代码不需要进行编译 所以个人觉得对C C 项目开发挺有帮助的 就简单介绍一下该工具的安装与使用 1 Tscanco
  • 文件包含漏洞-日志注入

    文件目录 一 文件包含漏洞 1 文件包含概述 2 文件包含类型 二 文件包含 日志注入 1 日志注入概述 2 环境准备 3 配置环境 4 模拟网站环境 三 日志注入流程 一 文件包含漏洞 1 文件包含概述 文件包含漏洞是 Web 应用程序中
  • springboot的优化

    在SpringBoot的Web项目中 默认采用的是内置Tomcat 当然也可以配置支持内置的jetty 内置有什么好处呢 在SpringBoot的Web项目中 默认采用的是内置Tomcat 当然也可以配置支持内置的jetty 内置有什么好处
  • 互联网JAVA面试常问问题(三)

    一 volatile原理和使用场景 volatile 原理 volatile变量进行写操作时 JVM会向处理器发送一条Lock前缀的指令 将这个变量所在缓存行的数据写会到系统内存 Lock前缀指令实际上相当于一个内存屏障 也成内存栅栏 它确
  • LED用DMX512协议整个系统怎么连接?

    提问1 EIA485规范只支持 雏菊链 或每段上最多以32个 单元负载 所构成的串行网络 DMX512不是可以支持512个通道吗 那是不是说 超过32个的情况下需要使用中继 提问2 控制器 接收端1 接收端2 接收端n 电阻 GND 这样的
  • BIO、NIO、AIO理解

    一 到底什么是BIO NIO AIO 这些可以理解为是Java语言对操作系统的各种IO模型的封装 程序员在使用这些API的时候 不需要关系操作系统层面的知识 也不需要根据不同操作系统编写不同的代码 只需要使用Java的API就可以了 二 B
  • Eclipse搭建stm32+jlink开发环境全攻略(进阶篇一)

    Eclipse搭建stm32 jlink开发环境全攻略 进阶篇 一 本篇开始讲解一些比较实用的东西 在前面的两章中 我们讲解了eclipse开发stm32的大部分问题 然而 在实际使用过程中 我们仍然会遇到一些不太理想的地方 比如 ecli
  • Leetcode力扣题解 - 30.串联所有单词的子串

    地址 30 串联所有单词的子串 力扣 LeetCode 一 思路 本题关键点是 1 所有关键词长度一致 2 匹配的是所有关键词连接起来的 大体思路 那么我们就可以从字符串头开始 每次只匹配关键词总长度个字符 如果匹配成功 在返回的数组中保存
  • HDMI中的视频时序分析

    一 前言 建立层次观念 说到时序 我们首先想到的例子是IIC SPI 串口等接口的例子 以我们之前的理解 时序就是传输线上电平随时间变化的顺序 但是但是但是 在HDMI这里 我们应该建立一个新的观念 即时序不一定对应到物理层 即传输线上 这
  • python--- end=“ , 单独的一行print()是什么意思

    有如下一道练习题 编写代码打印出下列图形 代码如下 for i in range 4 for j in range 5 print end print 其中end 意思是为末尾end传递一个空字符串 这样print函数不会在字符串末尾添加一
  • 工频干扰频谱测量_【鼎阳硬件智库译文

    英文原文 by Mratin Miller 汪进进 译 鼎阳硬件设计与测试智库发起人之一 简介 多通道串行数据链路容易受到串扰的影响 这些串扰可能来自于相邻通道 也可能是外部的干扰源 Aggressor 其结果是增加了受干扰通道 Victi