近似n维功能
金宝appSimulink /查找表
HDL编码器/查找表
1-D,2-D和N-D查找表块评估n变量中的函数的采样表示
在哪里的功能F可以实证。块通过查找或插值用块参数定义的值表,将输入映射到输出值。该块支持平面(常数)金宝app,线性(线性点斜),拉格朗日(线性拉格朗日),最近邻,三次样条,和Akima样条插值方法。您可以将这些方法应用于从1到30的任何维度的表。
在下面的代码块中,第一个输入标识第一个维度(行)断点,第二个输入标识第二个维度(列)断点,以此类推。
看旋转或翻转后的端口位置有关各种块取向的端口顺序的描述。
当数学和数据类型>使用针对行主阵列布局优化的算法配置参数设置,2-D和N-D查找表块行为从列专长到row-major的块行为。对于这些块,列 - 主要和行 - 主要算法可以按输出计算的顺序不同,可能导致数值略微不同。这种能力需要一个金宝app®编码员™或嵌入式编码器®许可证。有关行主支持的更多信息,请参见金宝app矩阵和数组的代码生成(金宝app仿真软件编码器).
这些块参数定义断点和表数据。
块参数 | 目的 |
---|---|
表维数 | 指定查找表的维数。 |
断点 | 指定与查找表的每个维度相对应的断点向量。 |
表数据 | 定义关联的输出值集。 |
提示
均匀间隔的断点可以使生成的代码分为。有关更多信息,请参见修复均匀空间清理
和确定有问题的定点操作(嵌入式编码).
n-D、1-D和2-D查找表块通过根据输入值查找或估计表值生成输出。
块输入 | n-D查找表块行为 |
---|---|
匹配断点数据集中的索引值 | 在行、列和更高维度断点的交集处输出表值 |
不匹配断点数据集中的索引值,但在范围内 | 使用插值法你选择 |
与断点数据集中的索引值不匹配,并且超出范围 | 推断输出值,使用外推法你选择 |
你可以使用插值使用Prelookup块预备课块执行一个等效操作一天的查找表块。这种块的组合提供了更大的灵活性,可以为线性插值带来更有效的模拟性能。
当查找操作是不需要插值的数组访问时,使用直接查找表(N-D)块。例如,如果您有整数值K
你想要K
表的第Th个元素,Y =桌(k)
,则没有必要进行插值。
u1
- 第一维(行)输入真实的输入到u1端口,通过查找或插入您定义的值表映射到输出值。
例子:0:10
数据类型:一半
|单
|双
|int8
|int16
|INT32.
|int64
|uint8
|uint16
|uint32
|uint64
|枚举
|不动点
联合国
-n维输入值真实的输入到联合国端口,通过查找或插入您定义的值表映射到输出值。
例子:0:10
数据类型:一半
|单
|双
|int8
|int16
|INT32.
|int64
|uint8
|uint16
|uint32
|uint64
|枚举
|不动点
T
- 定义输出值表使用可在运行时调优的信号指定输出值表。
在仿真过程中,矩阵的大小必须与定义的维数相匹配表维数参数。但是,在框图编辑期间,您可以输入空矩阵(指定为[]
)或未定义的工作空间变量。此技术可允许您推迟为表数据指定正确尺寸的矩阵,并继续编辑框图。
要启用该端口,请设置:
数据规范来表和断点
.
表数据来输入端口
.
数据类型:一半
|单
|双
|int8
|int16
|INT32.
|int64
|uint8
|uint16
|uint32
|uint64
|不动点
bp1
- 显式断点值基于该值,明确指定断点数据断点规范参数,带有在运行时可调的信号
如果你设置断点规范来明确的价值
,输入与每个表数据的每个维度相对应的断点集断点排。对于每个维度,将断点指定为1乘n或n-by-1向量,其值严格单调地增加。
您最多可以创建三个断点数据输入端口。对于断点4到30,只能通过相应的断点参数。
笔记
以均匀的间隔规范格式指定断点,设置断点规范来甚至间距
并使用突破点第一点和间距参数。
要启用该端口,请设置:
数据规范来表和断点
.
断点规范来明确的价值
.
断点1来输入端口
.
数据类型:一半
|单
|双
|int8
|int16
|INT32.
|int64
|uint8
|uint16
|uint32
|uint64
|枚举
|不动点
bp2
- 显式断点值基于该值,明确指定断点数据断点规范参数,具有在运行时可调的信号。
如果你设置断点规范来明确的价值
,输入与每个表数据的每个维度相对应的断点集断点排。对于每个维度,将断点指定为1乘n或n-by-1向量,其值严格单调地增加。
您最多可以创建三个断点数据输入端口。对于断点4到30,只能通过相应的断点参数。
笔记
要指定间隔均匀的断点数据,请使用断点参数。您无法通过输入端口指定均匀间隔的断点数据。
要启用该端口,请设置:
数据规范来表和断点
.
断点规范来明确的价值
.
断点2来输入端口
.
数据类型:一半
|单
|双
|int8
|int16
|INT32.
|int64
|uint8
|uint16
|uint32
|uint64
|枚举
|不动点
bp3
- 显式断点值基于该值,明确指定断点数据断点规范参数,具有在运行时可调的信号。
如果你设置断点规范来明确的价值
,输入与每个表数据的每个维度相对应的断点集断点排。对于每个维度,将断点指定为1乘n或n-by-1向量,其值严格单调地增加。
您最多可以创建三个断点数据输入端口。对于断点4到30,只能通过相应的断点参数。
笔记
要指定间隔均匀的断点数据,请使用断点参数。您无法通过输入端口指定均匀间隔的断点数据。
要启用该端口,请设置:
数据规范来表和断点
.
断点规范来明确的价值
.
断点3来输入端口
.
数据类型:一半
|单
|双
|int8
|int16
|INT32.
|int64
|uint8
|uint16
|uint32
|uint64
|枚举
|不动点
Port_1
-通过查找或估计表值计算的输出通过根据输入值查找或估计表值生成的输出:
当块输入... | n-D查找表块… |
---|---|
匹配断点数据集中的索引值 | 在行、列和更高维度断点的交集处输出表值 |
不匹配断点数据集中的索引值,但在范围内 | 使用插值法你选择 |
与断点数据集中的索引值不匹配,并且超出范围 | 推断输出值,使用外推法你选择 |
数据类型:一半
|单
|双
|int8
|int16
|INT32.
|int64
|uint8
|uint16
|uint32
|uint64
|不动点
表维数
-查找表维度数3.
(默认)|1.
|2.
|4.
|...
|30.
输入查找表的维度数。此参数确定:
表的独立变量数量和块输入的数量
要指定的断点集的数量
价值 | 环境 |
---|---|
1 2 3或4 |
从下拉列表中选择该值。 |
更多的表维度 |
直接在字段中输入正整数。 此块支持的最大表维度数为30。金宝app |
例如,大小为的表MxNx……表示维度1的大小是M,尺寸2为N等等。M必须与第一个断点长度匹配,N必须匹配第二个断点长度等。
块参数:NumberOfTableDimensions |
类型:特征向量 |
价值观:'1' | '2' | '3' | '4' |…| 30 |
默认:'3' |
数据规范
- 表和断点规范的方法表和断点
(默认)|查找表对象
从列表中,选择:
表和断点
—指定表数据和断点。选择此选项将启用以下参数:
表数据
断点规范
断点1
断点2
断点3
编辑表和断点
若要使用输入端口指定表和断点,请参阅来源参数。
查找表对象
-使用现有的查找表(金宝app仿真软件。LookupTable
)反对。选择此选项将启用的名字场和编辑表和断点按钮。
块参数:DataSpecification |
类型:特征向量 |
价值观:'表和断点'|'查找表对象' |
默认:'表和断点' |
的名字
—查找表对象的名称[]
(默认)|金宝app仿真软件。LookupTable
对象输入查找表的名称(金宝app仿真软件。LookupTable
)对象。如果一个金宝app仿真软件。LookupTable
对象不存在,单击“操作”按钮并选择创建.使用块信息自动填充新查找表对象的相应参数。
要启用该参数,请设置数据规范来查找表对象
.
块参数:lookuptableObject. |
类型:特征向量 |
价值观:的名字金宝app仿真软件。LookupTable 对象 |
默认:'' |
断点规范
-断点指定方法明确的价值
(默认)|甚至间距
指定是将数据作为显式断点输入,还是作为生成均匀间隔断点的参数输入。
要明确指定断点数据,请将此参数设置为明确的价值
的旁边的文本框中输入断点数据断点参数。
要指定生成间隔均匀的断点的参数,请将该参数设置为甚至间距
并输入价值第一点和间距断点数据的每个维度的参数。该块计算从表数据生成的点数。
要启用该参数,请设置数据规范来表和断点
.
当此参数设置为甚至间距
,则只能通过对话框指定断点数据。
块参数:BreakpointsSpecification |
类型:特征向量 |
价值观:'显式值'|'甚至间距' |
默认:'显式值' |
来源
-表和断点数据的来源对话
(默认)|输入端口
将表和断点数据的源指定为:
对话
—指定中的表或断点数据价值参数。
输入端口
—通过相关的输入端口指定表或断点数据。
您最多可以创建三个断点数据输入端口。对于断点4到30,只能通过相应的断点参数。
笔记
由于运行时检查,使用输入端口指定表或断点数据可能会对模拟的块性能产生负面影响。
要启用该参数,请设置数据规范来表和断点
.
要启用相关的价值,设置为对话
.
如果要启用相关的输入端口,设置为输入端口
.
将此参数设置为输入端口
禁用价值字段,并隐藏数据类型选项卡。
将此参数设置为输入端口
对于任何一个参数禁用编辑表和断点按钮。
块参数:tablesource. |breakpointsfordimension1source. |BreakpointsForDimension2Source |BreakpointsForDimension3Source |
类型:特征向量 |
价值观:对话 |输入端口 |
默认:“对话” |
表数据
- 定义输出值表重塑(Repmat([4 5 6; 16 19 20; 10 18 23],1,2),[3,3,2])
(默认)|匹配尺寸的值矩阵表维数在关联中输入输出值表价值字段。
在仿真过程中,矩阵的大小必须与定义的维数相匹配表维数参数。但是,在框图编辑期间,您可以输入空矩阵(指定为[]
)或未定义的工作空间变量。此技术可允许您推迟为表数据指定正确尺寸的矩阵,并继续编辑框图。
要启用此参数,请设置:
数据规范来表和断点
.
表数据:来源来对话
.
块参数:桌子 |
类型:特征向量 |
价值观:表值矩阵 |
默认:“重塑(repmat([4 5 6; 16 19 20; 10 18 23], 1, 2),(3、3、2))” |
断点
- 显式断点值,或断点的第一点和间隔[10,22,31]
(默认)|单调递增值的1 × n或n × 1向量根据断点规范参数。
如果你设置断点规范来明确的价值
,输入与每个表数据的每个维度相对应的断点集断点相关的价值字段。对于每个维度,将断点指定为1乘n或n-by-1向量,其值严格单调地增加。
如果你设置断点规范来甚至间距
,输入参数第一点和间距每个断点行在相应的尺寸下产生均匀间隔的断点。您的表数据确定均匀间隔点的数量。
要启用此参数,请设置:
数据规范来表和断点
.
表数据:来源来对话
.
当断点规范参数设置为甚至间距
,则只能通过对话框指定断点数据。
块参数:breakpointsfordimension1 |breakpointsfordimension2 |... |breakpointsfordimension30 | |
类型:特征向量 |
价值观:单调增加值的1-by-n或n×1向量 |
默认:“[31]10,22日” |
第一点
-均匀间隔断点数据中的第一个点1.
(默认)|标量将等距断点数据中的第一个点指定为实值有限标量。此参数在以下情况下可用:断点规范被设定为甚至间距
.
要启用该参数,请设置数据规范来表和断点
,断点规范来甚至间距
.
块参数:断点ForDimension1FirstPoint |断点ForDimension2FirstPoint |…|尺寸30第一点的断点| |
类型:特征向量 |
价值观:真实值,有限,标量 |
默认:'1' |
间距
-等间距断点之间的间距1.
(默认)|标量在等间距断点数据中指定点之间的间距。
要启用该参数,请设置数据规范来表和断点
,断点规范来甚至间距
.
块参数:breakpointsfordimension1spacing |breakpointsfordimension2spacing |... |BreakPointsfordimension30spacing | |
类型:特征向量 |
价值观:正、实值、有限、标量 |
默认:'1' |
编辑表和断点
-启动查找表编辑器对话框单击此按钮以打开查找表编辑器。有关更多信息,请参见编辑查找表在Simuli金宝appnk文档中。
对于查找表对象,单击此按钮可以编辑对象并保存对象的新值。
插值法
-断点值之间的插值方法线性点斜率
(默认)|平坦的
|最近的
|线性拉格朗日
|三次样条
|Akima花键
当输入落在断点值之间时,块使用相邻的断点插入输出值。有关插值方法的更多信息,请参见插值方法.
如果你选择三次样条
,该块仅支持标量信号。金宝app另一个插值方法支持非卡尔信号。金宝app
如果你选择Akima花键
,外推法只能是Akima花键
.
当设置为修改的Akima插值方法时,该块不支持:金宝app
行主阵列布局和算法优化的行主阵列布局
缩放的双精度和定点数据类型
金宝app仿真软件。LookupTable
物体
配置参数时的代码生成代码生成>接口>金宝app支持非谓语形式的数字选中复选框
块参数:InterpMethod |
类型:特征向量 |
价值观:'线性点斜' | '平坦' | '最近' | '线性拉格朗日' | '三次样条' | 'Akima样条' |
默认:“线性点斜式” |
外推法
- 处理落在断点数据集的范围之外的输入值的方法线性
(默认)|夹子
|三次样条
|Akima花键
选择夹子
,线性
,或三次样条
.看外推方法想要查询更多的信息。
如果外推方法是线性
时,根据所选的线性插值方法计算外推值。例如,如果插值法是线性拉格朗日法,外推法继承线性拉格朗日方程来计算外推值。
选择三次样条
为了外推法,您还必须选择三次样条
为了插值法.
选择Akima花键
为了外推法,您还必须选择Akima花键
为了插值法.
块参数:extrapmethod. |
类型:特征向量 |
价值观:'线性'|'剪辑'|'立方样条号'|'akima样条曲序' |
默认:“线性” |
索引搜索方法
-计算表索引的方法等间距的点
(默认)|线性搜索
|二进制搜索
选择等间距的点
,线性搜索
,或二进制搜索
. 每种搜索方法在不同情况下都有速度优势:
对于间隔均匀的断点集(例如10、20、30,等等),您可以通过选择实现最佳速度等间距的点
计算表索引。
该算法仅使用一个集合的前两个断点来确定其余点的偏移量和间距。
笔记
放索引搜索方法来等间距的点
使用时金宝app仿真软件。LookupTable
对象来指定表数据和断点规格参考参数金宝app仿真软件。LookupTable
对象设置为甚至间距
.
对于间隔不均匀的断点集,请遵循以下指导原则:
如果输入信号不会在时间步长之间变化,请选择线性搜索
具有使用以前的索引结果开始索引搜索产生最佳性能。
如果输入信号每个时间步跳超过一个或两个表间隔,选择二进制搜索
产生最佳性能。
索引搜索方法的次优选择可能导致严重依赖查找表的模型性能变慢。
笔记
生成的代码仅存储第一个断点,间距和断点数量:
断点数据是不可调优的。
索引搜索方法是等间距的点
.
块参数:指数搜索法 |
类型:特征向量 |
价值观:“二进制搜索”|“等距点”|“线性搜索” |
默认:'二进制搜索' |
使用以前的索引结果开始索引搜索
- 从前一步开始使用索引从
(默认)|在
当您希望块使用在上一个时间步骤中找到的索引开始搜索时,请选中此复选框。对于相对于间隔大小变化缓慢的输入,启用该选项可以提高性能。否则,线性搜索和二元搜索方法会花费更长的时间,特别是对于大型断点集。
要启用该参数,请设置索引搜索方法来线性搜索
或二进制搜索
.
块参数:BeginIndexSearchusing以前的IndexResult. |
类型:特征向量 |
价值观:”从“|”“ |
默认:'离开' |
诊断超出范围的输入
-当输入超出范围时阻止动作没有任何
(默认)|警告
|错误
指定输入超出范围时是生成警告还是生成错误。选择包括:
没有任何
-不产生响应。
警告
-显示警告并继续模拟。
错误
—终止模拟并显示错误。
块参数:diagnosticforoutofrangeInput. |
类型:特征向量 |
价值观:“无”|“警告”|“错误” |
默认:'没有任何' |
在上一个断点或断点以上的输入使用上一个表值
-计算在上一个断点或以上的输入输出的方法从
(默认)|在
使用此复选框,指定块用于寻址断点集的最后一个元素及其相应的表值的索引约定。如果输入等于或大于断点数据的最后一个元素,则此复选框是相关的。由于舍入,选择和清除此复选框可能会导致模拟和代码生成之间最后一个断点的结果不同。
复选框 | 块使用的索引 | 区间分数 |
---|---|---|
选择 | 断点数据的最后一个元素表和断点标签 | 0 |
清除 | 上的断点数据的倒数第二个元素表和断点标签 | 1. |
给定一个输入U在断点集的范围内BP.,间隔分数F,范围为0F1、计算如下:
假设断点集为[1 4 5]
并输入U是5.5
.如果选中此复选框,则索引是最后一个元素的索引(5.
)间隔分数为0.如果清除此复选框,则索引是下一键元素的索引(4.
),区间分数为1。
要启用此参数,请设置:
插值法来线性
.
外推法来夹子
.
块参数:UseLastTableValue |
类型:特征向量 |
价值观:”从“|”“ |
默认:'离开' |
所有输入数据使用一个输入端口
-只使用一个输入端口从
(默认)|在
选中此复选框以仅使用一个预期信号的输入端口N
n维表的宽元素。这个选项对于消除带有许多查找表的框图中的行杂乱很有用。
笔记
当您选择此复选框时,一个带有标签的输入端口U
出现在块上。
块参数:UseOneInputPortForAllInputData |
类型:特征向量 |
价值观:”从“|”“ |
默认:'离开' |
在生成的代码中删除对超出范围输入的保护
-删除检查超出范围的输入值的代码从
(默认)|在
指定是否包含检查超出范围的输入值的代码。
复选框 | 结果 | 何时使用 |
---|---|---|
|
生成的代码不包括要检查超出范围的断点输入的条件语句。 当输入超出范围时,可能会导致生成代码的未定义行为。 |
用于代码效率 |
|
生成的代码包括要检查超出范围输入的条件语句。 |
用于安全关键型应用 |
如果您的输入不在范围内,则可以选择删除生成代码中的无法超出索引的保护代码效率复选框。默认情况下,此复选框被清除。对于安全关键应用程序,不要选中此复选框。如果要选择删除生成代码中的无法超出索引的保护复选框,首先检查您的模型输入是否在范围内。例如:
清除删除生成代码中的无法超出索引的保护复选框。
设置诊断超出范围的输入参数错误
.
以正常模式模拟模型。
如果存在超出范围的错误,请将它们固定到范围内并再次运行模拟。
当模拟不再产生超出范围的输入错误时,选择删除生成代码中的无法超出索引的保护复选框。
笔记
当你选择删除生成代码中的无法超出索引的保护复选框和输入超出范围,行为未定义生成的代码。
根据您的应用程序,您可以运行以下Model Advisor检查,以验证此复选框的使用情况:
通过产品>嵌入式编码器>识别生成昂贵超出检查代码的查找表块
通过产品>金宝app模拟链路检查>建模标准>DO-178C / DO-331支票>检查查找表块的使用情况
有关Model Advisor的更多信息,请参见运行模型顾问检查.
此外,如果有一个选择此复选框,则确定是否可以安全,如果您有一个金宝appSimulink设计验证程序™许可证,考虑使用检测块输入范围违规(金宝app仿真软件设计验证器)检查。
块参数:RemoveProtectionInput |
类型:特征向量 |
价值观:”从“|”“ |
默认:'离开' |
金宝app代码生成中支持可调表大小
-在生成的代码中启用可调表大小从
(默认)|在
选中此复选框可在生成的代码中启用可调优的表大小。此选项使您可以在生成的代码中更改查找表和断点数据的大小和值,而无需重新生成或重新编译代码。您只能减小查找表和断点数据的大小。
如果你设置插值法来三次样条
,此复选框不可用。
块参数:金宝appSupportTunableTableSize |
类型:特征向量 |
价值观:”从“|”“ |
默认:'离开' |
样品时间
—将采样时间指定为其他值-1
-1
(默认)|标量|向量将采样时间指定为-1以外的值。有关更多信息,请参见指定样品时间.
这个参数是不可见的,除非它被显式地设置为非-1
. 要了解更多信息,请参阅不建议使用采样时间的块.
块参数:采样时间 |
类型:特征向量 |
价值观:标量或矢量 |
默认:' 1 ' |
每个维度的最大索引
-每个表维度的最大索引值[]
(默认)|正整数值的标量或向量
例子:[4 6]
对于一张5乘7的桌子
使用基于零的索引为每个表维指定最大索引值。可以使用以下数据类型指定正整数值的标量或向量:
内置的浮点类型:双
和单
内置整数类型:int8
,int16
,INT32.
,uint8
,uint16
,uint32
有效规格的示例包括:
[4 6]
对于一张5乘7的桌子
[int8 (2) int16 (5) int32 (9)]
对于3×6到10个表
A.金宝appSimulink.参数
它在生成代码时的值比表数据的维小1。有关更多信息,请参见生成代码中的可调表大小.
要启用此参数,请选择金宝app代码生成中支持可调表大小.在生成的代码中调优此参数时,提供新的表数据和断点以及调优的参数值。
块参数:MaximmarIndicesForEachDimension. |
类型:特征向量 |
价值观:正整数值的标量或向量 |
默认:'[]' |
表数据
—表数据的数据类型继承:与输出相同
(默认)|双
|单
|一半
|int8
|uint8
|int16
|uint16
|INT32.
|uint32
|int64
|uint64
|Fixdt(1,16)
|Fixdt(1,16,0)
|Fixdt(1,16,2 ^ 0,0)
|<数据类型表达式>
指定表数据类型。你可以设置为:
继承数据类型的规则,例如,继承:与输出相同
例如,内置数据类型的名称,单
例如,数据类型对象的名称,a金宝app仿真软件。NUmericType
对象
计算结果为数据类型的表达式,例如,Fixdt(1,16,0)
点击显示数据类型助手按钮来显示数据类型助手,它可帮助您设置数据类型属性。有关更多信息,请参见使用数据类型助手指定数据类型.
提示
为以下情况指定不同于输出数据类型的表数据类型:
存储使用比输出信号更小类型的表数据所需的内存更低
分享两者之间的预定表数据一天的查找表具有不同输出数据类型的块
在具有不同输出数据类型的块的生成代码中共享自定义存储表数据
要启用该参数,请设置表数据从表和断点选项卡,对话
.
块参数:桌子 |
类型:特征向量 |
价值观:继承:同output' |' double' |' single' |' half' |' int8' |' uint8' |' int16' |' uint16' |' int32' |' uint32' |' int64' |' uint64' |' fixdt(1,16)' |' fixdt(1,16,0)' |' fixdt(1,16,2^0,0)'|'<数据类型表达式>' |
默认:“继承:与输出相同” |
表数据最小值
—表数据的最小值[]
|标量
指定表数据的最小值。默认值为[]
(不明)。
块参数:TableMin |
类型:特征向量 |
价值观:标量 |
默认:'[]' |
表数据最大
—表数据的最大值[]
|标量
指定表数据的最大值。默认值为[]
(不明)。
块参数:Tablemax. |
类型:特征向量 |
价值观:标量 |
默认:'[]' |
断点
-断点数据类型继承:与相应的输入相同
(默认)|双
|单
|一半
|int8
|uint8
|int16
|uint16
|INT32.
|uint32
|int64
|uint64
|Fixdt(1,16)
|Fixdt(1,16,0)
|Fixdt(1,16,2 ^ 0,0)
|枚举:<类名>
|<数据类型表达式>
指定一组断点数据的数据类型。你可以设置为:
继承数据类型的规则,例如,继承:与相应的输入相同
例如,内置数据类型的名称,单
数据类型类的名称,例如,枚举数据类型类
例如,数据类型对象的名称,a金宝app仿真软件。NUmericType
对象
计算结果为数据类型的表达式,例如,Fixdt(1,16,0)
提示
断点支持无序枚举数据。金宝app因此,线性搜索也是无序的,它提供了灵活性,但会影响性能。搜索从断点中的第一个元素开始。
如果使用以前的索引结果开始索引搜索复选框,则必须使用有序单调递增数据。这种排序可以提高性能。
对于枚举数据,外推法必须夹子
.
该块不支持枚举数据的超出范围的输入。金宝app当指定枚举数据时,在断点数据集中包含整个枚举集。例如,使用the列举
功能。
这是在这个块中使用枚举数据的一个限制:
该块不支持枚举数据的超出范围的输入。金宝app当指定枚举数据时,在断点数据集中包含整个枚举集。例如,使用the列举
功能。
点击显示数据类型助手按钮来显示数据类型助手,它可帮助您设置数据类型属性。有关更多信息,请参见使用数据类型助手指定数据类型.
提示
为这些情况指定与相应输入数据类型不同的断点数据类型:
使用比输入信号更小的类型存储断点数据所需的内存更低
在两个服务器之间共享预先定标的断点数据一天的查找表块具有不同的输入数据类型
在生成的代码中共享具有不同输入数据类型的块的自定义存储断点数据
要启用该参数,需要设置相应的参数断点参数来自表和断点选项卡,对话
.
块参数:breakpointsfordimension 2datattypestr |…| BreakpointsForDimension30DataTypeStr |
类型:特征向量 |
价值观:继承:继承from ` Breakpoint data ` | ` double ` | ` single ` | ` half ` | ` int8 ` | ` uint8 ` | ` int16 ` | ` uint16 ` | ` int32 ` | ` uint32 ` | ` int64 ` | ` uint64 ` | ` fixdt(1,16) ` | ` fixdt(1,16,0) ` | ` fixdt(1,16,2^0,0) ` | ` <数据类型表达式> ` |
默认:'继承:与相同的输入相同' |
断点最小
—断点数据的最小值[]
|标量
指定一组断点数据可以具有的最小值。默认值为[]
(不明)。
块参数:breakpointsfordimension1min |breakpointsfordimension2min |... |breakpointsfordimension30min |
类型:特征向量 |
价值观:标量 |
默认:'[]' |
断点最大值
- 最大值断点数据可以具有[]
|标量
指定一组断点数据可以具有的最大值。默认值为[]
(不明)。
块参数:BreakpointsForDimension1Max |…| BreakpointsForDimension30Max |
类型:特征向量 |
价值观:标量 |
默认:'[]' |
分数
-分数数据类型继承:通过内部规则继承
(默认)|双
|单
|Fixdt(1,16,0)
|<数据类型表达式>
指定分数数据类型。你可以设置为:
继承数据类型的规则,例如,继承:通过内部规则继承
例如,内置数据类型的名称,单
例如,数据类型对象的名称,a金宝app仿真软件。NUmericType
对象
计算结果为数据类型的表达式,例如,Fixdt(1,16,0)
点击显示数据类型助手按钮来显示数据类型助手,它可帮助您设置数据类型属性。有关更多信息,请参见使用数据类型助手指定数据类型.
块参数:fractiondatatypestr. |
类型:特征向量 |
价值观:'继承:通过内部规则继承|'双'|'单身'|'fixdt(1,16,0)'|'<数据类型表达>' |
默认:'继承:通过内部规则继承 |
中间结果
-中间结果数据类型继承:与输出相同
(默认)|继承:通过内部规则继承
|双
|单
|int8
|uint8
|int16
|uint16
|INT32.
|uint32
|int64
|uint64
|Fixdt(1,16,0)
|Fixdt(1,16,2 ^ 0,0)
|<数据类型表达式>
指定中间结果数据类型。你可以设置为:
继承数据类型的规则,例如,继承:与输出相同
例如,内置数据类型的名称,单
例如,数据类型对象的名称,a金宝app仿真软件。NUmericType
对象
计算结果为数据类型的表达式,例如,Fixdt(1,16,0)
点击显示数据类型助手按钮来显示数据类型助手,它可帮助您设置数据类型属性。有关更多信息,请参见使用数据类型助手指定数据类型.
提示
使用此参数为内部计算指定更高(或更低)的精度,而不是表数据或输出数据。
块参数:IntermediateResultsDataTypeStr |
类型:特征向量 |
价值观:'继承:通过内部规则继承|'继承:与输出相同'|'双'|'单身'|'int8'|'uint8'|'int16'|'UINT16'|'int32'|'uint32'| 'int64' | 'uint64' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)'|'' |
默认:“继承:与输出相同” |
输出
- 输出数据类型继承:与输入相同
(默认)|双
|单
|一半
|int8
|uint8
|int16
|uint16
|INT32.
|uint32
|int64
|uint64
|Fixdt(1,16)
|Fixdt(1,16,0)
|Fixdt(1,16,2 ^ 0,0)
|<数据类型表达式>
指定输出数据类型。您可以将其设置为:
继承数据类型的规则,例如,继承:通过反向传播继承
例如,内置数据类型的名称,单
例如,数据类型对象的名称,a金宝app仿真软件。NUmericType
对象
计算结果为数据类型的表达式,例如,Fixdt(1,16,0)
点击显示数据类型助手按钮来显示数据类型助手,它可帮助您设置数据类型属性。有关更多信息,请参见使用数据类型助手指定数据类型.
块参数:仰卧床 |
类型:特征向量 |
价值观:'继承:通过后传播继承'|'继承:继承来自表数据'|'继承:与第一个输入相同'|'双'|'单身'|'半'|'int8'|'uint8'|'int16'|'UINT16'| 'int32' | 'uint32' | 'int64' | 'uint64' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)'|' |
默认:'继承:与第一个输入相同' |
输出最小
- 块可以输出的最小值[]
|标量
指定块输出的最小值。默认值为[]
(不明)。金宝appSimulink软件使用这个值来执行:
参数范围检查(见指定块参数的最小值和最大值).
模拟距离检查(见指定信号范围).
定点数据类型的自动缩放。
优化您从模型生成的代码。该优化可以删除算法代码并影响某些模拟模式的结果,例如SIL或外部模式。
块参数:OutMin |
类型:特征向量 |
价值观:标量 |
默认:'[]' |
输出最大
-块可以输出的最大值[]
|标量
指定块可以输出的最大值。默认值为[]
(不明)。金宝appSimulink软件使用这个值来执行:
参数范围检查(见指定块参数的最小值和最大值).
模拟距离检查(见指定信号范围).
定点数据类型的自动缩放。
优化您从模型生成的代码。该优化可以删除算法代码并影响某些模拟模式的结果,例如SIL或外部模式。
块参数:OutMax |
类型:特征向量 |
价值观:标量 |
默认:'[]' |
内部规则优先级
-中间计算的内部规则速度
(默认)|精确
指定中间计算的内部规则。选择速度
为了更快的计算。如果您这样做,可能会发生准确性,通常最多2位。
块参数:内部规则优先级 |
类型:特征向量 |
价值观:“速度”|“精度” |
默认:“速度” |
要求所有输入具有相同的数据类型
-要求所有输入具有相同的数据类型在
(默认)|从
选择以要求所有输入具有相同的数据类型。
块参数:InputSamedt. |
类型:特征向量 |
价值观:”从“|”“ |
默认:“开” |
根据定点工具的更改锁定数据类型设置
—防止定点工具覆盖数据类型从
(默认)|在
选择此参数可防止定点工具覆盖在此块上指定的数据类型。有关更多信息,请参见锁定输出数据类型设置(定点设计师).
块参数:LockScale |
类型:特征向量 |
价值观:”从“|”“ |
默认:'离开' |
整数舍入模式
- 用于定点操作的舍入模式最简单的
(默认)|天花板
|收敛
|地面
|最近的
|轮
|零
指定在模拟或执行从模型生成的代码期间发生的固定点查找表计算的舍入模式。有关更多信息,请参见四舍五入(定点设计师).
此选项不影响块参数值的舍入。金宝appSimulink将这些值舍入到最接近的可表示整数值。要控制块参数的舍入,请使用MATLAB输入表达式®舍入函数在块对话框的“编辑”字段中。
块参数:rndmeth. |
类型:特征向量 |
价值观:“天花板”|“收敛”|“地板”|“最近”|“圆形”|“最简单”|“零” |
默认:“简单” |
在整数溢出上饱和
-溢出动作的方法从
(默认)|在
行动 | 采取这一行动的理由 | 溢出会发生什么 | 例子 |
---|---|---|---|
选择此复选框( |
您的模型可能溢出,并且您希望在生成的代码中进行显式饱和保护。 |
溢出到数据类型可以表示的最小值或最大值。 |
与符号的8位整数相关联的溢出可以饱和至-128或127。 |
不选择此复选框( |
您希望优化生成代码的效率。 您希望避免过度指定块如何处理超出范围的信号。有关更多信息,请参见排除信号范围错误. |
溢出包装为数据类型可表示的适当值。 |
数字130不适用于带符号的8位整数,它将自动换行为-126。 |
提示
如果将模型作为R2009A或更早版本保存,则此复选框设置无效,不会出现饱和码。此行为保留向后兼容性。
选中此复选框后,饱和度适用于块上的每个内部操作,而不仅仅是输出或结果。通常,代码生成过程可以检测到何时无法溢出。在这种情况下,代码生成器不会产生饱和码。
块参数:SaturateOnIntegerOverflow |
类型:特征向量 |
价值观:”从“|”“ |
默认:'离开' |
数据类型 |
|
直接引线 |
|
多维信号 |
|
适应信号 |
|
过零检测 |
|
假设您有一个查找表,并希望在生成的代码中使大小可调。当你使用金宝app仿真软件。LookupTable
和金宝app模拟断点
对象来配置生成代码中用于校准的查找表数据,请使用金宝appSupportTunableSize
属性以启用可调优表大小。如果不使用这些类,请使用金宝app代码生成中支持可调表大小参数在A.一天的查找表块以启用可调表大小。
假设:
你定义一个金宝appSimulink.参数
结构在你的模型的预加载函数:
p = 金宝appsimulink.parameter;p.value.maxidx = [2 2];p.value.bp1 = [1 2 3];p.value.bp2 = [1 4 16];p.value.table = [4 5 6;16 19 20;10 18 23];p.datatype ='总线:sllocookuptable';p.coderinfo.storageClass ='ExportedGlobal';%从Matlab结构Simulink.bus.createObject(P.Value)中创建总线金宝app对象SLBUS1; slLookupTable = slBus1; slLookupTable.Elements(1).DataType = 'uint32';
这些块参数适用于N-D查找表块。
参数 | 价值 |
---|---|
表维数 | 2. |
表数据 | P.Table. |
断点1 | p.BP1 |
断点2 | p.BP2 |
金宝app代码生成中支持可调表大小 | 在 |
每个维度的最大索引 | p.MaxIdx |
生成
头文件包含一个类似这样的类型定义。模型
_types.h
typedef struct {uint32_t maxidx [2];real_t bp1 [3];real_t bp2 [3];real_t表[9];sllockuptable;
生成
文件包含查看类似的代码。模型
.c
/*导出块参数*/ slLookupTable p = {{2U, 2U}, {1.0, 2.0, 3.0}, {1.0, 4.0, 16.0}, {4.0, 16.0, 10.0, 5.0, 19.0, 18.0, 6.0, 20.0, 23.0}};/*更多代码*/ /*模型输出函数*/ static void ex_lut_nd_tunable_table_output(int_T tid) {/* Lookup_n-D: '/n-D Lookup Table'合并:* import: ' /In1' */y = look2_binlcpw(u1,u2,p.bp1,p.bp2,p.table,... p.maxidx,p.maxidx [0] + 1u);/*输出端口:' /Out1'*/ex\u lut\u和可调\u表\u Y.Out1=Y;/*统一功能接口需要tid。*函数中未使用参数tid。*/未使用的_参数(tid);}
突出显示的代码行指定了查找表的可调表大小。您可以在不重新生成或重新编译代码的情况下更改查找表和断点数据的大小和值。
假设您有一个带有枚举类的查找表,如定义:
< Simulink. classdef(Enumerati金宝appon) Gears枚举GEAR1(1), GEAR2(2), GEAR3(4), GEAR4(8), SPORTS(16), REVERSE(-1), NEUTRAL(0)结束结束
n-D查找块有以下设置:
尺寸数来1.
.
表数据值是[5 10 20 40 80 5 0]
.
断点1值是枚举(齿轮)
.
插值方法是平的。
对于无序搜索,设置索引搜索方法来线性搜索
和明确的使用以前的索引结果开始索引搜索复选框。
模拟生成一个矢量[10 -5 80]
,对应于齿轮
,反向
,体育
.
HDL Coder™提供了影响HDL实现和合成逻辑的额外配置选项。
这个块有一个单独的、默认的HDL架构。
一般 | |
---|---|
ConstrainedOutputPipeline | 通过在设计中移动现有延迟而放置在输出处的寄存器数。分布式管道不会重新分发这些寄存器。默认值是 |
InputPipeline. | 输入管道级的数量以插入生成的代码。分布式管道和受约束的输出管道可以移动这些寄存器。默认值是 |
OutputPipeline | 要插入生成代码的输出管道阶段的数量。分布式管道和受约束的输出管道可以移动这些寄存器。默认值是 |
笔记
块支持的HDL代码生成金宝app单
和双
数据类型。一半
块的数据输入,断点和输出不支金宝app持类型。
本机浮点 | |
---|---|
HandleDenormals | 指定是否希望HDL编码器插入额外的逻辑来处理设计中的正常数字。非正数是指大小小于最小浮点数的数,可以在尾数中不带前导零表示。默认值是 |
LatencyStrategy | 指定是否将设计中的块映射到 |
mantissamultiplystrategy. | 指定如何在代码生成期间实现尾数乘法操作。通过不同的设置,可以控制目标FPGA设备上DSP的使用。默认值是 |
预先显示 | 启用此属性,设置插值法来 启用此属性时,斜率和偏置系数在静态预先计算时,根据表数据和断点。此设置减少了运行时期间执行的划分操作的数量以计算系数。此外,它减少了执行的浮点加法和乘法操作的总数。 启用此属性可减少延迟并节省所需的查找表资源的区域数。但是,此属性会重新排序浮点操作,这可能会导致较小的数值差异。您可以在生成的验证模型中观察这些数值差异。 |
此块支持复杂信号的代码金宝app生成。
块设置 | 高密度脂蛋白编码器支金宝app持 |
---|---|
表维数 | 指定最大尺寸为2。 |
断点规范 | 选择明确的价值 或甚至间距 . |
索引搜索方法 | 选择等间距的点 . |
外推法 | 选择夹子 或线性 .代码生成器不支持超出均范围的外推。金宝app |
插值法 | 选择平坦的 或线性点斜率 . |
诊断超出范围的输入 | 选择错误 .如果指定其他选项,HDL Coder将生成警告。 |
在上一个断点或断点以上的输入使用上一个表值 | 选中此复选框。 |
要求所有输入具有相同的数据类型 | 选中此复选框。 |
分数 | 选择继承:通过内部规则继承 . |
整数舍入模式 | 选择零 ,地面 ,或最简单的 . |
所有输入数据使用一个输入端口 | 清除此复选框。 |
如果你使用英特尔®MAX 10设备,为了将查找表映射到RAM,在Quartus工具中创建项目时添加以下Tcl命令:
设置\u全局\u分配-名称内部\u闪存\u更新\u模式“带ERAM的单个图像”
如果HDL编码器遇到需要匹配模型仿真行为所需的条件,则会显示警告。所描述的条件导致该块发出划分操作员。当您使用此块进行HDL代码生成时,请避免以下条件:
如果块被配置为使用插值,则需要一个除法运算符。为了避免这个要求,设置插值法: 到平坦的
.
不均匀的表间距。HDL代码生成要求块使用均匀间隔点算法。从输入数据类型到零基表索引的块映射通常需要一个划分。当断点间距是2的精确功率时,该鸿沟实现为换档而不是分割。要调整断点间距,请调整表中的断点数,或断点范围的左侧和右侧之间的差异。
将断点之间的间隔设置为2的乘方是一种很好的做法。如果断点间距不满足此条件,HDL Coder将发出警告。当断点间距为2的乘方时,可以用右移操作替换预查找步骤中的除法操作。
块上的所有端口都需要标量值。
金宝appSimulink PLC编码器™对查找表块的支持有限。金宝app编码器不支持:金宝app
大于2的尺寸数
立方样条插值法
使用先前的索引模式开始索引搜索
三次样条外推法
直接查找表(N-D)|插值使用Prelookup|动态查找表|预备课|金宝app模拟断点
|金宝app仿真软件。LookupTable
您单击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
你也可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。