exponenta event banner

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

Пакет: TuningGoal

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

Описание

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

Строительство

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

Посмотрите 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 чтобы получить список точек анализа, доступных в genss модель.

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

maxsens

Максимальная чувствительность к возмущениям в зависимости от частоты.

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

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 свойство для ограничения применения цели настройки к определенной полосе частот. Выражайте это значение в частотных единицах настраиваемой модели системы управления (рад/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 (0 дБ) за 10 рад/с. Использовать frd модель для построения этой целевой чувствительности.

maxsens = frd([0.01 1 1],[1 10 100]);
Req = TuningGoal.Sensitivity('X',maxsens);

Программное обеспечение преобразует maxsens в гладкую функцию частоты, которая аппроксимирует кусочно заданный профиль усиления. Визуализировать эту функцию с помощью viewGoal.

viewGoal(Req)

Figure contains an axes. The axes contains an object of type line. These objects represent Max sensitivity, Effective bound.

Затененная область указывает области, в которых нарушена цель настройки. Затененная область отличается от заданного профиля усиления (пунктирная линия) на очень низких частотах из-за модификаций, которые программное обеспечение вводит для цифровой стабильности, как описано в Алгоритмах.

Цель чувствительности с ограниченным диапазоном частот и применением модели

Создайте цель настройки, определяющую максимальную чувствительность 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. Динамика, на которую влияет это неявное ограничение, является стабилизированной динамикой для этой цели настройки. MinDecay и MaxRadius варианты systuneOptions управлять границами в этой неявно ограниченной динамике. Если оптимизация не соответствует границам по умолчанию или если границы по умолчанию противоречат другим требованиям, используйте systuneOptions для изменения этих значений по умолчанию.

Алгоритмы

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

Для TuningGoal.Sensitivity, f (x) задается следующим образом:

f (x) =‖WS (ы) S (ы, x) ‖ ∞,

или его дискретный временной эквивалент. Здесь S (s, x) - функция чувствительности с замкнутым контуром, измеренная в местоположении, указанном в цели настройки. WS - функция взвешивания частоты, полученная из указанного профиля чувствительности. Выгоды WS и1/MaxSensitivity приблизительно совпадают для значений коэффициента усиления в диапазоне от -20 дБ до 60 дБ. По числовым причинам взвешивающая функция выравнивается вне этого диапазона, если только указанный профиль чувствительности не изменяет наклон вне этого диапазона. Эта корректировка называется регуляризацией. Поскольку полюса WS близки к s = 0 или s = Inf может привести к плохому числовому кондиционированию systune задача оптимизации, не рекомендуется задавать профили чувствительности с очень низкочастотной или очень высокочастотной динамикой.

Чтобы получить WS, используйте:

WS = getWeight(Req,Ts)

где Req является целью настройки, и Ts - время выборки, в которое выполняется настройка (Ts = 0 на непрерывное время). Дополнительные сведения о регуляризации и ее последствиях см. в разделе Визуализация целей настройки.

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

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

В R2016a изменилось поведение

Представлен в R2016a