主要内容

serdes.DFECDR

带时钟和数据恢复(CDR)的判决反馈均衡器(DFE)

描述

serdes.DFECDR系统对象™ 自适应处理逐样本输入信号或分析处理脉冲响应向量输入信号,以消除光标后抽头处的失真。

DFE修改基带信号以最小化时钟采样时间的符号间干扰(ISI)。DFE在每个时钟采样时间采样数据,并通过校正电压调整波形的振幅。

在脉冲响应处理中,利用呼啦圈算法寻找时钟采样位置。然后使用零强迫算法来确定N校正因素必须没有ISI在N后续采样位置,其中N是DFE水龙头的数量。

对于逐样处理,时钟恢复由一阶相位跟踪模型完成。bang-bang相位检测器利用未均衡的边缘样本和均衡的数据样本来确定最佳的采样位置。的DFE校正电压N-通过寻找一个电压来自适应地找到th抽头,该电压补偿间隔为N符号时代。这需要一个与信道ISI不相关的数据模式来实现正确的自适应行为。

均衡输入信号:

  1. 创建serdes.DFECDR对象并设置其属性。

  2. 使用参数调用对象,就像调用函数一样。

要了解更多关于System对象如何工作的信息,请参见什么是系统对象?

创建

描述

dfecdr=并行转换器。DFECDR返回一个DFECDR对象,该对象用DFE修改输入波形并确定时钟采样时间。系统对象根据Bang-Bang CDR算法估计数据符号。

dfecdr=并行转换器。DFECDR (的名字价值使用一个或多个名称-值对设置属性。将每个属性名用引号括起来。未指定的属性具有默认值。

例子:dfecdr = serdes.DFECDR(“模式”,1)返回一个DFECDR对象,该对象将指定的DFE tap权重应用于输入波形。

属性

全部展开

除非另有说明,属性是nontunable,这意味着您不能在调用对象之后更改它们的值。对象在调用时锁定,而释放函数将解锁它们。

如果一个属性是可调,您可以随时更改它的值。

有关更改属性值的更多信息,请参见在MATLAB中使用系统对象进行系统设计

教育部属性

DFE工作模式,指定为012模式确定应用于输入波形的DFE抽头权重值。

模式的价值 DFE模式 DFE操作
0 serdes.DFECDR,输入波形保持不变。
1 固定 serdes.DFECDR应用中指定的输入DFE抽头权重TapWeights到输入波形。
2 适应 Init子系统调用serdes.DFECDR这个serdes.DFECDR查找最佳眼睛高度张开度的最佳DFE抽头值,以进行统计分析。在时域模拟期间,DFECDR使用自适应值作为起点,并将其应用于输入波形。有关初始子系统的更多信息,请参阅SerDes系统中的统计分析

数据类型:

初始DFE抽头权重,以伏特为单位指定为行向量。向量长度指定抽头数。每个向量元素值指定该元素位置的抽头强度。将向量元素值设置为零仅初始化抽头。

数据类型:

按实标量或实值行向量(单位为伏特)指定的调整分接的最小值。指定为一个标量,以应用于所有的DFE点或作为一个向量,具有相同的长度TapWeights

数据类型:

自适应抽头的最大值,以伏特为单位指定为非负实数标量或非负实数行向量。指定为应用于所有DFE抽头的标量或与DFE抽头长度相同的向量TapWeights

数据类型:

控制DFE抽头权重更新率,指定为无单位非负实标量。增加均衡增益导致了DFE自适应更快的收敛,但牺牲了更多的DFE抽头值的噪声。

数据类型:

DFE自适应步长分辨率,指定为非负实标量或非负实值行向量,单位为伏特。指定为一个标量,以应用于所有的DFE点或作为一个向量,具有相同的长度TapWeights

EqualizationStep为模拟硬件限制,指定从一个时间步骤到下一个时间步骤的最小DFE抽头更改。设置EqualizationStep归零产生DFE抽头值,无任何分辨率限制。

数据类型:

选择将DFE轻击权重乘以2。

中切片器的输出serdes.DFECDR来自SerDes工具箱™的系统对象是[-0.5 0.5]。但一些工业应用要求切片机输出为[-1 1]。Taps2x允许您快速加倍DFE点击权重,以更改切片器引用。

CDR属性

触发阶段更新的早期或晚期CDR计数阈值,指定为大于4的无单位实正整数。增值以牺牲收敛速度为代价提供更稳定的输出时钟相位。因为比特决策是在时钟相位输出处做出的,所以更稳定的时钟相位具有更好的误比特率(BER)。

还控制CDR的带宽,CDR的带宽近似用公式计算:

带宽 1 符号时间 · 早/晚阈值计数 · 一步

数据类型:

时钟相位分辨率,指定为符号时间分数中的实标量。ClockStep是CDR相位调整数的倒数。

数据类型:

时钟相位偏移,指定为范围内的实标量[−0.5,0.5]符号时间的分数。PhaseOffset用于手动移位时钟概率分布函数(PDF),以获得更好的误码率。

数据类型:

参考时钟偏移损害,指定为ppm范围内的实标量[−300,300]。参考偏移是发射机振荡器频率和接收机振荡器频率之间的偏差。

数据类型:

采样锁存器亚稳态电压,指定为实际标量,单位为伏(V)体贴),则有50%的机率发生位错。

