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