主要内容

与定点工具一起使用设计演进管理器

用定点工具使用设计演进管理器

此示例展示了如何使用Design Evolution Manager管理不同的设计版本,同时使用定点工具和查找表优化器将浮点模型转换为使用定点数据类型。虽然本例演示了定点转换用例,但可以使用Design Evolution Manager来组织和分析在设计中创建不同版本文件的任何工作。

在本例中,定点工具创建了一个设计的多个版本,包括:

  • 原始的浮点模型

  • 为定点转换准备的模型

  • 模型的各种不动点版本

管理、分析和在这些不同的设计版本之间移动可能具有挑战性。Design Evolution Manager帮助您组织同一设计的不同版本,理解不同版本之间的关系,比较不同版本,并存储和查看关于版本的注释和数据。

在这个例子中,你

  1. 将模型文件转换为项目。

  2. 创建一个进化树来可视化地组织您在进化中存储的设计的不同版本。

  3. 创建一个基线演进来存储项目中文件初始状态的快照。

  4. 将模型转换为使用定点数据类型。创建演化来存储设计的快照和您在设计过程的关键点上所做的记录。

  5. 比较演进和检查您的笔记,以理解对模型所做的更改,然后选择设计的哪个版本最符合您的需求。

设计进化管理器仅在MATLAB®Online™上可用,需要Simulink®许可证。此示例还需要定点设计器™许可证。

建立范例文件

要使用Design Evolution Manager,您的所有设计文件都必须包含在单个项目中。

创建并打开项目示例文件的工作副本。MATLAB®将文件复制到一个示例文件夹中,以便您可以编辑它们。

setupExample

setupExample函数创建并打开一个名为DEM_FPT_Example,其中包含controller_subsystem模型转换为不动点和一个controller_harness模型进行测试。

创建新的进化树

进化树是作为进化存储的文件的相关但不同版本的集合的可视化表示。创建一个新的进化树,以跟踪在转换到定点期间创建的不同设计版本。

1.在项目选项卡,工具部分,展开按钮箭头并选择进化设计经理图标DEM_icon.png

2.在“创建新的进化树”对话框中进化树的名字,输入转换控制器到定点.您可以在下面输入可选的注释进化树的笔记

create-new-evolution-tree-dialog.png

3.点击创建继续。

设计演进管理器创建一个新的演进树,其中包含基线进化。的基线Evolution包含项目中处于当前状态的所有文件的副本。项目节点active-node.png下面基线演进表示项目中文件的当前状态。

new-evolution-tree.png

准备定点转换

定点转换过程的第一步是使用定点工具准备controller_subsystem转换到不动点的模型。准备步骤创建模型文件的新版本,您可能希望在以后引用和返回该版本。

1.从项目中,打开controller_harness模型。

2.打开定点工具。在仿真软件上®应用程序选项卡,在代码生成,单击定点工具图标。

3.在工具中,选择新的>优化定点转换

4.下设计中的系统(SUD)中,选择controller_subsystem当系统转换为不动点时。

5.在工具条中,单击准备

6.完成准备检查后,将更改保存到controller_subsystem而且controller_harness模型。

创建进化

使用Design Evolution Manager检查设计的状态,并将准备好的模型保存在一个新的演进中。

1.在演化树上,选择连接器connector.png之间的基线演进和项目节点。在属性检查器窗格中,文件列表选项卡显示controller_subsystem.slx而且controller_harness.slx模型文件已经更改。

baseline-prepared-connector-file-list.png

2.选择信息连接器的选项卡。请注意,这些文件更改是在定点工具中运行准备步骤的结果。

baseline-prepared-connector-info.png

3.创建一个新的演进来存储模型文件的准备版本。在“设计演化管理器”工具条上,单击创建进化

进化树的形状会发生变化。一个无标题的进化出现在基线进化。此更改表明无标题的进化是从进化而来的,是进化的产物基线进化。

4.在属性检查器窗格中,在属性Tab,说出新的进化准备

prepared-evolution-created.png

检查演进之间的变更

使用Simulink模型比较工具来比较存储在基线中存储的文件的版本的演化准备进化。

1.选择连接器connector.png之间的基线而且准备的演进。

2.在属性检查器窗格中,在文件列表选项卡中,选择controller_subsystem.slx文件从列表。点击比较文件

compare-files-button.png

比较工具启动。中存储的模型的版本基线演化显示为橙色,模型的版本存储在准备进化用蓝色表示。比较表明经验值块,它不支持定点转换,在定点工具的准备步骤中自动隔离。

baseline-prepare-compare.png

3.在“设计演化管理器”中,选择准备进化。在属性检查器窗格中,在信息选项卡,添加一个说明,表明经验值Block已被隔离,稍后需要更换。

转换为定点并存储在演进中

使用定点工具将控制器模型转换为定点。使用Design Evolution Manager来跟踪您的工作。

1.在定点工具中,从工作流的浏览器窗格中,选择设置窗口。

