TuningGoal.Tracking class

Пакет: TuningGoal

Отслеживание требования для настройки системы управления

Описание

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

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

MaxError=(PeakError)s+ωc(DCError)s+ωc.

Здесь, ωc равняется 2 / (время отклика). Следующий график иллюстрирует эти отношения для множества значений в качестве примера.

Конструкция

Req = TuningGoal.Tracking(inputname,outputname,responsetime,dcerror,peakerror) создает настраивающийся целевой Req это ограничивает производительность отслеживания от inputname к outputname в частотном диапазоне. Эта настраивающая цель задает профиль максимальной погрешности как функцию частоты, данной:

MaxError=(PeakError)s+ωc(DCError)s+ωc.

Пропускная способность отслеживания ωc = 2/responsetime. Максимальная относительная установившаяся ошибка дана dcerror, и peakerror дает пиковую относительную погрешность через все частоты.

Можно задать требование отслеживания MIMO путем определения имен сигнала или массива ячеек нескольких имен сигнала для inputname или outputname. Для требований отслеживания MIMO используйте InputScaling свойство помочь ограничить перекрестную связь. См. Свойства.

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

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

inputname

Входные сигналы для настраивающейся цели в виде вектора символов или, для нескольких - входные настраивающие цели, массив ячеек из символьных векторов.

  • Если вы используете настраивающуюся цель настроить модель Simulink® системы управления, то inputname может включать:

    • Любой вход модели.

    • Любая линейная аналитическая точка отмечена в модели.

    • Любой линейный анализ указывает в slTuner интерфейс сопоставлен с моделью Simulink. Используйте addPoint добавить анализ указывает на slTuner интерфейс. Используйте getPoints получить список аналитических точек, доступных в slTuner взаимодействуйте через интерфейс к своей модели.

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

  • Если вы используете настраивающуюся цель настроить обобщенное пространство состояний (genss) модель системы управления, затем inputname может включать:

    • Любой вход genss модель

    • Любой AnalysisPoint местоположение в модели системы управления

    Например, если вы настраиваете модель системы управления, T, затем inputname может быть любое входное имя в T.InputName. Кроме того, если T содержит AnalysisPoint блокируйтесь с местоположением под названием AP_u, затем inputname может включать 'AP_u'. Используйте getPoints получить список аналитических точек, доступных в genss модель.

    Если inputname AnalysisPoint местоположение обобщенной модели, входной сигнал для настраивающейся цели является подразумеваемым входом, сопоставленным с AnalysisPoint блок:

Для получения дополнительной информации об аналитических точках в моделях системы управления, смотрите представляющего интерес Марка Сигнэлса для Анализа и проектирования Системы управления.

outputname

Выходные сигналы для настраивающейся цели в виде вектора символов или, для нескольких - выходные настраивающие цели, массив ячеек из символьных векторов.

  • Если вы используете настраивающуюся цель настроить модель Simulink системы управления, то outputname может включать:

    • Любой выход модели.

    • Любая линейная аналитическая точка отмечена в модели.

    • Любой линейный анализ указывает в slTuner интерфейс сопоставлен с моделью Simulink. Используйте addPoint добавить анализ указывает на slTuner интерфейс. Используйте getPoints получить список аналитических точек, доступных в slTuner взаимодействуйте через интерфейс к своей модели.

    Например, предположите что slTuner интерфейс содержит аналитические точки y1 и y2. Используйте 'y1' определять ту точку как выходной сигнал при создании настраивающихся целей. Используйте {'y1','y2'} определять двухканальный выход.

  • Если вы используете настраивающуюся цель настроить обобщенное пространство состояний (genss) модель системы управления, затем outputname может включать:

    • Любой выход genss модель

    • Любой AnalysisPoint местоположение в модели системы управления

    Например, если вы настраиваете модель системы управления, T, затем outputname может быть любое выходное имя в T.OutputName. Кроме того, если T содержит AnalysisPoint блокируйтесь с местоположением под названием AP_u, затем outputname может включать 'AP_u'. Используйте getPoints получить список аналитических точек, доступных в genss модель.

    Если outputname AnalysisPoint местоположение обобщенной модели, выходным сигналом для настраивающейся цели является подразумеваемый выход, сопоставленный с AnalysisPoint блок:

Для получения дополнительной информации об аналитических точках в моделях системы управления, смотрите представляющего интерес Марка Сигнэлса для Анализа и проектирования Системы управления.

responsetime

Целевое время отклика в виде значения положительной скалярной величины. Пропускная способность отслеживания дана ωc = 2/responsetime.Express целевое время отклика в единицах измерения времени моделей, которые будут настроены. Например, при настройке модели T, если T.TimeUnit 'minutes', затем выразите целевое время отклика в минутах.

dcerror

Максимальная установившаяся дробная ошибка отслеживания в виде значения положительной скалярной величины. Например, dcerror = 0,01 набора максимальная установившаяся ошибка 1%.

Если inputname или outputname с векторным знаком, dcerror применяется ко всем парам ввода-вывода от inputname к outputname.

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

peakerror

Максимальная дробная ошибка отслеживания через все частоты в виде значения положительной скалярной величины, больше, чем 1.

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

maxerror

Цель, отслеживающая ошибку, профилирует как функция частоты в виде SISO числовая модель LTI.

maxerror максимальное усиление от ссылочного сигнала до отслеживания сигнала ошибки. Можно задать maxerror как сглаженная передаточная функция (tf, zpk, или ss модель). В качестве альтернативы можно делать набросок кусочного ошибочного профиля с помощью frd модель. Когда вы делаете так, программное обеспечение автоматически сопоставляет ошибочный профиль с zpk модель. Величина zpk модель аппроксимирует желаемый ошибочный профиль. Используйте show(Req) построить величину zpk модель.

