主要内容

自定义数据路径构建块

此示例显示如何自定义a普通话块在Simulin金宝appk®中使用MATLAB®函数块或其他Simulink库块。您将看到如何通过IBIS-AMI参数控制接收机增益或衰减阶段的实现,本示例提供了修改PassThrough块以实现SerDes系统的自定义函数的指南。

直通块功能和使用

默认情况下,vassthrough块是,否则暗示,将输入脉冲或波形传递给输出的块,没有修改。此块可以用作Serdes Designer应用程序中的楼层规划工具,然后在导出到Simulink后自定义。金宝app在Passthrough块的掩码下,是引用Serdes.passthrough System™的MATLAB系统块,当Simulink将输入转发到输出时,该系统块。金宝app可以更新MATLAB系统块以引用其他SERDES系统对象,或者可以用其他SIMULINK块替换为此示例轮廓。金宝app有关使用系统对象自定义的示例,请参阅在Serdes Toolbox Passthrough块中实现自定义CTL

在Serdes Designer App中创建Serdes系统

启动并行转换器设计应用程序。在接收器的模拟模型之后放置一个Passthrough块。更改Passthrough块的名称Pt.CustomExample。

将SerDes系统导出到Simulink。金宝app

增加AMI参数到控制增益

双击RX块以查看RX子系统内部,然后打开Serdes Ibis-Ami Manager对话框。

AMI-Rx选项卡中,选择CustomExample节点。点击一下添加参数按钮并设置变量:

  • 参数名称换位

  • 描述接收机增益设置

  • 格式范围

  • 典型0.8

  • 0.

  • 马克斯1

当前值使用,类型保存在他们的默认值0.,漂浮, 分别。

确认设置并单击好吧

您将看到画布上自动生成的参数,如下所示。

切换PassThrough到MATLAB函数块

你可以创建一个MATLAB功能块并添加代码以使用换位属性的修饰符信号。为了演示该工作流,本示例将展示如何实现增益(使用乘法),但任何MATLAB可以为您的系统实现功能。

函数out = fcn(in,ExampleGain)= gainSignal;

然后,您可以删除Passthrough块,并连接到MATLAB输入信号块在,换位和输出信号如图所示:

记得回到Rx子系统,双击Init并单击按钮刷新init..通过打开IBIS AMI管理器并更改当前值,您可以看到参数examplegain的值的影响换位0.8

运行模拟并观察结果。

改变当前值换位1.0并重新运行模拟以确认换位参数正在修改Receiver信号。

这些步骤向您展示了如何实现名为AMI的参数换位用一个MATLAB系统中的功能块。您还可以使用内置块来自定义Passthrough块,如“更改Passthrough以获得块或其他内置块”。

将PassThrough更改为增益块或其他内置块

为模型配置自定义PassThrough块的另一种方法是使用内置块。例如,可以在PassThrough块中添加一个Gain块。而不是创建一个MATLAB功能块,在参数后查看“customexample”块的掩码下换位是从“添加AMI参数以控制增益”部分的步骤创建:

删除参数换位.您应该看到画布现在看起来像默认的并行转换器。普通话系统对象:

接下来,删除要点的MATLAB系统块并行转换器。普通话系统对象:

从Simulink > MathOperators库金宝app中添加一个增益块,并在输入和输出端口之间连接增益块:

笔记:虽然本例使用增益块来说明工作流,但您可以使用任何内置块(以及MATLAB功能)。

连接增益块的块参数添加AMI参数

常量表示为Simulink参数。金宝app双击“增益块”以打开“块参数”对话框。放获得价值customexampleparameter.examplegain.

更新在统计分析期间运行的代码

要使增益应用于统计分析期间的脉冲响应,请双击RX子系统内的init块。点击刷新init.按钮将新的AMI参数添加到INIT代码。点击展示init.按钮打开matlab编辑器窗口并查找自定义用户代码区域被...围绕% %开始%结尾评论。您的代码与自定义的Passthrough块相关联的代码封装在本节中。

实施收益

自定义用户代码区域,编辑自定义代码,以在包含脉冲响应的局部变量上执行增益操作。为此,请替换代码:

customexampleparameter.examplegain;

和:

localimpulse = localimpulse * coreomexampleparameter.examplegain;

自定义用户代码区域应出现如下:

保存更改。

笔记:如果未修改init代码,则统计模拟的结果不反映增益操作,仅在时间域(getWave)仿真结果中显示。

运行带有增益设置的模拟

打开Serdes Ibis-Ami Manager对话框,然后单击AMI-Rx选项卡。选择examplegain *节点,并设置当前值0.8

运行模拟并观察从时域(getWave)的波形的幅度以及统计(init)结果的波形。

更改增益设置并观察变更

打开Serdes Ibis-Ami Manager对话框,然后单击AMI-Rx选项卡。选择examplegain *节点,并设置当前值0.4

再次运行模拟,并观察来自时域(GetWave)的波形和来自统计(init)的波形的幅度如何变化。

这些步骤向您展示了如何实现名为AMI的参数换位使用内置块自定义Passthrough块。您还可以使用a实现AMI参数MATLAB系统中的功能块如“将PASSthrough更改为Matlab功能块”。

也可以看看

||

相关的话题