并行转换器。DFECDR
具有时钟和数据恢复(CDR)的决策反馈均衡器(DFE)
描述
的并行转换器。DFECDR
系统对象™自适应地处理一个采样到一个采样的输入信号或分析处理一个脉冲响应矢量输入信号,以消除后光标点击的失真。
DFE修改基带信号以最小化时钟采样时间的码间干扰(ISI)。DFE在每个时钟采样时间采样数据,并通过校正电压调整波形的振幅。
在脉冲响应处理中,采用呼啦圈算法求解时钟采样点。然后用零强迫算法来确定N校正因素必须没有ISI在N后续采样位置,其中N为DFE按键数。
对于逐样处理,采用一阶相位跟踪模型实现时钟恢复。砰砰鉴相器利用非均衡边缘样本和均衡数据样本来确定最佳采样位置。该DFE校正电压为N-th tap通过寻找一个电压来补偿间隔为的两个数据样本之间的任何相关性,从而自适应地找到N象征。这需要一个与信道ISI不相关的数据模式来实现正确的自适应行为。
平衡输入信号:
创建
并行转换器。DFECDR
对象并设置其属性。使用参数调用对象,就像调用函数一样。
有关系统对象如何工作的详细信息,请参见什么是系统对象?
创建
描述
返回一个DFECDR对象,该对象使用DFE修改输入波形并确定时钟采样时间。系统对象根据Bang-Bang CDR算法估计数据符号。dfecdr
=并行转换器。DFECDR
使用一个或多个名称-值对设置属性。将每个属性名用引号括起来。未指定的属性有默认值。dfecdr
=并行转换器。DFECDR (的名字
,价值
)
例子:dfecdr = serdes.DFECDR('Mode',1)
返回一个DFECDR对象,该对象将指定的DFE轻敲权重应用于输入波形。
属性
除非另有说明,属性为nontunable,这意味着在调用对象后不能更改它们的值。对象在调用时锁定,而释放
功能解锁它们。
如果属性为可调,您可以随时更改其值。
有关更改属性值的详细信息,请参见使用系统对象的MATLAB系统设计。
教育部属性
模式
- - - - - -DFE工作模式
2
(默认)|0
|1
DFE工作模式,指定为0
,1
,或2
。模式
决定什么DFE轻敲权重值应用于输入波形。
模式的价值 | 教育部模式 | 教育部操作 |
---|---|---|
0 |
从 | 并行转换器。DFECDR 被绕过,输入波形保持不变。 |
1 |
固定 | 并行转换器。DFECDR 中指定的输入DFE抽头权重TapWeights 输入波形。 |
2 |
适应 | Init子系统调用并行转换器。DFECDR 。的并行转换器。DFECDR 找出最佳眼高开度的最佳DFE开度值进行统计分析。在时域仿真时,DFECDR将调整后的值作为起始点,应用于输入波形。有关Init子系统的更多信息,请参见SerDes系统中的统计分析 |
数据类型:双
TapWeights
- - - - - -初始DFE丝锥权重
[0 0 0 0]
(默认)|行向量
初始DFE抽头权重,指定为以伏特为单位的行矢量。向量的长度指定了敲击的次数。每个向量元素值都指定了该元素位置的敲击强度。将vector元素值设置为0只会初始化tap。
数据类型:双
MinimumTap
- - - - - -适应丝锥的最小值
-1
(默认)|真正的标量|实值行向量
调整抽头的最小值,指定为实标量或以伏特为单位的实值行向量。指定为标量以应用于所有DFE点,或指定为与TapWeights
。
数据类型:双
MaximumTap
- - - - - -适配丝锥的最大值
1
(默认)|非负实标量|非负实值行向量
调整抽头的最大值,指定为非负实标量或以伏特为单位的非负实值行向量。指定为标量以应用于所有DFE点,或指定为与TapWeights
。
数据类型:双
EqualizationGain
- - - - - -控制DFE抽头重量更新速率
9.6 e-5
(默认)|正实标量
控制DFE抽头权重更新速率,指定为无单位非负实标量。增加价值EqualizationGain
导致DFE适应的更快收敛,代价是DFE抽头值中有更多的噪声。
数据类型:双
EqualizationStep
- - - - - -DFE自适应步长分辨率
1 e-6
(默认)|非负实标量|非负实值行向量
DFE自适应阶跃分辨率,指定为非负实标量或以伏特为单位的非负实值行向量。指定为标量以应用于所有DFE点,或指定为与TapWeights
。
EqualizationStep
指定模拟硬件限制时,从一个时间步骤到下一个时间步骤的最小DFE抽头变化。设置EqualizationStep
到零产生DFE抽头值,没有任何分辨率限制。
数据类型:双
Taps2x
- - - - - -将DFE抽头权重乘以2
假(默认)|真正的
选择将DFE抽头权重乘以2。
切片器的输出并行转换器。DFECDR
SerDes Toolbox™中的系统对象为[-0.5 0.5]。但一些工业应用要求切片机输出为[-1 1]。Taps2x
允许您快速加倍DFE水龙头权重,以改变切片机参考。
CDR属性
数
- - - - - -早、晚话单计数触发相位更新的阈值
16
(默认)|大于4的正整数
触发阶段更新的早、晚话单计数阈值,指定为大于4的无单位正整数。增加价值数
以收敛速度为代价提供更稳定的输出时钟相位。由于比特决策是在时钟相位输出时做出的,所以更稳定的时钟相位具有更好的误码率(BER)。
数
还控制话单的带宽,其近似计算公式为:
数据类型:双
ClockStep
- - - - - -时钟相位分辨率
0.0078
(默认)|真正的标量
时钟相位分辨率,指定为符号时间分数中的实标量。ClockStep
为CDR中相位调整数的倒数。
数据类型:双
PhaseOffset
- - - - - -时钟相位偏移
0
(默认)|[−0.5,0.5]范围内的实标量
时钟相位偏移,指定为符号时间分数[- 0.5,0.5]范围内的实标量。PhaseOffset
用于手动移动时钟概率分布函数(PDF),以获得更好的误码率。
数据类型:双
ReferenceOffset
- - - - - -参考时钟偏移减值
0
(默认)|[−300,300]范围内的实标量
参考时钟偏置减值,指定为范围[- 300,300]的真实标量,单位为百万分之一(ppm)。ReferenceOffset
是发射机振荡器频率与接收机振荡器频率之间的偏差。
数据类型:双
灵敏度
- - - - - -采样锁存器亚稳态电压
0
(默认)|真正的标量
采样锁存器亚稳态电压,以伏特(V)为单位的实标量。如果数据采样电压位于(±灵敏度
),则有50%的误码概率。
数据类型:双
高级属性
SymbolTime
- - - - - -单个符号持续时间
1平台以及
(默认)|真正的标量
单个符号持续时间的时间,指定为以秒为单位的实标量。
数据类型:双
SampleInterval
- - - - - -波形的均匀时间步长
6.25 e-12
(默认)|真正的标量
波形的均匀时间步长,以秒(s)为单位指定为实标量。
数据类型:双
调制
- - - - - -调制方案
2
(默认)|3.
|4
调制方案,指定为2
,3.
或4
。
调制的价值 | 调制方案 |
---|---|
2 |
不归零(NRZ) |
3. |
三电平脉冲振幅调制(PAM3) |
4 |
四电平脉冲振幅调制(PAM4) |
请注意
IBIS不支持PAM3调制方金宝app案。因此,如果调制方案为PAM3,则无法导出到IBIS-AMI模型。
数据类型:双
WaveType
- - - - - -输入波形形式
“样本”
(默认)|“冲动”
输入波形类型形式:
“样本”
-一个采样的输入信号。“冲动”
-脉冲响应输入信号。
数据类型:字符
使用
输入参数
x
- - - - - -输入基带信号
标量|向量
输入基带信号。如果WaveType
设置为“样本”
,则输入信号是一个指定为标量的逐采样信号。如果WaveType
设置为“冲动”
,输入信号为脉冲响应矢量信号。
输出参数
y
-估计通道输出
标量|向量
估计通道输出。如果输入信号是一个被指定为标量的抽样信号,那么输出也是标量。如果输入信号是一个脉冲响应矢量信号,输出也是一个矢量。
TapWeights
-估计的DFE抽头重量值
向量
估计的DFE轻敲权重值,作为矢量返回。
阶段
—相对恢复的时钟相位
SymbolTime在[0,1]范围内的单位
相对恢复的时钟相位,作为SymbolTime在范围[0,1]内的单位返回。
clkAMI
- AMI时钟总线
结构
AMI时钟总线,返回的结构包括:
ClockTime -采样数据信号的时间。
clockValidOnRising -信号上升沿上的有效时钟时间值
室内
-包含额外内部CDR信号的总线
结构
包含额外内部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处理脉冲响应
这个例子展示了如何处理一个信道的脉冲响应并行转换器。DFECDR
系统对象™。
使用时间的符号One hundred.
ps.有16
每个符号的样本。渠道有14
dB的损失。
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])
图(t2,waveIn,t2,waveOut)“输入”,“输出”)标题(的波形比较)包含(“SymbolTimes”), ylabel (“电压”网格)在
图次要情节(211),情节(teye eyeIn,“b”)包含(“SymbolTimes”), ylabel (“电压”网格)在标题(“输入眼图”)次要情节(212)、情节(teye eyeOut,“b”)包含(“SymbolTimes”), ylabel (“电压”网格)在标题(“输出眼图”)
使用DFECDR逐样本处理
这个例子展示了如何处理一个通道的脉冲响应在一个采样时间使用并行转换器。DFECDR
系统对象™。
使用时间的符号One hundred.
ps,8
每个符号的样本。信道损耗为14
dB。选择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的适应在第一次之后大致完成10000
符号,所以这些可以从数组中截断。然后通过对符号数组应用重塑函数绘制眼睛图。
foldedEye =重塑(outave (10000*SamplesPerSymbol+1:M*SamplesPerSymbol),SamplesPerSymbol,[]);t = dt*(0:SamplesPerSymbol-1);人物,情节(t, foldedEye“b”);
扩展功能
C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。
使用注意事项和限制:
MAC中不支持IBIS-AMI代码原。金宝app
版本历史
在R2019a中引入
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。