Prelookup
计算 Interpolation Using Prelookup 模块的索引和区间比

库:
Simulink /
Lookup Tables
HDL Coder /
Lookup Tables
描述
Prelookup 模块计算索引和区间比,这些数据说明输入值 u
与断点数据集的相对关系。Prelookup 模块最适合与 Interpolation Using Prelookup 模块结合使用。将生成的索引和区间比值馈送给 Interpolation Using Prelookup 模块,以便对 n 维表进行插值。这两个模块采用分布式算法。二者结合使用时,执行的运算与 n-D Lookup Table 模块中的积分算法相同。但是,相比 n-D Lookup Table 模块,Prelookup 和 Interpolation Using Prelookup 模块提供了更大的灵活性以及更高效的仿真和代码生成。有关详细信息,请参阅 执行效率。
支持的模块运算
要使用 Prelookup 模块,您必须指定一组断点值。您可以选择是直接在对话框中指定断点值,还是通过将源参数设置为“对话框
”或“输入端口
”来向 bp
输入端口馈送值。通常情况下,此断点数据集对应于 Interpolation Using Prelookup 模块中一个维度的表数据。Prelookup 模块通过计算以下项为每个输入值 u
生成一对输出:
小于或等于
u
且构成包含u
的区间的断点集元素的索引区间比(0 ≤ f < 1),表示
u
在其所在断点区间前后索引值间的归一化位置
例如,如果断点数据集是 [0 5 10 20 50 100]
且输入值 u
是 55,则索引为 4 且区间比值为 0.1。索引和区间比的标签在 Prelookup 模块图标上显示为 k 和 f。索引值从零开始。
对于超出范围的输入,区间比可以为负或大于 1
。请参阅外插方法模块参数以了解详细信息。
示例
端口
输入
Port_1 — 输入信号,u
标量 | 向量 | 矩阵
Prelookup 模块接受 Simulink® 支持的任何数值数据类型的实数值信号,但布尔类型除外。Prelookup 模块支持信号和断点数据的定点数据类型。
数据类型: half
| single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
| enumerated
| bus
bp — 断点数据
实数值信号的一维向量
Prelookup 模块接受以 Simulink 支持的任何数值数据类型的断点数据表示的实数值信号,但布尔类型除外。
数据类型: half
| single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
| enumerated
输出
k — 包含输入 u
的区间的索引
标量 | 向量 | 矩阵
从 0 开始的索引 k 是实数值整数,它指定包含输入 u
的区间。
依存关系
要启用此端口,请将输出选择设置为“索引和区间比
”或“仅索引
”。
数据类型: int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
f — 表示区间 k 内输入 u
的归一化位置的小数
标量 | 向量 | 矩阵
比值 f 表示区间 k 内输入 u
的归一化位置。
依存关系
要启用此端口,请将输出选择设置为“索引和区间比
”。
数据类型: single
| double
| fixed point
Port_2 — 包含索引 k 和区间比 f 的总线
总线
将索引 k 和区间比 f 作为总线对象输出可以帮助简化模型。
依存关系
要启用此端口,请将输出选择设置为“索引和区间比作为总线
”。
数据类型: bus
参数
常设
断点数据设定 — 选择如何输入断点数据
“显式值
” (默认) | “等间距
” | “断点对象
”
如果将此参数设置为:
“
显式值
”,则源和值参数在对话框中可见。“
等间距
”,则第一个点、间距和点数参数在对话框中可见。“
断点对象
”,则名称参数在对话框中可见。
编程用法
模块参数:BreakpointsSpecification |
类型:字符向量 |
值:'Explicit values' | 'Even spacing' | 'Breakpoint object' |
默认值:'Explicit values' |
源 — 指定断点数据的来源
“对话框
” (默认) | “输入端口
”
如果将源设置为:
“
对话框
”,则在值下指定断点数据。“
输入端口
”,请验证上游信号为bp
输入端口提供了断点数据。每个断点数据集必须是包含两个或更多元素的严格单调递增的向量。对于此选项,您的模块从bp
输入端口继承断点属性。
依存关系
要启用此参数,请将设定设置为“显式值
”。
编程用法
模块参数:BreakpointsDataSource |
类型:字符向量 |
值:'Dialog' | 'Input port' |
默认值:'Dialog' |
值 — 断点数据值
[10:10:110]
(默认) | 包含两个或更多元素的严格单调递增值的向量
显式指定断点数据。每个断点数据集必须是包含两个或更多元素的严格单调递增的向量。对于此选项,请在数据类型窗格上指定其他断点属性。
要打开查找表编辑器,请点击编辑(请参阅Edit Lookup Tables)。
注意
当您将设定设置为“显式值
”且源设置为“输入端口
”时,请验证上游信号为 bp
输入端口提供了断点数据。每个断点数据集必须是包含两个或更多元素的严格单调递增的向量。对于此选项,您的模块从 bp
输入端口继承断点属性(包括数据类型)。
依存关系
要启用此参数,请将设定设置为“显式值
”并将源设置为“对话框
”。
编程用法
模块参数:BreakpointsData |
类型:字符向量 |
值:包含两个或更多元素的严格单调递增值的向量 |
默认值:'[10:10:110]' |
第一个点 — 等间距断点数据中的第一个点
10
(默认) | real-valued scalar
依存关系
要启用此参数,请将设定设置为“等间距
”。
编程用法
模块参数:BreakpointsFirstPoint |
类型:字符向量 |
值:real-valued scalar |
默认值:'10' |
间距 — 等间距断点之间的间距
10
(默认) | real-valued, positive scalar
依存关系
要启用此参数,请将设定设置为“等间距
”。
编程用法
模块参数:BreakpointsSpacing |
类型:字符向量 |
值:real-valued, positive scalar |
默认值:'10' |
点数 — 等间距点数量
11
(默认) | real-valued, positive scalar
依存关系
要启用此参数,请将设定设置为“等间距
”。
编程用法
模块参数:BreakpointsNumPoints |
类型:字符向量 |
值:real-valued, positive scalar |
默认值:'11' |
名称 — Simulink.Breakpoint
对象的名称
no default
| Simulink.Breakpoint
指定 Simulink.Breakpoint
对象的名称。一个断点对象引用 Simulink 断点对象。如果 Simulink.Breakpoint
对象不存在,请点击操作按钮 并选择创建。新断点对象的对应参数会自动用模块信息填充。
依存关系
要启用此参数,请将设定设置为“断点对象
”。
编程用法
模块参数:BreakpointObject |
类型:字符向量 |
值:Simulink.Breakpoint 对象 |
默认值:'' |
输出选择 — 指定模块输出的信号
“索引和区间比
” (默认) | “索引和区间比作为总线
” | “仅索引
”
如果您希望模块输出索引和区间比,可以指定模块是输出单个信号还是输出同时包含索引和区间比信号的总线信号。
“
仅索引
”仅输出索引,不输出区间比。此选项的典型应用包括:馈送给 Direct Lookup Table (n-D) 模块,在区间上无插值
馈送给为 Interpolation Using Prelookup 模块选择的子表的端口
执行非线性量化
“
索引和区间比
”输出单个信号形式的索引和区间比。“
索引和区间比作为总线
”输出包含索引和区间比信号的总线信号。对这两种信号使用总线:通过将这两种信号关联在一起来简化模型
为 AUTOSAR 4.0 库创建测试点
DpResult
结构体对于 AUTOSAR 4.0 库,避免当 Prelookup 和 Interpolation Using Prelookup 模块处于不同模型中时在代码生成过程中创建额外副本
注意
选择“
索引和区间比作为总线
”将在数据类型窗格中显示输出参数,并将输出参数设置为 “Inherit: auto
”。更改此默认值可指定用户定义的总线对象。有关定义总线对象的详细信息,请参阅输出参数说明。
编程用法
模块参数:OutputSelection |
类型:字符向量 |
值:'Index and fraction' | 'Index and fraction as bus' | 'Index only' |
默认值:'Index and fraction' |
索引搜索方法 — 搜索断点数据的方法
“二分搜索
” (默认) | “线性搜索
” | “等距点
”
每种搜索方法在不同情况下均有各自的速度优势:
对于等间距断点集(例如,10、20、30 等),您可以选择“
等距点
”来计算表索引,以获得最佳速度。此算法仅使用断点集的前两个断点来确定其余点的偏移量和间距。对于非等间距断点集,请遵循以下原则:
如果
u
的输入值在各时间步之间变化不大,选择“线性搜索
”和使用上一个索引结果开始索引搜索将获得最佳性能。如果
u
的输入值在每个时间步跳过一个或两个以上的表间隔,则选择“二分搜索
”将获得最佳性能。
对于严重依赖查找表的模型,选择次优索引搜索方法可能会导致性能下降。
注意
在以下情况下,生成的代码只存储第一个断点、间距和断点数量:
断点数据不可调。
索引搜索方法是“
等间距点
”。
编程用法
模块参数:IndexSearchMethod |
类型:字符向量 |
值:'Evenly spaced points' | 'Linear search' | 'Binary search' |
默认值:'Binary search' |
使用上一个索引结果开始索引搜索 — 使用在上一个时间步中找到的索引开始搜索
off
(默认) | on
对于相对于间隔大小而言变化缓慢的 u
输入值,启用此选项可以提高性能。否则,线性搜索和二分搜索方法可能需要更长的时间,尤其是对于大型断点集来说。
编程用法
模块参数:BeginIndexSearchUsingPreviousIndexResult |
类型:字符向量 |
值:'off' | 'on' |
默认值:'off' |
外插方法 — 处理超出范围的输入值的方法
“裁剪
” (默认) | “线性
”
选项包括:
“
裁剪
”模块输入 模块输出 小于第一个断点
第一个断点的索引(例如
0
)区间比为
0
大于最后一个断点
倒数第二个断点的索引
区间比为
1
假定范围是
[1 2 3]
并且您选择了此选项。如果u
是0.5
,则索引为0
,且区间比为0
。如果u
是3.5
,则索引为1
,且区间比为1
。“
线性
”模块输入 模块输出 小于第一个断点
第一个断点的索引(例如
0
)表示从
u
到第一个断点的线性距离的区间比
大于最后一个断点
倒数第二个断点的索引
表示从倒数第二个断点到
u
的线性距离的区间比
假定范围是
[1 2 3]
并且您选择了此选项。如果u
是0.5
,则索引为0
,且区间比为-0.5
。如果u
是3.5
,则索引为1
,且区间比为1.5
。
注意
仅当满足以下所有条件时,Prelookup 模块才支持线性外插:
输入
u
、断点数据和小数输出使用浮点数据类型。索引使用内置的整数数据类型。
编程用法
模块参数:ExtrapMethod |
类型:字符向量 |
值:'Clip' | 'Linear' |
默认值:'Clip' |
将最后一个断点用于等于或高于上限的输入 — 处理等于或高于上限的输入的方法
off
(默认) | on
指定如何对大于或等于最后一个断点的 u
的输入值进行索引。索引值从零开始。当输入等于最后一个断点时,模块输出有所不同,如下所示。
复选框 | 模块输出 |
---|---|
选中 ( |
|
清除 ( |
|
提示
当您对 Prelookup 模块选择将最后一个断点用于等于或高于上限的输入时,还必须对它所连接的 Interpolation Using Prelookup 模块选择有效的索引输入可到达最后一个索引。此操作允许模块在访问其断点和表数据集的最后一个元素时使用相同的索引约定。
依存关系
仅在以下情况下,此复选框才可见:
仅输出索引处于清除状态
外插方法为“
裁剪
”
然而,当选择仅输出索引且外插方法为“裁剪
”时,模块的行为就好像此复选框处于选中状态一样,即使此复选框不可见。
编程用法
模块参数:UseLastBreakpoint |
类型:字符向量 |
值:'off' | 'on' |
默认值:'off' |
输入超出范围的诊断 — 当输入超出范围时的模块操作
“无
” (默认) | “警告
” | “错误
”
选项包括:
“
无
” - 不产生任何响应。“
警告
” - 显示警告并继续进行仿真。“
错误
” - 终止仿真并显示错误。
编程用法
模块参数:DiagnosticForOutOfRangeInput |
类型:字符向量 |
值:'None' | 'Warning' | 'Error' |
默认值:'None' |
删除生成代码中防止超范围输入的代码 — 删除检查超出范围的断点输入的代码
Off
(默认) | On
复选框 | 结果 | 何时使用 |
---|---|---|
| 生成的代码中未包含用来检查超出范围的断点输入的条件语句。 当输入超出范围时,生成的代码可能会发生未定义的行为。 | 提高代码效率 |
| 生成的代码包含用来检查超出范围的断点输入的条件语句。 | 适用于安全性至关重要的应用领域 |
如果您的输入没有超出范围,则可以选中删除生成代码中防止超范围索引的代码复选框以提高代码效率。默认情况下,此复选框处于清除状态。对于安全性至关重要的应用,不要选中此复选框。要选中删除生成代码中防止超范围索引的代码复选框,请先检查模型输入是否在范围内。例如:
清除删除生成代码中防止超范围索引的代码复选框。
将输入超出范围的诊断参数设置为
Error
。在普通模式下进行模型仿真。
如果发生超出范围错误,请将它们更正到范围之内,然后再次运行仿真。
当仿真不再生成超出范围的输入错误时,选中删除生成代码中防止超范围索引的代码复选框。
注意
如果选中了删除生成代码中防止超范围索引的代码复选框而输入超出范围,生成的代码将发生未定义的行为。
根据您的具体应用,您可以运行以下模型顾问检查,以验证此复选框的使用情形:
此外,要确定选中此复选框是否安全,如果您拥有 Simulink Design Verifier™ 许可证,请考虑使用 Detect Block Input Range Violations (Simulink Design Verifier) 检查。
按产品 > Embedded Coder > 标识哪些查找表模块会生成检查超范围值的高成本代码
按产品 > Simulink Check > 建模标准 > DO-178C/DO-331 检查 > 检查 Lookup Table 模块的使用情形
有关模型顾问的详细信息,请参阅运行模型顾问检查。
编程用法
模块参数:RemoveProtectionInput |
类型:字符向量 |
值:'off' | 'on' |
默认值:'off' |
采样时间 — -1
以外的采样时间值
-1
(默认) | 标量 | 向量
将采样时间指定为 -1
以外的值。有关详细信息,请参阅指定采样时间。
依存关系
此参数不可见,除非将其显式设置为 -1
以外的值。要了解详细信息,请参阅不建议设置采样时间的模块。
编程用法
模块参数:SampleTime |
类型:字符串标量或字符向量 |
默认值:"-1" |
数据类型
断点 — 断点数据类型
Inherit: Same as input
(默认) | Inherit: Inherit 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)
| Enum: <class name>
| <data type expression>
指定断点数据类型。可以将其设置为:
继承数据类型的规则,例如 “
Inherit: Same as input
”内置数据类型的名称,例如
single
数据类型类的名称,例如枚举数据类型类
计算结果为数据类型的表达式,例如
fixdt(1,16,0)
点击显示数据类型助手按钮 以显示数据类型助手,帮助您设置数据类型属性。有关详细信息,请参阅使用数据类型助手指定数据类型。
提示
对于以下情况,指定不同于输入
u
的数据类型的断点数据类型:使用比输入信号
u
的类型更小的数据类型存储断点数据时,对内存的要求较低在其输入
u
具有不同数据类型的两个 Prelookup 模块之间共享预定标的断点数据在为输入
u
具有不同数据类型的模块生成的代码中共享自定义存储断点数据
如果断点数据类型或其对应的输入数据类型具有定点数据类型,请为二者指定相同的斜率和偏置。
枚举数据:
断点支持无序枚举数据。因此,线性搜索也是无序的,这就提供了灵活性,但可能影响性能。搜索从断点中的第一个元素开始。
如果选中使用上一个索引结果开始索引搜索复选框,则必须使用有序单调递增数据。这种排序可提高性能。
对于枚举数据,外插方法必须是
Clip
。因为区间比为
1
或0
,请选择输出选择 > 仅索引。如果将仅索引输出选择(即“仅索引”)设置与 Interpolation Using Prelookup 模块结合使用,请考虑使用子表选择维数参数。
以下是对此模块使用枚举数据的限制:
该模块不支持枚举数据的超出范围的输入。指定枚举数据时,请将整个枚举集包含在断点数据集中。例如,使用
enumeration
函数。当断点数据源设置为
Inport port
时,枚举数据类型必须将0
设置为默认值。例如,对于此枚举类,GEAR1
的默认值必须是0
。classdef(Enumeration) Gears < Simulink.IntEnumType enumeration GEAR1(1), GEAR2(2), GEAR3(4), GEAR4(8), SPORTS(16), REVERSE(32), NEUTRAL(0) end end
依存关系
要启用此参数,请将断点数据源设置为“对话框
”。
注意
将源设置为“输入端口
”时,模块会继承 bp
输入端口的所有断点属性(数据类型、最小值和最大值)。
编程用法
模块参数:BreakpointDataTypeStr |
类型:字符向量 |
值:'Inherit: Same as input' | 'Inherit: Inherit 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)'|'<data type expression>' |
默认值:'Inherit: Same as input' |
索引 — 索引数据类型
uint32
(默认) | int8
| uint8
| int16
| uint16
| int32
| uint32
| int64
| uint64
| fixdt(1,16)
| <data type expression>
指定可以对断点数据集中的所有元素进行索引的数据类型。您可以:
从列表中选择一种内置整数数据类型。
使用定点表示指定一种整数数据类型。
点击显示数据类型助手按钮 以显示数据类型助手,帮助您设置数据类型属性。有关详细信息,请参阅使用数据类型助手指定数据类型。
编程用法
模块参数:IndexDataTypeStr |
类型:字符向量 |
值: |
'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'fixdt(1,16)' | '<data type expression>' |
默认值:'uint32' |
区间比 — 区间比数据类型
Inherit: Inherit via internal rule
(默认) | double
| single
| fixdt(1,16,0)
| <data type expression>
指定区间比的数据类型。您可以:
从列表中选择一种内置数据类型。
通过内部规则指定数据类型继承。
使用 [斜率 偏置] 或二进制小数点定标表示指定一种定点数据类型。
如果您使用 [斜率 偏置] 表示,则定标必须为平凡 - 即斜率为
1
且偏置为0
。如果您使用二进制小数点表示,则固定的二次幂指数必须小于或等于零。
点击显示数据类型助手按钮 以显示数据类型助手,帮助您设置数据类型属性。有关详细信息,请参阅使用数据类型助手指定数据类型。
依存关系
仅当将常设选项卡上的输出选择设置为“索引和区间比
”时,才显示此参数。
编程用法
模块参数:FractionDataTypeStr |
类型:字符向量 |
值:'Inherit: Inherit via internal rule' | 'double' | 'single' | 'fixdt(1,16,0)' | '<data type expression>' |
默认值:'Inherit: Inherit via internal rule' |
输出 — 输出数据类型
Inherit: auto
(默认) | “bus: <object name>
”
要输出虚拟总线,请使用 Inherit: auto
设置。生成的虚拟总线包含两个元素:索引信号和区间比信号。
要输出和指定非虚拟总线,请使用 “Bus: <object name>
” 模板。将 “<object name>
” 替换为包含索引和区间比信号的总线对象的名称。
总线对象必须包含两个元素。第一个元素对应于索引信号,第二个元素对应于区间比信号。
索引和区间比总线元素信号不能是总线信号。
如果将输出选择设置为“
索引和区间比
”,则总线元素的数据类型和复杂程度必须也满足应用于索引和区间比信号的约束。
要创建具有索引和区间比总线元素的总线对象,请使用类似于以下代码的 MATLAB® 代码,并自定义总线对象名称以及总线元素的名称和数据类型。
% Bus object: kfBus elems(1) = Simulink.BusElement; elems(1).Name = 'Index'; elems(1).DataType = 'int8'; elems(2) = Simulink.BusElement; elems(2).Name = 'Fraction'; elems(2).DataType = 'double'; kfBus = Simulink.Bus; kfBus.Elements = elems; clear elems;
或者,您可以使用类型编辑器创建或修改要与 Prelookup 模块结合使用的总线对象。
如果将总线输出信号从此模块馈送到 Interpolation Using Prelookup 模块,请选中该模块中的需要以总线输出的索引和区间比复选框。
注意
使用定点工具数据类型选项会将总线对象覆盖为新总线对象,这些新总线对象将定点数据类型替换为浮点数据类型。
与 Prelookup 模块结合使用的被覆盖总线对象会导致错误,因为该模块不接受总线中的第一个元素为浮点数据类型。
如果您遇到此问题,请使用 Fix 按钮重新定义原始总线对象并防止其被覆盖。例如,假设您将总线对象的第一个元素定义为 int32
。
myBus.Elements(1).DataType
int32
点击 Fix 按钮会重新定义第一个总线元素:
myBus.Elements(1).DataType = 'fixdt(''int32'',''DataTypeOverride'',''Off'')'
点击显示数据类型助手按钮 以显示数据类型助手,帮助您设置数据类型属性。有关详细信息,请参阅使用数据类型助手指定数据类型。
依存关系
仅当将常设选项卡上的输出选择设置为“索引和区间比作为总线
”时,才显示此参数。
编程用法
模块参数:OutputBusDataTypeStr |
类型:字符向量 |
值:'Inherit: auto' | 'Bus: <object name>' | '<data type expression>' |
默认值:'Inherit: auto' |
断点最小值 — 最小值断点数据可以有
[]
(默认) | 标量
指定断点数据可以具有的最小值。默认值为 []
(未指定)。
依存关系
要启用此参数,请在常设选项卡上将断点数据源设置为“对话框
”。
编程用法
模块参数:BreakpointMin |
类型:字符向量 |
值:标量 |
默认值:'[]' |
断点最大值 — 最大值断点数据可以有
[]
(默认) | 标量
指定断点数据可以具有的最大值。默认值为 []
(未指定)。
依存关系
要启用此参数,请在常设选项卡上将断点数据源设置为“对话框
”。
编程用法
模块参数:BreakpointMax |
类型:字符向量 |
值:标量 |
默认值:'[]' |
锁定输出数据类型设置以防止被定点工具更改 — 防止定点工具覆盖输出数据类型
off
(默认) | on
选择此参数可防止定点工具覆盖您在模块上指定的输出数据类型。有关详细信息,请参阅Use Lock Output Data Type Setting (Fixed-Point Designer)。
编程用法
模块参数:LockScale |
类型:字符向量 |
值:'off' | 'on' |
默认值:'off' |
整数舍入模式 — 定点运算的舍入模式
“向下
” (默认) | “向上
” | “收敛
” | “最邻近值
” | “舍入
” | “最简
” | “零
”
指定定点运算的舍入模式。有关详细信息,请参阅舍入 (Fixed-Point Designer)。
模块参数始终舍入到最邻近的可表示值。要控制模块参数的舍入方法,请在封装字段中使用 MATLAB 舍入函数输入表达式。
编程用法
模块参数:RndMeth |
类型:字符向量 |
值:'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero' |
默认值:'Floor' |
模块特性
数据类型 |
|
直接馈通 |
|
多维信号 |
|
可变大小信号 |
|
过零检测 |
|
详细信息
Prelookup 中的枚举值
仿真具有枚举值的 Prelookup 模块。
假设您有一个具有类似如下定义的枚举类的 Prelookup 模块:
classdef(Enumeration) Gears < Simulink.IntEnumType enumeration GEAR1(1), GEAR2(2), GEAR3(4), GEAR4(8), SPORTS(16), REVERSE(-1), NEUTRAL(0) end end
Prelookup 模块具有以下设置:
断点数据值为
enumeration('Gears')
。输出选择为“
仅索引
”。对于无序搜索,请将索引搜索方法设置为“
线性搜索
”并清除使用上一个索引结果开始索引搜索复选框。外插方法为“
裁剪
”。
Interpolation Using Prelookup 模块具有以下设置:
维数设置为 “
1
”。表数据值为
[5 10 20 40 80 -5 0]
。内插方法为“
均一
”。子表选择维数为 “
1
”。
仿真产生对应于 GEAR2
、REVERSE
和 SPORTS
的向量 [10 -5 80]
。
扩展功能
C/C++ 代码生成
使用 Simulink® Coder™ 生成 C 代码和 C++ 代码。
HDL 代码生成
使用 HDL Coder™ 为 FPGA 和 ASIC 设计生成 Verilog 代码和 VHDL 代码。
HDL Coder™ 提供影响 HDL 实现和综合逻辑的额外配置选项。
此模块具有一个默认 HDL 架构。
ConstrainedOutputPipeline | 通过移动设计中现有延迟的方式来放置在输出端的寄存器的数量。分布式流水线处理不会重新分发这些寄存器。默认值为 |
InputPipeline | 要在生成的代码中插入的输入流水线阶段数。分布式流水线处理和受限输出流水线处理可以移动这些寄存器。默认值为 |
OutputPipeline | 要在生成的代码中插入的输出流水线阶段数。分布式流水线处理和受限输出流水线处理可以移动这些寄存器。默认值为 |
必需的模块设置
断点数据:对于源,选择“
对话框
”。设定:您可以选择“
显式值
”或“等间距
”。索引搜索方法:选择“
等距点
”。外插方法:选择“
裁剪
”。输入超出范围的诊断:选择“
错误
”。将最后一个断点用于等于或高于上限的输入:选中此复选框。
断点:对于数据类型,选择 “
Inherit: Same as input
”。整数舍入模式:选择“
零
”、“向下
”或“最简
”。
表数据定型和调整大小
构建表时,最好使断点之间的间距为 2 的幂。如果断点间距不符合此条件,HDL Coder 会发出警告。当断点间距是 2 的幂时,可以用右移位运算替换 prelookup 步骤中的除法运算。
模块上的所有端口都需要标量值。
代码生成器允许对断点使用浮点数据。
PLC 代码生成
使用 Simulink® PLC Coder™ 生成结构化文本代码。
Simulink PLC Coder 对查找表模块的支持有限。代码生成器不支持:
大于 2 的维度数
三次样条插值方法
使用先前的索引模式开始索引搜索
三次样条外插方法
定点转换
使用 Fixed-Point Designer™ 设计和仿真定点系统。
版本历史记录
在 R2006b 中推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)