TuningGoal. Класс чувствительности

Пакет: TuningGoal

Требование чувствительности для настройки системы управления

Описание

Используйте TuningGoal.Sensitivity, чтобы ограничить чувствительность обратной связи к воздействиям. Ограничьте чувствительность быть меньшей, чем одна на частотах, где вам нужно хорошее подавление помех. Используйте эту настраивающую цель для системы управления, настраивающейся с настраивающимися командами, такими как systune или looptune.

Конструкция

Req = TuningGoal.Sensitivity(location,maxsens) создает настраивающуюся цель по ограничению чувствительности к воздействиям, вводящим обратную связь в заданном местоположении. maxsens задает максимальную чувствительность как функцию частоты. Можно задать максимальный профиль чувствительности как сглаженную передаточную функцию или делать набросок кусочного ошибочного профиля с помощью модели frd или команды makeweight.

Смотрите getSensitivity для получения дополнительной информации о функциях чувствительности.)

Входные параметры

location

Местоположение, в котором ограничивается чувствительность к воздействиям, задало как вектор символов или массив ячеек из символьных векторов, которые идентифицируют одно или несколько местоположений в системе управления, чтобы настроиться. То, какие местоположения доступны, зависит от того, какую систему вы настраиваете:

  • Если вы настраиваете модель Simulink® системы управления, можно использовать любую линейную аналитическую точку, отмеченную в модели или любую линейную аналитическую точку в интерфейсе slTuner, сопоставленном с моделью Simulink. Используйте addPoint, чтобы добавить, что анализ указывает на интерфейс slTuner. Например, если интерфейс slTuner содержит аналитическую точку u, можно использовать 'u', чтобы относиться к той точке при создании настраивающихся целей. Используйте getPoints, чтобы получить список аналитических точек, доступных в интерфейсе slTuner к вашей модели.

  • Если вы настраиваете обобщенную модель (genss) пространства состояний системы управления, можно использовать любое местоположение AnalysisPoint в модели системы управления. Например, следующий код создает цикл PI с аналитической точкой во входе 'u' объекта.

    AP = AnalysisPoint('u');
    G = tf(1,[1 2]);
    C = tunablePID('C','pi');
    T = feedback(G*AP*C,1);
    

    При создании настраивающихся целей можно использовать 'u', чтобы относиться к аналитической точке во входе объекта. Используйте getPoints, чтобы получить список аналитических точек, доступных в модели genss.

Если location является массивом ячеек, то требование чувствительности применяется к циклу MIMO.

maxsens

Максимальная чувствительность к воздействиям как функция частоты.

Можно задать maxsens как сглаженную передаточную функцию SISO (tf, zpk или модель ss). Также можно делать набросок кусочного профиля усиления с помощью модели frd или команды makeweight. Например, следующая модель frd задает максимальную чувствительность 0,01 (-40 дБ) на уровне 1 рад/с, увеличиваясь до 1 прошлого 50 рад/с (на 0 дБ).

maxsens = frd([0.01 1 1],[1 50 100]);
bodemag(maxsens)
ylim([-45,5])

Когда вы используете модель frd, чтобы задать maxsens, программное обеспечение автоматически сопоставляет ваш заданный профиль усиления с моделью zpk, значение которой аппроксимирует желаемый профиль усиления. Используйте viewGoal(Req), чтобы построить значение той модели zpk.

Если вы настраиваетесь в дискретное время (то есть, с помощью модели genss или интерфейса slTuner с ненулевым Ts), можно задать maxsens как модель дискретного времени с тем же Ts. Если вы задаете maxsens в непрерывное время, настраивающееся программное обеспечение дискретизирует его. Определение максимального профиля чувствительности в дискретное время дает вам больше контроля профилем около частоты Найквиста.

Свойства

MaxSensitivity

Максимальная чувствительность как функция частоты, заданной как модель SISO zpk.

Программное обеспечение автоматически сопоставляет входной параметр maxsens на модель zpk. Значение этой модели zpk аппроксимирует желаемый профиль усиления. Используйте viewGoal(Req), чтобы построить значение модели zpk MaxSensitivity.

Focus

Диапазон частот, в котором осуществляется настройка цели, задал как вектор - строка из формы [min,max].

Установите свойство Focus ограничить осуществление настраивающейся цели к конкретному диапазону частот. Выразите это значение в единицах частоты модели системы управления, которую вы настраиваете (rad/TimeUnit). Например, предположите, что Req является настраивающейся целью, которую вы хотите применить только между 1 и 100 рад/с. Чтобы ограничить настраивающуюся цель этой полосой, используйте следующую команду:

