Variable Time Delay
Задержка ввода на варьируемый промежуток времени.
Описание
Блок Variable Time Delay выполняет задержку входного сигнала на варьируемый промежуток времени.
Выходные данные на текущем временном шаге равны значению его входных данных на предыдущем временном шаге. Этот шаг представляет собой текущее время симуляции минус время задержки, заданное входом временной задержки.
Во время моделирования блок сохраняет время и пары входных значений во внутреннем буфере. В начале симуляции блок выводит значение параметра Initial output до тех пор, пока время симуляции не превысит вход задержки времени. Затем на каждом шаге симуляции блок выводит входной сигнал, полученный в момент времени, который соответствует текущему времени симуляции минус время задержки.
Если вы хотите получить данные во временных точках, находящихся между временами хранения входных данных, а решатель является непрерывным решателем, блок выполняет линейную интерполяцию между точками. Если временная задержка меньше размера шага решателя, блок экстраполирует выходную точку на основе предыдущей точки. Например, рассмотрите симуляцию с решателем с фиксированным шагом с размером шага 1
и текущим временем в t = 5
. Если задержка равна 0.5
, блок должен сгенерировать точку в t = 4.5
, но самое последнее сохраненное значение времени будет в t = 4
. Таким образом, блок экстраполирует входные данные в момент времени t=4.5
на основе данных, полученных при t=4
, и далее использует экстраполированные данные при расчете значения в момент времени t=5
.
Экстраполяция вперед с предыдущего временного шага может дать менее точный результат, чем экстраполяция назад с текущего временного шага. Однако блок не может использовать текущий вход, чтобы вычислить его выходное значение, потому что входной порт не имеет прямого сквозного соединения.
Если модель задает дискретный решатель, блок не интерполирует между временными шагами. Вместо этого он возвращает ближайшее сохраненное значение, которое предшествует требуемому значению.
Порты
Параметры
Main
Maximum delay — максимальное значение входа задержки времени
10 (по умолчанию)
| скаляр
| вектор
| матрица
Установите максимальное значение входа задержки времени. Это значение определяет наибольший вход задержки времени, который допускает этот блок. Блок обрезает любую задержку, превышающую это значение. Это значение не может быть отрицательным. Если временная задержка становится отрицательной, блок обрезает ее до нуля.
Параметр блока |
|
Значения |
|
По умолчанию |
|
Initial output — начальное выходное значение
0 (по умолчанию)
| скаляр
| вектор
| матрица
Укажите выходные данные, которые блок генерирует до тех пор, пока время моделирования не превысит вход задержки времени в виде скаляра, вектора или матрицы.
Параметр блока |
|
Значения |
|
По умолчанию |
|
Initial buffer size — начальное выделение памяти
1024 (по умолчанию)
| скаляр
| вектор
Определите начальное выделение памяти для количества входных точек для хранения.
-
Если количество входных точек превышает начальный размер буфера, блок выделяет дополнительную память.
Поскольку выделение памяти замедляет моделирование, тщательно выбирайте это значение, если скорость моделирования является проблемой. При длительных задержках этот блок может использовать большой объем памяти, особенно для размерных входных сигналов. |
Параметр блока |
|
Значения |
|
По умолчанию |
|
Use fixed buffer size — использование буфера фиксированного размера
выключено (по умолчанию)
| включено
Установите этот флажок, чтобы использовать буфер фиксированного размера для сохранения входных данных с предыдущих временных шагов.
Параметр Initial buffer size определяет размер буфера. Если буфер заполнен, новые данные заменяют данные, уже находящиеся в буфере. Блок использует линейную экстраполяцию для оценки выходных значений, которых нет в буфере.
Если входные данные являются линейными, установка этого флажка может сэкономить память. Если входные данные нелинейны, не устанавливайте этот флажок. Это может привести к неточным результатам. |
Параметр блока |
|
Значения |
|
По умолчанию |
|
Handle zero delay — опция, позволяющая задавать нулевую задержку
выключено (по умолчанию)
| включено
Определите возможность работы блока с нулевой задержкой по времени.
При установке этого флажка блок допускает работу с нулевой задержкой по времени. Входной сигнал имеет прямое сквозное соединение.
В положении выключено
блок не допускает работу с нулевой задержкой по времени. Входной сигнал не имеет прямого сквозного соединения.
Параметр блока |
|
Значения |
|
По умолчанию |
|