在这个例子中,学习如何:
转换一个浮点系统为等效的定点表示。
定点工具会自动在系统指定的定点数据类型的任务。在这个例子中,该工具收集范围无论是从设计的最小和明确指定为模拟过程中出现的信号和参数,或从记录的最大值和最小值的最大值为模型对象的数据。基于这些值,该工具提出定点数据类型最大化精度和覆盖范围。该工具允许您查看的数据类型的建议,然后有选择地将其应用到对象模型。
替换不支持的查找表逼近转换块。金宝app
在转换过程中的准备阶段,定点工具通过将这些块内的一个子系统包围隔离不支持定点转换任何块金宝app数据类型转换块。您可以使用查找表优化工具查找表近似替代不支持块。金宝app
打开模型并将其配置为定点的转换。
open_system('ex_fixed_point_workflow')
该模型由一个源,一个控制器子系统,你要转换为固定点和范围可视化子系统输出。配置这样一个模型可帮助您确定定点数据类型的系统的影响。使用这种方法,你只转换子系统,因为这是感兴趣的系统。有没有必要到源或范围到定点转换。
这种配置使您可以修改输入和收集仿真数据对多种刺激。然后,您可以检查子系统的不同输入范围的行为和扩展您的定点数据类型,以提供最大精度,同时可容纳全仿真范围。
到转换前后比较的行为,使得能够在设计中的系统的输出信号记录。
pH值= get_param(“ex_fixed_point_workflow /控制器子系统”,'PortHandles');set_param(ph.Outport(1),'数据记录','上')set_param(ph.Outport(2),'数据记录','上')
该模型转换为固定点,使用定点工具。
在里面应用的画廊ex_fixed_point_workflow
模式选择定点工具。
在定点工具,下新工作流程,请选择迭代定点转换
。
下在设计系统(SUD),选择你要转换为固定点的子系统。在这个例子中,选择控制器子系统
。
下范围内采集模式, 选择模拟范围作为范围收集方法。
下模拟输入,你可以指定金宝appSimulink.SimulationInput
在反对整个工作范围内行使您的设计。在这个例子中,集模拟输入至使用默认的模型输入
。
要为系统指定的公差,在桌子底下信号公差,指定与信号记录模式的任何信号公差启用。
设置相对公差(相对托尔),您记录到15%的信号。
在工具条中,单击准备。定点工具可以检查下设计的系统与转换过程中的兼容性和报告在模型中发现任何问题。如果可能的话,定点工具自动更改不兼容设置。欲了解更多信息,请参阅使用定点工具准备一个系统转换。
在设计中的子系统包含EXP块,其不支持的定点数据类型。金宝app定点工具与周围的该块数据类型转换器块,并将其置于一个子系统内。当您完成转换子系统固定点的休息,你可以用的查找表近似代替子系统EXP
功能。
点击收集范围按键模拟模型。定点工具将覆盖与双打模型中的数据类型和收集的最小值和最大值为模型模拟过程中出现的每个对象。定点工具存储在名为运行此范围内的信息BaselineRun
。您可以查看所收集的范围SimMin和SimMax列电子表格的,或者在结果详情窗格。
该模拟数据的可视化面板提供了模拟结果的另一种观点。选择探索用于分选和在电子表格和可视化过滤数据附加工具定点工具的选项卡。
使用定点工具提出定点数据类型为基于存储在所述运行中的双精度模拟结果适当配置的块BaselineRun
。
在里面兑换该工具条的部分,点击建议数据类型按钮。
定点工具分析所有定点块,其的比例针对由定点工具改变锁输出数据类型设置参数没有被选中。
定点工具使用默认设置的建议,提出用16位字长和最精密的部分长度的数据类型,并更新电子表格中的结果。
您可以通过点击编辑建议设置设置按钮,在兑换求婚类型前的工具条的部分。
该工具显示在所提出的数据类型ProposedDT在电子表格列。
默认情况下,它选择接受复选框为每个结果,其中所提出的数据类型上不同于对象的当前数据类型。如果你申请的数据类型,工具应用这些建议的数据类型来设计中的系统。
检查结果,解决任何问题,并确保要接受每个结果所提出的数据类型。该模拟数据的可视化窗格表示将分别包含有红色或黄色三角形溢或下溢,结果。溢可以是数值的问题来源,但有时可以忽略。
定点工具表明其结果提出的数据类型冲突与其他类型带有红色图标。在这个例子中,没有结果包含冲突。欲了解更多信息,请参阅检查结果解决冲突。
审查结果,并确保没有问题后,您就可以提出的数据类型应用到模型。请点击应用数据类型写建议的数据类型的模型。
定点工具适用的数据类型建议在设计中的系统块。
接下来,模拟模型再次使用新的固定点设置。然后,使用模拟数据检查绘图功能,结果从浮点比较BaselineRun
与固定点运行结果。
在里面校验该工具条的部分,点击与嵌入式类型模拟。定点工具模拟使用新的定点数据类型并存储在名为新的运行运行信息模型EmbeddedRun
。
之后,有关记录的定点数据块中的定点工具显示信息。该CompiledDT为运行表明,该控制器子系统块使用新的固定点的数据类型列中。
检查在直方图模拟数据的可视化窗格中验证有没有溢出或饱和度。溢出和饱和度都标有一个红色三角形。
工作流浏览器表明,对于您指定的公差要求的所有信号通过。
右键点击EmbeddedRun
并选择点击打开SDI
打开仿真数据检查。在仿真数据检查器,选择记录的信号中的一个以查看定点仿真行为。
在里面准备系统转换的工作流的步骤,所述固定点工具放置在EXP块,其不支持的转换,内部的子系统与包围金宝app数据类型转换块。在这个步骤中,您更换一个查找表近似的子系统。
为了让所有的定点工具解耦转换子系统的列表,在命令行输入:
解耦= DataTypeWorkflow.findDecoupledSubsystems('ex_fixed_point_workflow')
解耦= 1×2表ID BlockPath __ ____________________________________________________ 1 { 'ex_fixed_point_workflow /控制器子系统/精通'}
该DataTypeWorkflow.findDecoupledSubsystems
函数返回含有由定点工具创建到不支持的块分离的任何子系统的块路径的表。金宝app
打开查找表优化。在里面应用画廊,选择查找表优化。
在目的查找表优化的页面,选择金宝appSimulink模块。请点击下一个。
下块信息,在命令行复制并粘贴路径由定点工具创建的子系统。
点击从型号收集当前值按钮更新模型图,并允许优化需要优化过程中自动收集信息。请点击下一个。
指定约束优化使用。在这个例子中,使用默认值。要创建查找表,单击优化。请点击下一个。
请点击替代原有功能以含用于查找表近似一个新的子系统替换解耦子系统数学函数EXP
块。
现在,在设计中的系统完全转化,验证系统是否仍然符合你转换之前指定的公差。
在定点工具,在校验该工具条的部分,点击与嵌入式类型模拟。
定点工具模拟模型,它现在包含查找表近似,并将结果保存为EmbeddedRun_2
。
该工作流浏览器表明,用规定的公差的信号使用所述查找表通过近似在模型中。