主要内容

并行转换器。dfecdr.

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

描述

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

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

对于脉冲响应处理,Hula-Hoop算法用于找到时钟采样位置。然后使用零强制算法来确定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对象以输入波形。

属性

全部展开

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

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

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

DFE属性

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

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

数据类型:

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

数据类型:

适应水龙头的最小值,指定为真正的标量或伏特中的实值行向量。指定为标量,以应用于所有DFE抽头或与具有相同长度的向量TapWeights

数据类型:

所调整开关的最大值,指定为非负实标量或以伏为单位的非负实值行向量。指定为标量,以应用于所有DFE抽头或与具有相同长度的向量TapWeights

数据类型:

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

数据类型:

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

均衡指定从一个时间步骤到旁边的MIMIC硬件限制的最小DFE点击更改。环境均衡为零则产生DFE抽头值,没有任何分辨率限制。

数据类型:

选择将DFE抽头重量乘以两倍。

中切片器的输出并行转换器。dfecdr.Serdes Toolbox™中的系统对象是[-0.5 0.5]。但有些行业应用要求切片机输出是[-1 1]。Taps2x允许您快速双倍DFE抽头权重,以更改Sliacer参考。

CDR属性

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

也控制话单的带宽,这是近似计算的方程:

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

数据类型:

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

数据类型:

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

数据类型:

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

数据类型:

采样锁存器亚稳态电压,指定为一个实标量,单位为伏(V)灵敏度),有50%的误码率。

数据类型:

高级属性

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

数据类型:

波形的均匀时间步长,用实标量表示,单位为秒。

数据类型:

调制方案,指定为23.4.

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

笔记

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

数据类型:

输入波形形式:

  • '样本'—一个逐样本的输入信号。

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

数据类型:字符

用法

描述

y= dfecdr (X的)

输入参数

全部展开

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

输出参数

全部展开

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

估计的DFE抽头权重值,以向量形式返回。

相对恢复的时钟阶段,作为范围中的符号间单位返回[0,1]。

AMI时钟总线,作为由以下组成的结构返回:

  • 采样数据信号所花费的时间。

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

包含额外的内部CDR信号的总线,作为一个结构返回,包括:

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

  • symbolRecovered—从时钟时间的数据信号中恢复的符号。

  • 采样-从时钟时间的数据信号观察到的电压。

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

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

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

  • CDRERALATECounter - 累计(或过滤)信号用于触发到CDR阶段的爆炸CDR累积(或过滤)信号。

  • PAM4SymbolmiddleVoltage - 内眼外壳的估计PAM4符号电压估计PAM4阈值。

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

  • 眼睛展开 - 估计眼睛高度。

对象功能

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

释放(obj)

全部展开

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

例子

全部收缩

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

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

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

计算样本间隔。

dt = alymatime / samplespersymbol;

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

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

创建通道脉冲响应。

频道=并行转换器。ChannelLoss (“损失”dbloss,'dt', dt,...“TargetFrequency”,1 /符号时间/ 2);Impulsein = Channel.Impulse;

用DFE处理脉冲响应。

[Impulseout,Tapweights] = DFE1(烟火);

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

奥德= 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])

图包含一个坐标轴对象。具有标题脉冲响应比较的轴对象包含2个类型的类型。这些对象表示输入,输出。

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

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

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

图中包含2个轴对象。带有标题输入眼图的轴线对象1包含63个线型对象。标题为“输出眼图”的轴对象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 = alymatime / samplespersymbol;

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

dfe2 = serdes.dfecdr(“SymbolTime”SymbolTime,'sampleinterval', dt,...'模式'2,“WaveType”'样本'“TapWeights”,零(numberofdfetaps,1),...“EqualizationStep”0,“EqualizationGain”,1E-3);

创建通道脉冲响应。

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

初始化PRBS发生器。

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

生成逐个样本的眼图。

%每次循环一个符号。Insymbol = Zeros(Samplespersymbol,1);Outwave = Zeros(Samplespersymbol * m,1);dfetapweighthistory = nan(m,numberofdfetaps);为了2 = 1: M%获得新的符号[dataBit, prbsSeed] =伪随机位序列(prbsOrder 1 prbsSeed);内部符号(1:SamplesPerSymbol) = databit - 0.5;将输入波形与通道进行卷积y =通道(Insymbol);通过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'的)

图包含一个坐标轴对象。标题为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”);

图包含一个坐标轴对象。轴线对象包含10000个线型对象。

扩展功能

在R2019A引入