Переменное временное запаздывание
Задерживает входной сигнал на варьируемый промежуток времени.
Тип: VariableTimeDelay
Путь в библиотеке:
|
Описание
Блок Переменное временное запаздывание выполняет задержку входного сигнала на варьируемый промежуток времени.
Выходные данные на текущем временном шаге равны значению его входных данных на предыдущем временном шаге. Этот шаг представляет собой текущее время симуляции минус время задержки, заданное входом временной задержки.
.
Во время моделирования блок сохраняет время и пары входных значений во внутреннем буфере. В начале симуляции блок выводит значение параметра Начальное значение выходного сигнала до тех пор, пока время симуляции не превысит входное значение задержки времени. Затем на каждом шаге симуляции блок выводит входной сигнал, полученный в момент времени, который соответствует текущему времени симуляции минус время задержки.
Если вы хотите получить данные во временных точках, находящихся между временами хранения входных данных, а решатель является непрерывным решателем, блок выполняет линейную интерполяцию между точками. Если временная задержка меньше размера шага решателя, блок экстраполирует выходную точку на основе предыдущей точки. Например, рассмотрите симуляцию с решателем с фиксированным шагом с размером шага 1
и текущим временем в t = 5
. Если задержка равна 0.5
, блок должен сгенерировать точку в t = 4.5
, но самое последнее сохраненное значение времени будет в t = 4
. Таким образом, блок экстраполирует входные данные в момент времени t=4.5
на основе данных, полученных при t=4
, и далее использует экстраполированные данные при расчете значения в момент времени t=5
.
Экстраполяция вперед с предыдущего временного шага может дать менее точный результат, чем экстраполяция назад с текущего временного шага. Однако блок не может использовать текущий вход, чтобы вычислить его выходное значение, потому что входной порт не имеет прямого сквозного соединения.
Если модель задает дискретный решатель, блок не интерполирует между временными шагами. Вместо этого он возвращает ближайшее сохраненное значение, которое предшествует требуемому значению.
Порты
Вход
#
IN_1
—
входной сигнал
скаляр
| вектор
| матрица
Details
Входной сигнал, заданный как скаляр, вектор или матрица.
Типы данных |
|
Поддержка комплексных чисел |
Нет |
#
t0
—
входное значение задержки времени
скаляр
| вектор
| матрица
Details
Входная задержка времени, заданная как скаляр, вектор или матрица.
Типы данных |
|
Поддержка комплексных чисел |
Нет |
Выход
#
OUT_1
—
выходной сигнал с задержкой
скаляр
| вектор
| матрица
Details
Выходной сигнал в виде скаляра, вектора или матрицы.
Типы данных |
|
Поддержка комплексных чисел |
Нет |
Параметры
Основные
#
Максимальное значение задержки —
максимальное значение входа задержки времени
Скаляр / массив вещественных чисел
Details
Установите максимальное входное значение задержки времени. Блок ограничивает любую задержку, превышающую это значение. Это значение не может быть отрицательным. Если временная задержка становится отрицательной, блок приравнивает ее к нулю.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Да |
Вычисляемый |
Да |
#
Начальное значение выходного сигнала —
начальное выходное значение
Скаляр / массив вещественных чисел
Details
Укажите выходные данные, которые блок генерирует до тех пор, пока время моделирования не превысит входное значение задержки времени.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Да |
# Начальный размер буфера — начальное выделение памяти
Details
Определите начальное выделение памяти для количества входных точек для хранения.
Если количество входных точек превышает начальный размер буфера, блок выделяет дополнительную память.
Поскольку выделение памяти замедляет моделирование, тщательно выбирайте это значение, если скорость моделирования является проблемой. При длительных задержках этот блок может использовать большой объем памяти, особенно для размерных входных сигналов. |
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Да |
#
Использовать буфер фиксированного размера —
использование буфера фиксированного размера
Логический тип
Details
Установите этот флажок, чтобы использовать буфер фиксированного размера для сохранения входных данных с предыдущих временных шагов.
Параметр Начальный размер буфера определяет размер буфера. Если буфер заполнен, то новые данные заменяют данные, уже находящиеся в буфере. Блок использует линейную экстраполяцию для оценки выходных значений, которых нет в буфере.
Если входные данные являются линейными, установка этого флажка может сэкономить память. Если входные данные нелинейны, не устанавливайте этот флажок. Это может привести к неточным результатам. |
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |
#
Обрабатывать нулевое запаздывание —
опция, позволяющая задавать нулевую задержку
Логический тип
Details
Определите возможность работы блока с нулевой задержкой по времени.
При установке этого флажка блок допускает работу с нулевой задержкой по времени. Входной сигнал имеет прямое сквозное соединение.
Если этот флажок не установлен, то блок не допускает работу с нулевой задержкой по времени. Входной сигнал не имеет прямого сквозного соединения.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |