serdes.DFECDR

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

描述

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

在DFE修改的基带信号,以尽量减少在时钟采样时间中的符号间干扰(ISI)。由校正电压每个时钟采样时间和调整波形的振幅在DFE样本数据。

对于脉冲响应处理中,呼拉圈算法被用来找到时钟采样位置。然后迫零算法被用于确定所述ñ修正系数必须有没有ISI在ñ随后的采样位置,在那里ñ是DFE抽头的数量。

对于样品逐样本处理时,时钟恢复由第一级相位跟踪模型来实现的。所述开关式相位检测器利用均衡的边缘样品和均衡的数据样本,以确定最佳的采样位置。对于该DFE校正电压ñ个抽头自适应地通过找到一个电压,对于两个数据样本之间的任何相关性补偿隔开发现ñ符号时间。这要求不相关与信道间ISI对正确适应性行为的数据模式。

均衡输入信号:

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

  2. 调用带参数的对象,就好像它是一个功能。

要了解更多有关系统对象的方式工作,请参阅什么是系统对象?(MATLAB)。

创建

描述

dfecdr= serdes.DFECDR返回一个DFECDR对象修改的输入波形与DFE和确定时钟采样时间。系统对象根据继电器式CDR算法估计数据码元。

dfecdr= serdes.DFECDR(名称属性集使用一个或多个名称值对。在引号中每个属性的名称。未指定的属性具有默认值。

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

属性

展开全部

除非另有说明,性质nontunable,这意味着调用对象后,你不能改变它们的值。对象锁,当你打电话给他们,和释放功能解锁他们。

如果属性可调,你可以在任何时候改变它的值。

有关更改属性值的更多信息,请参阅使用系统对象的系统设计在MATLAB(MATLAB)。

DFE属性

DFE操作模式,指定为01, 要么2模式确定什么DFE抽头加权值应用到输入波形。

模式的价值 DFE模式 DFE操作
0 serdes.DFECDR被旁路,输入波形保持不变。
1 固定 serdes.DFECDR适用于指定的输入DFE抽头加权TapWeights输入波形。
2 适应 初始化子系统调用的serdes.DFECDR。该serdes.DFECDR找到最好的眼睛高度开放进行统计分析的最佳DFE抽头值。在时域仿真,DFECDR使用适应值作为出发点,并将它们应用于输入波形。有关初始化子系统的详细信息,请参阅统计分析系统的SerDes

数据类型:

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

数据类型:

适配抽头的最小值,指定为实数标量或伏的实值行向量。指定作为标量应用到所有的DFE抽头或作为具有相同的长度的矢量TapWeights

数据类型:

适配抽头的最大值,指定为一个非负实数标量或伏的非负实数值行向量。指定作为标量应用到所有的DFE抽头或作为具有相同的长度的矢量TapWeights

数据类型:

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

数据类型:

DFE自适应步分辨率,指定为一个非负实数标量或伏的非负实数值行向量。指定作为标量应用到所有的DFE抽头或作为具有相同的长度的矢量TapWeights

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

数据类型:

CDR属性

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

计数还控制大致通过使用等式计算出的CDR的带宽:

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

数据类型:

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

数据类型:

时钟相位偏移,指定为在一个范围内实数标量[-0.5,0.5],以码元时间分数。PhaseOffset用于更好的BER来手动移位时钟概率分布函数(PDF)。

数据类型:

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

数据类型:

采样锁存亚稳态电压,以伏特(V)指定为一个实数标量。如果区域内的数据样本电压谎言(±灵敏度),有位错误的概率为50%。

数据类型:

高级属性

单个符号的持续时间的时间,以秒(多个)指定为一个实数标量。

数据类型:

波形的统一时间步骤,指定为秒(s)一个实数标量。

数据类型:

调制方案,指定为2要么4

调制值 调制方案
2 非归零(NRZ)
4 四电平脉冲幅度调制(PAM4)

数据类型:

输入波型形式:

  • '样品'- 样品逐样本的输入信号。

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

数据类型:烧焦

用法

描述

ÿ= dfecdr(X

输入参数

展开全部

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

输出参数

展开全部

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

对象函数

使用对象函数,指定系统对象作为第一个输入参数。例如,为了释放一个名为System对象的系统资源OBJ,使用此语法:

释放(OBJ)

展开全部

系统对象算法
释放 释放资源,并允许更改系统对象属性值和输入特性
重启 复位的内部状态系统对象

例子

全部收缩

该示例示出了如何使用来处理的信道的脉冲响应serdes.DFECDR系统对象™。

使用的符号时间100PS。有16每个符号的样本。该信道具有14分贝的损失。

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

计算样本间隔。

DT = SymbolTime / SamplesPerSymbol;

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

DFE1 = serdes.DFECDR('SymbolTime',SymbolTime,'SampleInterval',DT,...'模式',2,'WaveType''冲动''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 = 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;特= T(1:SamplesPerSymbol);T2 = DT *(0:长度(waveout的)-1)/ SymbolTime;

剧情所产生的波形。

图图(吨,pulseIn,T,PULSEOUT)图例(“输入”“输出”)标题(“脉冲响应比较”)xlabel('SymbolTimes'),ylabel('电压')网格轴([41 55 -0.1 0.4])

图图(T2,waveIn,T2,waveout的)传说(“输入”“输出”)标题(“波形比较”)xlabel('SymbolTimes'),ylabel('电压')网格

图副区(211),图(特,eyeIn,'B')xlabel('SymbolTimes'),ylabel('电压')网格标题(“输入眼图”)副区(212),图(特,eyeOut,'B')xlabel('SymbolTimes'),ylabel('电压')网格标题(“输出眼图”

该示例示出了如何使用一次处理一个信道的一个样本的脉冲响应serdes.DFECDR系统对象™。

使用的符号时间100PS,用8每个符号的样本。的信道损耗是14D b。选择12第为了伪随机二进制序列(PRBS),和模拟第一20000符号。

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

计算样本间隔。

DT = SymbolTime / SamplesPerSymbol;

创建DFECDR系统对象。由输入波形设定为一次处理的信道的一个样本'样品'类型。对象自适应施加最佳DFE抽头加权输入波形。

DFE2 = serdes.DFECDR('SymbolTime',SymbolTime,'SampleInterval',DT,...'模式',2,'WaveType''样品''TapWeights',零(NumberOfDFETaps,1),...'EqualizationStep',0,'EqualizationGain',1E-3);

创建信道脉冲响应。

信道= serdes.ChannelLoss('失利',dbloss,'DT',DT,...'TargetFrequency',1 / SymbolTime / 2);

创建眼图。

eyediagram = comm.EyeDiagram('采样率',1 / dt的,'SamplesPerSymbol',SamplesPerSymbol,...'YLimits',[ -  0.5 0.5]);

初始化PRBS发生器。

[数据位,prbsSeed] = PRBS(prbsOrder,1);

生成样本逐样本眼图。

通过一次一个符号%环路。inwave =零(SamplesPerSymbol,1);outwave =零(SamplesPerSymbol,1);dfeTapWeightHistory =楠(M,NumberOfDFETaps);对于II = 1:M%获取新符号[数据位,prbsSeed] = PRBS(prbsOrder,1,prbsSeed);inwave(1:SamplesPerSymbol)=数据位-0.5;用信道%卷积输入波形Y =信道(inwave);在通过DFE一个时间%加工一个样品对于JJ = 1:SamplesPerSymbol [outwave(JJ),TapWeights] = DFE2(Y(JJ));结束%保存DFE抽头dfeTapWeightHistory(II,:) = TapWeights;%剧情眼图eyediagram(outwave)结束

画出DFE适配历史。

图图(dfeTapWeightHistory)网格传说('TapWeights(1)''TapWeights(2)')xlabel(“符号”)ylabel('电压')标题(“DFE水龙头”

扩展功能

介绍了在R2019a