Discrete-Time Integrator
Дискретное интегрирование или накопление сигнала.
Тип: DiscreteIntegrator
Путь в библиотеке:
|
Описание
Используйте блок Discrete-Time Integrator вместо блока Integrator для создания полностью дискретной модели.
Выходные уравнения
На первом временном шаге, т.е. при состоянии блока , выходное значение .
Для заданного шага со временем моделирования выходные данные обновляются в зависимости от выбранного метода следующим образом:
-
Прямой метод Эйлера:
.
-
Обратный метод Эйлера:
.
-
Метод трапеций:
.
Реализация этих выходных уравнений в пространстве состояний автоматически выбирается в зависимости от шага расчета блока, которое может быть явным или унаследованным. При использовании явно заданного шага расчета уменьшается до шага расчета для всех .
Методы интегрирования и накопления
Этот блок может интегрировать или накапливать сигнал, используя прямой метод Эйлера, обратный метод Эйлера или метод трапеций. Предположим, что — это вход, — это выход, а — это состояние. Для заданного шага обновляется и . В режиме интегрирования — это шаг расчета блока. В режиме накопления . Шаг расчета блока определяет, когда вычисляется выходной сигнал, но не выходное значение. — коэффициент усиления. Значения обрезаются в соответствии с верхним или нижним пределом.
Прямой метод Эйлера
Прямой метод Эйлера (используется по умолчанию), также известный как прямая прямоугольная или левая аппроксимация.
Блок аппроксимирует как . Выражения для выхода блока на шаге :
,
.
Блок использует эти шаги для вычисления выходного сигнала:
Шаг 0: |
(при необходимости ограничено)
|
Шаг 1: |
|
Шаг n: |
(при необходимости ограничено) |
Определение начальных состояний
Вы можете определить начальные состояния в качестве параметра в диалоговом окне блока или ввести их из внешнего сигнала:
-
Чтобы определить начальные состояния в качестве параметра блока, укажите Initial condition source как
internal
и введите значение в поле Initial condition. -
Чтобы получить начальные состояния из внешнего источника, укажите Initial condition source как
external
. Дополнительный входной порт появляется под портом ввода.
Когда использовать порт состояния
Используйте порт состояния вместо выходного порта в следующих случаях:
-
Когда выход блока возвращается в блок через порт сброса или порт начального состояния, вызывая алгебраический цикл.
-
Когда требуется передать состояние от одной условно выполняемой подсистемы к другой, что может вызвать проблемы с синхронизацией.
Можно обойти эти проблемы, передавая состояние через порт состояния, а не через порт вывода. Engee генерирует состояние в несколько иное время, чем на выходе, что защищает модель от подобных проблем. Чтобы вывести состояние блока, установите флажок Show state port. Порт состояния появится в верхней части блока.
Ограничение интегратора
Чтобы выходные данные не превышали заданных уровней, установите флажок Limit output и введите ограничения в соответствующие поля параметров. Это действие приводит к тому, что блок функционирует как ограниченный интегратор. Когда выход достигает предельных значений, действие интегратора завершается.
Блок определяет выходные данные следующим образом:
-
Когда интеграл меньше или равен Lower saturation limit, выходной сигнал удерживается на Lower saturation limit.
-
Когда интеграл находится между Lower saturation limit и Upper saturation limit, на выходе получается интеграл.
-
Когда интеграл больше или равен Upper saturation limit, выходной сигнал удерживается на Upper saturation limit.
Чтобы сгенерировать сигнал, указывающий, когда состояние ограничено, установите флажок Show saturation port. Порт насыщения появляется под портом вывода блока.
Сигнал принимает одно из трех значений:
-
1
указывает на то, что применяется верхний предел. -
0
указывает на то, что интеграл не ограничен. -
-1
указывает на то, что применяется нижний предел.
Сброс состояния
Блок сбрасывает свое состояние до начального состояния по внешнему сигналу. Тип триггера сброса определяется параметром External reset. При выборе значения, отличного от none
, у блока появляется порт сброса, рядом с которым обозначен тип триггера сброса.
Типы триггеров сброса
Параметр External reset позволяет определить атрибут сигнала сброса, который является триггером сброса. Возможны следующие триггеры:
-
rising
— сбрасывает состояние, когда сигнал сброса проходит фронт, т.е. повышается с отрицательного или нулевого значения до положительного. Например, на рисунке ниже показано влияние триггера сбросаrising
на интегрирование обратным методом Эйлера. -
falling
— сбрасывает состояние, когда сигнал сброса проходит срез, т.е. падает с положительного значения до нуля или отрицательного значения. Например, на рисунке ниже показано влияние триггера сбросаfalling
на интегрирование обратным методом Эйлера. -
either
— сбрасывает состояние, когда сигнал сброса повышается или понижается, т.е. изменяется с нуля на ненулевое значение, с ненулевого значения на ноль либо меняет знак. Например, на следующем рисунке показано влияние триггера сбросаeither
на интегрирование обратным методом Эйлера. -
level
— сбрасывает и удерживает выход в исходном состоянии, пока сигнал сброса не равен нулю, т.е. отличен от нуля на текущем временном шаге или изменяется от ненулевого значения на предыдущем временном шаге до нуля на текущем временном шаге. Например, на этом рисунке показано влияние триггера сбросаlevel
на интегрирование обратным методом Эйлера. -
sampled level
— сбрасывает выходной сигнал в исходное состояние, когда сигнал сброса отличен от нуля. Например, на этом рисунке показано влияние триггера сбросаsampled level
на интегрирование обратным методом Эйлера.
Опция sampled level
требует меньше вычислений, что делает ее более эффективной, чем опция level
.
Для блока Discrete-Time Integrator все триггеры определяются по сигналам с положительными значениями. Например, сигнал, изменяющийся от -1 до 0 , не считается нарастающим фронтом, а сигнал, изменяющийся от 0 до 1 , считается.
|
Порты
Выход
#
Port_1
—
интеграл по дискретному времени или накопленное значение входного сигнала
скаляр
| вектор
| матрица
Details
Интеграл по дискретному времени или накопленное значение входного сигнала.
Типы данных |
|
Поддержка комплексных чисел |
Нет |
#
Port_2
—
порт насыщения
скаляр
| вектор
| матрица
Details
Сигнал, указывающий на ограничение состояния, задается в виде скаляра, вектора или матрицы. Сигнал принимает одно из трех значений:
-
1
указывает на то, что применяется верхний предел. -
0
указывает на то, что интеграл не ограничен. -
-1
указывает на то, что применяется нижний предел.
См. раздел Ограничение интегратора.
Зависимости
Чтобы использовать этот порт, установите флажок для параметра Show saturation port.
Типы данных |
|
Поддержка комплексных чисел |
Нет |
#
Port_3
—
порт состояния
скаляр
| вектор
| матрица
Details
Состояния блока, выводимые в виде скаляра, вектора или матрицы. Порт состояния выводится в верхней части блока.
См. раздел Когда использовать порт состояния.
Зависимости
Чтобы использовать этот порт, установите флажок для параметра Show state port.
Типы данных |
|
Поддержка комплексных чисел |
Нет |
Вход
#
Port_1
—
входной сигнал
скаляр
| вектор
| матрица
Details
Входной сигнал, заданный в виде скаляра, вектора или матрицы.
Типы данных |
|
Поддержка комплексных чисел |
Нет |
#
x0
—
начальное состояние
скаляр
| вектор
| матрица
Details
Начальное состояние блока, заданное внешним сигналом.
См. раздел Определение начальных состояний.
Зависимости
Чтобы использовать этот порт, установите для параметра Initial condition source значение external
.
Типы данных |
|
Поддержка комплексных чисел |
Нет |
#
External Reset
—
сброс состояния к начальному
скаляр
| вектор
| матрица
Details
Сброс состояния блока до заданного начального по внешнему сигналу. См. раздел Сброс состояния.
Зависимости
Чтобы использовать этот порт, задайте значение для параметра External reset.
Типы данных |
|
Поддержка комплексных чисел |
Нет |
Параметры
Основные
#
Integrator Method —
метод интегрирования
Integration: Forward Euler
| Integration: Backward Euler
| Integration: Trapezoidal
| Accumulation: Forward Euler
| Accumulation: Backward Euler
| Accumulation: Trapezoidal
Details
Метод интегрирования или накопления.
Значения |
|
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |
#
Gain Value —
коэффициент усиления интегратора
Scalar / array of real numbers
Details
Задает скаляр, вектор или матрицу, на которые умножается входной сигнал интегратора. Каждый элемент коэффициента усиления должен быть положительным вещественным числом.
-
Указание значения, отличного от
1.0
(значение по умолчанию), семантически эквивалентно подключению блока Gain ко входу интегратора.
Допустимые значения |
|
Использование этого параметра для указания входного коэффициента усиления устраняет операцию умножения в сгенерированном коде. Однако этот параметр должен быть не настраиваемым, чтобы реализовать это преимущество. Если вы хотите менять коэффициент усиления, установите для этого параметра значение 1.0 и используйте внешний блок Gain для задания коэффициента усиления.
|
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Да |
#
External reset —
сброс состояния к начальному
none
| rising
| falling
| either
| level
| sampled level
Details
Укажите тип триггера, который будет использоваться для внешнего сигнала сброса.
-
rising
— сбрасывает состояние, когда сигнал сброса проходит фронт. -
falling
— сбрасывает состояние, когда сигнал сброса проходит срез. -
either
— сбрасывает состояние, когда сигнал сброса повышается или понижается (проходит фронт или срез). -
level
— сбрасывает и удерживает выход в исходном состоянии, пока сигнал сброса не равен нулю. -
sampled level
— сбрасывает выходной сигнал в исходное состояние, когда сигнал сброса отличен от нуля.
Дополнительные сведения см. в разделах Сброс состояния и Типы триггеров сброса.
Значения |
|
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |
#
Initial condition source —
выбор источника начального состояния
internal
| external
Details
Источник начального состояния. Задается как:
-
internal
— получение начальных состояний из параметра Initial condition. -
external
— получение начальных состояний от внешнего источника через входной порт X_0.
Зависимости
Выбор internal
включает использование параметра Initial condition в симуляции.
Выбор external
отключает использование параметра Initial condition и включает входной порт X_0.
Значения |
|
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |
#
Initial condition —
начальное состояние
Scalar / array of real numbers
Details
Начальное состояние блока.
Зависимости
Чтобы использовать этот параметр, установите для параметра Initial condition source значение internal
.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Да |
Вычисляемый |
Да |
#
Initial condition setting —
выбор применения начального состояния
Auto
| Output
Details
Выберите, следует ли применять значение параметра Initial condition к состоянию блока или к выходу блока. Начальным состоянием также является значение сброса.
-
Auto
— блок применяет значение параметра Initial condition ко входу блока.Установите начальные состояния:
x(0) = IC
При сбросе:
x(n) = IC
-
Output
— блок применяет значение параметра Initial condition к выходу блока.Установите начальные состояния:
y(0) = IC
При сбросе:
y(n) = IC
Значения |
|
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |
#
Sample time —
интервал между шагами расчета
SampleTime (real number / vector of two real numbers)
Details
Укажите интервал между шагами расчета как неотрицательное число. Чтобы наследовать шаг расчета, установите для этого параметра значение −1
.
Не указывайте шаг расчета, равным 0 . Это значение задает непрерывный шаг расчета, которое блок Discrete-Time Integrator не поддерживает. Не указывайте шаг расчета inf или NaN , поскольку эти значения не являются дискретными. Если вы указываете −1 для наследования шага расчета из вышестоящего блока, убедитесь, что вышестоящий блок использует дискретный шаг расчета. Например, блок Discrete-Time Integrator не может наследовать шаг расчета, равный 0 .
|
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Да |
#
Limit output —
ограничение выходных значений блока указанным диапазоном
Logical
Details
Ограничивает выходной сигнал значениями параметров Lower saturation limit и Upper saturation limit.
-
Установка этого флажка ограничивает выходной сигнал значениями параметров Lower saturation limit и Upper saturation limit.
-
Снятие этого флажка снимает ограничения на выходной сигнал.
Зависимости
Выбор этого параметра включает использование параметров Lower saturation limit и Upper saturation limit.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |
#
Upper saturation limit —
верхний предел для интеграла
Scalar / array of real numbers
Details
Задает верхний предел для выходного значения в виде скаляра, вектора или матрицы.
Зависимости
Чтобы использовать этот параметр, установите флажок параметра Limit output.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Да |
#
Lower saturation limit —
нижний предел для интеграла
Scalar / array of real numbers
Details
Задает нижний предел для выходного значения в виде скаляра, вектора или матрицы.
Зависимости
Чтобы использовать этот параметр, установите флажок параметра Limit output.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Да |
#
Show saturation port —
включение выходного порта насыщения
Logical
Details
Установите этот флажок, чтобы добавить в блок выходной порт насыщения. Когда вы снимаете этот флажок, блок не имеет выходного порта насыщения.
Зависимости
Выбор этого параметра включает выходной порт насыщения.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |
#
Show state port —
включение порта вывода состояния
Logical
Details
Установите этот флажок, чтобы добавить порт вывода состояния в блок. Когда вы снимаете этот флажок, блок не имеет порта вывода состояния.
Зависимости
Выбор этого параметра включает порт вывода состояния.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |