Технические требования частотного диапазона

Этот пример проводит экскурсию доступных требований частотного диапазона для системы управления, настраивающейся с systune или looptune.

Фон

systune и looptune команды настраивают параметры систем управления фиксированной структуры, удовлетворяющих разнообразию времени - и требования частотного диапазона. TuningGoal пакет является репозиторием для таких конструктивных требований.

Получите предел

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

s = tf('s');
R1 = TuningGoal.Gain('d','y',s/(s+1)^2);

указывает что усиление от d к y не должен превышать величину передаточной функции$s/(s+1)^2$.

viewGoal(R1)

Это часто удобно для, только делают набросок асимптот желаемого профиля усиления. Например, вместо передаточной функции$s/(s+1)^2$, мы могли только задать значения усиления 0.01,1,0.01 на частотах 0.01 1 100, точка (1,1), являющаяся точкой останова этих двух асимптот$s$ и$1/s$.

Asymptotes = frd([0.01,1,0.01],[0.01,1,100]);
R2 = TuningGoal.Gain('d','y',Asymptotes);

Объект требования автоматически превращает этот дискретный профиль усиления в предел усиления, заданный на всех частотах.

bodemag(Asymptotes,R2.MaxGain)
legend('Specified','Interpolated')

Усиление отклонения

TuningGoal.Variance требование ограничивает шумовое усиление отклонения от заданных входных параметров до заданных выходных параметров. В технических терминах это требование ограничивает$H_2$ норму передаточной функции с обратной связью. Это требование предпочтительно для TuningGoal.Gain когда входные сигналы являются вероятностными процессами и средними вопросами усиления больше, чем пиковое усиление. Например,

R = TuningGoal.Variance('n','y',0.1);

ограничивает выходное отклонение y к$0.1^2$ для входа n белого шума модульного отклонения.

Отслеживание уставки и сокращение перерегулирования

TuningGoal.Tracking требование осуществляет отслеживание уставки и цели разъединения цикла в частотном диапазоне. Например,

R1 = TuningGoal.Tracking('r','y',2);

указывает что выход y должен отследить ссылочный r с 2D вторым временем отклика. Так же

R2 = TuningGoal.Tracking({'Vsp','wsp'},{'V','w'},2);

задает тот V должен отследить Vsp и w должен отследить wsp с минимальной перекрестной связью между этими двумя ответами. Отслеживающие требования преобразованы в ограничения частотного диапазона на ошибку отслеживания в зависимости от частоты. Для первого требования R1, например, усиление от r к ошибке отслеживания e = r-y должен быть малым в низкой частоте и приблизиться 1 (100%) на частотах, больше, чем 1 рад/с (полоса пропускания в течение 2D второго времени отклика). Можно использовать viewGoal визуализировать это ограничение частотного диапазона. Обратите внимание на то, что желтая область указывает, где требование нарушено.

viewGoal(R1)

Если ответ имеет чрезмерное перерегулирование, используйте TuningGoal.Overshoot требование в сочетании с TuningGoal.Tracking требование. Например, можно ограничить перерегулирование от r к y к 10%-му использованию

R3 = TuningGoal.Overshoot('r','y',10);

Подавление помех

В обратной связи такой как один показанный в рисунке 1, открытом - и ответы с обратной связью от воздействия$d$, чтобы вывести$y$ связан

$$ G_{CL} (s) = { G_{OL} (s) \over 1 + L(s) } $$

где$L(s)$ передаточная функция цикла измеряется в точке входа воздействия. Усиление$1+L$ является фактором затухания воздействия, отношением между открытым - и чувствительностью с обратной связью к воздействию. Его обратная величина$S = 1/(1+L)$ является чувствительностью во входе воздействия.

Рисунок 1: Демонстрационная обратная связь.

TuningGoal.Rejection требование задает затухание воздействия в зависимости от частоты. Фактор затухания больше одной внутренней части полоса пропускания управления, поскольку управление с обратной связью уменьшает удар воздействий. Как показывает опыт, в 10 раз большее затухание требует в 10 раз большего усиления цикла. Например,

R1 = TuningGoal.Rejection('u',10);
R1.Focus = [0 1];

указывает, что воздействие, входящее во входном "u" объекта, должно быть ослаблено фактором 10 в диапазоне частот от 0 до 1 рад/с.

viewGoal(R1)

В более общем плане можно задать зависимый частотой профиль затухания, например

s = tf('s');
R2 = TuningGoal.Rejection('u',(s+10)/(s+0.1));

задает фактор затухания 100 ниже 0,1 рад/с, постепенно уменьшающихся к 1 (никакое затухание) после 10 рад/с.

viewGoal(R2)

Вместо того, чтобы задать минимальное затухание, можно использовать TuningGoal.Sensitivity требование, чтобы задать максимальную чувствительность, то есть, максимальное усиление$S = 1/(1+L)$. Например,

R3 = TuningGoal.Sensitivity('u',(s+0.1)/(s+10));

эквивалентно требованию отклонения R2 выше. Чувствительность увеличивается от 0,01 на 1% ниже 0,1 рад/с к 1 на 100% выше 10 рад/с.

viewGoal(R3)

Взвешенное частотой усиление и отклонение

TuningGoal.WeightedGain и TuningGoal.WeightedVariance требования являются обобщениями TuningGoal.Gain и TuningGoal.Variance требования. Эти требования ограничивают$H_\infty$ или$H_2$ норма взвешенной частотой передаточной функции с обратной связью$W_L(s) T(s) W_R(s)$, где$W_L(s)$ и$W_R(s)$ пользовательские функции взвешивания. Например,

WL = blkdiag(1/(s+0.001),s/(0.001*s+1));
WR = [];
R = TuningGoal.WeightedGain('r',{'e','y'},WL,[]);

задает ограничение

$$ \left\| \left( \begin{array}{c} {1 \over s+0.001} T_{re} \\ {s \over 0.001s+1} T_{ry} \end{array} \right) \right\|_\infty < 1 $$

Обратите внимание на то, что это - нормированное ограничение усиления (модуль, связанный через частоту).

viewGoal(R)

Смотрите также

| | | | | | |

Похожие темы