查找表的优化

函数查找表是通过它可以使用一个表具有有限数量的点近似的功能的方法(Xÿ)。该X查找表的值称为断点。你在一个点由最靠近点的两个断点之间的插值逼近理想函数的值。由于查表和简单估计可以比数学函数的评价,使用查找表块往往会造成转速增益模拟模型时速度更快。

要优化模型中的查找表:

  • 限制不均匀查找表。

    不均匀地间隔开的断点需要的通用算法,例如二进制搜索,以确定其中输入在于相对于所述断点。这额外的计算增加了ROM和执行时间。

  • 防止均匀地为不均匀间隔被治疗间隔的查找表。

    在均匀分布的查找表的位置搜索的速度要快得多。此外,插值需要一个简单的除法。

    有时,当一个查找表被转换成定点,量化误差的结果。了在浮点均匀地间隔开的查找表,可以在所生成的定点代码被不均匀地间隔开。使用fixpt_evenspace_cleanup功能将数据再次转换成均匀间隔的查找表。

  • 在查找表中两个间隔断点的使用功率。

    在两个间隔查找表功率,位移位取代了位置搜索,和位掩码替换制备该构建最有效的,无论你的目标语言和硬件插值。

下表总结查找表断点间距的影响。

参数

即使2隔开的数据的权力

均匀分布的数据

均匀地间隔数据

执行速度

执行速度是最快的。位置搜索和内插是一样的均匀间隔的数据。然而,增加的速度多,位移位取代位置搜索,和位掩码替换插值。

执行速度比为不均匀间隔数据更快,因为位置搜索是更快和内插需要一个简单的除法。

执行速度是最慢的不同间隔的,因为位置搜索较慢,和内插需要多个操作。

错误

因为近似具有不均匀曲率的函数需要更多的点,以达到同样的精度误差可以比用于不均匀间隔的数据大。

因为近似具有不均匀曲率的函数需要更多的点,以达到同样的精度误差可以比用于不均匀间隔的数据大。

因为近似具有不均匀曲率的功能需要更少的点来达到同样的精度误差可以更小。

ROM的使用

使用命令ROM少,但更多的数据ROM。

使用命令ROM少,但更多的数据ROM。

使用更多的命令ROM,但较少的数据ROM。

RAM使用

不重要。

不重要。

不重要。

使用模型顾问找出有问题的定点操作检查以确定查找表块,其中有提高效率的潜力。

相关话题