TuningGoal.Sensitivity class

Пакет: 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

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

Программное обеспечение автоматически сопоставляет входной параметр 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

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