主要内容

并行转换器。DFECDR

具有时钟和数据恢复(CDR)的决策反馈均衡器(DFE)

描述

并行转换器。DFECDR系统对象™自适应地处理一个采样到一个采样的输入信号或分析处理一个脉冲响应矢量输入信号,以消除后光标点击的失真。

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

在脉冲响应处理中,采用呼啦圈算法求解时钟采样点。然后用零强迫算法来确定N校正因素必须没有ISI在N后续采样位置,其中N为DFE按键数。

对于逐样处理,采用一阶相位跟踪模型实现时钟恢复。砰砰鉴相器利用非均衡边缘样本和均衡数据样本来确定最佳采样位置。该DFE校正电压为N-th tap通过寻找一个电压来补偿间隔为的两个数据样本之间的任何相关性,从而自适应地找到N象征。这需要一个与信道ISI不相关的数据模式来实现正确的自适应行为。

平衡输入信号:

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

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

有关系统对象如何工作的详细信息,请参见什么是系统对象?

创建

描述

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

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

例子:dfecdr = serdes.DFECDR('Mode',1)返回一个DFECDR对象,该对象将指定的DFE轻敲权重应用于输入波形。

属性

全部展开

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

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

有关更改属性值的详细信息,请参见使用系统对象的MATLAB系统设计

教育部属性

DFE工作模式,指定为01,或2模式决定什么DFE轻敲权重值应用于输入波形。

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

数据类型:

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

数据类型:

调整抽头的最小值,指定为实标量或以伏特为单位的实值行向量。指定为标量以应用于所有DFE点,或指定为与TapWeights

数据类型:

调整抽头的最大值,指定为非负实标量或以伏特为单位的非负实值行向量。指定为标量以应用于所有DFE点,或指定为与TapWeights

数据类型:

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

数据类型:

DFE自适应阶跃分辨率,指定为非负实标量或以伏特为单位的非负实值行向量。指定为标量以应用于所有DFE点,或指定为与TapWeights

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

数据类型:

选择将DFE抽头权重乘以2。

切片器的输出并行转换器。DFECDRSerDes Toolbox™中的系统对象为[-0.5 0.5]。但一些工业应用要求切片机输出为[-1 1]。Taps2x允许您快速加倍DFE水龙头权重,以改变切片机参考。

CDR属性

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

还控制话单的带宽,其近似计算公式为:

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

数据类型:

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

数据类型:

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

数据类型:

参考时钟偏置减值,指定为范围[- 300,300]的真实标量,单位为百万分之一(ppm)。ReferenceOffset是发射机振荡器频率与接收机振荡器频率之间的偏差。

数据类型:

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

数据类型:

高级属性

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

数据类型:

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

数据类型:

调制方案,指定为23.4

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

请注意

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

数据类型:

输入波形类型形式:

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

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

数据类型:字符

使用

语法

描述

y= dfecdr (x

输入参数

全部展开

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

输出参数

全部展开

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

估计的DFE轻敲权重值,作为矢量返回。

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

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

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

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

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

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

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

  • voltageSample -从ClockTime的数据信号观察到的电压。

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

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

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

  • CDREarlyLateCounter - bang-bang CDR累积(或过滤)信号,用于触发更新到CDR阶段。

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

  • PAM4OuterVoltage -估计PAM4外包络电压,用于估计PAM4阈值。

  • EyeHeightAbsAve -估计眼睛高度。

对象的功能

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

发行版(obj)

全部展开

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

例子

全部折叠

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

使用时间的符号One hundred.ps.有16每个符号的样本。渠道有14dB的损失。

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

计算样本间隔。

dt = SymbolTime/SamplesPerSymbol;

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

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

创建通道脉冲响应。

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

用DFE处理脉冲响应。

[impulseOut,TapWeights] = DFE1(impulse sein);

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

Ord = 6;dataPattern = prbs(ord,2^ord-1)-0.5;pulseIn = impulse se2pulse(impulse sein,SamplesPerSymbol,dt);waveIn = pulse2wave(pulseIn, datappattern,SamplesPerSymbol);eyeIn =重塑(waveIn,SamplesPerSymbol,[]);pulseOut = impulse2pulse(impulseOut,SamplesPerSymbol,dt);waveOut = pulse2wave(pulseOut, datappattern,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)图例(“输入”“输出”)标题(“脉冲响应比较”)包含(“SymbolTimes”), ylabel (“电压”网格)轴([41 55 -0.1 0.4])

图中包含一个轴对象。标题为Pulse Response Comparison的axes对象包含2个类型为line的对象。这些对象表示输入、输出。

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

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

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

图中包含2个轴对象。标题为Input Eye Diagram的Axes对象1包含63个类型为line的对象。标题为Output Eye Diagram的Axes对象2包含63个类型为line的对象。

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

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

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

计算样本间隔。

dt = SymbolTime/SamplesPerSymbol;

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

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

创建通道脉冲响应。

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

初始化PRBS生成器。

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

生成逐个样本的眼图。

每次循环一个符号。inSymbol = 0 (SamplesPerSymbol,1);outave = 0 (SamplesPerSymbol*M,1);dfetapweighthhistory = nan(M,NumberOfDFETaps);ii = 1:M%获得新符号[dataBit, prbsSeed] =伪随机位序列(prbsOrder 1 prbsSeed);inSymbol(1:SamplesPerSymbol) = dataBit-0.5;%输入波形与通道卷积y = channel(inSymbol);通过DFE一次处理一个样品jj = 1:SamplesPerSymbol [owave ((ii-1)*SamplesPerSymbol+jj),TapWeights] = DFE2(y(jj));结束%节省DFE水龙头dfetapweighthhistory (ii,:) = TapWeights;结束

绘制DFE适应历史。

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

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

您可以从图中观察到,DFE的适应在第一次之后大致完成10000符号,所以这些可以从数组中截断。然后通过对符号数组应用重塑函数绘制眼睛图。

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

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

扩展功能

版本历史

在R2019a中引入