主要内容

查找表优化器

优化现有查找表或用查找表近似函数

描述

使用查找表优化器应用程序获得优化的(内存高效)查找表。

使用这个应用程序,你可以:

  • 近似一个现有的Simulink®块,包括子系统块和数学函数块

  • 近似一个MATLAB®处理

  • 近似曲线拟合对象

您可以选择以Simulink块或MATLAB函数的形式返回优化的查找表。

优化器支持浮点和定点数据类型的任何组合。可以根据需要保留或更改原始输入和输出数据类型。为了尽量减少所使用的内存,优化器选择断点和表数据的数据类型以及断点的数量和间隔。

打开查找表优化应用程序

  • 工具条:在应用程序选项卡,在代码生成,单击应用程序图标。

  • 在一个Simulink模型中查找表块,选择查找表块。在查找表选项卡上,选择查找表优化器

参数

选择内存高效LUT的源代码:

  • Simulink块或子系统—要近似的Simulink块或子系统,或要优化的查找表块,例如,一维查找表一天的查找表.如果指定一个查找表块,应用程序将生成一个优化的查找表。

  • MATLAB函数句柄-用MATLAB函数句柄近似一个查找表。函数句柄必须在MATLAB搜索路径上,否则近似失败。

  • 拟合曲线-曲线拟合cfit(曲线拟合工具箱)对象来近似。有关要近似的库模型列表,请参见曲线和曲面拟合库模型列表(曲线拟合工具箱)

提示

函数句柄生成查找表近似的过程比子系统快。如果子系统可以用函数句柄表示,近似函数句柄会更快。

的最大公差绝对而且相对原始输出值与近似输出值之间的差值。

指定可以在基于预期硬件的查找表近似中使用的字长度(以位为单位)。例如,如果打算以嵌入式处理器为目标,可以将查找表中的数据类型限制为本机类型。字长必须在1到128之间。

指定用于优化查找表的选项。

选项 描述
插值

当输入处于断点值之间时,查找表使用相邻的断点插值输出值。

  • 线性-在相邻断点之间匹配一条线,并返回该线上与输入相对应的点。

  • —返回与断点值相对应的直接小于输入值的输出值。如果输入值以下不存在断点值,则此选项返回最接近输入值的断点值。

  • 最近的—返回与最接近输入的断点对应的值。如果输入与两个相邻断点的距离相等,则此选项选择索引较高的断点。

  • 没有一个——生成一个直接查找表(n-D)块,它执行表查找而不进行任何插值或外推。

    请注意

    当生成一个直接查找表块,输入的最大数量是两个。

断点规范

断点数据的间隔。

  • ExplicitValues-显式指定查找表断点。对于某些输入范围,断点可能更近,而在其他输入范围中,断点可能更远。

  • EvenSpacing-查找表断点在整个过程中均匀间隔。

  • EvanPow2Spacing-查找表断点使用2次方的间距。这个断点规范拥有最快的执行速度,因为位移位可以取代位置搜索。

有关断点规范如何影响性能的更多信息,请参见间距对速度、错误和内存使用的影响

饱和到输出类型

是否自动使函数的输出范围饱和,以近似于输出数据类型的范围。

AUTOSAR兼容

生成的查找表是否符合AUTOSAR。当此选项设置为真正的

  • 生成的查找表是曲线地图块的AUTOSAR Blockset

  • 表数据的数据类型必须等于块的输出数据类型。

  • 一个AUTOSAR Blockset已签出许可证。

时不支持此选项解决方案类型选项设置为MATLAB

探索一半

是否允许优化器查看表数据和断点的半精确数据类型。

高密度脂蛋白优化

是否生成一个hdl优化的近似。当此选项设置为真正的,生成的近似是一个子系统,它由一个预查找步骤和后面的插值组成,其功能相当于一个带有显式流水线的查找表,以生成高效的HDL代码。

要生成一个hdl优化的近似,要近似的函数必须是一维的和断点规范必须设置为EvenSpacingEvenPow2Spacing.时不支持此属性解决方案类型选项设置为MATLAB

解决方案类型

应用程序如何输出优化的查找表。

  • Simlink-生成一个包含优化查找表的Simulink子系统。

  • MATLAB-输出优化的查找表作为MATLAB函数。在以下情况下,不支持用MATLAB函数生成优化的查找表:

    • AUTOSARCompliant属性设置为真正的

    • UseParallel属性设置为真正的

    • HDLOptimized属性设置为真正的

    • InterpolationMethod属性设置为“没有”

请注意

由Simulink块函数和MATLAB函数近似生成的查找表查找表优化器可能在数值上并不完全相等。然而,这两种解形式都保证满足优化问题中指定的所有约束条件。

指定其他优化选项。

选项 描述
最大时间

近似值运行的最大时间,以秒作为标量数指定。这个近似过程一直运行到达到指定的时间,找到一个理想解,或者达到另一个停止准则。

默认值:

最大内存使用(字节)

生成的查找表可以使用的最大内存量(以字节为单位),指定为标量整数。

默认值:10000000

曲线表值

是否将表值约束为被逼近函数的量化输出。当您将此选项设置为如果允许表值偏离曲线,则可以在保持相同容错的同时减少查找表的内存,或者在降低容错的同时保持相同的内存。

默认值:

使用并行

是否并行运行优化的迭代。并行运行迭代需要并行计算工具箱许可证。如果您没有并行计算工具箱,或者您指定了,迭代以串行方式运行。

时不支持此选项解决方案类型选项设置为MATLAB

默认值:

限制

  • 在模型掩码工作区中不支持查找表对象和断点对象。

  • 近似的函数和函数句柄必须满足以下条件:

    • 函数必须是时不变的。

    • 函数必须按元素操作,这意味着每个输入都有一个输出。

    • 函数不能包含状态。

    有关更多信息,请参见向量化

算法

全部展开

版本历史

介绍了R2018a

全部展开

Baidu
map