Интегрирование второго порядка входного сигнала
Simulink / Непрерывный
Блок Second-Order Integrator и блок Second-Order Integrator Limited решают задачу с начальными значениями второго порядка:
где u является входом к системе. Блок является поэтому динамической системой с двумя непрерывными состояниями: x и dx/dt.
Примечание
Эти два состояния имеют математическое отношение, а именно, что dx/dt является производной x. Чтобы удовлетворить этому отношению в течение симуляции, Simulink помещает различные ограничения на параметры блоков и поведение.
Блок Second-Order Integrator Limited идентичен блоку Second-Order Integrator за исключением того, что это принимает значение по умолчанию к ограничению состояний на основе заданного верхнего и нижних пределов. Для получения дополнительной информации смотрите Limiting the States.
Программное обеспечение Simulink® может использовать несколько различных методов численного интегрирования, чтобы вычислить выходные параметры блока. У каждого есть преимущества для определенных приложений. Используйте панель Решателя диалогового окна Configuration Parameters, чтобы выбрать метод, подходящий лучше всего для вашего приложения. (Для получения дополнительной информации смотрите Критерии выбора Решателя.) Выбранный решатель вычисляет состояния блока Second-Order Integrator на шаге текущего времени с помощью текущего входного значения.
Используйте диалоговое окно параметров блоков для:
Задайте, является ли источник каждого начального условия состояния внутренним или внешним
Задайте значение для начальных условий состояния
Задайте верхний и нижние пределы или на или на оба состояния
Задайте абсолютные погрешности для каждого состояния
Задайте имена для обоих состояний
Выберите внешнее условие сброса
Включите обнаружение пересечения нулем
Повторно инициализируйте dx/dt, когда x достигнет насыщения
Укажите, что Simulink игнорирует пределы состояния и внешний сброс для операций линеаризации
Можно задать начальные условия каждого состояния индивидуально в качестве параметра на диалоговом окне блока или ввести один или они оба от внешнего сигнала.
Чтобы задать начальные условия x состояния как параметры блоков, используйте Initial condition source x выпадающее меню, чтобы выбрать internal
и введите значение в поле Initial condition x.
Чтобы обеспечить начальные условия из внешнего источника для x состояния, задайте параметр Initial condition source x как external
. Дополнительный входной порт появляется на блоке.
Чтобы задать начальные условия dx/dt состояния как параметры блоков, используйте Initial condition source dx/dt выпадающее меню, чтобы выбрать internal
и введите значение в поле Initial condition dx/dt.
Чтобы обеспечить начальные условия из внешнего источника для state dx/dt, задайте Initial condition source dx/dt как external
. Дополнительный входной порт появляется на блоке.
Если вы принимаете решение использовать внешний источник для обоих начальных условий состояния, ваш блок появляется следующим.
Примечание
Simulink не позволяет начальные значения условия inf
или NaN
.
Если вы ограничиваете x состояния или утверждаете dx/dt путем определения пределов насыщения (см. Limiting the States), и одно или несколько начальных условий находятся вне соответствующих пределов, то соответствующие состояния инициализируются к самому близкому допустимому значению, и набор сопоставимых начальных условий вычисляется.
При моделировании системы второго порядка вы, возможно, должны ограничить состояния блока. Например, движением поршня в цилиндре управляет Второй Закон Ньютона и имеет ограничения на положение поршня (x). С блоком Second-Order Integrator можно ограничить состояния x и dx/dt, независимый друг от друга. Можно даже изменить пределы в процессе моделирования; однако, вы не можете измениться, ограничиваются ли состояния. Важное правило следовать состоит в том, что верхний предел должен строго быть больше своего соответствующего нижнего предела.
Внешний вид блока изменяется, когда вы ограничиваете одно или оба состояния. С обоими ограниченными состояниями появляется следующим блок.
Для каждого состояния можно использовать диалоговое окно параметров блоков, чтобы установить соответствующие пределы насыщения.
Если вы используете блок Second-Order Integrator Limited, оба состояния ограничиваются по умолчанию. Но можно также вручную ограничить x состояния на блоке Second-Order Integrator путем выбора Limit x и ввода пределов в соответствующие поля параметра.
Блок затем определяет значения состояний можно следующим образом:
Когда x меньше чем или равен своему нижнему пределу, значение x сохранено в его нижнем пределе, и dx/dt обнуляется.
Когда x является промежуточным свои нижние и верхние пределы, оба состояния следуют за траекторией, данной ОДУ второго порядка.
Когда x больше или равен своему верхнему пределу, значение x сохранено в его верхнем пределе, и dx/dt обнуляется.
Можно принять решение повторно инициализировать dx/dt к новому значению в то время, когда x достигает насыщения. Смотрите Переинициализацию dx/dt, Когда x Достигнет Насыщения.
Как с x состояния, утвердите, что dx/dt установлен, как ограничено по умолчанию на панели dx/dt the Second-Order Integrator Limited диалогового окна блока. Можно вручную установить этот параметр, Limit dx/dt, на блоке Second-Order Integrator. В любом случае необходимо ввести соответствующие пределы для dx/dt.
Если вы ограничиваете только dx/dt состояния, то блок определяет значения dx/dt можно следующим образом:
Когда dx/dt меньше чем или равен своему нижнему пределу, значение dx/dt сохранено в его нижнем пределе.
Когда dx/dt является промежуточным свои нижние и верхние пределы, оба состояния следуют за траекторией, данной ОДУ второго порядка.
Когда dx/dt больше или равен своему верхнему пределу, значение dx/dt сохранено в его верхнем пределе.
Когда dx/dt состояния считается в нем верхний или нижний предел, значением x управляет задача с начальными значениями первого порядка:
где L является пределом dx/dt (верхний или ниже), t L является временем, когда dx/dt достигает этого предела и x, L является значением x состояния в то время.
Когда вы ограничиваете оба состояния, Simulink обеспечивает математическую непротиворечивость состояний путем ограничения допустимых значений верхнего и нижних пределов для dx/dt. Такие ограничения необходимы, чтобы удовлетворить следующим ограничениям:
Когда x в его пределах насыщения, значение dx/dt должно быть нулем.
Для x, чтобы оставить верхний предел, значение dx/dt должно быть строго отрицательным.
Для x, чтобы оставить его нижний предел, значение dx/dt должно быть строго положительным.
Для таких случаев верхний предел dx/dt должен быть строго положительным, и нижний предел dx/dt должен быть строго отрицательным.
Когда оба состояния ограничиваются, блок определяет состояния можно следующим образом:
Каждый раз, когда x достигает своих пределов, получившееся поведение эквивалентно, который описал в “Ограничении x только”.
Каждый раз, когда dx/dt достигает одного из своих пределов, получившееся поведение эквивалентно, который описал в “Ограничении dx/dt только” — включая расчет x с помощью ОДУ первого порядка, когда dx/dt сохранен в одном из его пределов. В таких случаях, когда x достигает одного из своих пределов, это сохранено в том пределе and dx/dt, обнуляется.
Каждый раз, когда оба достигают их соответствующих пределов одновременно, поведение x состояния заменяет поведение dx/dt, чтобы обеспечить непротиворечивость состояний.
Когда вы ограничиваете оба состояния, можно принять решение повторно инициализировать dx/dt в то время, когда x состояния достигает насыщения. Если повторно инициализированное значение находится вне заданных пределов на dx/dt, то dx/dt повторно инициализируется к самому близкому допустимому значению, и непротиворечивое множество начальных условий вычисляется. Смотрите Переинициализацию dx/dt, Когда x Достигнет Насыщения
Блок может сбросить свои состояния к заданным начальным условиям на основе внешнего сигнала. Чтобы заставить блок сбрасывать свои состояния, выберите один из выбора External reset на панели Attributes. Триггерный порт появляется на блоке ниже его входного порта и указывает на триггерный тип.
Выберите rising
сбрасывать состояния, когда сигнал сброса повышается от нуля до положительного значения от отрицания до положительного значения или отрицательной величины, чтобы обнулить.
Выберите falling
сбрасывать состояния, когда сигнал сброса падает от положительного значения, чтобы обнулить от положительного до отрицательной величины, или от нуля до отрицания.
Выберите either
сбрасывать состояния, когда сигнал сброса изменяется от нуля до ненулевого значения или изменяет знак.
Порт сброса имеет прямое сквозное соединение. Если блок выход возвращается в этот порт, или непосредственно или через серию блоков с прямым сквозным соединением, алгебраический цикл заканчивается (см. Алгебраические Концепции Цикла).
Этот параметр управляет, включено ли обнаружение пересечения нулем для этого блока. По умолчанию параметр Enable zero-crossing detection является выбранным On панели Attributes. Однако этот параметр находится только во влиянии, если Zero-crossing control, на панели Solver диалогового окна Configuration Parameters, установлен в Use local settings
. Для получения дополнительной информации смотрите Обнаружение Пересечения нулем.
Для определенных приложений моделирования должен быть повторно инициализирован dx/dt, когда x состояния достигает своих пределов для того, чтобы вытащить x из насыщения сразу. Можно достигнуть этого путем выбора Reinitialize dx/dt when x reaches saturation на панели Attributes.
Если эта опция идет, то в момент, когда x достигает насыщения, Simulink Check, позволяет ли текущее значение условия начальной буквы dx/dt (параметр или сигнал) x состояния сразу оставить насыщение. Если так, Simulink повторно инициализирует dx/dt состояния значением начального условия (параметр или сигнал) в тот момент. В противном случае Simulink игнорирует этот параметр в текущий момент и обнуляет dx/dt, чтобы сделать состояния блока сопоставимыми.
Этот параметр только применяется в то время, когда x на самом деле достигает предела насыщения. Это не применяется ни в какое будущее время, когда x сохранен в насыщении.
Обратитесь к разделам по ограничению состояний для получения дополнительной информации. Для примера смотрите Симуляцию Прыгающего мяча.
Для случаев, где вы упрощаете свою модель путем линеаризации его, у вас может быть игнорирование Simulink пределы состояний и внешнего сброса путем выбора Ignore state limits and the reset for linearization.
Simulink по умолчанию программное обеспечение использует значение абсолютной погрешности, заданное в диалоговом окне Configuration Parameters (см. Ошибочные Допуски к Решателям Переменного Шага) вычислить выход блоков интегратора. Если это значение не обеспечивает достаточный контроль ошибок, задайте больше соответствующего значения для x состояния в поле Absolute tolerance x и для dx/dt состояния в поле Absolute tolerance dx/dt диалогового окна параметра. Simulink использует значения, которые вы задаете, чтобы вычислить значения состояния блока.
Можно управлять, отобразить ли x или выходной порт dx/dt с помощью ShowOutput
параметр. Можно отобразить один выходной порт или обоих; однако, необходимо выбрать по крайней мере один.
Можно задать имя состояний x и состояний dx/dt с помощью StateNameX
и StateNameDXDT
параметры. Однако необходимо задать имена для обоих или ни одного; вы не можете задать имена для только x или только dx/dt. Оба имени состояния должны иметь идентичный тип и длину. Кроме того, количество имен должно равномерно разделить количество состояний.
Когда вы выбираете все опции, значок блока выглядит так.
Типы данных |
|
Прямое сквозное соединение |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулем |
|
Integrator | Integrator Limited | Second-Order Integrator Limited