近似n维功能
金宝appSimulink / Lookup表
HDL编码器/查找表
1-D、2-D和N - d查找表块计算一个函数在N个变量中的抽样表示
的函数F可以实证。块通过查找或插值用块参数定义的值表,将输入映射到输出值。该块支持平面(常数)金宝app,线性(线性点斜),拉格朗日(线性拉格朗日),最近邻,三次样条,和Akima样条插值方法。您可以将这些方法应用于从1到30的任何维度的表。
在以下块中,第一个输入标识了第一维(行)断点,第二个输入标识了第二维(列)断点,等等。
看到旋转或翻转后的端口位置有关各种块取向的端口顺序的描述。
当数学和数据类型>使用优化的行主阵列布局算法配置参数设置后,2-D和n-D查查表块行为从列为主改为行为主。对于这些块,列主算法和行主算法可能在输出计算的顺序上有所不同,可能导致数值略有不同。此功能需要金宝app®编码器™或者嵌入式编码器®许可证。有关行主支持的更多信息,请参见金宝app矩阵和数组的代码生成(金宝app仿真软件编码器)。
这些块参数定义断点和表数据。
块参数 | 目的 |
---|---|
表维数 | 指定查找表的维数。 |
断点 | 指定与查找表的每个维度相对应的断点向量。 |
表数据 | 定义相关联的输出值集。 |
均匀间隔的断点可以使生成的代码分为。有关更多信息,请参见fixpt_evenspace_cleanup
和确定有问题的定点操作(嵌入式编码器)。
n-D、1-D和2-D查找表块通过根据输入值查找或估计表值生成输出。
块的输入 | n-D查找表块行为 |
---|---|
匹配断点数据集中的索引值 | 在行、列和更高维度断点的交集处输出表值 |
不匹配断点数据集中的索引值,但在范围内 | 属性插入适当的表值插值方法你选择 |
与断点数据集中的索引值不匹配,并且超出范围 | 推断输出值,使用外推法你选择 |
你可以使用使用prelookup插值块的Prelookup块执行一个等效操作一天的查找表块。这种块的组合提供了更大的灵活性,可以为线性插值带来更有效的模拟性能。
当查找操作是不需要插值的数组访问时,使用直接查询表(n-D)块。例如,如果你有一个整数值k
你想要k
表的第Th个元素,y =表(k)
,则没有必要进行插值。
u1
-第一维(行)输入的实值输入u1端口,通过查找或插入您定义的值表来映射到输出值。
例子:0:10
数据类型:单
|双
|int8
|int16
|int32
|uint8
|uint16
|uint32
|枚举
|不动点
联合国
- n维输入值的实值输入联合国端口,通过查找或插入您定义的值表来映射到输出值。
例子:0:10
数据类型:单
|双
|int8
|int16
|int32
|uint8
|uint16
|uint32
|枚举
|不动点
Port_1
- 通过查找或估计表值计算的输出根据输入值查找或估计表值生成的输出:
当块输入…… | n-D查找表块… |
---|---|
匹配断点数据集中的索引值 | 在行、列和更高维度断点的交集处输出表值 |
不匹配断点数据集中的索引值,但在范围内 | 属性插入适当的表值插值方法你选择 |
与断点数据集中的索引值不匹配,并且超出范围 | 推断输出值,使用外推法你选择 |
数据类型:单
|双
|int8
|int16
|int32
|uint8
|uint16
|uint32
|不动点
表维数
- 查找表尺寸的数量3.
(默认)|1
|2
|4
|...
|30.
输入查找表的维度数。这个参数决定:
表的独立变量的数量和块输入的数量
要指定的断点集的数量
价值 | 环境 |
---|---|
1 2 3或4 |
在下拉列表中选择。 |
更多的表维度 |
直接在字段中输入正整数。 此块支持的最大表维度数为30。金宝app |
例如,大小为的表米xNx ......意味着尺寸1的尺寸是米,尺寸2为N等等。米必须与第一个断点长度匹配,N必须与第二个断点长度匹配,以此类推。
块参数:NumberOfTableDimensions |
类型:特征向量 |
价值观:'1' | '2' | '3' | '4' |…| 30 |
默认值:“3” |
数据规范
- 表和断点规范的方法表和断点
(默认)|查找表对象
从列表中,选择:
表和断点
—指定表数据和断点。选择此选项将启用以下参数:
表数据
断点规范
断点1
断点2
断点3
编辑表和断点
查找表对象
-使用现有的查找表(金宝app仿真软件。LookupTable
)对象。选择此选项将启用的名字场和编辑表和断点按钮。
块参数:DataSpecification |
类型:特征向量 |
价值观:'查找表对象' |
默认值:'表和断点' |
的名字
—查找表对象的名称[]
(默认)|金宝app仿真软件。LookupTable
对象输入查找表的名称(金宝app仿真软件。LookupTable
)对象。如果一个金宝app仿真软件。LookupTable
对象不存在,单击“操作”按钮并选择创建.使用块信息自动填充新查找表对象的相应参数。
启用此参数,设置数据规范来查找表对象
.
块参数:LookupTableObject |
类型:特征向量 |
价值观:的名字金宝app仿真软件。LookupTable 对象 |
默认值:'' |
表数据
- 定义输出值表重塑(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))” |
断点规范
-断点规范的方法明确的价值观
(默认)|甚至间隔
指定是否将数据输入为显式断点或作为生成均匀间隔断点的参数。
若要显式指定断点数据,请将该参数设置为明确的价值观
的旁边的文本框中输入断点数据断点参数。
要指定生成均匀间隔断点的参数,请将此参数设置为甚至间隔
并输入价值第一点和间距断点数据的每个维度的参数。该块计算从表数据生成的点数。
启用此参数,设置数据规范来表和断点
.
块参数:BreakpointsSpecification |
类型:特征向量 |
价值观:'显式值' | '偶数间距' |
默认值:'显式值' |
断点
-显式断点值,或断点的第一个点和间隔(10, 22日,31)
(默认)|单调递增值的1 × n或n × 1向量属性的值,显式指定断点数据或以等间距指定断点断点规范参数。
如果你设置断点规范来明确的价值观
,输入与每个表数据的每个维度相对应的断点集断点行。对于每个维度,将断点指定为1 × n或n × 1向量,其值严格单调递增。
如果你设置断点规范来甚至间隔
,输入参数第一点和间距在每一个断点行,以在各自的维度中生成间隔均匀的断点。你的表格数据决定了均匀间隔点的数量。
启用此参数,设置数据规范来表和断点
.
块参数:BreakpointsForDimension1 |断点fordimension 2 |…| BreakpointsForDimension30 | |
类型:特征向量 |
价值观:单调增加值的1-by-n或n×1向量 |
默认值:“[31]10,22日” |
第一点
-均匀间隔断点数据中的第一个点1
(默认)|标量将均匀间隔的断点数据中的第一个点指定为实值有限标量。当断点规范被设定为甚至间隔
.
启用此参数,设置数据规范来表和断点
, 和断点规范来甚至间隔
.
块参数:BreakpointsForDimension1FirstPoint |断点fordimension 2firstpoint |…| BreakpointsForDimension30FirstPoint | |
类型:特征向量 |
价值观:真实值,有限,标量 |
默认值:' 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
对象设置为甚至间隔
.
对于间隔不均匀的断点集,请遵循以下指导原则:
如果输入信号在时间步长之间变化不大,则选择线性搜索
与使用以前的索引结果开始索引搜索产生最佳性能。
如果输入信号每次跳跃多于一个或两个表间隔,请选择二分查找
产生最佳性能。
索引搜索方法的次优选择可能导致严重依赖查找表的模型性能变慢。
生成的代码仅存储第一个断点,间距和断点数量:
断点数据是不可调优的。
索引搜索方法是均匀的间隔点
.
块参数:IndexSearchMethod |
类型:特征向量 |
价值观:' | '等间距点' | '线性搜索' |
默认值:“二分法” |
使用以前的索引结果开始索引搜索
—从上一个时间步骤开始使用索引离开
(默认)|在
当您希望块使用先前的时间步骤中找到的索引开始搜索时,选中此复选框。对于相对于间隔大小缓慢更改的输入,启用此选项可以提高性能。否则,线性搜索和二进制搜索方法可能需要更长时间,特别是对于大断点集。
启用此参数,设置索引搜索方法来线性搜索
或者二分查找
.
块参数:BeginIndexSearchUsing PreviousIndexResult |
类型:特征向量 |
价值观:”从“|”“ |
默认值:'离开' |
诊断超出范围的输入
-当输入超出范围时阻止动作没有一个
(默认)|警告
|错误
指定当输入超出范围时是否产生警告或错误。选项包括:
没有一个
-不产生响应。
警告
-显示警告并继续模拟。
错误
- 终止模拟并显示错误。
块参数:DiagnosticForOutOfRangeInput |
类型:特征向量 |
价值观:'无' | 'Warning' | 'Error' |
默认值:'没有任何' |
在上一个断点或断点以上的输入使用上一个表值
-计算在上一个断点或以上的输入输出的方法离开
(默认)|在
使用此复选框,指定块用于寻址断点集的最后一个元素及其相应的表值的索引约定。如果输入等于或大于断点数据的最后一个元素,则此复选框是相关的。由于舍入,选择和清除此复选框可能会导致模拟和代码生成之间最后一个断点的结果不同。
复选框 | 块使用的索引 | 分数间隔 |
---|---|---|
选择 | 上的断点数据的最后一个元素表和断点标签 | 0 |
清除 | 上的断点数据的倒数第二个元素表和断点标签 | 1 |
给出一个输入u在断点集的范围内英国石油公司,间隔分数f,取值范围为0f1、计算如下:
假设断点集为(1 4 5)
并输入u是5.5
.如果选中此复选框,则索引为最后一个元素的索引(5
),区间分数为0。如果清除此复选框,则索引为倒数第二个元素的索引(4
),区间分数为1。
要启用该参数,请设置:
插值方法来线性
.
外推法来夹子
.
块参数:USELASTTABLEVALUE. |
类型:特征向量 |
价值观:”从“|”“ |
默认值:'离开' |
使用一个输入端口进行所有输入数据
—只能使用一个输入端口离开
(默认)|在
选择此复选框只使用一个期望信号为n
n维表的宽元素。这个选项对于消除带有许多查找表的框图中的行杂乱很有用。
当您选择此复选框时,一个带有标签的输入端口u
出现在街区上。
块参数:UseOneInputPortForAllInputData |
类型:特征向量 |
价值观:”从“|”“ |
默认值:'离开' |
删除防止生成代码中的范围超出输入的保护
- 删除检查超出范围输入值的代码离开
(默认)|在
指定是否包含检查超出范围的输入值的代码。
复选框 | 结果 | 什么时候使用 |
---|---|---|
|
生成的代码不包括用于检查超出范围的断点输入的条件语句。 当输入超出范围时,可能会导致生成的代码和使用加速模式的模拟的未定义行为。 |
代码效率 |
|
生成的代码包括条件语句,用于检查超出范围的输入。 |
对于安全性至关重要的应用程序 |
如果您的输入没有超出范围,您可以选择在生成的代码中删除对超出范围索引的保护复选框用于代码效率。默认情况下,此复选框被清除。对于安全要求严格的应用程序,不要选中此复选框。如果你想选择在生成的代码中删除对超出范围索引的保护复选框,首先检查您的模型输入是否在范围内。例如:
清除在生成的代码中删除对超出范围索引的保护复选框。
设定诊断超出范围的输入参数错误
.
以正常模式模拟模型。
如果存在超出范围的错误,请将它们固定到范围内并再次运行模拟。
当模拟不再产生超出范围的输入错误时,选择在生成的代码中删除对超出范围索引的保护复选框。
当你选择在生成的代码中删除对超出范围索引的保护复选框和输入k
或者f
超出范围,使用加速器模式的生成代码和模拟的行为未定义。
根据您的应用程序,您可以运行以下Model Advisor检查,以验证此复选框的使用情况:
通过产品>嵌入式编码器>识别生成昂贵超出检查代码的查找表块
通过产品>金宝app仿真软件检查>建模标准>- 331 - 178 - c /做检查吗>检查查找表块的使用情况
有关Model Advisor的更多信息,请参见运行模型顾问检查.
块参数:removeProtectionInput. |
类型:特征向量 |
价值观:”从“|”“ |
默认值:'离开' |
金宝app在代码生成中支持可调表大小
-在生成的代码中启用可调表大小离开
(默认)|在
选中此复选框可在生成的代码中启用可调优的表大小。此选项使您可以在生成的代码中更改查找表和断点数据的大小和值,而无需重新生成或重新编译代码。您只能减小查找表和断点数据的大小。
如果你设置插值方法来三次样条
,此复选框不可用。
块参数:金宝app支持tunableTablesize. |
类型:特征向量 |
价值观:”从“|”“ |
默认值:'离开' |
每个维度的最大指标
-每个表维度的最大索引值[]
(默认)|正整数值的标量或向量
例子:(4 - 6)
一张5乘7的桌子
使用基于零的索引为每个表维指定最大索引值。可以使用以下数据类型指定正整数值的标量或向量:
内置的浮点类型:双
和单
内置整数类型:int8
,int16
,int32
,uint8
,uint16
, 和uint32
有效规范的例子包括:
(4 - 6)
一张5乘7的桌子
[int8 (2) int16 (5) int32 (9)]
一张3 × 6 × 10的桌子
一个金宝app仿真软件。参数
它在生成代码时的值比表数据的维小1。有关更多信息,请参见生成代码中的可调表大小.
要启用此参数,请选择金宝app在代码生成中支持可调表大小.在生成的代码中调优此参数时,提供新的表数据和断点以及调优的参数值。
块参数:MaximumIndicesForEachDimension |
类型:特征向量 |
价值观:正整数值的标量或向量 |
默认值:“[]” |
表数据
—表数据的数据类型继承:与输出相同
(默认)|双
|单
|int8
|uint8
|int16
|uint16
|int32
|uint32
|int64
|uint64
|Fixdt(1,16)
|Fixdt(1,16,0)
|fixdt(1, 16日2 ^ 0,0)
|<数据类型>表达
指定表数据类型。你可以设置为:
继承数据类型的规则,例如,继承:与输出相同
内置数据类型的名称,例如,单
数据类型对象的名称,例如金宝app仿真软件。NumericType
对象
计算结果为数据类型的表达式,例如,Fixdt(1,16,0)
点击显示数据类型助手按钮来显示数据类型助手,它可以帮助您设置数据类型属性。有关更多信息,请参见使用数据类型助手指定数据类型.
在这些情况下,指定与输出数据类型不同的表数据类型:
存储使用比输出信号更小类型的表数据所需的内存更低
在两者之间共享预伸缩表数据一天的查找表具有不同输出数据类型的块
在生成的代码中共享具有不同输出数据类型的块的自定义存储表数据
块参数:TableDataTypeStr |
类型:特征向量 |
价值观:'继承:继承'tabes data''|'继承:与输出相同'|'双'|'单身'|'int8'|'uint8'|'int16'|'UINT16'|'int32'|'uint32'| 'int64' | 'uint64' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)'|'' |
默认值:“继承:与输出相同” |
表数据最低
—表数据的最小值[]
|标量
指定表数据的最小值。默认值为[]
(不明)。
块参数:桌面 |
类型:特征向量 |
价值观:标量 |
默认值:“[]” |
表数据最大
—表数据的最大值[]
|标量
指定表数据的最大值。默认值为[]
(不明)。
块参数:TableMax |
类型:特征向量 |
价值观:标量 |
默认值:“[]” |
断点
—断点数据类型继承:与相应的输入相同
(默认)|双
|单
|int8
|uint8
|int16
|uint16
|int32
|uint32
|int64
|uint64
|Fixdt(1,16)
|Fixdt(1,16,0)
|fixdt(1, 16日2 ^ 0,0)
|枚举:<类名>
|<数据类型>表达
指定一组断点数据的数据类型。你可以设置为:
继承数据类型的规则,例如,继承:与相应的输入相同
内置数据类型的名称,例如,单
数据类型类的名称,例如,枚举数据类型类
数据类型对象的名称,例如金宝app仿真软件。NumericType
对象
计算结果为数据类型的表达式,例如,Fixdt(1,16,0)
断点支持无序枚举数据。金宝app因此,线性搜索也是无序的,这提供了灵活性,但可能会影响性能。搜索从断点中的第一个元素开始。
如果是使用以前的索引结果开始索引搜索选中选中框,您必须使用订购的单调增加数据。此订购可提高性能。
对于枚举数据,外推法必须是夹子
.
该块不支持枚举数据的超出范围的输入。金宝app当指定枚举数据时,在断点数据集中包含整个枚举集。例如,使用the枚举
函数。
这是使用此块使用枚举数据的限制:
该块不支持枚举数据的超出范围的输入。金宝app当指定枚举数据时,在断点数据集中包含整个枚举集。例如,使用the枚举
函数。
点击显示数据类型助手按钮来显示数据类型助手,它可以帮助您设置数据类型属性。有关更多信息,请参见使用数据类型助手指定数据类型.
为这些情况指定与相应输入数据类型不同的断点数据类型:
使用比输入信号更小的类型存储断点数据所需的内存更低
在两者之间共享预先设定的断点数据一天的查找表具有不同输入数据类型的块
在生成的代码中共享具有不同输入数据类型的块的自定义存储断点数据
块参数:breakpointsfordimension 2datattypestr |…| BreakpointsForDimension30DataTypeStr |
类型:特征向量 |
价值观:继承:继承from ` Breakpoint data ` | ` double ` | ` single ` | ` 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 |breakpointsfordimension2max |... |breakpointsfordimension30max. |
类型:特征向量 |
价值观:标量 |
默认值:“[]” |
分数
-分数数据类型继承:通过内部规则继承
(默认)|双
|单
|Fixdt(1,16,0)
|<数据类型>表达
指定分数数据类型。你可以设置为:
继承数据类型的规则,例如,继承:通过内部规则继承
内置数据类型的名称,例如,单
数据类型对象的名称,例如金宝app仿真软件。NumericType
对象
计算结果为数据类型的表达式,例如,Fixdt(1,16,0)
点击显示数据类型助手按钮来显示数据类型助手,它可以帮助您设置数据类型属性。有关更多信息,请参见使用数据类型助手指定数据类型.
块参数:FractionDataTypeStr |
类型:特征向量 |
价值观:fixdt(1,16,0)'|'' |
默认值:“继承:通过内部规则继承” |
中间结果
—中间结果数据类型继承:与输出相同
(默认)|双
|单
|int8
|uint8
|int16
|uint16
|int32
|uint32
|int64
|uint64
|Fixdt(1,16)
|Fixdt(1,16,0)
|fixdt(1, 16日2 ^ 0,0)
|<数据类型>表达
指定中间结果数据类型。你可以设置为:
继承数据类型的规则,例如,继承:与输出相同
内置数据类型的名称,例如,单
数据类型对象的名称,例如金宝app仿真软件。NumericType
对象
计算结果为数据类型的表达式,例如,Fixdt(1,16,0)
点击显示数据类型助手按钮来显示数据类型助手,它可以帮助您设置数据类型属性。有关更多信息,请参见使用数据类型助手指定数据类型.
使用此参数可以指定与表数据或输出数据相比,内部计算的精度更高(或更低)。
块参数:IntermediateResultsDataTypeStr |
类型:特征向量 |
价值观:继承:同output' |' double' |' single' |' 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)
|<数据类型>表达
指定输出数据类型。你可以设置为:
继承数据类型的规则,例如,继承:通过反向传播继承
内置数据类型的名称,例如,单
数据类型对象的名称,例如金宝app仿真软件。NumericType
对象
计算结果为数据类型的表达式,例如,Fixdt(1,16,0)
点击显示数据类型助手按钮来显示数据类型助手,它可以帮助您设置数据类型属性。有关更多信息,请参见使用数据类型助手指定数据类型.
块参数:OutDataTypeStr |
类型:特征向量 |
价值观:'继承:通过后传播继承'|'继承:继承来自表数据'|'继承:与第一个输入相同'|'双'|'单身'|'int8'|'uint8'|'int16'|'UINT16'|'int32'| 'uint32' | 'int64' | 'uint64' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)'|' |
默认值:“继承:与第一次输入相同” |
输出最小
—块可以输出的最小值[]
|标量
指定块输出的最小值。默认值为[]
(不明)。金宝appSimulink软件使用这个值来执行:
参数范围检查(参见指定块参数的最小值和最大值)。
模拟距离检查(见信号范围)。
定点数据类型的自动缩放。
优化您从模型生成的代码。该优化可以删除算法代码并影响某些模拟模式的结果,例如SIL或外部模式。有关更多信息,请参见使用指定的最小值和最大值进行优化(金宝app仿真软件编码器)。
块参数:inumin. |
类型:特征向量 |
价值观:标量 |
默认值:“[]” |
输出最大
—块可输出的最大值[]
|标量
指定块可以输出的最大值。默认值为[]
(不明)。金宝appSimulink软件使用这个值来执行:
参数范围检查(参见指定块参数的最小值和最大值)。
模拟距离检查(见信号范围)。
定点数据类型的自动缩放。
优化您从模型生成的代码。该优化可以删除算法代码并影响某些模拟模式的结果,例如SIL或外部模式。有关更多信息,请参见使用指定的最小值和最大值进行优化(金宝app仿真软件编码器)。
块参数:OutMax |
类型:特征向量 |
价值观:标量 |
默认值:“[]” |
内部规则优先级
- 中间计算的内部规则速度
(默认)|精度
指定中间计算的内部规则。选择速度
为了更快的计算。如果您这样做,可能会发生准确性,通常最多2位。
块参数:InternalRulePriority |
类型:特征向量 |
价值观:“速度”|“精度” |
默认值:“速度” |
要求所有输入具有相同的数据类型
-要求所有输入具有相同的数据类型在
(默认)|离开
选择此选项可要求所有输入具有相同的数据类型。
块参数:InputSameDT |
类型:特征向量 |
价值观:”从“|”“ |
默认值:“上” |
锁定数据类型设置以防止固定点工具的更改
- 防止定点工具覆盖数据类型离开
(默认)|在
选择此参数可防止定点工具覆盖在此块上指定的数据类型。有关更多信息,请参见锁定输出数据类型设置(定点设计师)。
块参数:LockScale |
类型:特征向量 |
价值观:”从“|”“ |
默认值:'离开' |
整数舍入模式
- 用于定点操作的舍入模式最简单的
(默认)|天花板
|收敛
|地板上
|最近的
|圆形的
|零
指定在模拟或执行从模型生成的代码期间发生的固定点查找表计算的舍入模式。有关更多信息,请参见舍入(定点设计师)。
此选项不会影响块参数的舍入。金宝appSimulink将这样的值舍入到最接近的可表示的整数值。要控制块参数的舍入,请使用MATLAB输入表达式®四舍五入功能到块对话框的编辑字段。
块参数:RndMeth |
类型:特征向量 |
价值观:'天花板' | '收敛' | '地板' | '最近' | 'Round' | '最简单' | '零' |
默认值:“简单” |
整数溢出饱和
-溢出动作的方法离开
(默认)|在
行动 | 采取这一行动的原因 | 溢出会发生什么 | 例子 |
---|---|---|---|
选中此复选框( |
您的模型可能溢出,并且您希望在生成的代码中进行显式饱和保护。 |
溢出会饱和到数据类型所能表示的最小值或最大值。 |
与带符号的8位整数相关联的溢出可以饱和为-128或127。 |
请勿选中此复选框( |
您希望优化生成代码的效率。 您希望避免过度指定块如何处理超出范围的信号。有关更多信息,请参见检查信号范围错误. |
溢出包装为数据类型可表示的适当值。 |
数字130不适用于带符号的8位整数,它将自动换行为-126。 |
如果将模型保存为版本R2009a或更早的版本,则此复选框设置没有效果,也不会出现饱和度代码。这种行为保持了向后兼容性。
当您选中此复选框时,饱和度将应用于块上的每个内部操作,而不仅仅是输出或结果。一般来说,代码生成过程可以在不可能溢出时进行检测。在这种情况下,代码生成器不会产生饱和代码。
块参数:SaturateOnIntegerOverflow |
类型:特征向量 |
价值观:”从“|”“ |
默认值:'离开' |
数据类型 |
|
直接喂养 |
|
多维信号 |
|
可变尺寸信号 |
|
讨论二阶导数过零检测 |
|
假设您有一个查找表并希望在生成的代码中调谐调谐。当你使用时金宝app仿真软件。LookupTable
和金宝app仿真软件。断点
对象来配置生成代码中用于校准的查找表数据,请使用金宝app支持thablyably.
属性以启用可调优表大小。如果不使用这些类,请使用金宝app在代码生成中支持可调表大小参数在一个一天的查找表块以启用可调表大小。
假设:
你定义A.金宝app仿真软件。参数
结构在你的模型的预加载函数:
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 = '总线:slLookupTable'; p.CoderInfo.StorageClass = 'ExportedGlobal'; % Create bus object slBus1 from MATLAB structure Simulink.Bus.createObject(p.Value); 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
/ *导出块参数* / sllocookupt 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}};/* More code */ /* Model output function */ static void ex_lut_nd_tunable_table_output(int_T tid) { /* Lookup_n-D: '/n-D Lookup Table' incorporates: * Inport: ' /In1' * Inport: ' /In2' */Y = look2_binlcpw(U1, U2, p.BP1, p.BP2, p.Table,…p.MaxIdx, p.MaxIdx[0] + 1U);/* Outport: ' /Out1' */ ex_lut_nd_tunable_table_Y. txt . txt . txt着干活= Y;/* tid是一个统一的函数接口所必需的。*参数tid未在函数中使用。* / UNUSED_PARAMETER (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 80-5 0]
.
断点1值是枚举(齿轮)
.
插值方法是平的。
对于无序搜索,设置索引搜索方法来线性搜索
并清楚地清除使用以前的索引结果开始索引搜索复选框。
模拟生成一个矢量(80 5)
,对应于GEAR2
,反向
, 和体育
.
HDL Coder™提供了影响HDL实现和合成逻辑的其他配置选项。
此块具有单个默认的HDL体系结构。
ConstrainedOutputPipeline | 通过在您的设计中移动现有延迟,在输出处放置寄存器数。分布式流水线不会重新分配这些寄存器。默认值是 |
InputPipeline | 要插入生成代码的输入管道阶段的数目。分布式管道和受约束的输出管道可以移动这些寄存器。默认值是 |
OutputPipeline | 要插入生成代码的输出管道阶段的数量。分布式管道和受约束的输出管道可以移动这些寄存器。默认值是 |
此块支持复杂信号的代码金宝app生成。
最多10个设备设置
如果你使用英特尔®最多10个设备,要将查找表映射到RAM,请在Quartus工具中创建项目时添加此TCL命令:
set_global_assign -name INTERNAL_FLASH_UPDATE_MODE "SINGLE IMAGE WITH ERAM"
块设置要求
块设置 | 高密度脂蛋白编码器支金宝app持 |
---|---|
表维数 | 最大尺寸为2。 |
断点规范 | 选择任一个明确的价值观 或者甚至间隔 . |
索引搜索方法 | 选择均匀的间隔点 . |
外推法 | 选择夹子 .代码生成器不支持超越边界的推断。金宝app |
插值方法 | 选择平 或者线性点斜式 . |
诊断超出范围的输入 | 选择错误 .如果指定其他选项,HDL编码器会生成警告。 |
在上一个断点或断点以上的输入使用上一个表值 | 选中此复选框。 |
要求所有输入具有相同的数据类型 | 选中此复选框。 |
分数 | 选择继承:通过内部规则继承 . |
整数舍入模式 | 选择零 ,地板上 ,或最简单的 . |
避免生成除法运算符
如果HDL编码器遇到需要匹配模型仿真行为所需的条件,则会显示警告。所描述的条件导致该块发出划分操作员。当您使用此块进行HDL代码生成时,请避免以下条件:
如果块被配置为使用插值,则需要一个除法运算符。为了避免这个要求,设置插值方法:平
.
不均匀的表间距。HDL代码生成要求块使用均匀间隔点算法。从输入数据类型到零基表索引的块映射通常需要一个划分。当断点间距是2的精确功率时,该鸿沟实现为换档而不是分割。要调整断点间距,请调整表中的断点数,或断点范围的左侧和右侧之间的差异。
表数据类型和大小调整
良好的做法是构建你的桌子,使得断点之间的间距是两个的力量。如果断点间距不符合此条件,则HDL编码器发出警告。当断点间距是两个功率时,您可以用右移操作替换PRELookup步骤中的划分操作。
表数据必须解析为非流点数据类型。
块上的所有端口都需要标量值。
金宝app仿真软件PLC编码器™对查找表块的支持有限。金宝app编码器不支持:金宝app
大于2的维数
三次样条插值方法
使用先前的索引模式开始索引搜索
三次样条外推法
直接查询表(n-D)|使用prelookup插值|动态查找表|Prelookup|金宝app仿真软件。断点
|金宝app仿真软件。LookupTable
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。