主要内容

serdes.ctle.

连续时间线性均衡器(CTLE)或峰值滤波器

描述

这个serdes.ctle.System Object™应用线性峰值滤波器以均衡采样的样本输入信号或分析地处理脉冲响应矢量输入信号。均衡过程减少了由于有损通道产生的扭曲。除非您定义增益极值(GPZ)矩阵,否则过滤器是真正的单零两极(1Z / 2P)过滤器。

使用serdes.ctle.:

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

  2. 使用参数调用对象,就像它是一个函数。

要了解有关系统对象如何工作的更多信息,请参见什么是系统对象?

创建

描述

c=serdes.CTLE返回一个CTLE对象,该对象根据对象中定义的零极点传递函数修改输入波形。

c=serdes.CTLE(姓名,价值)使用一个或多个名称-值对设置属性。将每个属性名用引号括起来。未指定的属性具有默认值。

例子:ctle = serdes.CTLE (ACGain, 5)返回具有增益的CTLE对象,峰值频率设置为5 dB。

属性

全部展开

除非另有说明,属性是nontunable,这意味着您不能在调用对象之后更改它们的值。对象在调用时锁定,而释放功能解锁它们。

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

有关更改属性值的详细信息,请参阅基于系统对象的MATLAB系统设计

主要的

CTLE操作模式,指定为0,1., 或者2.模式确定是否绕过CTLE。如果不绕过CTLE,那么模式还确定将转移功能应用于输入波形。

模式值 CTLE模式 CTLE操作
0 serdes.ctle.被旁路,输入波形保持不变。
1. 固定的 serdes.ctle.按照规定应用CLE传递函数configselect.到输入波形。
2. 适应 如果WaveType.被设置为'冲动'或者“波形”,然后Init子系统调用serdes.ctle..这个serdes.ctle.确定CTLE传递函数以使性能指标最大化性能中心性质,并将传递函数应用于时域仿真的输入波形。这个优化的传递函数被CTLE用于整个时域仿真。有关Init子系统的更多信息,请参见SerDes系统中的统计分析
如果WaveType.被选为“样本”然后serdes.ctle.在固定模式下运行。

数据类型:

选择在固定模式下应用传递函数族的哪个成员,指定为实整数标量。

例子:ctle = serdes.ctle('configselect',5,'规格','dc增益和峰值增益')对象的第6个元素的CTLE对象DCGain尖顶向量应用于滤波器传递函数。

数据类型:

定义将用于CTLE传递函数族的输入。有5个输入可以用来定义CTLE传递函数族:DCGain,尖顶,阿加因,PeakingFrequency, 和GPZ

您可以根据三个增益和峰值频率中的任意两个定义CTLE响应,也可以定义CTLE的GPZ矩阵。

  • 选择“直流增益和峰值增益”指定来自的CTLE回应DCGain,尖顶, 和PeakingFrequency

  • '直流收益和交流收益'指定来自的CTLE回应DCGain,阿加因, 和PeakingFrequency

  • '交流收益和达到峰值增益'指定来自的CTLE回应阿加因,尖顶, 和PeakingFrequency

  • “GPZ矩阵”指定来自的CTLE回应GPZ

数据类型:字符

近似频率,其幅度在大小的峰值中,指定为标量或Hz中的向量。如果指定为标量,则转换为匹配长度阿加因,DCGain, 和尖顶通过标量扩张。如果指定为向量,则向量长度必须与中的向量相同阿加因,DCGain, 和尖顶

数据类型:

在CTL传递函数的零频率下获得,指定为DB中的标量或向量。如果指定为标量,则转换为匹配长度PeakingFrequency,阿加因, 和尖顶通过标量扩张。如果指定为向量,则向量长度必须与中的向量相同PeakingFrequency,阿加因, 和尖顶

数据类型:

峰值增益,指定为DB中的向量。这之间有区别阿加因DCGain对于CTLE传递函数。如果指定为标量,则会将其转换为与PeakingFrequency,阿加因, 和DCGain通过标量扩张。如果指定为向量,则向量长度必须与中的向量相同PeakingFrequency,阿加因, 和DCGain

数据类型:

CTLE传递函数峰值频率下的增益,以dB为单位指定为标量或矢量。如果指定为标量,则会将其转换为与PeakingFrequency,DCGain, 和尖顶通过标量扩张。如果指定为向量,则向量长度必须与中的向量相同PeakingFrequency,DCGain, 和尖顶

数据类型:

获得极限零,指定为矩阵。GPZ通过指定DCGain(dB)在第一列中,然后在交替列中使用极点和零点。极点和零点以Hz为单位指定。矩阵中的其他行定义了其他配置,可以使用configselect.

不允许重复极点或零。复极或复零必须有共轭。为了系统的稳定性,极点数必须大于零点数。0 Hz的极点和零点被忽略,可以用来填充矩阵的零。

数据类型:
复数支持:万博1manbetx是的

先进的

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

数据类型:

波形的均匀时间步骤,指定为s中的真正标量。

数据类型:

输入波型形式:

  • “样本”- 采样采样输入信号。

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

  • “波形”-输入信号的一种位模式波形类型,如伪随机二进制序列(PRBS)。

数据类型:字符

用于CTLE优化的准则serdes.ctle.模式已经准备好适应了。使用以下公式计算性能标准:光脉冲测量作用

数据类型:字符

