Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

Zero-Order Hold

实现零阶保持采样期间

  • 库:
  • Simulink / Discrete

    HDL Coder / Discrete

  • Zero-Order Hold block

说明

Zero-Order Hold 模块在您指定的采样期间内保持其输入不变。如果输入为向量,模块会按相同的采样期间保持向量中的所有元素。

可通过 Sample time 参数指定样本之间的时间间隔。设置为 -1 表示模块将继承 Sample time

提示

请勿使用 Zero-Order Hold 模块在以不同速率运行的模块之间创建快速到慢速转移。这种情况请改用 Rate Transition 模块。

总线支持

Zero-Order Hold 模块支持总线。输入可以是虚拟或非虚拟总线信号。没有特定于模块的限制条件。Zero-Order Hold 模块的非虚拟总线输入中的所有信号必须具有相同的采样时间,即使相关总线对象的元素指定了继承的采样时间也是如此。您可以使用 Rate Transition 模块更改总线中单个信号或所有信号的采样时间。有关详细信息,请参阅Modify Sample Times for Nonvirtual BusesBus-Capable Blocks

可使用总线数组作为 Zero-Order Hold 模块的输入信号。有关定义和使用总线数组的详细信息,请参阅使用总线数组组合非虚拟总线

与类似模块的比较

MemoryUnit DelayZero-Order Hold 模块提供相似的功能,但各自具有不同的能力。此外,每个模块的用途也各不相同。

下表显示每个模块的推荐用途。

模块模块的用途引用示例
Unit Delay使用您指定的离散采样时间实现延迟。该模块接受并输出具有离散采样时间的信号。
Memory将信号延迟一个主积分时间步。在理想情况下,该模块接受连续(或在子时间步中固定)的信号并输出在子时间步中固定的信号。
Zero-Order Hold将具有连续采样时间的输入信号转换为具有离散采样时间的输出信号。

每个模块有以下功能。

功能MemoryUnit DelayZero-Order Hold
指定初始条件否,因为在时间 t = 0 的模块输出必须与输入值相匹配。
指定采样时间否,因为该模块只能从驱动模块或用于整个模型的求解器继承采样时间。
支持基于帧的信号
支持状态记录

端口

输入

全部展开

输入信号,模块会将其保持一个采样期间。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus

输出

全部展开

输出信号,即保持了一个采样期间的输入。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus

参数

全部展开

指定采样时间间隔。要继承采样时间,请将此参数设置为 -1。有关详细信息,请参阅在线文档中的指定采样时间

不要指定连续采样时间 0[0,0]。此模块仅支持离散采样时间。当此参数为 -1 时,继承的采样时间必须是离散时间,不能是连续时间。

模块特性

数据类型

Boolean | bus | double | enumerated | fixed point | integer | single

直接馈通

多维信号

可变大小信号

过零检测

扩展功能

PLC 代码生成
使用 Simulink® PLC Coder™ 生成结构化文本代码。

定点转换
使用 Fixed-Point Designer™ 设计和仿真定点系统。

另请参阅

|

在 R2006a 之前推出