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

Variable Time Delay

Страница в процессе разработки.

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

variable time delay

Описание

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

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

τ

variable time delay 1

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

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

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

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

Порты

Вход

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

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

Типы данных: Float64

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

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

Типы данных: Float64

Выход

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

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

Типы данных: Float64

Параметры

Main

Maximum delay — максимальное значение входа задержки времени
10 (по умолчанию) | скаляр | вектор | матрица

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

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

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

MaximumDelay

Значения

скаляр | вектор |матрица

По умолчанию

10

Initial output — начальное выходное значение
0 (по умолчанию) | скаляр | вектор | матрица

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

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

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

InitialOutput

Значения

скаляр | вектор | матрица

По умолчанию

0

Initial buffer size — начальное выделение памяти
1024 (по умолчанию) | скаляр | вектор

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

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

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

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

MaximumPoints

Значения

скаляр | вектор | матрица

По умолчанию

1024

Use fixed buffer size — использование буфера фиксированного размера
выключено (по умолчанию) | включено

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

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

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

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

FixedBuffer

Значения

выключено | включено

По умолчанию

выключено

Handle zero delay — опция, позволяющая задавать нулевую задержку
выключено (по умолчанию) | включено

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

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

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

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

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

ZeroDelay

Значения

выключено | включено

По умолчанию

выключено