exponenta event banner

Спецификации частотной области

В этом примере представлен обзор доступных требований к частотной области для настройки системы управления на 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,1100, точка (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 с двухсекундным временем отклика. Так же

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

Отклонение нарушения

В контурах обратной связи, таких как показанный на фиг.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)

См. также

| | | | | | |

Связанные темы