使用脉冲响应全球适应接收机组件提高并行转换器的性能指标
这个例子展示了如何执行一组接收器组件的优化系统使用功能optPulseMetric
计算指标如眼睛高度、宽度和通道的营业利润率(COM)估计从脉冲响应目标误比特率(BER)来评估一个特定的配置的最优性能。适应执行统计分析(Init),然后优化结果通过时域(GetWave)。
初始化并行转换器系统与多个ctl和DFECDR
下面的例子使用了并行转换器设计模型rx_ctle_adapt_dfe_train
作为一个起点。在MATLAB®命令窗口中输入以下命令打开模型:
> > serdesDesigner (“rx_ctle_adapt_dfe_train.mat”)
这个项目包含一个接收机部分有两个CTLE块DFECDR块紧随其后。在默认配置中,这些块单独优化。这个例子的目的是作为一个系统来优化块。
为CTLE_LowFreq
块,峰值频率(GHz)被设置为(10 11 12 13 14 15 16)
,直流增益(dB)被设置为(0 0 0 0 0 0 0)
,峰值增益(dB)被设置为0
。所有其他参数都保持在其默认值。
为CTLE_HighFreq
块,规范被设置为直流增益和AC增益
,峰值频率(GHz)被设置为14
,直流增益(dB)被设置为0
,交流增益(dB)被设置为[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15]
。所有其他参数都保持在其默认值。
DFECDR块,首次利用权重(V)被设置为[0 0 0 0 0 0 0 0 0 0)
。所有其他参数都保持在其默认值。
出口并行转换器系统仿真软件®模型。
添加代码优化ctl和DFECDR系统
双击Rx块内的Init子系统和点击显示初始化按钮。您可以将代码自定义用户代码区域从以下步骤和保存模型。下面的代码分解在几个部分,便于理解。
注意:完成这个示例中,您也可以参考附件文件“rx_init_custom_user_code.m”
和地点的自定义用户代码区域在Init子系统。关于Init子系统的更多信息,请参阅在并行转换器系统统计分析。
初始化接收机参数
的第一部分自定义用户代码区域检查如果ctl在适应模式和实例化变量来保存临时值和最佳配置指标。
% %开始:自定义用户代码区域(“刷新Init”按钮被按下时保留)%如果ctl都在适应模式,使用全局适应如果CTLE_LowFreqParameter。& & CTLE_HighFreqParameter模式= = 2。模式= = 2 CTLE_LowFreqInitBestConfig = 0;CTLE_HighFreqInitBestConfig = 0;bestMetric = 0;SPB = SymbolTime / SampleInterval;
扫描CTLE参数
示例代码设置CTLE。模式参数的适应
来固定
允许算法控制每个块的值。在这种情况下,值是直接扫和块被称为脉冲响应过程。
CTLE_LowFreqInit。模式= 1;CTLE_HighFreqInit。模式= 1;为CTLE_LowFreqInitSweep = 0:1:6为CTLE_HighFreqInitSweep = 0:1:15%设置当前扫描每个CTLE上配置CTLE_LowFreqInit。ConfigSelect = CTLE_LowFreqInitSweep;CTLE_HighFreqInit。ConfigSelect = CTLE_HighFreqInitSweep;%叫ctl和教育部[sweepImpulse ~] = CTLE_LowFreqInit (LocalImpulse);[sweepImpulse ~] = CTLE_HighFreqInit (sweepImpulse);[sweepImpulse, ~, ~, ~, ~] = DFECDRInit (sweepImpulse);
脉冲响应转换为脉冲响应与optPulseMetric和评估
将脉冲响应转换成脉冲响应的评价函数optPulseMetric
。脉冲响应有助于参数标准评价更容易比一个脉冲响应。的optPulseMetric
函数是用来优化并行转换器系统作为一个整体。很多指标都报道了这个功能,你可以使用一个算法评估多个接收机组件在一起作为一个系统。
注意:这个函数optPulseMetric
旨在分析单个响应,而不是一个矩阵的反应,所以你可以使用吗sweepPulse (: 1)
调整的主要响应矩阵从一个脉冲或脉冲矩阵。
%转换后脉冲DFE脉冲然后计算指标SampleInterval sweepPulse = impulse2pulse (sweepImpulse SPB);eyeMetric = optPulseMetric (sweepPulse (: 1), SPB, SampleInterval, 1 e-6);%选择眼指标来评估结果sweepMetric = eyeMetric.maxMeanEyeHeight;% sweepMetric = eyeMetric.maxEyeHeight;% sweepMetric = eyeMetric.maxCOM;% sweepMetric = eyeMetric.centerMeanEyeHeight;% sweepMetric = eyeMetric.centerEyeHeight;% sweepMetric = eyeMetric.centerCOM;
评估optPulseMetric结果
保存CTLE配置基于相比以前的结果。最后最好的配置保存最后一块的统计(Init)分析,然后通过时域仿真(GetWave)。
%如果当前扫描指标比以前更好,保存CTLE配置如果sweepMetric > bestMetric bestMetric = sweepMetric;CTLE_LowFreqInitBestConfig = CTLE_LowFreqInitSweep;CTLE_HighFreqInitBestConfig = CTLE_HighFreqInitSweep;结束结束结束%设置ctl从扫描的最佳配置CTLE_LowFreqInit。ConfigSelect = CTLE_LowFreqInitBestConfig;CTLE_HighFreqInit。ConfigSelect = CTLE_HighFreqInitBestConfig;结束%:自定义用户代码区域(“刷新Init”按钮被按下时保留)
运行并行转换器系统
运行并行转换器系统,观察优化行为。你可以试着改变这指标是评估执行不同的优化。