Пакет: TuningGoal
Требование чувствительности для настройки системы управления
Использование TuningGoal.Sensitivity
ограничить чувствительность цикла обратной связи нарушениями порядка. Ограничьте чувствительность, чтобы быть меньше, чем одна на частотах, где вам нужно хорошее подавление помех. Используйте эту цель настройки для настройки системы управления с помощью команд настройки, таких как systune
или looptune
.
создает цель настройки для ограничения чувствительности нарушений порядка ввода цикла обратной связи в заданном местоположении. Req
= TuningGoal.Sensitivity(location
,maxsens
)maxsens
задает максимальную чувствительность как функцию частоты. Можно задать профиль максимальной чувствительности как гладкая передаточная функция или нарисовать кусочно- ошибку профиль с помощью frd
модель или makeweight
(Robust Control Toolbox).
Посмотрите getSensitivity
(Simulink Control Design) для получения дополнительной информации о функциях чувствительности.)
|
Местоположение, в котором ограничена чувствительность к нарушениям порядка, заданное как вектор символов или массив ячеек из векторов символов, которые идентифицируют одно или несколько местоположений в системе управления, для настройки. Какие локации доступны, зависит от того, какую систему вы настраиваете:
Если |
|
Максимальная чувствительность к нарушениям порядка как функция от частоты. Можно задать maxsens = frd([0.01 1 1],[1 50 100]); bodemag(maxsens) ylim([-45,5]) Когда вы используете Если вы настраиваете в дискретном времени (то есть используя a |
|
Максимальная чувствительность как функция от частоты, заданная как SISO Программа автоматически отображает входной параметр |
|
Частота полосы в которой применяется цель настройки, задается как вектор-строка формы Установите Req.Focus = [1,100]; По умолчанию: |
|
Переключение для автоматического масштабирования сигналов цикла, заданное как В мультицикл или системы управления MIMO каналы обратной связи автоматически перерассчитываются, чтобы выровнять off-диагональные условия в передаточной функции разомкнутого контура (условия циклического взаимодействия). Задайте По умолчанию: |
|
Расположение нарушения порядка, заданное как массив ячеек из векторов символов, которые идентифицируют одну или несколько точек анализа в системе управления, чтобы настроить. Для примера, если Начальное значение |
|
Модели, к которым применяется цель настройки, заданные как вектор индексов. Используйте Req.Models = 2:4; Когда По умолчанию: |
|
Циклы обратной связи для открытия при оценке цели настройки, заданные как массив ячеек из векторов символов, которые идентифицируют местоположения открытия цикла. Цель настройки оценивается относительно строения разомкнутого контура, созданной открытием циклов обратной связи в идентифицируемых вами местах. Если вы используете цель настройки, чтобы настроить модель Simulink системы управления, то Если вы используете цель настройки, чтобы настроить обобщенное пространство состояний ( Для примера, если По умолчанию: |
|
Имя цели настройки, заданное как вектор символов. Для примера, если Req.Name = 'LoopReq'; По умолчанию: |
Создайте цель настройки, которая ограничивает чувствительность к нарушениям порядка на входе объекта следующей системы управления. Система управления содержит точку анализа с именем 'X'
на входе объекта.
Задайте максимальную чувствительность 0,01 (-40 дБ) при 1 рад/с, увеличившись до 1 (0 дБ) за 10 рад/с. Использование frd
модель, чтобы нарисовать эту целевую чувствительность.
maxsens = frd([0.01 1 1],[1 10 100]);
Req = TuningGoal.Sensitivity('X',maxsens);
Программное обеспечение преобразует maxsens
в плавную функцию частоты, которая аппроксимирует кусочно-заданный профиль усиления. Визуализируйте эту функцию с помощью viewGoal
.
viewGoal(Req)
Затененная область указывает области, где цель настройки нарушена. Затененная область отличается от заданного профиля усиления (штриховая линия) на очень низких частотах из-за модификаций, которые программа вводит для числовой устойчивости, как описано в Алгоритмах.
Создайте цель настройки, которая задает максимальную чувствительность 0,1 (10%) на частотах ниже 5 рад/с. Сконфигурируйте цель настройки, чтобы применить только ко второй и третьей моделям объекта управления.
Req = TuningGoal.Sensitivity('u',0.1);
Req.Focus = [0 5];
Req.Models = [2 3];
Можно использовать Req
как вход в looptune
или systune
при настройке системы управления, которая имеет точку анализа, называемую 'u'
. Установка Focus
свойство ограничивает применение цели настройки частотами от 0 до 5 рад/с. Установка Models
свойство ограничивает применение цели настройки ко второй и третьей моделям в массиве, когда вы используете цель настройки, чтобы настроить массив системных моделей управления.
Эта цель настройки накладывает неявное ограничение устойчивости на функцию чувствительности с обратной связью, измеренную в Location
, оцениваемый с циклами, открытыми в точках, идентифицированных в Openings
. Динамика, на которую влияет это неявное ограничение, является stabilized dynamics для этой цели настройки. The MinDecay
и MaxRadius
опции systuneOptions
управляйте границами этой неявно ограниченной динамики. Если оптимизация не соответствует границам по умолчанию или если границы по умолчанию конфликтуют с другими требованиями, используйте systuneOptions
для изменения этих значений по умолчанию.
Когда вы настраиваете систему управления, используя TuningGoal
программное обеспечение преобразует цель настройки в нормированное скалярное значение f (x), где x является вектором свободных (настраиваемых) параметров в системе управления. Затем программа настраивает значения параметров, чтобы минимизировать f (x) или привести f (x) ниже 1, если цель настройки является жестким ограничением.
Для TuningGoal.Sensitivity
, f (x) определяется:
или его эквивалент в дискретном времени. Здесь S (s, x) является функцией чувствительности с обратной связью, измеренной в местоположении, заданном в цели настройки. WS является функцией взвешивания частот, выведенной из заданного профиля чувствительности. Усиления WS и 1/MaxSensitivity
примерно совпадают для значений усиления в диапазоне от -20 дБ до 60 дБ. По числовым причинам уровни функции взвешивания выключаются за пределы этой области значений, если заданный профиль чувствительности изменяет наклон вне этой области значений. Эта корректировка называется regularization. Потому что полюса WS близки к s = 0 или s = Inf
может привести к плохому числовому обусловлению systune
задача оптимизации, не рекомендуется задавать профили чувствительности с очень низкочастотной или очень высокочастотной динамикой.
Для получения WS используйте:
WS = getWeight(Req,Ts)
где Req
является целью настройки, и Ts
- шаг расчета, в который вы настраиваете (Ts = 0
на непрерывное время). Для получения дополнительной информации о регуляризации и ее эффектах смотрите Визуализация целей настройки.
evalGoal
| looptune
| systune
| TuningGoal.Gain
| TuningGoal.LoopShape
| TuningGoal.MaxLoopGain
| TuningGoal.MinLoopGain
| TuningGoal.Rejection
| viewGoal
| looptune
(for slTuner)
(Simulink Control Design) | slTuner
(Simulink Control Design) | systune (for slTuner)
(Simulink Control Design)