Форма цикла и спецификации запаса устойчивости

В этом примере показано, как задать формы цикла и запасы устойчивости при настройке систем управления с systune или looptune.

Фон

systune и looptune команды настраивают параметры систем управления фиксированной структуры, удовлетворяющих разнообразию времени - и требования частотного диапазона. TuningGoal пакет является репозиторием для таких конструктивных требований.

Форма цикла

TuningGoal.LoopShape требование используется, чтобы сформировать усиление (усиления) ответа разомкнутого цикла, подход проекта, известный как формирование цикла. Например,

s = tf('s');
R1 = TuningGoal.LoopShape('u',1/s);

указывает, что ответ разомкнутого цикла, измеренный в местоположении "u", должен быть похожим на чистый интегратор (насколько его усиление затронуто). В MATLAB используйте AnalysisPoint блокируйтесь, чтобы отметить местоположение "u", видеть "Создающие Настраиваемые Модели" пример для деталей. В Simulink используйте addPoint метод slTuner взаимодействуйте через интерфейс, чтобы отметить "u" как интересное место.

Как с другими спецификациями усиления, можно только задать асимптоты желаемой формы цикла с помощью нескольких точек частоты. Например, чтобы задать форму цикла с перекрестным соединением усиления на уровне 1 рад/с, наклон на-20 дБ/десятилетие, прежде чем 1 рад/с и наклон на-40 дБ/десятилетие после 1 рад/с, только указывает, что усиление на частотах 0.1,1,10 должно быть 10,1,0.01, соответственно.

LS = frd([10,1,0.01],[0.1,1,10]);
R2 = TuningGoal.LoopShape('u',LS);

bodemag(LS,R2.LoopGain)
legend('Specified','Interpolated')

Требования формы цикла являются ограничениями на ответ разомкнутого цикла L. Для настройки целей они преобразованы в ограничения усиления с обратной связью на функцию чувствительности S=1/(1+L) и дополнительная функция чувствительности T=L/(1+L). Используйте viewGoal визуализировать целевую форму цикла и соответствующее усиление ограничивает на S (зеленый) и T (красный).

viewGoal(R2)

Минимальное и максимальное усиление цикла

Вместо TuningGoal.LoopShape, можно использовать TuningGoal.MinLoopGain и TuningGoal.MaxLoopGain чтобы задать минимальные или максимальные значения для цикла получают в конкретном диапазоне частот. Это полезно, когда фактическую форму цикла около перекрестного соединения лучше всего оставляют настраивающемуся алгоритму выяснить. Например, следующие требования задают минимальное усиление цикла в пропускной способности и характеристиках спада вне пропускной способности, но не задают фактическую частоту среза, ни форму цикла около перекрестного соединения.

MinLG = TuningGoal.MinLoopGain('u',5/s);  % integral action
MinLG.Focus = [0 0.2];

MaxLG = TuningGoal.MaxLoopGain('u',1/s^2);  % -40dB/decade roll off
MaxLG.Focus = [1 Inf];

viewGoal([MinLG MaxLG])

TuningGoal.MaxLoopGain требование опирается на то, что открытые - и усиления с обратной связью сопоставимы, когда усиление цикла мало (|L|1). В результате это может быть неэффективно при хранении усиления цикла ниже некоторого значения близко к 1. Например, предположите, что гибкие режимы вызывают скачки усиления вне частоты среза и что необходимо сохранить эти скачки ниже 0.5 (-6 дБ). Вместо того, чтобы использовать TuningGoal.MaxLoopGain, можно непосредственно ограничить усиление L использование TuningGoal.Gain с циклом, открывающимся в "u".

MaxLG = TuningGoal.Gain('u','u',0.5);
MaxLG.Opening = 'u';

Если ответ разомкнутого цикла нестабилен, убедитесь, что далее отключили неявное ограничение устойчивости, сопоставленное с этим требованием.

MaxLG.Stabilize = false;

Рисунок 1 показывает это требование, оцененное для ответа разомкнутого цикла с гибкими режимами.

Рисунок 1: Получите ограничение на L

Запасы устойчивости

TuningGoal.Margins требование осуществляет минимальные количества запасов по амплитуде и фазе в заданном цикле вводный сайт (сайты). Для обратной связи MIMO это требование использует понятие дисковых полей, которые гарантируют устойчивость для параллельного усиления и изменений фазы заданной суммы во всех каналах обратной связи (см. diskmargin для деталей). Например, следующий код осуществляет ±6 дБ запаса по амплитуде и 45 градусов запаса по фазе в местоположении "u".

R = TuningGoal.Margins('u',6,45);

В MATLAB используйте AnalysisPoint блокируйтесь, чтобы отметить местоположение "u" (см. Создающие Настраиваемые Модели для деталей). В Simulink используйте addPoint метод slTuner взаимодействуйте через интерфейс, чтобы отметить "u" как интересное место (см., Создают и Конфигурируют Интерфейс slTuner к Модели Simulink (Simulink Control Design)). Запасы устойчивости обычно измеряются во входных параметрах объекта или объекте выходные параметры или оба.

Целевые значения запаса по амплитуде и фазе преобразованы в нормированное ограничение усиления на некоторую соответствующую передаточную функцию с обратной связью. Желаемые поля достигаются на частотах, где усиление меньше 1. Используйте viewGoal чтобы исследовать требование, вы сконфигурировали.

viewGoal(R)

Теневая область указывает, где ограничение нарушено. После настройки, для настроенной модели T, можно использовать viewGoal(R,T) видеть настроенные зависимые частотой поля на этом графике.

Смотрите также

| | |

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте