Transport Delay

Задержка входа на заданное количество времени

  • Библиотека:
  • Simulink / Непрерывный

Описание

Блок Transport Delay задерживает вход заданным количеством времени. Можно использовать этот блок, чтобы симулировать задержку. Вход с этим блоком должен быть непрерывным сигналом.

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

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

Блок Transport Delay не интерполирует дискретные сигналы. Вместо этого блок возвращает дискретное значение в необходимое время.

Этот блок отличается от блока Unit Delay, который задерживает и содержит выход на демонстрационных хитах только.

Совет

Избегайте использования linmod линеаризовать модель, которая содержит блок Transport Delay. Для получения дополнительной информации см. Модели Линеаризации.

Порты

Входной параметр

развернуть все

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

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

Вывод

развернуть все

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

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

Параметры

развернуть все

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

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

Параметры блоков: DelayTime
Ввод: вектор символов, строка
Значения: неотрицательный скаляр, вектор или матрица
Значение по умолчанию: '1'

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

Ограничения

Начальным выходом этого блока не может быть inf или NaN.

Run-to-run tunable parameter не может быть изменен в течение времени выполнения симуляции. Однако изменяя его, прежде чем симуляция начинается, не заставляет Акселератор или Быстрый Акселератор регенерировать код.

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

Параметры блоков: InitialOutput
Ввод: вектор символов, строка
Значения: скаляр | вектор | матрица
Значение по умолчанию: '0'

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

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

  • После концов симуляции сообщение показывает общий необходимый buffer size.

Советы

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

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

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

Параметры блоков: BufferSize
Ввод: вектор символов, строка
Значение: положительный целочисленный скаляр
Значение по умолчанию: '1024'

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

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

Примечание

Если у вас есть лицензия Simulink Coder™, генерация кода ERT или GRT использует буфер фиксированного размера, даже если вы не устанавливаете этот флажок.

Советы

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

  • Если входные данные нелинейны, не устанавливайте этот флажок. Выполнение так может дать к неточным результатам.

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

Параметры блоков: FixedBuffer
Ввод: вектор символов, строка
Значение: 'off' | 'on'
Значение по умолчанию: 'off'

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

Советы

  • Установка этого флажка может вызвать изменение в упорядоченном расположении состояний в модели, когда вы используете функции linmod, dlinmod, или trim. Извлекать это новое упорядоченное расположение состояния:

    1. Скомпилируйте модель с помощью следующей команды, где model имя модели Simulink.

          [sizes, x0, x_str] = model([],[],[],'lincompile'); 
    2. Отключите компиляцию со следующей командой.

        model([],[],[],'term'); 
  • Выходной аргумент x_str, то, которое является массивом ячеек состояний в модели Simulink, содержит новое упорядоченное расположение состояния. Когда вы передаете вектор состояний, как введено к linmod, dlinmod, или trim функции, вектор состояния должен использовать это новое упорядоченное расположение состояния.

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

Параметры блоков: TransDelayFeedthrough
Ввод: вектор символов, строка
Значение: 'off' | 'on'
Значение по умолчанию: 'off'

Установите порядок аппроксимации Паде для стандартных программ линеаризации как скаляр, вектор или матрица неотрицательных целых чисел.

  • Значение по умолчанию 0, который приводит к усилению единицы без динамических состояний.

  • Устанавливание порядка к положительному целочисленному n добавляет n состояния к вашей модели, но результаты в более точной линейной модели транспортной задержки.

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

Параметры блоков: PadeOrder
Ввод: вектор символов, строка
Значения: скаляр | вектор | матрица
Значение по умолчанию: '0'

Характеристики блока

Типы данных

double

Прямое сквозное соединение

yes

Многомерные сигналы

no

Сигналы переменного размера

no

Обнаружение пересечения нулем

no

Расширенные возможности

Смотрите также

|

Представлено до R2006a