并行转换器。CTLE
连续时间线性均衡器(CTLE)或峰值滤波器
描述
的并行转换器。CTLE
系统对象™应用线性峰值滤波器来均衡采样-采样输入信号或分析处理脉冲响应矢量输入信号。均衡过程减少了由有损信道引起的失真。该滤波器是一个真正的1 - 0双极(1z/2p)滤波器,除非您定义了增益零极(GPZ)矩阵。
以均衡基带信号使用并行转换器。CTLE
:
创建
并行转换器。CTLE
对象并设置其属性。使用参数调用对象,就像调用函数一样。
有关系统对象如何工作的详细信息,请参见什么是系统对象?
创建
描述
返回一个CTLE对象,该对象根据对象中定义的极零传递函数修改输入波形。ctle
=并行转换器。CTLE
使用一个或多个名称-值对设置属性。将每个属性名用引号括起来。未指定的属性有默认值。ctle
=并行转换器。CTLE (的名字
,价值
)
例子:ctle = serdes.CTLE('ACGain',5)
返回一个CTLE对象,其峰值频率增益设置为5 dB。
属性
除非另有说明,属性为nontunable,这意味着在调用对象后不能更改它们的值。对象在调用时锁定,而释放
功能解锁它们。
如果属性为可调,您可以随时更改其值。
有关更改属性值的详细信息,请参见使用系统对象的MATLAB系统设计.
主要
模式
- - - - - -CTLE工作模式
2
(默认)|0
|1
CTLE工作模式,指定为0
,1
,或2
.模式
决定是否绕过CTLE。如果CTLE没有被绕过,那么模式
也决定了什么传递函数应用于输入波形。
模式的价值 | CTLE模式 | CTLE操作 |
---|---|---|
0 |
从 | 并行转换器。CTLE 被绕过,输入波形保持不变。 |
1 |
固定 | 并行转换器。CTLE 应用指定的CTLE传递函数ConfigSelect 输入波形。 |
2 |
适应 | 如果WaveType 设置为“冲动” 或“波形” ,然后Init子系统调用并行转换器。CTLE .的并行转换器。CTLE 确定CTLE传递函数,以使性能指标最大化PerformanceCriteria 属性,并将传递函数应用于输入波形进行时域仿真。优化后的传递函数被CTLE用于全时域仿真。有关Init子系统的更多信息,请参见SerDes系统中的统计分析 |
如果WaveType 选择为“样本” ,然后并行转换器。CTLE 在固定模式下运行。 |
数据类型:双
ConfigSelect
- - - - - -选择要应用于固定模式的传递函数族成员
0
(默认)|实数标量
选择传递函数族中要应用于固定模式的哪个成员,指定为实整数标量。
例子:牛= serdes。CTLE ('ConfigSelect',5,'Specification','DC Gain and Peaking Gain')
元素的第6个元素返回一个CTLE对象DCGain
而且PeakingGain
要应用到滤波器传递函数的向量。
数据类型:双
规范
- - - - - -CTLE响应的输入规范
“直流增益和峰值增益”
(默认)|“直流增益和交流增益”
|“AC增益和峰值增益”
|“GPZ矩阵”
定义用于CTLE传递函数族的输入。有五个输入可用于定义CTLE传递函数族:DCGain,PeakingGain,ACGain,PeakingFrequency,GPZ.
您可以从三个增益和峰值频率中的任意两个定义CTLE响应,也可以为CTLE定义GPZ矩阵。
选择
“直流增益和峰值增益”
指定来自的CTLE响应DCGain
,PeakingGain
,PeakingFrequency
.“直流增益和交流增益”
指定来自的CTLE响应DCGain
,ACGain
,PeakingFrequency
.“AC增益和峰值增益”
指定来自的CTLE响应ACGain
,PeakingGain
,PeakingFrequency
.“GPZ矩阵”
指定来自的CTLE响应GPZ
.
数据类型:字符
PeakingFrequency
- - - - - -CTLE传递函数峰值的近似频率
5 e9
(默认)|标量|向量
CTLE传递函数在量级上达到峰值的近似频率,以赫兹为单位指定为标量或矢量如果指定为标量,则将其转换为匹配的长度ACGain
,DCGain
,PeakingGain
标量展开。如果指定为向量,则向量的长度必须与中的向量相同ACGain
,DCGain
,PeakingGain
.
数据类型:双
DCGain
- - - - - -零频率增益
[0 -1 -2 -3 -4 -5 -6 -7 -8]
(默认)|标量|向量
CTLE传递函数在零频率时的增益,指定为标量或以dB为单位的矢量。如果指定为标量,则将其转换为匹配的长度PeakingFrequency
,ACGain
,PeakingGain
标量展开。如果指定为向量,则向量的长度必须与中的向量相同PeakingFrequency
,ACGain
,PeakingGain
.
数据类型:双
PeakingGain
- - - - - -交流增益和直流增益之差
[0 1 2 3 4 5 6 7 8]
(默认)|标量|向量
峰值增益,以dB为单位的矢量指定。这是两者之间的区别ACGain
而且DCGain
为CTLE传递函数。如果指定为标量,则将其转换为匹配的长度PeakingFrequency
,ACGain
,DCGain
标量展开。如果指定为向量,则向量的长度必须与中的向量相同PeakingFrequency
,ACGain
,DCGain
.
数据类型:双
ACGain
- - - - - -峰值频率增益
0
|标量|向量
CTLE传递函数峰值频率处的增益,指定为以dB为单位的标量或矢量。如果指定为标量,则将其转换为匹配的长度PeakingFrequency
,DCGain
,PeakingGain
标量展开。如果指定为向量,则向量的长度必须与中的向量相同PeakingFrequency
,DCGain
,PeakingGain
.
数据类型:双
GPZ
- - - - - -增益极点零
矩阵
增益极点零,指定为一个矩阵。GPZ
类显式定义CTLE传递函数族DCGain
(dB)在第一列,然后极点和零在交替列。极点和零点以Hz为单位指定。矩阵中的其他行定义了其他配置,可以使用ConfigSelect
.
不允许出现重复的极点或零。复极点或复零必须有共轭。为了系统的稳定性,极点的数量必须大于零的数量。0赫兹的极点和零点被忽略,可用于零垫矩阵。
数据类型:双
复数支持:金宝app是的
先进的
SymbolTime
- - - - - -单个符号持续时间
100年e-12
(默认)|真正的标量
单个符号持续时间的时间,指定为s中的实标量。
数据类型:双
SampleInterval
- - - - - -波形的均匀时间步长
6.25 e-12
(默认)|真正的标量
波形的均匀时间步长,指定为s中的实标量。
数据类型:双
WaveType
- - - - - -输入波形形式
“样本”
(默认)|“冲动”
|“波形”
输入波形类型形式:
“样本”
-一个采样的输入信号。“冲动”
-脉冲响应输入信号。“波形”
-输入信号的一种位模式波形类型,如伪随机二进制序列(PRBS)。
数据类型:字符
PerformanceCriteria
- - - - - -CTLE优化的准则
信噪比
(默认)|maxEyeHeight
|maxMeanEyeHeight
|maxCOM
|eyeAreas
|eyeWidth
|centerEyeHeight
|centerMeanEyeHeight
|centerCOM
时用于CTLE优化的准则并行转换器。CTLE
模式
是要适应的。性能标准是使用optPulseMetric
函数。
数据类型:字符
FilterMethod
- - - - - -计算时域滤波器系数的方法
PartialFraction
(默认)|级联
有理传递函数时域滤波系数的计算方法:
PartialFraction
滤波法采用极点和零点的部分分式展开直接计算滤波系数。级联
过滤器方法使用一种方法,将多个较短的过滤器级联在一起,这些过滤器共同表示指定的行为。这将产生一个更健壮的过滤器。
使用
语法
输入参数
x
- - - - - -输入基带信号
标量|向量
输入基带信号。如果WaveType
设置为“样本”
,则输入信号是一个以标量表示的抽样信号。如果WaveType
设置为“冲动”
,则输入信号为脉冲响应向量信号。
输出参数
y
-平衡CTLE输出
标量|向量
均衡CTLE输出波形。如果输入信号是一个被定义为标量的抽样信号,那么输出也是标量。如果输入信号是一个脉冲响应矢量信号,那么输出也是一个矢量。
对象的功能
要使用对象函数,请将System对象指定为第一个输入参数。例如,释放system对象的系统资源obj
,使用这种语法:
发行版(obj)
例子
基于CTLE的脉冲响应处理
这个例子展示了如何处理一个信道的脉冲响应并行转换器。CTLE
系统对象™。
使用时间的符号One hundred.
ps和16
每个符号的样本。渠道有16
dB的损失。峰值频率为11
GHz。
SymbolTime = 100e-12;SamplesPerSymbol = 16;dloss = 16;DCGain = 0:-1:-26;PeakingGain = 0:26;PeakingFrequency = 11e9;
计算样本间隔。
dt = SymbolTime/SamplesPerSymbol;
创建CTLE对象。该对象自适应地将最佳眼高开口的最佳传递函数应用于输入脉冲响应。
CTLE1 = serdes。CTLE (“SymbolTime”SymbolTime,“SampleInterval”, dt,...“模式”2,“WaveType”,“冲动”,...“DCGain”DCGain,“PeakingGain”PeakingGain,...“PeakingFrequency”, PeakingFrequency);
创建通道脉冲响应。
通道= serdes。ChannelLoss (“损失”dbloss,“dt”, dt,...“TargetFrequency”1 / SymbolTime / 2);impulse sein = channel.impulse;
用CTLE处理脉冲响应。
[impulseOut, Config] = CTLE1(impulse sein);
显示调整后的配置。
流(自适应CTLE配置选择为%g \n、配置)
自适应CTLE配置选择为17
将脉冲响应转换为脉冲、波形和眼图。
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)图例(“输入”,“输出”)标题(“脉冲响应比较”)包含(“符号时代”), ylabel (“电压”网格)在轴([47 60 -0.1 0.4])
图(t2,waveIn,t2,waveOut)“输入”,“输出”)标题(的波形比较)包含(“符号时代”), ylabel (“电压”网格)在
图次要情节(211),情节(teye eyeIn,“b”) ax =轴;包含(“符号时代”), ylabel (“电压”网格)在标题(“输入眼图”)次要情节(212)、情节(teye eyeOut,“b”轴(ax);包含(“符号时代”), ylabel (“电压”网格)在标题(“输出眼图”)
使用CTLE进行逐样本处理
这个例子展示了如何处理一个通道的脉冲响应在一个采样时间使用并行转换器。
CTLE
系统对象™。
使用时间的符号One hundred.
ps和16
每个符号的样本。渠道有16
dB的损失。峰值频率为11
GHz。选择
12
-阶伪随机二进制序列(PRBS),并模拟一阶伪随机二进制序列500
符号。
SymbolTime = 100e-12;SamplesPerSymbol = 16;dloss = 16;DCGain = 0:-1:-26;PeakingGain = 0:26;PeakingFrequency = 11e9;ConfigSelect = 15;prbsOrder = 12;M = 500;
计算样本间隔。
dt = SymbolTime/SamplesPerSymbol;
创建CTLE对象。由于我们每次处理一个样本的信道,因此输入波形为'
样本
'
类型。该对象自适应地应用最优滤波传递函数来获得最佳眼高开度。
CTLE = serdes。CTLE (“SymbolTime”SymbolTime,“SampleInterval”, dt,...“模式”2,“WaveType”,“样本”,...“DCGain”DCGain,“PeakingGain”PeakingGain,...“PeakingFrequency”PeakingFrequency,...“ConfigSelect”, ConfigSelect);
创建通道脉冲响应。
通道= serdes。ChannelLoss (“损失”dbloss,“dt”, dt,...“TargetFrequency”1 / SymbolTime / 2);
初始化PRBS生成器。
[dataBit,prbsSeed] = prbs(prbsOrder,1);
每次循环一个符号。
inSymbol = 0 (SamplesPerSymbol,1);outave = 0 (SamplesPerSymbol*M,1);为ii = 1:M%获得新符号[dataBit,prbsSeed] = prbs(prbsOrder,1,prbsSeed);inSymbol(1:SamplesPerSymbol) = dataBit-0.5;%输入波形与通道卷积y = channel(inSymbol);通过CTLE一次处理一个样品为jj = 1:SamplesPerSymbol owave ((ii-1)*SamplesPerSymbol+jj) = CTLE(y(jj));结束结束
在截断前75个符号以允许均衡之后,在符号数组上使用函数重塑来创建眼睛图。
foldedEye = (ave(75*SamplesPerSymbol+1:M*SamplesPerSymbol),SamplesPerSymbol,[]);t = dt*(0:SamplesPerSymbol-1);人物,情节(t, foldedEye“b”);
版权所有2019 The MathWorks, Inc.
扩展功能
C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。
使用注意事项和限制:
MAC中不支持IBIS-AMI代码原。金宝app
版本历史
在R2019a中引入
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。