Подгонка данных величины частотной характеристики с помощью модели пространства состояний минимальной фазы с использованием проекта величины Чебышева
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 представляет собой 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 или frd (с C.Frequency равно A.Frequency). Если C.LowerBound непусто, тогда величина B ограничено лежать выше C.LowerBound. Никакая нижняя граница не применяется на частотах, где C.LowerBound равно -inf. Точно так же UpperBound поле может использоваться, чтобы задать верхнюю границу на величину B. Если C является double или frd (с C.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 обозначает частоту.
Этот входной frd объект должен быть скаляром объектом 1 на 1 или строкой или вектором-столбцом.
fitmagfrd использует версию log-Chebyshev величины проекта, решая
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., and R.W. Schaffer, Digital Signal Processing, Prentice Hall, New Jersey, 1975, p. 513.
Boyd, S. and Vandenberghe, L., Convex Optimization, Cambridge University Press, 2004.