TuningGoal.Sensitivity class

Пакет: TuningGoal

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

Описание

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

Конструкция

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

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

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

location

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

  • Если вы настраиваете модель Simulink® системы управления, можно использовать любую линейную аналитическую точку, отмеченную в модели или любую линейную аналитическую точку в slTuner Интерфейс (Simulink Control Design) сопоставлен с моделью Simulink. Использование addPoint (Simulink Control Design), чтобы добавить анализ указывает на slTuner интерфейс. Например, если slTuner интерфейс содержит аналитическую точку u, можно использовать 'u' относиться к той точке при создании настраивающихся целей. Использование getPoints (Simulink Control Design), чтобы получить список аналитических точек, доступных в 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 получить список аналитических точек, доступных в a genss модель.

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

maxsens

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

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

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

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

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

Свойства

MaxSensitivity

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

Программное обеспечение автоматически сопоставляет входной параметр maxsens на a 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 Control Design) сопоставлен с моделью Simulink. Использование addPoint (Simulink Control Design), чтобы добавить аналитические точки и открытия цикла к slTuner интерфейс. Использование getPoints (Simulink Control Design), чтобы получить список аналитических точек, доступных в 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