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

Переменное временное запаздывание

Задерживает входной сигнал на варьируемый промежуток времени.

Тип: VariableTimeDelay

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

/Basic/Continuous/Variable Time Delay

Описание

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

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

τ .

variable time delay 1

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

Если вы хотите получить данные во временных точках, находящихся между временами хранения входных данных, а решатель является непрерывным решателем, блок выполняет линейную интерполяцию между точками. Если временная задержка меньше размера шага решателя, блок экстраполирует выходную точку на основе предыдущей точки. Например, рассмотрите симуляцию с решателем с фиксированным шагом с размером шага 1 и текущим временем в t = 5. Если задержка равна 0.5, блок должен сгенерировать точку в t = 4.5, но самое последнее сохраненное значение времени будет в t = 4. Таким образом, блок экстраполирует входные данные в момент времени t=4.5 на основе данных, полученных при t=4, и далее использует экстраполированные данные при расчете значения в момент времени t=5.

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

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

Порты

Вход

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

Details

Входной сигнал, заданный как скаляр, вектор или матрица.

Типы данных

Float64

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

Нет

# t0 — входное значение задержки времени
скаляр | вектор | матрица

Details

Входная задержка времени, заданная как скаляр, вектор или матрица.

Типы данных

Float64

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

Нет

Выход

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

Details

Выходной сигнал в виде скаляра, вектора или матрицы.

Типы данных

Float64

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

Нет

Параметры

Основные

# Максимальное значение задержки — максимальное значение входа задержки времени
Скаляр / массив вещественных чисел

Details

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

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

10

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

MaximumDelay

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

Да

Вычисляемый

Да

# Начальное значение выходного сигнала — начальное выходное значение
Скаляр / массив вещественных чисел

Details

Укажите выходные данные, которые блок генерирует до тех пор, пока время моделирования не превысит входное значение задержки времени.

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

0

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

InitialOutput

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

Нет

Вычисляемый

Да

# Начальный размер буфера — начальное выделение памяти

Details

Определите начальное выделение памяти для количества входных точек для хранения.

Если количество входных точек превышает начальный размер буфера, блок выделяет дополнительную память.

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

1024

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

MaximumPoints

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

Нет

Вычисляемый

Да

# Использовать буфер фиксированного размера — использование буфера фиксированного размера
Логический тип

Details

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

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

Если входные данные являются линейными, установка этого флажка может сэкономить память. Если входные данные нелинейны, не устанавливайте этот флажок. Это может привести к неточным результатам.
Значение по умолчанию

false (выключено)

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

FixedBuffer

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

Нет

Вычисляемый

Нет

# Обрабатывать нулевое запаздывание — опция, позволяющая задавать нулевую задержку
Логический тип

Details

Определите возможность работы блока с нулевой задержкой по времени.

При установке этого флажка блок допускает работу с нулевой задержкой по времени. Входной сигнал имеет прямое сквозное соединение.

Если этот флажок не установлен, то блок не допускает работу с нулевой задержкой по времени. Входной сигнал не имеет прямого сквозного соединения.

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

false (выключено)

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

ZeroDelay

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

Нет

Вычисляемый

Нет