2.下信号公差,设置相对宽容笔:1而且Sum1:1信号0.15

3.点击优化数据类型

定点工具确定优化的定点数据类型controller_subsystem根据规定的公差。找到的最佳解决方案的成本是416。此解决方案将自动应用于controller_subsystem模型。

4.要打开模拟数据检查器,单击比较.视觉上确认解决方案满足记录信号的指定公差。

5.保存对模型的更改。

6.在设计演进管理器中,创建一个新的演进来存储设计的这个版本。

7.命名新的进化转换后的15%

8.在演进中添加一个注释,这个设计的总成本是416。

更新演进以添加转换脚本

除了在演进中存储模型的定点版本外,您还可以添加用于将模型转换为定点的脚本的副本转换后的15%你刚刚创造的进化。

1.导出定点转换脚本。在“定点工具”中,单击导出脚本

导出定点工具fxpOptimizationScript.m到基本工作区。

2.将定点转换脚本添加到项目中。在MATLAB中当前项目窗格中,右键单击fxpOptimizationScript.m并选择添加到项目

3.更新转换后的15%添加fxpOptimizationScript文件向进化。在Design Evolution Manager中,右键单击转换后的15%进化与选择更新进化

update-converted15-evolution.png

4.点击好吧

5.确认文件已添加到演进中。选择之间的连接器准备进化和转换后的15%进化。

file-added.png

属性检查器窗格中,文件列表选项卡显示fxpOptimizationScript.m文件是补充道。此外,它表明controller_harness.slx而且controller_subsystem.slx模型文件在准备而且转换后的15%的演进。

在进化树中创建分支来探索不同的定点类型

接下来,尝试具有更大公差的优化定点转换工作流。文件中保存的文件的版本准备演化从已经为定点转换准备的模型文件版本开始。然后,再次运行优化过程,并在进化树的新分支中跟踪您的工作。

1.在为定点转换做好准备后返回浮点版本的设计。在“设计演化管理器”中,选择准备进化。点击得到进化

对话框指示定点转换脚本,该脚本在准备进化,将从活动项目区域中删除。

2.点击好吧继续。

项目中的文件现在是设计文件的版本,因为它们之前是用定点工具准备的。演化树的形状已经改变,显示活动项目节点现在是准备进化。

3.使用定点工具转换controller_subsystem到固定的点。这一次,设置相对宽容对于两个被记录的信号0.20

方法加载了模型文件的版本准备在演进过程中,您不需要再次在定点工具中运行准备步骤。

4.点击优化数据类型运行转换。

找到的最佳解决方案的总成本为392。

5.保存对模型的更改。

6.将这个版本的设计保存在一个名为转换后的20%

7.导出定点转换脚本,并将其添加到刚刚创建的演进中。

8.添加一个注释到转换后的20%进化认为这个版本的设计总成本是392。

convered-20-evolution.png

比较设计的不同版本

定点转换的最后一步是替换经验值块与查找表近似。中存储的设计的不动点版本转换后的15%而且转换后的20%两种进化都产生了可接受的结果,记录的信号满足所有指定的公差。你可以看一下你的笔记,这些设计的费用分别是392和416。因为转换后的20%版本的设计具有较低的成本,选择进化树的这个分支继续您的设计工作。

用查找表替换不支持的块

转换后的20%版本设计,更换经验值块与查找表近似。

1.得到了转换后的20%演化到您的活动项目区域,并打开controller_harness模型。

2.在模型中,导航到下面的蓝色指数子系统controller_harness > Model (controller_子系统)> Exp.选择在定点转换准备阶段隔离的Exp块。

Exp-block-isolated.png

3.打开查找表优化器。在仿真软件应用程序选项卡,在代码生成,单击应用程序图标。

4.在“查找表优化器”中,选择Simulink块或子系统.点击下一个

5.确认Simulink块路径为controller_subsystem /经验/ ReplicaOfSource.点击从模型中收集当前值,然后单击下一个

6.点击优化,然后单击下一个

7.点击取代原始的函数

经验值块替换为查找表近似。

Exp-replaced-by-LUT.png

8.保存对模型的更改。

在进化中保存最终设计

1.在设计演进管理器中,创建一个新的演进来存储设计的这个版本。名称的演变指数所取代

2.选择之间的连接器转换后的20%进化和指数所取代进化。添加一个注意事项,在这些演进之间所采取的行动是使用查找表优化器来替换经验值块使用优化的查找表近似。

exponent-replaced.png

审查设计过程

Design Evolution Manager显示了本例中使用的完整设计过程。设计决策由进化树可视化地表示。您可以选择单独的演进或连接器来检查在设计过程中所做的更改和您所记录的任何记录。

关闭项目

关闭项目。在项目选项卡,关闭部分中,点击关闭项目

项目= currentProject;关闭(项目);

另请参阅

应用程序

工具

相关的话题

Baidu
map