主要内容

使用脉冲响应全球适应接收机组件提高并行转换器的性能指标

这个例子展示了如何执行一组接收器组件的优化系统使用功能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:6CTLE_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”按钮被按下时保留)

运行并行转换器系统

运行并行转换器系统,观察优化行为。你可以试着改变这指标是评估执行不同的优化。

另请参阅

||

相关的话题

Baidu
map