Ram Cherukuri,Mathworks
使用动力系统示例,此视频演示了查找表优化功能,使您可以压缩设计中的查找表以减少RAM内存使用情况。您可以近似具有最佳查找表的函数或现有块。
设计最佳查找表涉及各种选择:定点或浮点数据,表的大小,均匀间隔数据或间距,以及其他算法设置,如插值方法。所有这些决策都是使用查找表优化器自动化的。
我们将通过减少的内存来衡量系统行为和高效设计之间的权衡。
大家好。我是MathWorks的产品营销经理Ram Cherukuri,在此视频中,我们将探讨如何使用动力机控制示例模型来最大限度地优化设计中的查找表,以最大限度地减少目标ECU上的RAM使用情况。
首先,什么是查找表优化?
这是一个功能,允许您优化查找表的数据类型和各种参数,例如断点,它们的间距等的数量,为您提供用户指定的公差中的最佳查找表。
您可以利用该特性在设计中压缩查找表,以最小化RAM占用,还可以使用它用查找表替换复杂的函数或子系统,以获得更快的运行时性能。
请参阅文档链接以及下面链接的其他视频以详细了解如何使用此功能。
您有命令行API和基于ui的应用程序来使用这个特性。
我们将使用传统的压缩点火发动机模型,从动力总成模块集参考例子,这个模型有大约31个查找表。
这是压缩引擎的Simul金宝appink模型,我们可以在面具下看,以探索该子系统的组件。我们将使用此脚本在此示例中运行步骤。首先,我们将估计该模型中的31 LUT的总内存占用空间。
现在让我们在这里选择一个查找表进行快速测试,让我们在输出上具有相对较大的公差余量来运行优化。我们选择了大约25%的绝对耐受性,相对耐受性为5%。在这里,您可以看到结果的查找表如何比较原始。
这个特定LUT的压缩输出减少了96%的内存,因为它使用8位定点数据类型来处理表数据,而接口数据类型保留为double。
我们尝试了各种公差选择,这里是一个图表,其显示了内存减小与公差值之间的权衡。
正如你所看到的,即使有非常严格的容忍度,你也可以节省50%的RAM内存。
我们的脚本执行一个类似的练习,但是使用模型中的所有lut,当您在这里运行脚本时,您将生成一个类似的图表,显示即使使用最严格的容忍值也减少了80%。
这显然突出了如何实现高效设计,特别是当您在型号中校准任务中有很多查找表时。
在我们结束视频之前,还有最后一个小技巧。通过在优化运行中选择第二次模拟,可以在不改变数值行为的情况下实现无损压缩,但如图所示,可以减少50%以上的内存占用。
请参考视频下面链接的文件交换条目,在您自己的模型上尝试这个示例脚本。
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。