Пакет: TuningGoal
Отслеживание требования для настройки системы управления
Используйте TuningGoal.Tracking
, чтобы задать требование отслеживания частотного диапазона между заданными вводами и выводами. Эта настраивающая цель задает максимальную относительную погрешность (усиление от ссылочного входа до отслеживания ошибки) как функция частоты. Используйте эту настраивающую цель для системы управления, настраивающейся с настраивающимися командами, такими как systune
или looptune
.
Можно задать профиль максимальной погрешности непосредственно путем обеспечения передаточной функции. Также можно задать целевую ошибку DC, пиковую ошибку, и время отклика. Эти параметры преобразованы в следующую передаточную функцию, которая описывает максимальную ошибку отслеживания частотного диапазона:
Здесь, ωc равняется 2 / (время отклика). Следующий график иллюстрирует эти отношения для множества значений в качестве примера.
создает настраивающийся целевой Req
=
TuningGoal.Tracking(inputname
,outputname
,responsetime
,dcerror
,peakerror
)Req
, который ограничивает производительность отслеживания от inputname
до outputname
в частотном диапазоне. Эта настраивающая цель задает профиль максимальной погрешности как функцию частоты, данной:
Пропускная способность отслеживания ωc = 2/responsetime
. Максимальная относительная установившаяся ошибка дана dcerror
, и peakerror
дает пиковую относительную погрешность через все частоты.
Можно задать требование отслеживания MIMO путем определения имен сигнала или массива ячеек нескольких имен сигнала для inputname
или outputname
. Для требований отслеживания MIMO используйте свойство InputScaling
помочь ограничить перекрестную связь. См. Свойства.
задает максимальную относительную погрешность как функцию частоты. Можно задать целевой ошибочный профиль (максимальное усиление от ссылочного сигнала до отслеживания сигнала ошибки) как сглаженная передаточная функция. Также можно делать набросок кусочного ошибочного профиля с помощью модели Req
= TuningGoal.Tracking(inputname
,outputname
,maxerror
)frd
.
|
Входные сигналы для настраивающейся цели, заданной как вектор символов или, для нескольких - входные настраивающие цели, массив ячеек из символьных векторов.
Для получения дополнительной информации об аналитических точках в моделях системы управления, смотрите представляющего интерес Марка Сигнэлса для Анализа и проектирования Системы управления. |
|
Выходные сигналы для настраивающейся цели, заданной как вектор символов или, для нескольких - выходные настраивающие цели, массив ячеек из символьных векторов.
Для получения дополнительной информации об аналитических точках в моделях системы управления, смотрите представляющего интерес Марка Сигнэлса для Анализа и проектирования Системы управления. |
|
Целевое время отклика, заданное как значение положительной скалярной величины. Пропускная способность отслеживания дана ωc = |
|
Максимальная установившаяся дробная ошибка отслеживания, заданная как значение положительной скалярной величины. Например, Если Значение по умолчанию: 0.001 |
|
Максимальная дробная ошибка отслеживания через все частоты, заданные как значение положительной скалярной величины, больше, чем 1. Значение по умолчанию: 1 |
|
Цель, отслеживающая ошибку, профилирует как функция частоты, заданной как числовая модель LTI SISO.
Если вы настраиваетесь в дискретное время (то есть, с помощью модели |
|
Максимальная погрешность как функция частоты, выраженной как модель SISO Если вы используете синтаксис Если вы используете синтаксис
Используйте |
|
Диапазон частот, в котором осуществляется настройка цели, задал как вектор - строка из формы Установите свойство Req.Focus = [1,100]; Значение по умолчанию: |
|
Ссылочное масштабирование сигнала, заданное как вектор положительных действительных значений. Для требования отслеживания MIMO, когда выбор модульных результатов в соединении маленьких и больших сигналов в различных каналах ответа, используют это свойство задать относительную амплитуду каждой записи во входе шага с векторным знаком. Эта информация используется, чтобы масштабировать недиагональные условия в передаточной функции от ссылки до отслеживания ошибки. Это масштабирование гарантирует, что перекрестные связи измеряются относительно амплитуды каждого ссылочного сигнала. Например, предположите, что Req.InputScaling = [100,1]; Это говорит программному обеспечению учитывать, что первый ссылочный сигнал в 100 раз больше, чем второй ссылочный сигнал. Значение по умолчанию, Значение по умолчанию: |
|
Ссылочные имена сигнала, заданные как вектор символов или массив ячеек из символьных векторов, задающий имена сигналов, которые будут прослежены, заполненные аргументом |
|
Имена выходного сигнала, заданные как вектор символов или массив ячеек из символьных векторов, задающий имена сигналов, которые должны отследить ссылочные сигналы, заполненные аргументом |
|
Модели, к которым настраивающаяся цель применяется, заданный как вектор индексов. Используйте свойство Req.Models = 2:4; Когда Значение по умолчанию: |
|
Обратная связь, чтобы открыться при оценке настраивающейся цели, заданной как массив ячеек из символьных векторов, которые идентифицируют открывающие цикл местоположения. Настраивающаяся цель оценена против настройки разомкнутого цикла, созданной вводной обратной связью в местоположениях, которые вы идентифицируете. Если вы используете настраивающуюся цель настроить модель Simulink системы управления, то Если вы используете настраивающуюся цель настроить обобщенную модель ( Например, если Значение по умолчанию: |
|
Имя настраивающейся цели, заданной как вектор символов. Например, если 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) дают:
или его эквивалентное дискретное время. Здесь, 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
в течение непрерывного времени). Для получения дополнительной информации о регуляризации и ее эффектах, смотрите, Визуализируют Настраивающиеся Цели.
TuningGoal.Gain
| TuningGoal.LoopShape
| evalGoal
| looptune
| looptune (for slTuner)
| slTuner
| systune
| systune (for slTuner)
| viewGoal