rationalfit

Аппроксимированные данные с помощью устойчивого объекта рациональной функции

Описание

пример

fit = rationalfit(freq,data) соответствует объекту рациональной функции формы

F(s)=k=1nCksAk+D,s=j*2πf

к комплексному вектору data по значениям частоты в положительном векторном freq. Функция возвращает указатель на объект рациональной функции, h, со свойствами ACD, и Delay.

fit = rationalfit(freq,data,tol) соответствует объекту рациональной функции к комплексным данным и ограничивает ошибку подгонки согласно дополнительному входному параметру tol.

fit = rationalfit(___,Name,Value) соответствует объекту рациональной функции формы

F(s)=(k=1nCksAk+D)es.Delay,s=j*2πf

с дополнительными опциями, заданными одним или несколькими Name,Value парные аргументы. Эти аргументы предлагают более прекрасное управление эффективностью и точностью алгоритма подбора.

[fit,errdb] = rationalfit(___) соответствует объекту рациональной функции к комплексным данным и также возвращает errdb, который является достигнутой ошибкой.

пример

fit = rationalfit(s_obj,i,j) подгонки Sij использование FREQ = s_obj.Frequencies и DATA = rfparam(s_obj,i,j) для s-объекта-параметра, s_obj.

Примеры

свернуть все

Соответствуйте объекту рациональной функции к данным S-параметра и сравните результаты путем графического вывода объекта против данных.

Считайте данные S-параметра в объект данных RF.

orig_data = read(rfdata.data,'passive.s2p');
freq = orig_data.Freq;
data = orig_data.S_Parameters(1,1,:);

Соответствуйте рациональной функции к данным с помощью rationalfit.

fit_data = rationalfit(freq,data)
fit_data = 
   rfmodel.rational with properties:

        A: [19x1 double]
        C: [19x1 double]
        D: 0
    Delay: 0
     Name: 'Rational Function'

Вычислите частотную характеристику рациональной функции с помощью freqresp.

[resp,freq] = freqresp(fit_data,freq);

Постройте величину исходных данных против приближения рациональной функции. S11 данные появляются в синем, и рациональная функция появляется в красном. Масштабирование значений частоты 1e9 преобразует их в модули ГГц.

figure
title('Rational fitting of S11 magnitude')
plot(orig_data,'S11','dB')
hold on
plot(freq/1e9,20*log10(abs(resp)),'r');

Figure contains an axes. The axes contains 2 objects of type line. This object represents S_{11}.

Постройте угол исходных данных против приближения рациональной функции.

figure
title('Rational fitting of S11 angle')
plot(orig_data,'S11','Angle (radians)')
hold on
plot(freq/1e9,unwrap(angle(resp)),'r')

Figure contains an axes. The axes contains 2 objects of type line. This object represents S_{11}.

rationalfit(freq,data) также указатели вводят 3D массив данных (n x n x p), входной массив частоты (p x 1), и возвращает матрицу (n x n) объектов rationalfit. Индексируйте в матрицу объектов rationalfit получить доступ к соответствующей rationalfit информации.

Используйте rationalfit на нескольких наборах данных, заданных в матрице.

orig_data = sparameters('defaultbandpass.s2p'); 
data = orig_data.Parameters; 
freq = orig_data.Frequencies;
fit_data = rationalfit(freq, data)
fit_data=2×2 object
  2x2 rfmodel.rational array with properties:

    A
    C
    D
    Delay
    Name

Получить доступ к rationalfit данные, используйте индексацию на rationalfit массиве. Например, чтобы получить доступ к рациональному пригодному для 1-го элемента матрицы, используйте:

S = fit_data(1, 1)
S = 
   rfmodel.rational with properties:

        A: [12x1 double]
        C: [12x1 double]
        D: 0
    Delay: 0
     Name: 'Rational Function'

Используйте рациональную подгонку, чтобы соответствовать S-объекту-параметра из файла 'passive.s2p'.

S = sparameters('passive.s2p');
fit = rationalfit(S,1,1,'TendsToZero',false)
fit = 
   rfmodel.rational with properties:

        A: [5x1 double]
        C: [5x1 double]
        D: -0.4843
    Delay: 0
     Name: 'Rational Function'

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

свернуть все

Частоты, по которым функция соответствует рациональному объекту в виде вектора из длины M.

Данные, чтобы соответствовать в виде N-by-N-by-M массиву комплексных чисел. Функция соответствует N 2 рациональных функции к данным вдоль M (частота) размерность.