计算有理传递函数时域滤波器系数的方法:

  • Partialfraction.滤波方法使用杆和零的部分分数膨胀,直接计算滤波器系数。

  • 级联Filter方法使用一种将多个较短的过滤器级联在一起的方法,这些过滤器共同表示指定的行为。这就产生了一个更健壮的过滤器。

用法

描述

实例

Y=ctle(x)

输入参数

全部展开

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

输出参数

全部展开

均衡CTLE输出波形。如果输入信号是指定为标量的逐采样信号,那么输出也是标量的。如果输入信号是脉冲响应矢量信号,则输出也是矢量信号。

目标函数

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

释放(obj)

全部展开

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

例子

全部崩溃

此示例显示了如何使用serdes.ctle.System Object™。

使用符号时间100.ps和16.每个符号的样本数。该频道16.dB损耗。峰值频率为11.GHz。

SymbolTime = 100 e-12;SamplesPerSymbol = 16;dbloss = 16;DCGain = 0: 1: -26;PeakingGain = 0:26;PeakingFrequency = 11 e9;

计算采样间隔。

dt=SymbolTime/SamplesPersSYMBOL;

创建CTLE对象。目标自适应地将最佳眼高开度的最佳传递函数应用于输入脉冲响应。

CTLE1=serdes.CTLE('符号时间',符号时间,“采样间隔”,dt,......“模式”2,'waveType','冲动',......“DCGain”DCGain,“PeakingGain”PeakingGain,......“PeakingFrequency”,峰值频率);

创建频道脉冲响应。

频道=并行转换器。ChannelLoss (“损失”dbloss,“dt”,dt,......'目标频道',1/SymbolTime/2);PulseIn=信道脉冲;

用CTLE处理脉冲响应。

[Impulseout,Config] = CTLE1(Impulsein);

显示调整后的配置。

fprintf('自适应CTLE配置选择为%g\n',配置)
适应的CTLE配置选择是17

将脉冲响应转换为脉冲、波形和眼图。

奥德= 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,pulsiN,t,脉冲突发)图例(“输入”,'输出')标题('脉冲响应比较')xlabel(“符号时代”),Ylabel(“电压”网格)轴([47 60 -0.1 0.4])

图中包含一个轴对象。标题为脉冲响应比较的轴对象包含2个line类型的对象。这些对象表示输入、输出。

图绘图(T2,Wavein,T2,Waveout)图例(“输入”,'输出')标题('波形比较')xlabel(“符号时代”),Ylabel(“电压”网格)

图中包含一个轴对象。具有标题波形比较的轴对象包含2个类型的类型。这些对象表示输入,输出。

图次要情节(211),情节(teye eyeIn,'B')轴=轴;Xlabel(“符号时代”),Ylabel(“电压”网格)标题(“输入眼图”)次要情节(212)、情节(teye eyeOut,'B'轴(ax);Xlabel(“符号时代”),Ylabel(“电压”网格)标题(“输出眼图”)

图包含2个轴对象。轴对象1带标题输入眼图包含63个类型的类型。带标题输出眼图的轴对象2包含63个类型的类型。

这个例子展示了如何处理脉冲响应的一个通道一次一个样本使用塞德斯。cSystem Object™。

使用符号时间100.ps和16.每个符号的样本数。该频道16.dB损耗。峰值频率为11.GHz。选择12.-th订单伪随机二进制序列(PRB),并模拟第一个500符号。

SymbolTime=100e-12;SamplesPerSymbol=16;dbloss=16;DCGain=0:-1:-26;峰值增益=0:26;峰值频率=11e9;ConfigSelect=15;prbsOrder=12;M=500;

计算采样间隔。

dt=SymbolTime/SamplesPersSYMBOL;

创建CTLE对象。由于我们是一次处理一个采样,输入波形为'样品'类型。该对象适自适应地应用于最佳眼睛高度开口的最佳滤波器传递函数。

CTLE=serdes.CTLE('符号时间',符号时间,“采样间隔”,dt,......“模式”2,'waveType',“样本”,......“DCGain”DCGain,“PeakingGain”PeakingGain,......“PeakingFrequency”,峰值频率,......“ConfigSelect”,ConfigSelect);

创建频道脉冲响应。

频道=并行转换器。ChannelLoss (“损失”dbloss,“dt”,dt,......'目标频道',1/SymbolTime/2);

初始化伪随机位序列生成器。

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

一次循环一个符号。

Insymbol = Zeros(Samplespersymbol,1);OutWave = Zeros(Samplespersymbol * m,1);对于II = 1:m%获取新符号[DataMit,PRBSSEED] = PRB(PRBSOrder,1,PRBSSEED);Insymbol(1:samplespersymbol)= databit-0.5;%带通道的卷积输入波形y=通道(符号符号);%通过CTLE一次处理一个样本对于jj=1:SamplesPerSymbol向外((ii-1)*SamplesPerSymbol+jj)=CTLE(y(jj));终止终止

在截断前75个符号允许均衡之后,在符号阵列上使用功能重塑以创建眼图。

foldedeye =重塑(Outwave(75 * Samplespersymbol + 1:M * SampleSpersymbol),Samplespersymbol,[]);t = dt *(0:samplespersymbol-1);图,情节(t,foldedeye,'B');

图中包含一个轴对象。axis对象包含425个类型为line的对象。

版权所有2019 Mathworks,Inc。

扩展能力

在R2019a中引入