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

Unit Delay

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

unit delay

Описание

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

Выход блока для первого временного шага задается параметром Initial conditions. Корректный выбор этого параметра может свести к минимуму нежелательное поведение выходного сигнала. Шаг расчета задается параметром 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 должен быть равен входному значению.

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

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

Да

Да

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

Нет

Да

Да

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

Нет

Да

Нет

Порты

Вход

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

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

Более подробно о работе с пользовательским типом шин читайте здесь.

Типы данных: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool, BusSignal

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

Выход

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

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

Более подробно о работе с пользовательским типом шин читайте здесь.

Типы данных: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool, BusSignal

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

Параметры

Main

Initial condition — выход блока на первом шаге расчета
0 (по умолчанию) | скаляр | вектор | N-мерный массив | шина

Выход блока на первом шаге расчета, в течение которого выходные данные блока Unit Delay в противном случае не определены.

Программное использование

Параметр блока

InitialCondition

Значения

скаляр | вектор

По умолчанию

0

Sample time (−1 for inherited) — интервал между шагами расчета
−1.0 (по умолчанию) | скаляр

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

Программное использование

Параметр блока

SampleTime

Значения

действительный скаляр

По умолчанию

−1

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

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