Variable Integer Delay
按可变采样周期延迟输入信号
库:
Simulink /
Discrete
示例
Using Buses with Legacy Functions Having Structure Arguments
Use the Legacy Code Tool to integrate legacy C functions with structure arguments using Simulink® buses.
端口
输入
u — 数据输入信号
标量 | 向量
根据参数设置延迟的输入数据信号。
数据类型: half
| single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| enumerated
| bus
d — 延迟长度
标量
指定为从输入端口继承的延迟长度。当您对延迟长度:源参数选择输入端口时启用。
数据类型: half
| single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
Enable — 外部使能信号
标量
使能信号,用于启用或禁用模块的执行。要创建此端口,请选择显示使能端口参数。
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
External reset — 外部重置信号
标量
将模块的执行重置为初始状态的外部信号。要创建此端口,请选择外部重置参数。
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
x0 — 初始条件
标量 | 向量
指定为从输入端口继承的初始条件。当您对初始条件:源参数选择输入端口时启用。
数据类型: half
| single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
输出
参数
常设
延迟长度 — 延迟长度
对话框 (默认) | 输入端口
指定是直接在对话框中输入延迟长度(固定延迟),还是从输入端口继承(可变延迟)。
如果将源设置为对话框,请在值下面的编辑框中输入延迟长度。
如果将源设置为输入端口,请验证上游信号为
d
输入端口提供了延迟长度。您还可以通过指定参数上限来指定其最大值。
将标量延迟长度指定为非负实数整数。如果对话框中的值(固定延迟)超出范围或者为非整数,将返回错误。如果来自输入端口的值(可变延迟)超出范围,将被转换为位于范围之内的值。如果来自输入端口的值(可变延迟)为非整数,将截断为整数。
编程用法
模块参数:DelayLengthSource |
类型:字符向量 |
值:'Dialog' | 'Input port' | |
默认值:'Dialog' |
模块参数:DelayLength |
类型:字符向量 |
值:标量 |
默认值:'2' |
模块参数:DelayLengthUpperLimit |
类型:字符向量 |
值:标量 |
默认值:'100' |
初始条件 — 初始条件
对话框 (默认) | 输入端口
指定是直接在对话框中输入初始条件,还是从输入端口继承初始条件。
如果将源设置为对话框,请在值下面的编辑框中输入初始条件。
如果将源设置为输入端口,请验证上游信号为
x0
输入端口提供了初始条件。
Simulink® 使用舍入到最邻近值运算和饱和处理,将初始条件的数据类型脱机转换为输入信号 u
的数据类型。
注意
如果选中了状态属性窗格上的状态名称必须解析为 Simulink 信号对象,模块会将信号对象的初始值复制到初始条件参数中。但是,如果初始条件的源是输入端口,模块将忽略信号对象的初始值。
编程用法
模块参数:InitialConditionSource |
类型:字符向量 |
值:'Dialog' | 'Input port' | |
默认值:'Dialog' |
模块参数:InitialCondition |
类型:字符向量 |
值:标量 |
默认值:'0.0' |
输入处理 — 指定基于采样或基于帧的处理
元素作为通道(基于采样) (默认) | 列作为通道(基于帧)
指定模块是执行基于采样还是基于帧的处理:
列作为通道(基于帧) - 将输入信号的每一列视为一个单独的通道(基于帧的处理)。
注意
基于帧的处理需要具有 DSP System Toolbox™ 许可证。
有关详细信息,请参阅Sample- and Frame-Based Concepts (DSP System Toolbox)。
元素作为通道(基于采样) - 将输入信号的每个元素视为一个单独的通道(基于采样的处理)。
可以使用输入处理指定模块是执行基于采样的处理还是基于帧的处理。有关这两种处理模式的详细信息,请参阅Sample- and Frame-Based Concepts (DSP System Toolbox)。
编程用法
模块参数:InputProcessing |
类型:字符向量 |
值:'Columns as channels (frame based)' | 'Elements as channels (sample based)' |
默认值:'Elements as channels (sample based)' |
使用环形缓冲区保存状态 — 存储状态的环形缓冲区
off
(默认) | on
选择在仿真和代码生成时使用环形缓冲区来存储状态。在其他情况下,则使用数组缓冲区来存储状态。
当延迟长度值很大时,使用环形缓冲区可以提高执行速度。对于数组缓冲区,复制操作的数量随着延迟长度的增加而增加。对于环形缓冲区,不管延迟长度如何增加,复制操作的数量保持不变。
如果符合下列任一条件,都应使用数组缓冲区来存储状态,因为环形缓冲区不会提高执行速度:
对于基于采样的信号,延迟长度为 1。
对于基于帧的信号,延迟长度不大于帧大小。
编程用法
模块参数:UseCircularBuffer |
类型:字符向量 |
值:'off' | 'on' |
默认值:'off' |
防止直接馈通 — 防止直接馈通
off
(默认) | on
对于输入处理模式,选择此项可将延迟长度从零增加到下限值:
对于基于采样的信号,将最小延迟长度增加到 1。
对于基于帧的信号,将最小延迟长度增加到帧的长度。
选中此复选框可防止从输入端口 u
到输出端口的直接馈通。但是,此复选框无法阻止从初始条件端口 x0
到输出端口的直接馈通。
依存关系
要启用此参数,请将延迟长度:源设置为输入端口时,此复选框可用。
编程用法
模块参数:PreventDirectFeedthrough |
类型:字符向量 |
值:'off' | 'on' |
默认值:'off' |
在生成代码中去除延迟长度检查 — 删除延迟长度超出范围检查
off
(默认) | on
选择此选项可删除用来检查超出范围的延迟长度的代码。
复选框 | 结果 | 何时使用 |
---|---|---|
选中 | 生成的代码中未包含用来检查超出范围的延迟长度的条件语句。 | 提高代码效率 |
清除 | 生成的代码中包含检查超范围延迟长度的条件语句。 | 适用于安全性至关重要的应用领域 |
依存关系
要启用此参数,请将延迟长度:源设置为输入端口时,此复选框可用。
编程用法
模块参数:RemoveDelayLengthCheckInGeneratedCode |
类型:字符向量 |
值:'off' | 'on' |
默认值:'off' |
延迟长度的诊断 — 延迟长度的诊断检查
无 (默认) | 警告 | 错误
指定当输入 d
小于下限或大于延迟长度:上限时是否生成警告或错误。下限取决于防止直接馈通的设置。
如果清除此复选框,则下限为零。
如果选中此复选框,对于基于采样的信号,下限为 1;对于基于帧的信号,下限为帧的长度。
诊断选项包括:
None
- Simulink 软件不执行任何操作。Warning
- Simulink 软件显示警告并继续进行仿真。Error
- Simulink 软件终止仿真并显示错误。
依存关系
要启用此参数,请将延迟长度:源设置为输入端口时,此复选框可用。
编程用法
模块参数:DiagnosticForDelayLength |
类型:字符向量 |
值:'None' | 'Warning' | 'Error' |
默认值:'None' |
显示使能端口 — 创建使能端口
off
(默认) | on
此选项使用使能端口来控制此模块的执行。当此端口的输入非零时,模块被视为启用;当输入为 0
时,模块被视为禁用。输入的值在执行模块的同一时间步进行检查。
编程用法
模块参数:ShowEnablePort
|
类型:字符向量 |
值:'off' | 'on' |
默认值:'off' |
外部重置 — 外部状态重置
无 (默认) | 上升沿 | 下降沿 | 任一沿 | 电平 | 电平保持
指定用于将状态重置为初始条件的触发事件。
重置模式 | 行为 |
---|---|
无 | 不重置。 |
上升沿 | 在上升边重置。 |
下降沿 | 在下降边重置。 |
任一沿 | 在上升或下降边重置。 |
电平 | 在下列任一情况下重置:
|
电平保持 | 当重置信号在当前时间步为非零值时重置 |
编程用法
模块参数:ExternalReset |
类型:字符向量 |
值:'None' | 'Rising' | 'Falling' | 'Either' | 'Level' | 'Level hold' |
默认值:'None' |
采样时间(-1 表示继承) — 采样时间命中点之间的离散间隔
-1
(默认) | scalar
指定采样时间间隔。要继承采样时间,请将此参数设置为 -1
。此模块支持离散采样时间,但不支持连续采样时间。
编程用法
模块参数:SampleTime |
类型:字符向量 |
值:实数标量 |
默认值:'-1' |
状态属性
状态名称 — 模块状态的唯一名称
''
(默认) | 字母数字字符串
使用此参数为模块状态指定唯一名称。默认值为 ' '
。如果此字段为空,则表示未指定任何名称。使用此参数时,请记住以下注意事项:
有效的标识符以字母或下划线字符开始,后跟字母数字或下划线字符。
状态名称仅适用于所选模块。
当您点击应用时,此参数将启用状态名称必须解析为 Simulink 信号对象。
有关详细信息,请参阅C Data Code Interface Configuration for Model Interface Elements (Simulink Coder)。
编程用法
模块参数:StateName |
类型:字符向量 |
值:唯一名称 |
默认值:'' |
状态名称必须解析为 Simulink 信号对象 — 要求将状态名称解析为信号对象
off
(默认) | on
选中此复选框会要求将状态名称解析为 Simulink 信号对象。
依存关系
要启用此参数,请为状态名称指定值。仅当将模型配置参数信号解析设置为除无以外的值时,才会显示此参数。
编程用法
模块参数:StateMustResolveToSignalObject |
类型:字符向量 |
值:'off' | 'on' |
默认值:'off' |
模块特性
数据类型 |
|
直接馈通 |
|
多维信号 |
|
可变大小信号 |
|
过零检测 |
|
扩展功能
C/C++ 代码生成
使用 Simulink® Coder™ 生成 C 代码和 C++ 代码。
生成的代码在特定条件下依赖于 memcpy
或 memset
函数 (string.h
)。
HDL 代码生成
使用 HDL Coder™ 为 FPGA 和 ASIC 设计生成 VHDL、Verilog 和 SystemVerilog 代码。
有关 HDL 代码生成的信息,请参阅 Delay 页上的 HDL 代码生成。
定点转换
使用 Fixed-Point Designer™ 设计和仿真定点系统。
版本历史记录
在 R2012b 中推出
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)