getPeakGain

Пиковое усиление частотной характеристики динамической системы

Описание

пример

gpeak = getPeakGain(sys) возвращает пиковое усиление ввода/вывода в абсолютных единицах модели динамической системы, sys.

  • Если sys модель SISO, затем пиковое усиление является самым большим значением величины частотной характеристики.

  • Если sys модель MIMO, затем пиковое усиление является самым большим значением 2-нормы частотной характеристики (самое большое сингулярное значение через частоту) sys. Это количество также называется нормой L∞ sys, и совпадает с нормой H∞ для устойчивых систем (см. norm).

  • Если sys модель, которая имеет настраиваемые или неопределенные параметры, getPeakGain оценивает пиковое усиление в текущем значении или номинальной стоимости sys.

  • Если sys массив моделей, getPeakGain возвращает массив одного размера с sys, где gpeak(k) = getPeakGain(sys(:,:,k)) .

пример

gpeak = getPeakGain(sys,tol) возвращает пиковое усиление sys с относительной точностью tol.

пример

gpeak = getPeakGain(sys,tol,fband) возвращает пиковое усиление в интервале частоты fband = [fmin,fmax] с 0 ≤ fmin <fmax. Этот синтаксис также учитывает отрицательные частоты в полосе [–fmax,–fmin] для моделей с комплексными коэффициентами.

пример

[gpeak,fpeak] = getPeakGain(___) также возвращает частоту fpeak в котором усиление достигает пикового значения gpeak, и может включать любой из входных параметров в предыдущих синтаксисах. fpeak может быть отрицательным для систем с комплексными коэффициентами.

Примеры

свернуть все

Вычислите пиковое усиление резонанса в следующей передаточной функции:

sys=90s2+1.5s+90.

sys = tf(90,[1,1.5,90]);
gpeak = getPeakGain(sys)
gpeak = 6.3444

getPeakGain команда возвращает пиковое усиление в абсолютных единицах.

Вычислите пиковое усиление резонанса в передаточной функции с относительной точностью 0,01%.

sys=90s2+1.5s+90.

sys = tf(90,[1,1.5,90]);
gpeak = getPeakGain(sys,0.0001)
gpeak = 6.3444

Второй аргумент задает относительную точность 0,0001. getPeakGain команда возвращает значение, которое является в 0,0001 (0,01%) истинного пикового усиления передаточной функции. По умолчанию относительная точность 0.01 (1%).

Вычислите пиковое усиление резонанса более высокой частоты в передаточной функции

sys=(1s2+0.2s+1)(100s2+s+100).

sys продукт резонансов на уровне 1 рад/с и 10 рад/с.

sys = tf(1,[1,.2,1])*tf(100,[1,1,100]);
fband = [8,12];
gpeak = getPeakGain(sys,0.01,fband);

fband аргумент вызывает getPeakGain возвратить локальное пиковое усиление между 8 и 12 рад/с.

Идентифицируйте, какой из этих двух резонансов имеет более высокое усиление в передаточной функции

sys=(1s2+0.2s+1)(100s2+s+100).

sys продукт резонансов на уровне 1 рад/с и 10 рад/с.

sys = tf(1,[1,.2,1])*tf(100,[1,1,100]);
[gpeak,fpeak] = getPeakGain(sys)
gpeak = 5.0747
fpeak = 0.9902

fpeak частота, соответствующая пиковому усилению gpeak. Пик на уровне 1 рад/с является полным пиковым усилением sys.

Для систем с комплексными коэффициентами, getPeakGain может возвратить пик на отрицательной или положительной частоте в зависимости от формы и fband вы задаете.

Сгенерируйте случайную модель в пространстве состояний с комплексными данными.

rng(1)
A = complex(randn(10),randn(10));
B = complex(randn(10,3),randn(10,3));
C = complex(randn(2,10),randn(2,10));
D = complex(randn(2,3),randn(2,3));
sys = ss(A,B,C,D);

Вычислите пиковое усиление с относительной точностью 0,1%. Кроме того, задайте fband= [0,1] вычислить пик в интервале частоты [–1,1].

[gPeak,fPeak] = getPeakGain(sys,1e-3,[0,1])
gPeak = 126.2396
fPeak = -0.4579

В этом интервале, sys достигает пика в отрицательном значении частоты. Создайте график сингулярного значения в этой области значений, чтобы подтвердить результат.

w = linspace(-1,1,100);
opt = sigmaoptions;
opt.FreqScale = 'Linear';
opt.MagUnits = 'abs';
sigmaplot(sys,w,opt)

Figure contains an axes object. The axes object contains 2 objects of type line. This object represents sys.

Теперь вычислите пиковое усиление в интервале частоты [–50, –1] ∪ [1,50]. Для этого задайте fband= [1,50] .

[gPeak,fPeak] = getPeakGain(sys,1e-3,[1,50])
gPeak = 43.3303
fPeak = 1.8097

В этом интервале, sys достигает пика в положительном значении частоты.

Создайте график сингулярного значения в этой области значений, чтобы подтвердить результат.

w = linspace(-50,50,5000);
sigmaplot(sys,w,opt)

Figure contains an axes object. The axes object contains 2 objects of type line. This object represents sys.

Для этого интервала, getPeakGain возвращает значение величины и частоты для меньшего пика, показанного в графике.

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

свернуть все

Введите динамическую систему в виде любой модели динамической системы или массива моделей. sys может быть SISO или MIMO.

Относительная точность пикового усиления в виде положительного действительного скалярного значения. getPeakGain вычисляет gpeak таким образом, что дробное различие между gpeak и истинное пиковое усиление sys не больше, чем tol. Значение по умолчанию 0.01, означая тот gpeak в 1% истинного пикового усиления.

Интервал частоты, в котором можно вычислить пиковое усиление в виде вектора 1 на 2 положительных вещественных значений. Задайте fband как вектор-строка из формы [fmin,fmax] с 0 ≤ fmin <fmax.

Для моделей с комплексными коэффициентами, getPeakGain вычисляет пиковое усиление в области значений [–fmax,–fmin][fmin,fmax]. В результате функция может возвратить пик на отрицательной частоте.

Выходные аргументы

свернуть все

Пиковое усиление модели динамической системы или массива моделей sys, возвращенный как скалярное значение или массив.

  • Если sys одна модель, затем gpeak скалярное значение.

  • Если sys массив моделей, затем gpeak массив одного размера с sys, где gpeak(k) = getPeakGain(sys(:,:,k)).

Частота, на которой усиление достигает пикового значения gpeak, возвращенный как действительное скалярное значение или массив вещественных значений. Частота описывается в модулях rad/TimeUnit, относительно TimeUnit свойство sys.

  • Если sys одна модель, затем fpeak скаляр.

  • Если sys массив моделей, затем fpeak массив одного размера с sys, где fpeak(k) пиковая частота усиления sys(:,:,k).

fpeak может быть отрицательным для систем с комплексными коэффициентами.

Алгоритмы

getPeakGain использует алгоритм [1]. Все расчеты собственного значения выполняются с помощью сохраняющих структуру алгоритмов от библиотеки SLICOT. Для получения дополнительной информации о библиотеке SLICOT, см. http://slicot.org.

Ссылки

[1] Bruinsma, N.A., и М. Стейнбач. "Алгоритм FAST, чтобы Вычислить H Норма Матрицы Передаточной функции". Systems & Control Letters, 14, № 4 (апреля 1990): 287–93.

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

| | | | | (Robust Control Toolbox)

Представленный в R2012a