Ошибочный допуск ε в виде скаляра в модулях дБ. Соответствующее ошибке уравнение

10ε/20k=0n|WkF0{fk}F(s)|2k=0n|WkF0{fk}|2

где

  • ε заданное значение tol.

  • F 0 является значением исходных данных (data) на заданной частоте fk (freq).

  • F является значением рациональной функции при s = j f.

  • W является взвешиванием данных.

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

S-параметры в виде объекта параметра сети RF Toolbox™. Чтобы создать этот тип объекта, используйте sparameters функция.

Индекс строки данных, чтобы построить в виде положительного целого числа.

Индекс столбца данных, чтобы построить в виде положительного целого числа.

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'DelayFactor',0.2

Масштабный коэффициент, который управляет суммой задержки, чтобы соответствовать к данным в виде разделенной запятой пары, состоящей из 'DelayFactor' и скаляр между 0 и 1 включительно. Delay параметр, τ, объекта рациональной функции равны заданному значению 'DelayFactor' времена оценка групповой задержки данных. Если исходные данные имеют задержку, увеличивание этого значения может позволить rationalfit соответствовать данным объектом более низкоуровневым.

Максимальное количество rationalfit итерации в виде вектора из положительных целых чисел. Обеспечьте двухэлементный вектор, чтобы задать минимальный и максимальный [M1 M2]. Увеличение предела расширяет время, когда алгоритм берет, чтобы произвести подгонку, но это может привести к более точным результатам.

Количество полюсов Ak рациональной функции в виде разделенной запятой пары, состоящей из 'NPoles' и целочисленный n или область значений возможных значений n.

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

После завершения рациональной подгонки функция удаляет содействующие наборы, остатки которых (Ck) являются нулем. Таким образом, когда вы указываете диапазон для npoles, количество полюсов подгонки может быть меньше npoles(1).

Асимптотическое поведение рациональной функции как частота приближается к бесконечности в виде разделенной запятой пары, состоящей из 'TendsToZero' и логическое значение. Когда этим аргументом является true, получившаяся переменная D рациональной функции является нулем, и функция имеет тенденцию обнулять. Значение false позволяет ненулевое значение для D.

Ошибочный допуск ε в виде разделенной запятой пары, состоящей из 'Tolerance' и скаляр в модулях дБ. Соответствующее ошибке уравнение

10ε/20k=0n|WkF0{fk}F(s)|2k=0n|WkF0{fk}|2

где

  • ε заданный допуск.

  • F 0 является значением исходных данных (data) на заданной частоте fk (freq).

  • F является значением рациональной функции при s = j f.

  • W является взвешиванием данных.

Если объект не соответствует исходным данным в заданном допуске, функция выдает предупреждение.

Логическое значение, которое переключает отображение графической панели ожидания во время подбора кривой в виде разделенной запятой пары, состоящей из 'WaitBar' и любой true или false. true установка показывает графическую панель ожидания и false установка скрывает его. Если вы ожидаете rationalfit чтобы занять много времени, и вы хотите контролировать его прогресс, установить 'WaitBar' к true.

Взвешивание данных на каждой частоте в виде разделенной запятой пары, состоящей из 'Weight' и вектор из положительных чисел или массива то же самое как те из данных. Каждая запись в weight соответствует частоте в freq, так длина weight должно быть равно длине freq. Увеличение веса на особой частоте улучшает объект, соответствующий на той частоте. Определение веса 0 на особой частоте вызывает rationalfit проигнорировать соответствующую точку данных.

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

свернуть все

Один или несколько объектов рациональной функции, возвращенных как N-by-N rfmodel.rational объект. Количество размерностей в data определяет размерность h.

Достигнутая относительная погрешность, возвратилась как double, в дБ.

Советы

Чтобы видеть, как хорошо объект соответствует исходным данным, используйте freqresp функция, чтобы вычислить частотную характеристику объекта. Затем отобразите на графике исходные данные и частотную характеристику объекта рациональной функции. Для получения дополнительной информации смотрите freqresp страница с описанием или вышеупомянутые примеры.

Ссылки

[1] Gustavsen.B и A.Semlyen, “Рациональное приближение ответов частотного диапазона векторным подбором кривой”, Сделка IEEE. Подача электроэнергии, Издание 14, № 3, стр 1052–1061, июль 1999.

[2] Zeng.R и Й. Синский, “Измененная техника моделирования рациональной функции для быстродействующих схем”, IEEE микроволна int MTT-S Symp. Вырыть., Сан-Франциско, CA, 11-16 июня 2006.

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

| | | | | |

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