Пакет: TuningGoal
Требование к подавлению помех для настройки системы управления
Использование TuningGoal.Rejection
для определения минимального ослабления нарушения порядка, вводимого в заданное место в системе управления. Эта цель настройки помогает вам настроить системы управления с помощью команд настройки, таких как systune
или looptune
.
Когда вы используете TuningGoal.Rejection
программное обеспечение пытается настроить систему так, чтобы ослабление нарушения порядка в заданном местоположении превысило заданный вами минимальный коэффициент ослабления. Этот коэффициент ослабления является отношением чувствительности открытого и замкнутого контуров к нарушению порядка и является функцией частоты. Вы можете достичь нарушения порядка только внутри полосы пропускания управления. Коэффициент усиления цикла должен быть больше единицы, чтобы нарушение порядка было ослаблено (коэффициент ослабления > 1).
создает цель настройки для отклонения входящего в Req
=
TuningGoal.Rejection(distloc
,attfact
)distloc
нарушения порядка. Эта цель настройки ограничивает минимальный коэффициент ослабления нарушения порядка частотно-зависимым значением
attfact
.
|
Нарушение порядка местоположение, заданное как вектор символов или, для целей настройки с несколькими входами, массив ячеек с векторами символов.
|
|
Коэффициент затухания как функция от частоты, заданный как числовая модель LTI.
attfact = frd([100 100 1 1],[0 1 10 100]); Req = TuningGoal.Rejection('u',attfact); bodemag(attfact) ylim([-5,40]) Когда вы используете Если вы настраиваете в дискретном времени (то есть используя a |
|
Минимальное ослабление нарушения порядка как функция частоты, выраженная как SISO Программа автоматически сопоставляет |
|
Частота полосы в которой применяется цель настройки, задается как вектор-строка формы Установите Req.Focus = [1,100]; По умолчанию: |
|
Переключение для автоматического масштабирования сигналов цикла, заданное как Для целей мультицикла или MIMO подавления помех настройки каналы обратной связи автоматически пересматриваются, чтобы выровнять вне-диагональные (цикл взаимодействие) условия в разомкнутый контур передаточной функции. Задайте По умолчанию: |
|
Расположение нарушения порядка, заданное как массив ячеек из векторов символов, которые идентифицируют одну или несколько точек анализа в системе управления, чтобы настроить. Для примера, если Начальное значение |
|
Модели, к которым применяется цель настройки, заданные как вектор индексов. Используйте Req.Models = 2:4; Когда По умолчанию: |
|
Циклы обратной связи для открытия при оценке цели настройки, заданные как массив ячеек из векторов символов, которые идентифицируют местоположения открытия цикла. Цель настройки оценивается относительно строения разомкнутого контура, созданной открытием циклов обратной связи в идентифицируемых вами местах. Если вы используете цель настройки, чтобы настроить модель Simulink системы управления, то Если вы используете цель настройки, чтобы настроить обобщенное пространство состояний ( Для примера, если По умолчанию: |
|
Имя цели настройки, заданное как вектор символов. Для примера, если Req.Name = 'LoopReq'; По умолчанию: |
Создайте цель настройки, которая обеспечивает ослабление, по крайней мере, коэффициента 10 между 0 и 5 рад/с. Цель настройки применяется к нарушению порядка в систему управления в точке, обозначенной как 'u'
.
Req = TuningGoal.Rejection('u',10); Req.Name = 'Rejection spec'; Req.Focus = [0 5]
Создайте цель настройки, которая обеспечивает коэффициент ослабления не менее 100 (40 дБ) ниже 1 рад/с, постепенно падая до 1 (0 дБ) за 10 рад/с. Цель настройки применяется к нарушению порядка в систему управления в точке, обозначенной как 'u'
.
attfact = frd([100 100 1 1],[0 1 10 100]);
Req = TuningGoal.Rejection('u',attfact);
Эти команды используют frd
модель, чтобы задать минимальный профиль ослабления как функцию от частоты. Минимальное ослабление 100 ниже 1 рад/с вместе с минимальным ослаблением 1 на частотах 10 и 100 рад/с задает желаемый откат.
attfact
преобразуется в плавную функцию частоты, которая аппроксимирует кусочно-заданный профиль. Отобразите профиль усиления с помощью viewGoal.
viewGoal(Req)
Затененная область указывает, где нарушается цель настройки.
Эта цель настройки накладывает неявное ограничение устойчивости на функцию чувствительности с обратной связью, измеренную в Location
, оцениваемый с циклами, открытыми в точках, идентифицированных в Openings
. Динамика, на которую влияет это неявное ограничение, является stabilized dynamics для этой цели настройки. The MinDecay
и MaxRadius
опции systuneOptions
управляйте границами этой неявно ограниченной динамики. Если оптимизация не соответствует границам по умолчанию или если границы по умолчанию конфликтуют с другими требованиями, используйте systuneOptions
для изменения этих значений по умолчанию.
Когда вы настраиваете систему управления, используя TuningGoal
программное обеспечение преобразует цель настройки в нормированное скалярное значение f (x). В этом случае x является вектором свободных (настраиваемых) параметров в системе управления. Значения параметров настраиваются автоматически, чтобы минимизировать f (x) или f диска (x) ниже 1, если цель настройки является жестким ограничением.
Для TuningGoal.Rejection
, f (x) определяется:
или его эквивалент в дискретном времени. Здесь S (jω, x) является функцией чувствительности с обратной связью, измеренной в нарушении порядка местоположении. .R- частотный интервал, над которым применяется цель настройки, заданный в Focus
свойство. WS является функцией взвешивания частот, выведенной из заданного профиля ослабления. Усиления WS и MinAttenuation
примерно совпадают для значений усиления в диапазоне от -20 дБ до 60 дБ. По числовым причинам уровни функции взвешивания выключаются за пределы этой области значений, если заданный профиль ослабления не изменяет наклон вне этой области значений. Эта корректировка называется regularization. Потому что полюса WS близки к s = 0 или s = Inf
может привести к плохому числовому обусловлению systune
задача оптимизации, не рекомендуется задавать профили ослабления с очень низкочастотной или очень высокочастотной динамикой.
Для получения WS используйте:
WS = getWeight(Req,Ts)
где Req
является целью настройки, и Ts
- шаг расчета, в который вы настраиваете (Ts = 0
на непрерывное время). Для получения дополнительной информации о регуляризации и ее эффектах смотрите Визуализация целей настройки.
looptune
| systune
| TuningGoal.LoopShape
| TuningGoal.Tracking
| viewGoal
| looptune (for slTuner)
(Simulink Control Design) | slTuner
(Simulink Control Design) | systune (for slTuner)
(Simulink Control Design)