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

First Order Hold

Линейно экстраполируемое удержание первого порядка для входного сигнала.

first order hold

Описание

Блок First Order Hold генерирует непрерывную кусочно-линейную аппроксимацию входного сигнала.

Используйте блок First Order Hold для преобразования дискретного сигнала в непрерывный без дополнительных настроек решателя.

Вы также можете использовать блок First Order Hold для разрыва алгебраических петель в вашей модели.

Порты

Вход

Port 1 — входной сигнал
скаляр | вектор | матрица | N-мерный массив

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

Типы данных: Float16, Float 32, Float64, Int8, Int16, Int32, Int64, Uint8, Uint16, Uint32, Uint64, Bool

Выход

Port 1 — линейно аппроксимированный выходной сигнал
скаляр | вектор | матрица | N-мерный массив

Кусочно-линейная аппроксимация входного сигнала.

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

Параметры

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

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

Зависимости

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

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

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

InitialOutput

Значение

скаляр | вектор | N-мерный массив

По умолчанию

0

Output algorithm — метод аппроксимации выходного сигнала
Slow (Avoid Overshoot) (по умолчанию) | Fast (Minimize Error)

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

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

Быстрый алгоритм высоких частот Fast (Minimize Error) минимизирует ошибку в аппроксимированном выходном сигнале, но может привести к возникновению выходного сигнала, не соответствующего входному сигналу.

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

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

OutputAlgorithm

Тип

строка

Значение

Slow (Avoid Overshoot) | Fast (Minimize Error)

По умолчанию

Slow (Avoid Overshoot)

Reset if relative extrapolation error exceeds — допустимая ошибка при сбросе решателя
Inf (по умолчанию) | неотрицательный вещественный скаляр | вектор

Укажите уровень допуска для ошибки экстраполяции алгоритма вывода.

Значение Inf для параметра Allow continuous input может привести к численным неточностям при моделировании.
Программное использование

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

ErrorTolerance

Тип

вектор символов

Значение

скаляр | вектор

По умолчанию

Inf

Allow continuous input — разрешение непрерывных сигналов
off (по умолчанию) | on

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

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

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

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

AllowContinuousInput

Значение

off| on

По умолчанию

off

Алгоритмы

Slow (Avoid overshoot)

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

где

  • – время на -м крупном шаге;

  • – входной сигнал на -м крупном шаге;

  • и – коэффициенты линейной экстраполяции;

  • – непрерывный выходной сигнал в момент времени .

Коэффициенты (угол наклона и -задержка ) рассчитываются следующим образом:







Fast (Minimize Error)

Линейная экстраполяция, выполняемая быстрым, или высокочастотным, алгоритмом, может быть описана как:

где

  • – время на -м крупном шаге;

  • – вход на -м крупном шаге;

  • – прогнозируемое значение входного сигнала на -м крупном шаге;

  • и – коэффициенты линейной экстраполяции;

  • – непрерывный выходной сигнал в момент времени .

Коэффициенты (наклон и -задержка ) рассчитываются следующим образом:













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