拉姆Cherukuri,MathWorks公司
本视频通过一个Powertrain系统示例演示了查找表优化功能,该功能允许您在设计中压缩查找表以减少RAM内存的使用。您可以使用最优查找表来近似函数或现有块。
设计一个最佳查找表包括各种选择:定点或浮点数据,该表的大小,间隔均匀数据或不均匀的间距,以及其它的算法设置,如内插方法。所有这些决定都利用查找表来优化自动化。
我们探索系统行为和通过减少的内存量来衡量的高效设计之间的权衡。
大家好。我拉姆Cherukuri,产品营销经理在这里MathWorks公司,并在这段视频中,我们将探讨如何优化您的设计查找表,以尽量减少对目标ECU的RAM的使用,使用的动力总成控制示例模型。
一,什么是查找表的优化?
这个特性允许您优化数据类型和查找表的各种参数,比如断点的数量、间距等,从而在用户指定的容忍范围内提供一个最佳查找表。
您可以利用此功能来压缩查找表的设计,以尽量减少RAM的足迹,你也可以用它来与更快的运行时性能查找表来代替复杂的功能或子系统。
请参考文档链接,下面链接了解更多关于如何详细使用此功能的其他影片。
您可以使用命令行API和基于ui的应用程序来使用此特性。
我们将使用传统的压燃式发动机型号从动力总成模块集参考示例,而这种模式有大约31查找表。
下面是压缩引擎Simul万博1manbetxink模型,我们可以看面具下探索这个子系统的组成部分。我们将使用这个脚本通过本例中的步骤来运行。首先,我们要估计这个模型中,31个LUT的总内存占用。
现在,让我们选择一个查找表,这里一个快速测试,让我们跑以宽容的对输出较大幅度的优化。我们选择约的绝对容差为25%和5%的相对误差。在这里,你看怎么产生的查找表进行比较,以原来的一个。
这个特殊LUT的压缩输出减少了96%的内存,因为它为表数据使用8位定点数据类型,同时将接口数据类型保留为两倍。
我们尝试了多种公差的选择,这里是显示内存减少和公差值之间的权衡曲线。
正如你所见,即使有非常严格的容忍度,你也可以节省50%的内存。
我们的脚本执行一个类似的活动,但所有的LUT的模型,当你在这里运行脚本,你生成一个类似的图,显示减少了80%,即使最严格的公差值。
这显然凸显了如何实现高效的设计,尤其是当你在你的模型具有校准任务大量的查找表。
视频结束前,还有最后一个小技巧。通过在优化运行中选择第二个模拟,您可以在不改变数值行为的情况下实现无损压缩,同时还可以减少超过50%的内存占用,如图所示。
请参考下面的视频链接尝试在自己的模型此示例脚本文件交换项。