Req.Focus = [1,100];

Значение по умолчанию: [0,Inf] в течение непрерывного времени; [0,pi/Ts] в течение дискретного времени, где Ts является образцовым шагом расчета.

LoopScaling

Переключитесь для того, чтобы автоматически масштабировать сигналы цикла, заданные как 'on' или 'off'.

В многоконтурном или системах управления MIMO, каналы обратной связи автоматически повторно масштабируются, чтобы компенсировать недиагональные условия в передаточной функции разомкнутого цикла (периоды взаимодействия цикла). Установите LoopScaling на 'off' отключать такое масштабирование и формировать немасштабированную функцию чувствительности.

Значение по умолчанию: 'on'

Location

Местоположение воздействия, заданного как массив ячеек из символьных векторов, которые идентифицируют одну или несколько аналитических точек в системе управления, чтобы настроиться. Например, если Location = {'u'}, настраивающаяся цель оценивает ответ разомкнутого цикла, измеренный в аналитической точке 'u'. Если Location = {'u1','u2'}, настраивающаяся цель оценивает ответ разомкнутого цикла MIMO, измеренный в аналитических точках 'u1' и 'u2'.

Начальное значение свойства Location установлено входным параметром location, когда вы создаете настраивающуюся цель.

Models

Модели, к которым настраивающаяся цель применяется, заданный как вектор индексов.

Используйте свойство Models при настройке массива моделей системы управления с systune, чтобы осуществить настраивающуюся цель для подмножества моделей в массиве. Например, предположите, что вы хотите применить настраивающуюся цель, Req, к вторым, третьим, и четвертым моделям в образцовом массиве передал systune. Чтобы ограничить осуществление настраивающейся цели, используйте следующую команду:

Req.Models = 2:4;

Когда Models = NaN, настраивающаяся цель применяется ко всем моделям.

Значение по умолчанию: NaN

Openings

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

Если вы используете настраивающуюся цель настроить модель Simulink системы управления, то Openings может включать любую линейную аналитическую точку, отмеченную в модель или любую линейную аналитическую точку в интерфейсе slTuner, сопоставленном с моделью Simulink. Используйте addPoint, чтобы добавить аналитические точки и открытия цикла к интерфейсу slTuner. Используйте getPoints, чтобы получить список аналитических точек, доступных в интерфейсе slTuner к вашей модели.

Если вы используете настраивающуюся цель настроить обобщенную модель (genss) пространства состояний системы управления, то Openings может включать любое местоположение AnalysisPoint в модель системы управления. Используйте getPoints, чтобы получить список аналитических точек, доступных в модели genss.

Например, если Openings = {'u1','u2'}, то настраивающаяся цель оценена с циклами, открытыми при анализе, указывает u1 и u2.

Значение по умолчанию: {}

Name

Имя настраивающейся цели, заданной как вектор символов.

Например, если Req является настраивающейся целью:

Req.Name = 'LoopReq';

Значение по умолчанию: []

Примеры

Чувствительность воздействия во входе объекта

Создайте настраивающуюся цель, которая ограничивает чувствительность к воздействию во входе объекта следующей системы управления. Система управления содержит аналитическую точку под названием 'X' во входе объекта.

Задайте максимальную чувствительность 0,01 (-40 дБ) на уровне 1 рад/с, увеличившись до 1 прошлого 10 рад/с (на 0 дБ). Используйте модель 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 для этой настраивающей цели. MinDecay и опции MaxRadius systuneOptions управляют границами на этих неявно ограниченных движущих силах. Если оптимизации не удается соответствовать границам по умолчанию, или если конфликт границ по умолчанию с другими требованиями, используйте systuneOptions, чтобы изменить эти значения по умолчанию.

Алгоритмы

Когда вы настраиваете систему управления с помощью TuningGoal, программное обеспечение преобразовывает настраивающуюся цель в нормированное скалярное значение f (x), где x является вектором свободных (настраиваемых) параметров в системе управления. Программное обеспечение затем настраивает значения параметров, чтобы минимизировать f (x) или управлять f (x) ниже 1, если настраивающейся целью является трудное ограничение.

Для TuningGoal.Sensitivity f (x) дают:

f(x)=WS(s)S(s,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 в течение непрерывного времени). Для получения дополнительной информации о регуляризации и ее эффектах, смотрите, Визуализируют Настраивающиеся Цели.

Вопросы совместимости

развернуть все

Поведение изменяется в R2016a

Введенный в R2016a