数据类型:

高级性能

单个符号持续时间的时间,以秒为单位指定为实标量。

数据类型:

波形的均匀时间步长,指定为以秒为单位的实标量。

数据类型:

调制方案,指定为23.4

调制值 调制方案
2 不归零(NRZ)
3. 三电平脉冲幅度调制(PAM3)
4 四电平脉冲振幅调制(PAM4)

请注意

IBIS不支持PAM3调制方万博1manbetx案。因此,如果调制方案为PAM3,则无法导出到IBIS-AMI模型。

数据类型:

输入波形:

  • “样本”-逐个采样的输入信号。

  • “冲动”-脉冲响应输入信号。

数据类型:烧焦

用法

描述

y=dfecdr(x

输入参数

全部展开

输入基带信号。如果波型设置为“样本”,则输入信号是指定为标量的逐采样信号。如果波型设置为“冲动”时,输入信号为脉冲响应矢量信号。

输出参数

全部展开

估计信道输出。如果输入信号是指定为标量的逐采样信号,则输出也是标量。如果输入信号是脉冲响应矢量信号,则输出也是矢量。

估计的DFE抽头权重值,作为向量返回。

相对恢复的时钟相位,在[0,1]范围内以SymbolTime为单位返回。

AMI时钟总线,作为结构返回,包括:

  • 时钟时间-采集数据信号所用的时间。

  • clockValidOnRising—信号上升沿上的有效时钟时间值

包含附加内部CDR信号的总线,作为结构返回,包括:

  • 时钟相位-范围为[0,1]的以符号时间为单位的相对时钟相位。

  • symbolRecovered -在ClockTime从数据信号中恢复的符号。

  • voltageSample—在时钟时间从数据信号观察到的电压。

  • PAM4Threshold -在PAM4阈值处估计的上眼。

  • CDRedgeVoltage -从ClockTime - SymbolTime/2的数据信号中观察到的电压。

  • CDR计数器-用于触发样本的bang-bang CDR内部计数器。

  • cdrearlylateccounter -砰砰的CDR累积(或过滤)信号,用来触发更新到CDR相位。

  • pam4symbolmiddlevvoltage -估计的内眼外包膜PAM4符号电压,以估计PAM4阈值。

  • PAM4OuterVoltage -估计的PAM4外包络电压,以估计PAM4阈值。

  • eyehightabsave -估计眼睛高度。

对象的功能

要使用对象函数,请指定System对象作为第一个输入参数。例如,释放名为system的对象的系统资源obj,请使用以下语法:

发行版(obj)

全部展开

一步 系统对象算法
释放 释放资源并允许更改系统对象属性值和输入特征
重置 重置的内部状态系统对象

例子

全部折叠

此示例显示了如何使用serdes.DFECDR系统对象™.

使用符号表示时间100附:有16样品每个符号。的频道14dB的损失。

SymbolTime=100e-12;SamplesPersSYMBOL=16;dbloss=14;NumberOfDFETaps=2;

计算样本间隔。

dt = SymbolTime / SamplesPerSymbol;

创建DFECDR对象。对象自适应地将最佳DFE抽头权重应用于输入脉冲响应。

DFE1=serdes.DFECDR(“SymbolTime”,SymbolTime,“SampleInterval”,dt,...“模式”,2,“波型”“冲动”“TapWeights”,零(NumberOfDFETaps,1));

创建通道脉冲响应。

信道=serdes.ChannelLoss(“损失”,dbloss,“dt”,dt,...“TargetFrequency”1 / SymbolTime / 2);impulseIn = channel.impulse;

用DFE处理脉冲响应。

[impulseOut, TapWeights] = DFE1 (impulseIn);

将脉冲响应转换为脉冲、波形和可视化的眼图。

ord=6;dataPattern=prbs(ord,2^ord-1)-0.5;pulseIn=Pulse2Pulse(pulseIn,SamplesPerSymbol,dt);waveIn=pulse2wave(pulseIn,dataPattern,SamplesPerSymbol);eyeIn=Reformate(waveIn,SamplesPerSymbol,[]);pulseOut=Pulse2Pulse2PulsePulseOut(pulseOut,SamplesPerSymbol,dt);waveOut=Pulse2Walse2Walse2WaveOut(pulseOut,dataPattern,SamplesPerSymbol,Samples(waveOut,SamplesPerSymbol,[]);

创建时间向量。

t = dt *(0:长度(pulseOut) 1) / SymbolTime;teye = t (1: SamplesPerSymbol);t2 = dt *(0:长度(waveOut) 1) / SymbolTime;

绘制结果波形。

图形图(t、pulseIn、t、pulseOut)图例(“输入”“输出”)标题(“脉冲响应比较”)xlabel(“SymbolTimes”), ylabel (“电压”网格)在…上轴([41 55 -0.1 0.4])

图中包含一个轴。标题为脉冲响应比较的轴包含2个line类型的对象。这些对象表示输入、输出。

图形图(t2、waveIn、t2、waveOut)图例(“输入”“输出”)标题(的波形比较)xlabel(“SymbolTimes”), ylabel (“电压”网格)在…上

图中包含一个坐标轴。标题为“波形比较”的轴包含两个类型为line的对象。这些对象表示输入、输出。

图次要情节(211),情节(teye eyeIn,“b”)xlabel(“SymbolTimes”), ylabel (“电压”网格)在…上标题(“输入眼图”)次要情节(212)、情节(teye eyeOut,“b”)xlabel(“SymbolTimes”), ylabel (“电压”网格)在…上标题(“输出眼图”

图中包含2个轴。带有标题的轴1包含63个line类型的对象。标题为“输出眼图”的轴包含63个line类型的对象。

这个例子展示了如何处理脉冲响应的一个通道一次一个样本使用serdes.DFECDR系统对象™.

使用符号表示时间100ps,8样品每个符号。信道损失为14dB。选择12-四阶伪随机二进制序列(PRBS),并模拟第一个20000符号。

SymbolTime = 100 e-12;SamplesPerSymbol = 8;dbloss = 14;NumberOfDFETaps = 2;prbsOrder = 12;M = 20000;

计算样本间隔。

dt = SymbolTime / SamplesPerSymbol;

创建DFECDR系统对象。通过将输入波形设置为“样本”类型。该对象自适应地将最佳DFE抽头权值应用于输入波形。

DFE2 =并行转换器。DFECDR (“SymbolTime”,SymbolTime,“SampleInterval”,dt,...“模式”,2,“波型”“样本”“TapWeights”0 (NumberOfDFETaps 1),...“EqualizationStep”0,“均衡增益”1 e - 3);

创建通道脉冲响应。

信道=serdes.ChannelLoss(“损失”,dbloss,“dt”,dt,...“TargetFrequency”1 / SymbolTime / 2);

创建眼睛图。

eyediagram = comm.EyeDiagram (“SampleRate”,1/dt,“SamplesPerSymbol”,SamplesPerSymbol,...“YLimits”,[-0.5 0.5]);
警告:comm.EyeDiagram将在将来的版本中删除。请改用EyeDiagram。

初始化PRBS生成器。

[dataBit, prbsSeed] = prbs (prbsOrder, 1);

通过示例眼图生成示例。

%一次循环一个符号。inwave = 0 (SamplesPerSymbol, 1);outwave = 0 (SamplesPerSymbol, 1);dfeTapWeightHistory =南(M, NumberOfDFETaps);ii=1:M%获得新的符号[dataBit, prbsSeed] =伪随机位序列(prbsOrder 1 prbsSeed);inwave (1: SamplesPerSymbol) = databit - 0.5;%带通道的卷积输入波形y=通道(inwave);%通过DFE一次处理一个样本jj=1:SamplesPerSymbol[outwave(jj),TapWeights]=DFE2(y(jj));结束%保存DFE水龙头DfetapWeightThistory(ii,:)=出铁重量;%画出眼图eyediagram (outwave)结束

图眼图包含2个轴和其他类型的uiflowcontainer, uimenu, uitoolbar对象。Axes 1包含一个类型为line的对象。Axes 2是空的。

绘制DFE适应历史。

figure绘图(DFETAPweightThistory)网格在…上传奇(“TapWeights(1)”“TapWeights(2)”)xlabel(“符号”)伊拉贝尔(“电压”)标题(“教育部龙头”

图中包含一个坐标轴。标题为DFE Taps的轴包含2个类型线对象。这些对象表示TapWeights(1), TapWeights(2)。

扩展功能

介绍了R2019a