Спецификации частотного диапазона

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

Фон

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

Предел усиления

The 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')

Дисперсионное усиление

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

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

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

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

The TuningGoal.Tracking требование обеспечивает соблюдение целей отслеживания уставки и цикла развязки в частотном диапазоне. Для примера

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

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

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

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

viewGoal(R1)

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

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

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

В циклах с обратной связью, таких как тот, что показан на фигура, отклики в разомкнутом и замкнутом контурах от нарушения порядка$d$ до выхода$y$ связаны между

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

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

Фигура 1: Пример цикла обратной связи.

The 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)

Частотно-взвешенные коэффициент усиления и отклонение

The 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)

См. также

| | | | | | |

Похожие темы