主要内容

并行转换器。DFECDR

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

描述

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

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

对于脉冲响应处理,使用呼拉圈算法查找时钟采样位置。然后使用迫零算法确定时钟采样位置N无ISI时所需的校正系数N后续采样位置,其中N是DFE抽头的数量。

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

要均衡输入信号:

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

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

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

创造

描述

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

dfecdr=serdes.DFECDR(名称,价值)使用一个或多个名称-值对设置属性。将每个属性名称括在引号中。未指定的属性具有默认值。

例子:dfecdr=serdes.dfecdr('模式',1)返回将指定的DFE抽头权重应用于输入波形的DFECDR对象。

性质

全部展开

除非另有说明,否则属性为不能,这意味着您在调用对象后无法更改其值。对象在调用时锁定,并且释放函数打开它们。

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

有关更改特性值的详细信息,请参见基于系统对象的MATLAB系统设计

DFE特性

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

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

数据类型:双重的

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

数据类型:双重的

自适应抽头的最小值,以伏特为单位指定为实标量或实值行向量。指定为要应用于所有DFE抽头的标量,或指定为与DFE抽头长度相同的向量毛重

数据类型:双重的

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

数据类型:双重的

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

数据类型:双重的

DFE自适应步长分辨率,指定为非负实数标量或非负实数行向量(单位:伏特)。指定为应用于所有DFE抽头的标量或与抽头长度相同的向量毛重

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

数据类型:双重的

选择此选项可将DFE抽头权重乘以两倍。

切片机的输出在并行转换器。DFECDRSerDes工具箱中的系统对象™ 是[-0.5 0.5]。但某些行业应用程序要求切片器输出为[-1]。Taps2x允许您快速加倍DFE抽头权重以更改切片器参考。

CDR属性

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

计数还控制CDR的带宽,该带宽可通过以下等式近似计算:

带宽 = 1. 符号时间 · 早/晚阈值计数 ·

数据类型:双重的

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

数据类型:双重的

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

数据类型:双重的

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

数据类型:双重的

采样闩锁亚稳态电压,以伏特(V)为单位指定为实标量。如果数据采样电压位于(±)区域内灵敏度),则有50%的误码概率。

数据类型:双重的

高级属性

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

数据类型:双重的

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

数据类型:双重的

调制方案,指定为2.,3.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-在时钟时间从数据信号恢复的符号。

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

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

  • CDREDGEVOLAGE—在时钟时间从数据信号观察到的电压—SymbolTime/2。

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

  • CDREALLYLECounter—用于触发CDR阶段更新的bang-bang CDR累积(或过滤)信号。

  • PAM4SymbolMiddleVoltage-内眼外包络的估计PAM4符号电压,用于估计PAM4阈值。

  • PAM4OuterVoltage-估计PAM4外壳电压以估计PAM4阈值。

  • 眼高Absave-估计眼高。

目标函数

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

释放(obj)

全部展开

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

例子

全部崩溃

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

使用时间符号One hundred.ps。16每个符号的采样数。通道具有14dB损耗。

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

计算采样间隔。

dt=SymbolTime/SamplesPersSYMBOL;

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

DFE1 =并行转换器。DFECDR (“符号时间”SymbolTime,“采样间隔”, dt,...“模式”2.“WaveType”,“冲动”,“铁锤”0 (NumberOfDFETaps 1));

创建通道脉冲响应。

频道=并行转换器。ChannelLoss (“损失”dbloss,“dt”, dt,...“目标频率”,1/SymbolTime/2);PulseIn=信道脉冲;

用DFE处理脉冲响应。

[PulseOut,TapWeights]=DFE1(PulseIn);

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

奥德= 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:length(pulseOut)-1)/SymbolTime;teye=t(1:SamplesPerSymbol);t2=dt*(0:length(waveOut)-1)/SymbolTime;

绘制产生的波形。

图绘制(t, pulseIn t pulseOut)传说(“输入”,“输出”)头衔(脉冲响应的比较)包含(“符号时间”),伊拉贝尔(“电压”)网格轴([41 55-0.1 0.4])

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

图绘制(t2, waveIn, t2, waveOut)传说(“输入”,“输出”)头衔(“波形比较”)包含(“符号时间”),伊拉贝尔(“电压”)网格

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

图子地块(211)、地块(teye、eyeIn、,“b”)包含(“符号时间”),伊拉贝尔(“电压”)网格头衔(“输入眼图”)子地块(212)、地块(teye、eyeOut、,“b”)包含(“符号时间”),伊拉贝尔(“电压”)网格头衔(“输出眼图”)

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

此示例显示了如何使用并行转换器。DFECDR系统对象™。

使用时间符号One hundred.ps,带8.每个符号采样数。信道损耗为14dB.Select12-th阶伪随机二进制序列(PRBS),并模拟第一阶伪随机二进制序列20000符号。

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

计算采样间隔。

dt=SymbolTime/SamplesPersSYMBOL;

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

DFE2=serdes.DFECDR(“符号时间”SymbolTime,“采样间隔”, dt,...“模式”2.“WaveType”,“样本”,“铁锤”,零(数字标签,1),...“均衡步骤”,0,“EqualizationGain”,1e-3);

创建通道脉冲响应。

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

初始化PRBS生成器。

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

生成逐样本眼图。

一次循环一个符号。inSymbol=零(SamplesPerSymbol,1);outWave=零(SamplesPerSymbol*M,1);DfetapWeightThistory=nan(M,Dfetaps数);对于2 = 1: M%获取新符号[dataBit,prbsSeed]=prbs(prbsOrder,1,prbsSeed);inSymbol(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)传奇(‘重锤(1)’,"重锤(2)")包含(“符号”) ylabel (“电压”)头衔(“DFE水龙头”)

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

从图中可以看出,DFE自适应在第一次调整后大致完成10000符号,因此这些符号可以从数组中截断。然后通过对符号数组应用重塑功能绘制眼图。

折叠眼=重塑(向外(10000*SamplesPerSymbol+1:M*SamplesPerSymbol),SamplesPerSymbol,[]);t=dt*(0:SamplesPerSymbol-1);图形,绘图(t,折叠眼,“b”);

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

扩展能力

在R2019a中引入