exponenta event banner

Упрощение полюсов и нулей

Упрощение полюсов-нулей точно уменьшает порядок модели, отменяя пары полюсов-нулей или устраняя состояния, которые не влияют на общую реакцию модели. Пары полюс-ноль могут быть введены, например, при построении архитектур с замкнутым контуром. Обычные небольшие ошибки, связанные с численными вычислениями, могут преобразовывать такие пары отмены в пары почти отмены. Удаление этих состояний сохраняет характеристики реакции модели при одновременном упрощении конструкции анализа и управления. Типы упрощения полюса-нуля включают в себя:

  • Структурное устранение - устранение состояний, которые конструктивно отключены от входов или выходов. Устранение структурно разъединенных состояний является хорошим первым шагом в сокращении модели, поскольку процесс не требует численных вычислений. Он также сохраняет структуру состояния остальных состояний. Такие структурно неминимальные состояния могут возникать, например, при линеаризации модели Simulink ®, которая включает в себя некоторые несвязанные блоки состояний-пространства или передаточных функций. В командной строке выполните структурное устранение с помощьюsminreal.

  • Отмена или минимальная реализация полюса-нуля - исключение из передаточных функций отменяющих или почти отменяющих пар полюс-ноль. Исключение ненаблюдаемых или неконтролируемых состояний из моделей пространства состояний. В командной строке выполните этот вид упрощения с помощью minreal.

В приложении Model Reducer и задаче Reduce Model Order Live Editor метод упрощения полюсов-нулей автоматически исключает структурно отключенные состояния, а также выполняет отмену полюсов-нулей или минимальную реализацию.

Упрощение с нулевым полюсом в приложении для редуктора модели

Модельный редуктор (Model Reducer) предоставляет интерактивный инструмент для выполнения уменьшения модели, а также для анализа и сравнения откликов исходной модели и модели с уменьшенным порядком. Для уменьшения модели путем упрощения до нуля в редукторе модели:

  1. Откройте приложение и импортируйте модель для сокращения. Например, предположим, что существует модель с именем build в рабочей области MATLAB ®. Следующая команда открывает редуктор модели и импортирует модель LTIbuild.

    modelReducer(build)
  2. В браузере данных выберите модель для уменьшения. Щелкните Упрощение полюса (Pole-Zero).

    На вкладке Упрощение полюса (Pole-Zero) отображается график частотной характеристики исходной модели и уменьшенная версия модели. Приложение также отображает карту полюсов и нулей обеих моделей.

    Карта полюсов-нулей помечает местоположения полюсов с помощью x и нулевые местоположения с o.

    Примечание

    Частотная характеристика представляет собой график Боде для моделей SISO и график сингулярного значения для моделей MIMO.

  3. При необходимости измените допуск, с помощью которого модельный редуктор определяет отмену пар полюс-ноль. Модельный редуктор отменяет пары полюс-нуль, которые находятся в пределах допуска, заданного значением «Упрощение пар полюс-нуль». В этом случае пары полюс-ноль не являются достаточно близкими друг к другу, чтобы редуктор модели отменил их при допуске по умолчанию 1e-05. Чтобы отменить пары, расположенные несколько дальше друг от друга, переместите ползунок вправо или введите большее значение в текстовом поле.

    Синий x и o на карте полюс-ноль показаны пары полюс-ноль, близкие к отмене, в исходной модели, которые исключены из упрощенной модели. Полюса и нули, оставшиеся в упрощенной модели, отмечены красным цветом x и o.

  4. Попробуйте использовать различные допуски упрощения при соблюдении частотной характеристики исходной и упрощенной модели. Удалите столько полюсов и нулей, сколько вы можете, сохраняя поведение системы в частотной области, которая важна для вашего приложения. При необходимости проверьте абсолютную или относительную ошибку между исходной и упрощенной моделью. Выберите тип графика ошибок с помощью кнопок на вкладке Упрощение полюса (Pole-Zero Simplification).

    Дополнительные сведения об использовании графиков анализа см. в разделе Визуализация моделей уменьшенного порядка в приложении «Редуктор модели».

  5. При наличии упрощенной модели, которую необходимо сохранить и проанализировать, щелкните значок. Новая модель появится в браузере данных с именем, отражающим сокращенный порядок модели.

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

Теперь можно выполнить дальнейший анализ с уменьшенной моделью. Например:

  • Изучите другие ответы уменьшенной системы, такие как ответ на шаг или график Николса. Для этого используйте инструменты на вкладке Графики (Plots). Дополнительные сведения см. в разделе Визуализация моделей уменьшенного порядка в приложении «Редуктор модели».

  • Экспорт уменьшенных моделей в рабочую область MATLAB для дальнейшего анализа или управления конструкцией. На вкладке Редуктор модели (Model Reducer ) щелкните Экспорт (Export).

Создание кода MATLAB для упрощения полюсов

Чтобы создать сценарий MATLAB, который можно использовать для дальнейших задач сокращения модели в командной строке, щелкните Создать сокращенную модель (Create Reducted Model) и выберите Создать сценарий MATLAB (Generate MATLAB Script).

Редуктор модели создает сценарий, в котором используется minreal для выполнения сокращения модели с параметрами, заданными на вкладке Упрощение полюса (Pole-Zero). Сценарий открывается в редакторе MATLAB.

Отмена нулевого полюса в командной строке

Чтобы уменьшить порядок модели путем отмены нуля полюса в командной строке, используйте minreal.

Создайте модель следующей системы, где C является PI-контроллером, и G имеет ноль при 3 × 10-8 рад/с. Такой низкочастотный ноль может возникнуть из-за производного действия где-то в динамике растения. Например, установка может включать в себя компонент, который вычисляет скорость из измерений положения.

G = zpk(3e-8,[-1,-3],1); 
C = pid(1,0.3);
T = feedback(G*C,1)
T =
 
    (s+0.3) (s-3e-08)
  ----------------------
  s (s+4.218) (s+0.7824)
 
Continuous-time zero/pole/gain model.

В модели с замкнутым контуром T, интегратор (1/с) от C очень почти отменяет низкочастотный нуль G.

Принудительная отмена интегратора с нулем вблизи начала координат.

Tred = minreal(T,1e-7)
Tred =
 
        (s+0.3)
  --------------------
  (s+4.218) (s+0.7824)
 
Continuous-time zero/pole/gain model.

По умолчанию minreal уменьшает порядок передаточной функции путем отмены точных пар полюс-нуль или пар полюс-ноль в пределах sqrt(eps). Определение 1e-7 в качестве второй входной причины minreal для устранения пар полюс-ноль в пределах 10-7 рад/с друг от друга.

Уменьшенная модель Tred включает в себя всю динамику исходной модели с замкнутым контуром T, за исключением пары нулевых полюсов, близкой к отмене.

Сравните частотные характеристики исходной и уменьшенной систем.

bode(T,Tred,'r--')
legend('T','Tred')

Figure contains 2 axes. Axes 1 contains 2 objects of type line. These objects represent T, Tred. Axes 2 contains 2 objects of type line. These objects represent T, Tred.

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

См. также

Приложения

Функции

Задачи интерактивного редактора

Связанные темы