exponenta event banner

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, величина частотной характеристики которого близко соответствует данным величины в A. A является 1 на 1 frd объект, и 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/d. n и d иметь заказы (N-RD) и Nсоответственно. Задача решается с помощью линейного программирования для фиксированных f and Биссекция для минимизации f. Альтернативный аппроксимационный метод, который не может применять ограничения, определенные Cявляется B = fitfrd(genphase(A),N,RD,WT).

Ссылки

Oppenheim, A.V., и R.W. Schaffer, Digital Signal Processing, Prentice Hall, Нью-Джерси, 1975, с. 513.

Бойд, С. и Ванденберге, Л., Convex Optimization, Cambridge University Press, 2004.

См. также

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