Дискретный интегратор
Страница в процессе разработки. |
Дискретное интегрирование или накопление сигнала.
Описание
Используйте блок Дискретный интегратор вместо блока Интегратор для создания полностью дискретной модели.
Выходные уравнения
На первом временном шаге, т.е. при состоянии блока , выходное значение .
Для заданного шага со временем моделирования выходные данные обновляются в зависимости от выбранного метода следующим образом:
-
Прямой метод Эйлера:
.
-
Обратный метод Эйлера:
.
-
Метод трапеций:
.
Реализация этих выходных уравнений в пространстве состояний автоматически выбирается в зависимости от шага расчета блока, которое может быть явным или унаследованным. При использовании явно заданного шага расчета уменьшается до шага расчета для всех .
Методы интегрирования и накопления
Этот блок может интегрировать или накапливать сигнал, используя прямой метод Эйлера, обратный метод Эйлера или метод трапеций. Предположим, что — это вход, — это выход, а — это состояние. Для заданного шага обновляется и . В режиме интегрирования — это шаг расчета блока. В режиме накопления . Шаг расчета блока определяет, когда вычисляется выходной сигнал, но не выходное значение. — коэффициент усиления. Значения обрезаются в соответствии с верхним или нижним пределом.
Прямой метод Эйлера
Прямой метод Эйлера (используется по умолчанию), также известный как прямая прямоугольная или левая аппроксимация.
Блок аппроксимирует как . Выражения для выхода блока на шаге :
,
.
Блок использует эти шаги для вычисления выходного сигнала:
Шаг 0: |
(при необходимости ограничено)
|
Шаг 1: |
|
Шаг n: |
(при необходимости ограничено) |
Определение начальных состояний
Вы можете определить начальные состояния в качестве параметра в диалоговом окне блока или ввести их из внешнего сигнала:
-
Чтобы определить начальные состояния в качестве параметра блока, укажите Источник начального значения как
Внутренний
и введите значение в поле Начальное состояние. -
Чтобы получить начальные состояния из внешнего источника, укажите Источник начального значения как
Внешний
. Дополнительный входной порт появляется под портом ввода.
Когда использовать порт состояния
Используйте порт состояния вместо выходного порта в следующих случаях:
-
Когда выход блока возвращается в блок через порт сброса или порт начального состояния, вызывая алгебраический цикл.
-
Когда требуется передать состояние от одной условно выполняемой подсистемы к другой, что может вызвать проблемы с синхронизацией.
Можно обойти эти проблемы, передавая состояние через порт состояния, а не через порт вывода. Engee генерирует состояние в несколько иное время, чем на выходе, что защищает модель от подобных проблем. Чтобы вывести состояние блока, установите флажок Show state port. Порт состояния появится в верхней части блока.
Ограничение интегратора
Чтобы выходные данные не превышали заданных уровней, установите флажок Ограничение выхода и введите ограничения в соответствующие поля параметров. Это действие приводит к тому, что блок функционирует как ограниченный интегратор. Когда выход достигает предельных значений, действие интегратора завершается.
Блок определяет выходные данные следующим образом:
-
Когда интеграл меньше или равен Нижняя граница, выходной сигнал удерживается на Нижняя граница.
-
Когда интеграл находится между Нижняя граница и Верхняя граница, на выходе получается интеграл.
-
Когда интеграл больше или равен Верхняя граница, выходной сигнал удерживается на Верхняя граница.
Чтобы сгенерировать сигнал, указывающий, когда состояние ограничено, установите флажок Show saturation port. Порт насыщения появляется под портом вывода блока.
Сигнал принимает одно из трех значений:
-
1
указывает на то, что применяется верхний предел. -
0
указывает на то, что интеграл не ограничен. -
-1
указывает на то, что применяется нижний предел.
Сброс состояния
Блок сбрасывает свое состояние до начального состояния по внешнему сигналу. Тип триггера сброса определяется параметром Внешний сброс. При выборе значения, отличного от Нет
, у блока появляется порт сброса, рядом с которым обозначен тип триггера сброса.
Типы триггеров сброса
Параметр Внешний сброс позволяет определить атрибут сигнала сброса, который является триггером сброса. Возможны следующие триггеры:
-
Передний фронт
— сбрасывает состояние, когда сигнал сброса проходит фронт, т.е. повышается с отрицательного или нулевого значения до положительного. Например, на рисунке ниже показано влияние триггера сбросаПередний фронт
на интегрирование обратным методом Эйлера. -
Задний фронт
— сбрасывает состояние, когда сигнал сброса проходит срез, т.е. падает с положительного значения до нуля или отрицательного значения. Например, на рисунке ниже показано влияние триггера сбросаЗадний фронт
на интегрирование обратным методом Эйлера. -
По любому фронту
— сбрасывает состояние, когда сигнал сброса повышается или понижается, т.е. изменяется с нуля на ненулевое значение, с ненулевого значения на ноль либо меняет знак. Например, на следующем рисунке показано влияние триггера сбросаПо любому фронту
на интегрирование обратным методом Эйлера. -
Уровень
— сбрасывает и удерживает выход в исходном состоянии, пока сигнал сброса не равен нулю, т.е. отличен от нуля на текущем временном шаге или изменяется от ненулевого значения на предыдущем временном шаге до нуля на текущем временном шаге. Например, на этом рисунке показано влияние триггера сбросаУровень
на интегрирование обратным методом Эйлера. -
уровень выборки
— сбрасывает выходной сигнал в исходное состояние, когда сигнал сброса отличен от нуля. Например, на этом рисунке показано влияние триггера сбросауровень выборки
на интегрирование обратным методом Эйлера.
Опция уровень выборки
требует меньше вычислений, что делает ее более эффективной, чем опция Уровень
.
Для блока Дискретный интегратор все триггеры определяются по сигналам с положительными значениями. Например, сигнал, изменяющийся от -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
Начальное состояние блока, заданное внешним сигналом.
См. раздел Определение начальных состояний
Зависимости
Чтобы использовать этот порт, установите для параметра Источник начального значения значение Внешний
.
Типы данных |
|
Поддержка комплексных чисел |
Нет |
#
External Reset
—
сброс состояния к начальному
скаляр
| вектор
| матрица
Details
Сброс состояния блока до заданного начального по внешнему сигналу. См. раздел Сброс состояния.
Зависимости
Чтобы использовать этот порт, задайте значение для параметра Внешний сброс.
Типы данных |
|
Поддержка комплексных чисел |
Нет |
Параметры
Основные
#
Метод интегрирования —
метод интегрирования
Интегрирование: метод Эйлера
| Интегрирование: обратный метод Эйлера
| Интегрирование: метод трапеций
| Накопление: метод Эйлера
| Накопление: обратный метод Эйлера
| Накопление: метод трапеций
Details
Метод интегрирования или накопления.
Значения |
|
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |
#
Коэффициент усиления —
коэффициент усиления интегратора
Скаляр / массив вещественных чисел
Details
Задает скаляр, вектор или матрицу, на которые умножается входной сигнал интегратора. Каждый элемент коэффициента усиления должен быть положительным вещественным числом.
-
Указание значения, отличного от
1.0
(значение по умолчанию), семантически эквивалентно подключению блока Коэффициент усиления ко входу интегратора.
Допустимые значения |
|
Использование этого параметра для указания входного коэффициента усиления устраняет операцию умножения в сгенерированном коде. Однако этот параметр должен быть не настраиваемым, чтобы реализовать это преимущество. Если вы хотите менять коэффициент усиления, установите для этого параметра значение 1.0 и используйте внешний блок Коэффициент усиления для задания коэффициента усиления.
|
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Да |
#
Внешний сброс —
сброс состояния к начальному
Нет
| Передний фронт
| Задний фронт
| По любому фронту
| Уровень
| уровень выборки
Details
Укажите тип триггера, который будет использоваться для внешнего сигнала сброса.
-
Передний фронт
— сбрасывает состояние, когда сигнал сброса проходит фронт. -
Задний фронт
— сбрасывает состояние, когда сигнал сброса проходит срез. -
По любому фронту
— сбрасывает состояние, когда сигнал сброса повышается или понижается (проходит фронт или срез). -
Уровень
— сбрасывает и удерживает выход в исходном состоянии, пока сигнал сброса не равен нулю. -
уровень выборки
— сбрасывает выходной сигнал в исходное состояние, когда сигнал сброса отличен от нуля.
Дополнительные сведения см. в разделах Сброс состояния и Типы триггеров сброса.
Значения |
|
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |
#
Источник начального значения —
выбор источника начального состояния
Внутренний
| Внешний
Details
Источник начального состояния. Задается как:
-
Внутренний
— получение начальных состояний из параметра Начальное состояние. -
Внешний
— получение начальных состояний от внешнего источника через входной порт X_0.
Зависимости
Выбор Внутренний
включает использование параметра Начальное состояние в симуляции.
Выбор Внешний
отключает использование параметра Начальное состояние и включает входной порт X_0.
Значения |
|
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |
#
Начальное состояние —
начальное состояние
Скаляр / массив вещественных чисел
Details
Начальное состояние блока.
Зависимости
Чтобы использовать этот параметр, установите для параметра Источник начального значения значение Внутренний
.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Да |
Вычисляемый |
Да |
#
Применения начального значения —
выбор применения начального состояния
Автоматически
| Выход
Details
Выберите, следует ли применять значение параметра Начальное состояние к состоянию блока или к выходу блока. Начальным состоянием также является значение сброса.
-
Автоматически
— блок применяет значение параметра Начальное состояние ко входу блока.Установите начальные состояния:
x(0) = IC
При сбросе:
x(n) = IC
-
Выход
— блок применяет значение параметра Начальное состояние к выходу блока.Установите начальные состояния:
y(0) = IC
При сбросе:
y(n) = IC
Значения |
|
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |
#
Шаг расчета —
интервал между шагами расчета
SampleTime (вещественное число / вектор из двух вещественных чисел)
Details
Укажите интервал между шагами расчета как неотрицательное число. Чтобы наследовать шаг расчета, установите для этого параметра значение −1
.
Не указывайте шаг расчета, равным 0 . Это значение задает непрерывный шаг расчета, которое блок Дискретный интегратор не поддерживает. Не указывайте шаг расчета inf или NaN , поскольку эти значения не являются дискретными. Если вы указываете −1 для наследования шага расчета из вышестоящего блока, убедитесь, что вышестоящий блок использует дискретный шаг расчета. Например, блок Дискретный интегратор не может наследовать шаг расчета, равный 0 .
|
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Да |
#
Ограничение выхода —
ограничение выходных значений блока указанным диапазоном
Логический тип
Details
Ограничивает выходной сигнал значениями параметров Нижняя граница и Верхняя граница.
-
Установка этого флажка ограничивает выходной сигнал значениями параметров Нижняя граница и Верхняя граница.
-
Снятие этого флажка снимает ограничения на выходной сигнал.
Зависимости
Выбор этого параметра включает использование параметров Нижняя граница и Верхняя граница.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |
#
Верхняя граница —
верхний предел для интеграла
Скаляр / массив вещественных чисел
Details
Задает верхний предел для выходного значения в виде скаляра, вектора или матрицы.
Зависимости
Чтобы использовать этот параметр, установите флажок параметра Ограничение выхода.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Да |
#
Нижняя граница —
нижний предел для интеграла
Скаляр / массив вещественных чисел
Details
Задает нижний предел для выходного значения в виде скаляра, вектора или матрицы.
Зависимости
Чтобы использовать этот параметр, установите флажок параметра Ограничение выхода.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Да |
#
Show saturation port —
включение выходного порта насыщения
Логический тип
Details
Установите этот флажок, чтобы добавить в блок выходной порт насыщения. Когда вы снимаете этот флажок, блок не имеет выходного порта насыщения.
Зависимости
Выбор этого параметра включает выходной порт насыщения.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |
#
Show state port —
включение порта вывода состояния
Логический тип
Details
Установите этот флажок, чтобы добавить порт вывода состояния в блок. Когда вы снимаете этот флажок, блок не имеет порта вывода состояния.
Зависимости
Выбор этого параметра включает порт вывода состояния.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |