并行转换器。DFECDR
具有时钟和数据恢复(CDR)的决策反馈均衡器(DFE)
描述
的并行转换器。DFECDR
系统对象™自适应处理逐样本输入信号或分析处理脉冲响应矢量输入信号,以消除后光标点触处的失真。
DFE修改基带信号以减少时钟采样时的码间干扰(ISI)。DFE在每个时钟采样时间采样数据,并通过校正电压调整波形的振幅。
对于脉冲响应处理,采用呼啦圈算法来寻找时钟采样位置。然后用零强迫算法来确定N校正因子必须无ISIN后续采样位置,其中N为DFE龙头数。
对于逐样本处理,时钟恢复由一阶相位跟踪模型完成。bang-bang鉴相器利用非均衡边缘样本和均衡数据样本来确定最佳采样位置。的DFE校正电压N-th抽头是通过找到一个电压来补偿间隔的两个数据样本之间的任何相关性来自适应地找到的N象征。这需要一个与通道ISI不相关的数据模式来实现正确的自适应行为。
要使输入信号均衡:
创建
并行转换器。DFECDR
对象并设置其属性。调用带有参数的对象,就像调用函数一样。
要了解更多关于System对象如何工作的信息,请参见什么是系统对象?
创建
描述
返回一个DFECDR对象,该对象使用DFE修改输入波形并确定时钟采样时间。系统对象根据Bang-Bang CDR算法估计数据符号。dfecdr
=并行转换器。DFECDR
使用一个或多个名值对设置属性。将每个属性名用引号括起来。未指定的属性有默认值。dfecdr
=并行转换器。DFECDR (的名字
,价值
)
例子:dfecdr = serdes.DFECDR(“模式”,1)
返回一个DFECDR对象,该对象应用指定的DFE轻按权重到输入波形。
属性
除非另有说明,属性为nontunable,这意味着在调用对象后不能更改它们的值。对象在调用时锁定,而释放
函数打开它们。
如果属性是可调,您可以随时更改其值。
有关更改属性值的更多信息,请参见在MATLAB中使用系统对象设计系统.
教育部属性
模式
- - - - - -教育部操作模式
2
(默认)|0
|1
DFE工作模式,指定为0
,1
,或2
.模式
决定什么DFE轻接权重值应用到输入波形。
模式的价值 | 教育部模式 | 教育部操作 |
---|---|---|
0 |
从 | 并行转换器。DFECDR 被绕过,输入波形保持不变。 |
1 |
固定 | 并行转换器。DFECDR 中指定的输入DFE抽头权重TapWeights 输入波形。 |
2 |
适应 | 的Init子系统调用并行转换器。DFECDR .的并行转换器。DFECDR 找出最佳眼高开度的最佳DFE tap值,用于统计分析。在时域仿真中,DFECDR使用自适应值作为起点,并将其应用于输入波形。有关Init子系统的更多信息,请参见SerDes系统的统计分析 |
数据类型:双
TapWeights
- - - - - -初始DFE丝锥重量
[0 0 0 0]
(默认)|行向量
初始DFE抽头权重,指定为以伏特为单位的行向量。向量的长度指定了点击的次数。每个向量元素值都指定了该元素位置上的抽头强度。将vector元素值设置为零只会初始化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抽头权重乘以两倍。
中的切片器的输出并行转换器。DFECDR
来自SerDes Toolbox™的系统对象是[-0.5 0.5]。但有些工业应用要求切片机输出为[-1 1]。Taps2x
允许您快速翻倍DFE丝锥权重,以更改切片机参考。
CDR属性
数
- - - - - -早或晚话单计数阈值触发相位更新
16
(默认)|大于4的实正整数
触发阶段更新的CDR计数早或晚阈值,指定为大于4的无单位实正整数。增加的价值数
以收敛速度为代价提供更稳定的输出时钟相位。由于位决策是在时钟相位输出时做出的,所以更稳定的时钟相位具有更好的误码率(BER)。
数
还可以控制CDR的带宽,其近似计算公式为:
数据类型:双
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平台以及
(默认)|真正的标量
单个符号持续时间的时间,指定为以秒(s)为单位的实标量。
数据类型:双
SampleInterval
- - - - - -波形的均匀时间步长
6.25 e-12
(默认)|真正的标量
波形的均匀时间步长,指定为以秒(s)为单位的实标量。
数据类型:双
调制
- - - - - -调制方案
2
(默认)|3.
|4
调制方案,指定为2
,3.
或4
.
调制的价值 | 调制方案 |
---|---|
2 |
不归零(NRZ) |
3. |
三电平脉冲幅度调制(PAM3) |
4 |
四电平脉冲幅度调制(PAM4) |
请注意
IBIS不支持PAM3调制方案。因此,如果调制方案是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 -从时钟时间的数据信号中恢复的符号。
voltageSample -从时钟时间的数据信号观察到的电压。
PAM4阈值-估计上眼PAM4阈值。
CDRedgeVoltage -从ClockTime - SymbolTime/2的数据信号观察到的电压。
CDRCounter - bang-bang CDR内部计数器,用于触发样本。
CDREarlyLateCounter - bang-bang CDR累积(或过滤)信号,用于触发更新到CDR相位。
PAM4SymbolMiddleVoltage -内眼外包络的PAM4符号电压,以估计PAM4阈值。
PAM4OuterVoltage—估计PAM4外部包络电压,以估计PAM4阈值。
EyeHeightAbsAve -估计眼睛高度。
对象的功能
要使用对象函数,请将System对象指定为第一个输入参数。例如,释放名为obj
,使用以下语法:
发行版(obj)
例子
利用DFECDR处理脉冲响应
这个例子展示了如何处理信道的脉冲响应并行转换器。DFECDR
系统对象™。
用时间的符号One hundred.
ps。16
样品每个符号。的频道14
dB的损失。
SymbolTime = 100 e-12;SamplesPerSymbol = 16;dbloss = 14;NumberOfDFETaps = 2;
计算样本区间。
dt = SymbolTime / SamplesPerSymbol;
创建DFECDR对象。该对象自适应地对输入脉冲响应应用最优的DFE抽头权值。
DFE1 =并行转换器。DFECDR (“SymbolTime”SymbolTime,“SampleInterval”, dt,...“模式”2,“WaveType”,“冲动”,“TapWeights”0 (NumberOfDFETaps 1));
创建通道脉冲响应。
频道=并行转换器。ChannelLoss (“损失”dbloss,“dt”, dt,...“TargetFrequency”1 / SymbolTime / 2);impulseIn = channel.impulse;
用DFE处理脉冲响应。
[impulseOut, TapWeights] = DFE1 (impulseIn);
将脉冲响应转换为脉冲、波形和可视化的眼图。
奥德= 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])
图绘制(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
-th阶伪随机二进制序列(PRBS),并模拟第一阶伪随机二进制序列20000
符号。
SymbolTime = 100 e-12;SamplesPerSymbol = 8;dbloss = 14;NumberOfDFETaps = 2;prbsOrder = 12;M = 20000;
计算样本区间。
dt = SymbolTime / SamplesPerSymbol;
创建DFECDR系统对象。通过将输入波形设置为,一次处理一个样本通道“样本”
类型。该对象自适应地应用最优的DFE轻接权值到输入波形。
DFE2 =并行转换器。DFECDR (“SymbolTime”SymbolTime,“SampleInterval”, dt,...“模式”2,“WaveType”,“样本”,“TapWeights”0 (NumberOfDFETaps 1),...“EqualizationStep”0,“EqualizationGain”1 e - 3);
创建通道脉冲响应。
频道=并行转换器。ChannelLoss (“损失”dbloss,“dt”, dt,...“TargetFrequency”1 / SymbolTime / 2);
初始化PRBS生成器。
[dataBit, prbsSeed] = prbs (prbsOrder, 1);
生成逐个样本的眼睛图。
每次循环通过一个符号。内部符号= 0 (SamplesPerSymbol, 1);outWave = 0 (SamplesPerSymbol * M, 1);dfeTapWeightHistory =南(M, NumberOfDFETaps);为2 = 1: M%获得新的符号[dataBit, prbsSeed] =伪随机位序列(prbsOrder 1 prbsSeed);内部符号(1:SamplesPerSymbol) = databit - 0.5;将输入波形与通道卷积y =通道(内部符号);通过DFE一次处理一个样品为jj = 1:SamplesPerSymbol [explave ((ii-1)*SamplesPerSymbol+jj),TapWeights] = DFE2(y(jj));结束%保存DFE水龙头dfeTapWeightHistory (ii):) = TapWeights;结束
绘制DFE的改编历史。
网格图绘制(dfeTapWeightHistory)在传奇(“TapWeights(1)”,“TapWeights(2)”)包含(“符号”) ylabel (“电压”)标题(“教育部龙头”)
您可以从图中观察到,DFE的适应在第一次之后大致完成10000
符号,这些可以从数组中截断。然后通过对符号阵列应用重塑函数绘制眼睛图。
foldedEye =重塑(outWave (10000 * SamplesPerSymbol + 1: M * SamplesPerSymbol), SamplesPerSymbol, []);t = dt * (0: SamplesPerSymbol-1);人物,情节(t, foldedEye“b”);
扩展功能
C / c++代码生成
使用MATLAB®Coder™生成C和c++代码。
使用注意事项和限制:
MAC不支持IBIS-AMI代码生成器。
版本历史
介绍了R2019a
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。