fitmagfrd

Подходящие данные о величине частотной характеристики с моделью в пространстве состояний минимальной фазы с помощью чебышевского журналом проекта величины

Синтаксис

B = fitmagfrd(A,N)
B = fitmagfrd(A,N,RD)
B = fitmagfrd(A,N,RD,WT)
B = fitmagfrd(A,N,RD,WT,C)

Описание

B = fitmagfrd(A,N) устойчивая, минимальная фаза ss объект, с размерностью состояния N, чья величина частотной характеристики тесно совпадает с данными о величине в AA frd 1 на 1 объект и N неотрицательное целое число.

B = fitmagfrd(A,N,RD) обеспечивает относительную степень B быть RD. RD должно быть неотрицательное целое число, значением по умолчанию которого является 0. Можно задать значение по умолчанию для RD установкой RD к пустой матрице.

B = fitmagfrd(A,N,RD,WT) использует величину WT чтобы взвесить оптимизацию соответствуют критериям. WT может быть double, ss или frd. Если WT скаляр, затем он используется, чтобы взвесить все записи ошибочных критериев (A-B). Если WT вектор, он должен быть одного размера с A, и каждая отдельная запись WT действия как функция взвешивания на соответствующей записи (A-B). Значение по умолчанию для WT 1, и можно задать его установкой WT к пустой матрице.

B = fitmagfrd(A,N,RD,WT,C) осуществляет дополнительные ограничения величины на B, заданный значениями C.LowerBound и C.UpperBound. Они могут быть пустыми, double или frdC.Frequency равняйтесь A.Frequency). Если C.LowerBound непусто, затем величина B ограничивается лечь выше C.LowerBound. Никакая нижняя граница не осуществляется на частотах где C.LowerBound равно-inf. Точно так же UpperBound поле может использоваться, чтобы задать верхнюю границу на величине B. Если C double или frdC.Frequency равняйтесь A.Frequency), затем ограничения верхней и нижней границы на B взяты непосредственно из A как:

  • если C (w) == –1, то осуществите abs (B (w)) <= abs (A (w))

  • если C (w) == 1, то осуществите abs (B (w))> = abs (A (w))

  • если C (w) == 0, то никакое дополнительное ограничение

где w обозначает частоту.

Примеры

свернуть все

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

sys = tf([1 2 2],[1 2.5 1.5])*tf(1,[1 0.1]); 
sys = sys*tf([1 3.75 3.5],[1 2.5 13]); 
omega = logspace(-1,1); 
sysg = abs(frd(sys,omega)); 
bodemag(sysg,'r');

Figure contains an axes. The axes contains an object of type line. This object represents sysg.

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

ord = 3; 
b1 = fitmagfrd(sysg,ord); 
b1g = frd(b1,omega); 
bodemag(sysg,'r',b1g,'k:');
legend('Data','3rd order fit');

Figure contains an axes. The axes contains 2 objects of type line. These objects represent Data, 3rd order fit.

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

C2.UpperBound = sysg;
C2.LowerBound = [];
b2 = fitmagfrd(sysg,ord,[],[],C2); 
b2g = frd(b2,omega); 
C3.UpperBound = [];
C3.LowerBound = sysg;
b3 = fitmagfrd(sysg,ord,[],[],C3); 
b3g = frd(b3,omega); 
bodemag(sysg,'r',b1g,'k:',b2g,'b-.',b3g,'m--') 
legend('Data','3rd order fit','3rd order fit, below data',...
       '3rd order fit, above data')

Figure contains an axes. The axes contains 4 objects of type line. These objects represent Data, 3rd order fit, 3rd order fit, below data, 3rd order fit, above data.

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

ord = 2;
C2.UpperBound = sysg;
C2.LowerBound = [];
b2 = fitmagfrd(sysg,ord,[],sysg,C2);
b2g = frd(b2,omega);
C3.UpperBound = [];
C3.LowerBound = sysg;
b3 = fitmagfrd(sysg,ord,[],sysg,C3);
b3g = frd(b3,omega);
bgp = fitfrd(genphase(sysg),ord);
bgpg = frd(bgp,omega);
bodemag(sysg,'r',b1g,'k:',b2g,'b-.',b3g,'m--',bgpg,'r--')
legend('Data','3rd order fit','2d order fit, below data',...
       '2nd order fit, above data','bgpg')

Figure contains an axes. The axes contains 5 objects of type line. These objects represent Data, 3rd order fit, 2d order fit, below data, 2nd order fit, above data, bgpg.

Ограничения

Этот вход frd объект должен быть или скаляром, 1 на 1 возражают или, строка или вектор-столбец.

Алгоритмы

fitmagfrd использует версию чебышевского журналом проекта величины, решая

   min f     subject to (at every frequency point in A):  
           |d|^2 /(1+ f/WT) < |n|^2/A^2 < |d|^2*(1 + f/WT) 

плюс дополнительные ограничения, наложенные с C. n, d обозначьте числитель и знаменатель, соответственно, и B = n/dN и d имейте порядки (N-RD) и N, соответственно. Задача решена с помощью линейного программирования для фиксированного f and деление пополам, чтобы минимизировать f. Альтернативный приближенный метод, который не может осуществить ограничения, заданные C, B = fitfrd(genphase(A),N,RD,WT).

Ссылки

Оппенхейм, A.V., и Р.В. Шаффер, Цифровая обработка сигналов, Prentice Hall, Нью-Джерси, 1975, p. 513.

Бойд, S. и Vandenberghe, L., выпуклая оптимизация, издательство Кембриджского университета, 2004.

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

Представлено до R2006a