Документация Engee

Unit Delay

Задерживает сигнал на один шаг расчета.

Тип: UnitDelay

Путь в библиотеке:

/Basic/Discrete/Unit Delay

Описание

Блок Unit Delay задерживает ввод на указанный шаг расчета. При размещении в подсистеме итератора он задерживает вход на одну итерацию. Этот блок эквивалентен оператору дискретного времени . Блок принимает один входной сигнал и генерирует один выходной сигнал. Каждый сигнал может быть скалярным или векторным. Если входным сигналом является вектор, блок задерживает все элементы вектора на один и тот же шаг расчета.

Выход блока для первого временного шага задается параметром Initial condition. Корректный выбор этого параметра может свести к минимуму нежелательное поведение выходного сигнала. Шаг расчета задается параметром Sample time. Значение −1 означает, что блок наследует значение шага расчета.

Блок выдает ошибку, если использовать его для создания перехода между блоками, работающими с разной частотой дискретизации. Вместо этого используйте блок Rate Transition.

Сравнение с аналогичными блоками

Блоки Memory, Unit Delay и Zero-Order Hold обеспечивают схожую функциональность, но имеют разные возможности. Кроме того, назначение каждого блока различно.

В таблице приведено рекомендуемое использование для каждого блока.

Блок Назначение блока

Unit Delay

Реализует задержку, используя указанный шаг расчета. Блок принимает и выдает сигналы с дискретным шагом расчета.

Memory

Реализует задержку на один основной шаг расчета. В идеале блок принимает непрерывные (или фиксированные с небольшим временным шагом) сигналы и выдает сигнал, который фиксируется с небольшим временным шагом.

Zero-Order Hold

Преобразует непрерывный входной сигнал в дискретный.

Каждый блок обладает следующими возможностями.

Возможность Memory Unit Delay Zero-Order Hold

Задание начального условия

Да

Да

Нет, потому что выходной сигнал блока в момент времени t = 0 должен быть равен входному значению.

Задание шага расчета

Нет, потому что блок может наследовать шаг расчета только от управляющего блока или решателя, используемого для всей модели.

Да

Да

Поддержка сигналов на основе кадров

Нет

Да

Да

Поддержка регистрации состояния

Нет

Да

Нет

Порты

Вход

# IN_1 — входной сигнал
скаляр | вектор | шина

Details

Входной сигнал, который блок задерживает на один шаг расчета. Задается в виде скаляра, вектора или шины.

Подробнее о типах шин читайте Пользовательские типы шин.
Типы данных

Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool, BusSignal

Поддержка комплексных чисел

Да

Выход

# OUT_1 — выходной сигнал
скаляр | вектор | шина

Details

Выходной сигнал, т.е. входной сигнал, задержанный на один шаг расчета. Задается в виде скаляра, вектора или шины. Тип выходного сигнал соответствует типу входного сигнала.

Подробнее о типах шин читайте Пользовательские типы шин.
Типы данных

Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool, BusSignal

Поддержка комплексных чисел

Да

Параметры

Основные

# Initial condition — начальное значение выходного сигнала

Details

Значение выходного сигнала на первом шаге симуляции.

Значение по умолчанию

0.0

Имя для программного использования

InitialCondition

Настраиваемый

Да

Вычисляемый

Да

# Sample Time — интервал между шагами расчета
SampleTime (real number / vector of two real numbers)

Details

Укажите интервал между шагами расчета как неотрицательное число. Чтобы наследовать шаг расчета, установите для этого параметра значение −1.

Значение по умолчанию

-1

Имя для программного использования

SampleTime

Настраиваемый

Нет

Вычисляемый

Да

Дополнительные возможности

Генерация Си кода: Да

Генерация Verilog: Да

Примеры