Переменная задержка

Задержка вводится переменным количеством времени

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

Описание

Переменная Транспортная Задержка и Переменные блоки С временной задержкой появляются как два блока в библиотеке блоков Simulink®. Однако они - тот же блок Simulink с различными настройками для Избранного параметра типа задержки. Используйте этот параметр, чтобы задать режим, в котором действует блок.

Переменная задержка

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

y (t) =u (t−t0) =u (t−τ (t))

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

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

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

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

Переменная транспортная задержка

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

y (t) =u (t−td (t))

Программное обеспечение Simulink находит задержку транспортировки, td (t), путем решения следующего уравнения:

∫t−td (t) t1ti (τ) = 1

Это уравнение включает мгновенную задержку, ti (t), данный задержкой (нижняя часть или право) входной параметр.

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

ti (t) =Lvi (t)

где L является длиной канала, и vi (t) является скоростью жидкости.

Порты

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

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

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

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

Входной параметр с временной задержкой, заданный как скаляр, вектор или матрица. Когда блок находится в режиме Variable time delay, это значение задает задержку. Для получения дополнительной информации о том вычислении, смотрите Переменную Задержку.

Зависимости

Чтобы включить этот порт, установите Избранный тип задержки на Variable time delay.

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

Мгновенный входной параметр с временной задержкой, заданный как скаляр, вектор или матрица. Когда блок находится в режиме Variable transport delay, это значение используется, чтобы вычислить задержку транспортировки. Для получения дополнительной информации о том вычислении, смотрите Переменную Транспортную Задержку.

Зависимости

Чтобы включить этот порт, установите Избранный тип задержки на Variable transport delay.

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

Вывод

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

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

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

Параметры

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

Задайте тип задержки как Variable time delay или Variable transport delay.

Значение по умолчанию этого параметра зависит от блочной реализации: Variable time delay для блока Variable Time Delay и Variable transport delay для блока Variable Transport Delay.

Зависимости

  • Установка этого параметра на Variable time delay включает параметр нулевой задержки Указателя.

  • Установка этого параметра на Variable transport delay включает Абсолютный допуск и параметры Имени состояния.

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

Блочный параметр: VariableDelayType
Ввод: вектор символа, строка
Значения: 'Переменная транспортирует задержку' | 'Переменная задержка'

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

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

Блочный параметр: MaximumDelay
Ввод: вектор символа, строка
Значение: скаляр | вектор
Значение по умолчанию: '10'

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

Зависимости

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

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

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

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

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

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

  • После концов моделирования должны быть выделены индикаторы сообщения, если буфер не достаточен и больше памяти.

Советы

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

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

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

Блочный параметр: MaximumPoints
Ввод: вектор символа, строка
Значения: скаляр | вектор
Значение по умолчанию: '1024'

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

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

Примечание

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

Советы

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

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

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

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

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

Зависимости

Чтобы включить этот параметр, установите Избранный тип задержки на Variable time delay.

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

Блочный параметр: ZeroDelay
Ввод: вектор символа, строка
Значения: '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'

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

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

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

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

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

Задайте абсолютный допуск к вычислению блочного состояния.

Зависимости

Чтобы включить этот параметр, установите Избранный тип задержки на Variable transport delay.

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

Блочный параметр: AbsoluteTolerance
Ввод: вектор символа, строка
Значения: 'auto' | '-1' | любой положительный действительный скаляр или вектор
Значение по умолчанию: 'auto'

Присвойте уникальное имя каждому состоянию. Если это поле является пробелом, никакое присвоение имени не происходит.

Советы

  • Чтобы присвоить имя к единственному состоянию, введите имя между кавычками, например, 'velocity'.

  • Чтобы присвоить имена к нескольким состояниям, введите разграниченный запятой список, окруженный фигурными скобками, например, {'a', 'b', 'c'}. Каждое имя должно быть уникальным.

  • Имена состояния применяются только к выбранному блоку.

  • Количество состояний должно разделиться равномерно среди количества имен состояния.

  • Можно задать меньше имен, чем состояния, но вы не можете задать больше имен, чем состояния.

    Например, можно задать два имени в системе с четырьмя состояниями. Имя применяется к первым двум состояниям и второму имени к последним двум состояниям.

  • Чтобы присвоить имена состояния с переменной в рабочей области MATLAB®, введите переменную без кавычек. Переменная может быть вектором символа, строкой, массивом ячеек или структурой.

Зависимости

Чтобы включить этот параметр, установите Избранный тип задержки на Variable transport delay.

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

Блочный параметр: ContinuousStateAttributes
Ввод: вектор символа, строка
Значения: '' | пользовательский вектор символа, пользовательская строка
Значение по умолчанию: ' '

Блокируйте характеристики

Типы данных

'double'

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

Yes

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

No

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

No

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

No

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

Представленный в R2007a

Была ли эта тема полезной?