主要内容

并行转换器。DFECDR

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

描述

并行转换器。DFECDR系统对象™自适应处理逐样本输入信号或分析处理脉冲响应矢量输入信号,以消除光标点击后的畸变。

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

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

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

均衡输入信号:

  1. 创建并行转换器。DFECDR对象,并设置其属性。

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

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

创建

描述

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

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

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

属性

全部展开

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

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

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

教育部属性

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

模式的价值 教育部模式 教育部操作
0 并行转换器。DFECDR,输入波形保持不变。
1 固定 并行转换器。DFECDR应用中指定的输入DFE抽头权重TapWeights到输入波形。
2 适应 的Init子系统调用并行转换器。DFECDR.的并行转换器。DFECDR为统计分析找到最佳眼高开启的最佳DFE tap值。在时域仿真过程中,dfdr使用自适应值作为起始点,并将其应用于输入波形。有关Init子系统的更多信息,请参见SerDes系统中的统计分析

数据类型:

初始DFE抽头权重,指定为行向量,单位为伏特。向量的长度指定点击的次数。每个向量元素值指定在该元素位置的点击强度。将vector元素的值设置为0只初始化点击。

数据类型:

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

数据类型:

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

数据类型:

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

数据类型:

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

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

数据类型:

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

切片机的输出在并行转换器。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]。ReferenceOffset为发射机振荡器频率与接收机振荡器频率之间的偏差。

数据类型:

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

数据类型:

高级属性

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

数据类型:

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

数据类型:

调制方案,指定为23.4

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

请注意

IBIS不支持PAM3调制方金宝app式。因此,如果调制方案是PAM3,则不能导出到IBIS-AMI模型。

数据类型:

输入波形形式:

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

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

数据类型:字符

使用

描述

y= dfecdr (x

输入参数

全部展开

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

输出参数

全部展开

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

估计的DFE tap权重值,返回为矢量。

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

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

  • ClockTime -采样数据信号的时间。

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

包含额外的内部CDR信号的总线,作为结构返回,由以下组成:

  • clockPhase -相对时钟相位,以SymbolTime为单位,在[0,1]范围内。

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

  • voltagsample -在ClockTime从数据信号中观察到的电压。

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

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

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

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

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

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

  • eyehightabsave -估计眼睛高度。

对象的功能

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

发行版(obj)

全部展开

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

例子

全部折叠

这个例子展示了如何处理脉冲响应的信道使用并行转换器。DFECDR系统对象™。

使用符号表示时间One hundred.ps。16样品每个符号。的频道14dB的损失。

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

计算样本间隔。

dt = SymbolTime / SamplesPerSymbol;

创建dfdr对象。该对象自适应地将最优DFE抽头权值应用于输入脉冲响应。

DFE1 =并行转换器。DFECDR (“SymbolTime”SymbolTime,“SampleInterval”, dt,...“模式”2,“WaveType”“冲动”“TapWeights”0 (NumberOfDFETaps 1));

创建通道脉冲响应。

频道=并行转换器。ChannelLoss (“损失”dbloss,“dt”, dt,...“TargetFrequency”1 / SymbolTime / 2);impulseIn = channel.impulse;

用DFE处理脉冲响应。

[impulseOut, TapWeights] = DFE1 (impulseIn);

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

奥德= 6;dataPattern =伪随机位序列(奥德2 ^ ord-1) -0.5;pulseIn = impulse2pulse (impulseIn SamplesPerSymbol, dt);waveIn = pulse2wave (pulseIn dataPattern SamplesPerSymbol);eyeIn =重塑(waveIn SamplesPerSymbol, []);pulseOut = impulse2pulse (impulseOut SamplesPerSymbol, dt);waveOut = pulse2wave (pulseOut dataPattern SamplesPerSymbol);eyeOut =重塑(waveOut SamplesPerSymbol, []);

创建时间向量。

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

绘制产生的波形。

图绘制(t, pulseIn t pulseOut)传说(“输入”“输出”)标题(脉冲响应的比较)包含(“SymbolTimes”), ylabel (“电压”网格)轴([41 55 -0.1 0.4])

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

图绘制(t2, waveIn, t2, waveOut)传说(“输入”“输出”)标题(的波形比较)包含(“SymbolTimes”), ylabel (“电压”网格)

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

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

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

这个例子展示了如何处理脉冲响应的一个通道一次一个样本使用并行转换器。DFECDR系统对象™。

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

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

计算样本间隔。

dt = SymbolTime / SamplesPerSymbol;

创建dfdr System对象。通过设置输入波形,一次处理一个采样的通道“样本”类型。该对象自适应地将最佳DFE抽头权值应用于输入波形。

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

创建通道脉冲响应。

频道=并行转换器。ChannelLoss (“损失”dbloss,“dt”, dt,...“TargetFrequency”1 / SymbolTime / 2);

初始化PRBS生成器。

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

生成逐样本眼图。

一次循环一个符号。内部符号= 0 (SamplesPerSymbol, 1);outWave = 0 (SamplesPerSymbol * M, 1);dfeTapWeightHistory =南(M, NumberOfDFETaps);2 = 1: M%获得新的符号[dataBit, prbsSeed] =伪随机位序列(prbsOrder 1 prbsSeed);内部符号(1:SamplesPerSymbol) = databit - 0.5;输入波形与通道进行卷积y =通道(内部符号);%通过DFE一次处理一个样本jj = 1:SamplesPerSymbol [outWave((ii-1)*SamplesPerSymbol+jj),TapWeights] = DFE2(y(jj));结束%保存DFE水龙头dfeTapWeightHistory (ii):) = TapWeights;结束

绘制DFE适应史。

网格图绘制(dfeTapWeightHistory)传奇(“TapWeights(1)”“TapWeights(2)”)包含(“符号”) ylabel (“电压”)标题(“教育部龙头”

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

从图中可以看出,DFE的适应大约在第一次之后完成10000符号,因此这些可以从数组中截断。然后将重塑函数应用于符号数组,绘制眼图。

foldedEye =重塑(outWave (10000 * SamplesPerSymbol + 1: M * SamplesPerSymbol), SamplesPerSymbol, []);t = dt * (0: SamplesPerSymbol-1);人物,情节(t, foldedEye“b”);

图中包含一个轴对象。axis对象包含10000个line类型的对象。

扩展功能

介绍了R2019a