maxerror должна быть модель SISO LTI. Если inputname или outputname массивы ячеек, maxerror применяется ко всем парам ввода-вывода от inputname к outputname.

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

Свойства

MaxError

Максимальная погрешность как функция частоты, выраженной как zpk SISO модель. Это свойство хранит максимальную ошибку отслеживания как функцию частоты (максимальное усиление от ссылочного сигнала до отслеживания сигнала ошибки).

Если вы используете синтаксис Req = TuningGoal.Tracking(inputname,outputname,maxerror), затем MaxError свойством является zpk эквивалентный или приближение модели LTI вы предоставили как maxerror входной параметр.

Если вы используете синтаксис Req = TuningGoal.Tracking(inputname,outputname,resptime,dcerror,peakerror), затем MaxError zpk передаточная функция, данная:

MaxError=(PeakError)s+ωc(DCError)s+ωc.

MaxError модель SISO LTI. Если inputname или outputname массивы ячеек, MaxError применяется ко всем парам ввода-вывода от inputname к outputname.

Используйте show(Req) построить величину MaxError.

Focus

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

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

Req.Focus = [1,100];

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

InputScaling

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

Для требования отслеживания MIMO, когда выбор модульных результатов в соединении маленьких и больших сигналов в различных каналах ответа, используют это свойство задать относительную амплитуду каждой записи во входе шага с векторным знаком. Эта информация используется, чтобы масштабировать недиагональные условия в передаточной функции от ссылки до отслеживания ошибки. Это масштабирование гарантирует, что перекрестные связи измеряются относительно амплитуды каждого ссылочного сигнала.

Например, предположите тот Req настраивающаяся цель, которая сигнализирует о {'y1','y2'} отследите сигналы ссылки {'r1','r2'}. Предположим далее, что вы требуете, чтобы выходные параметры отследили ссылки меньше чем с 10%-й перекрестной связью. Если r1 и r2 имейте сопоставимые амплитуды, затем достаточно сохранить усиления от r1 к y2 и r2 и y1 ниже 0.1. Однако, если r1 в 100 раз больше, чем r2, усиление от r1 к y2 должен быть меньше 0.001, чтобы гарантировать тот r1 изменения y2 меньше чем 10% r2 цель. Чтобы гарантировать этот результат, установите InputScaling свойство можно следующим образом.

Req.InputScaling = [100,1];

Это говорит программному обеспечению учитывать, что первый ссылочный сигнал в 100 раз больше второго ссылочного сигнала.

Значение по умолчанию, [] , средние значения никакое масштабирование.

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

Input

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

Output

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

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';

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

Примеры

Отслеживание цели со временем отклика и максимальной установившейся ошибкой отслеживания

Создайте цель отслеживания, указывающую что 'theta' сигнала отследите 'theta_ref' сигнала. Необходимое время отклика равняется 2 в единицах измерения времени системы управления, которую вы настраиваете. Максимальная установившаяся ошибка составляет 0,1%.

 Req = TuningGoal.Tracking('theta_ref','theta',2,0.001);

Начиная с peakerror не задано, эта настраивающая цель использует значение по умолчанию, 1.

Отслеживание цели с максимальной ошибкой отслеживания как функция частоты

Создайте цель отслеживания, указывающую что 'theta' сигнала отследите 'theta_ref' сигнала. Максимальная относительная погрешность 0.01 (1%) в частотном диапазоне [0,1]. Относительная погрешность увеличивается до 1 (100%) на частоте 100.

Используйте frd модель, чтобы задать ошибку профилирует как функция частоты.

err = frd([0.01 0.01 1],[0 1 100]);
Req = TuningGoal.Tracking('theta_ref','theta',err);

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

viewGoal(Req)

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

Советы

  • Эта настраивающая цель налагает неявное ограничение устойчивости на передаточную функцию с обратной связью от Input к Output, оцененный с циклами, открытыми в точках, идентифицирован в Openings. Движущими силами, затронутыми этим неявным ограничением, является stabilized dynamics для этой настраивающей цели. MinDecay и MaxRadius опции systuneOptions управляйте границами на этих неявно ограниченных движущих силах. Если оптимизации не удается соответствовать границам по умолчанию, или если конфликт границ по умолчанию с другими требованиями, используйте systuneOptions изменить эти значения по умолчанию.

Алгоритмы

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

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

f(x)=WF(s)(T(s,x)I),

или его эквивалентное дискретное время. Здесь, T (s, x) является передаточной функцией с обратной связью от Input к Output, и обозначает H норма (см. getPeakGain). WF является функцией взвешивания частоты, выведенной из ошибочного профиля, который вы задаете в настраивающейся цели. Усиления WF и 1/MaxError примерно соответствуйте для значений усиления между-20 дБ и 60 дБ. По числовым причинам функция взвешивания выравнивается вне этой области значений, если вы не задаете образец модели, который изменяет наклон вне этой области значений. Эта корректировка называется regularization. Поскольку полюса WF близко к s = 0 или s = Inf может привести к плохому числовому созданию условий systune задача оптимизации, не рекомендуется задать ошибочные профили с очень низкочастотной или очень высокочастотной динамикой.

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

WF = getWeight(Req,Ts)

где Req настраивающаяся цель и Ts шаг расчета, в котором вы настраиваетесь (Ts = 0 в течение непрерывного времени). Для получения дополнительной информации о регуляризации и ее эффектах, смотрите, Визуализируют Настраивающиеся Цели.

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

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

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

Введенный в R2016a