В этом примере показано, как спроектировать широкополосную сеть соответствия между резистивным источником и индуктивной нагрузкой с помощью оптимизации с прямыми методами поиска.
В системе RF схема сети соответствия играет жизненно важную роль в передаче максимальной мощности между источником и загрузкой системы. В большинстве систем RF, таких как беспроводные устройства, задана названная полоса пропускания операции расчетного параметра. Путем принятия полосы пропускания операции во внимание цель соответствующей сети далее расширена, чтобы обеспечить передачу максимальной мощности в области значений частот. В качестве альтернативы можно использовать L - раздел, соответствующий (сопряженное соответствие) подход, передача максимальной мощности гарантий, которую это делает так только на одной частоте.
Рисунок 1: Импеданс, соответствующий антенны к источнику
Чтобы спроектировать широкополосную сеть соответствия, сначала установите расчетные параметры, такие как центральная частота, полоса пропускания и импедансы источника, загрузки и ссылки. Затем вычислите коэффициент отражения загрузки и усиление степени, чтобы определить частоту, на которой должна действовать соответствующая сеть антенны и если проект завершен, оптимизируйте выведенную сеть.
Задайте центральную частоту, 350 МГц и полосу пропускания, 110 МГц, соответствия, чтобы создать соответствующую сеть с полосовым ответом.
fc = 350e6; BW = 110e6;
Задайте исходный импеданс, ссылочный импеданс и нагрузочное сопротивление. В этом примере загрузка Zl
моделируется как схема серии R-L. Вместо того, чтобы вычислить импеданс загрузки, вы могли измерить импеданс загрузки.
Zs = 50; % Source impedance (ohm) Z0 = 50; % Reference impedance (ohm) Rl = 40; % Load resistance (ohm) L = 12e-8; % Load inductance (Henry)
Задайте количество точек частоты, чтобы использовать для анализа и настроить вектор частоты.
nfreq = 256; % Number of frequency points fLower = fc - (BW/2); % Lower band edge fUpper = fc + (BW/2); % Upper band edge freq = linspace(fLower,fUpper,nfreq); % Frequency array for analysis w = 2*pi*freq; % Frequency (radians/sec)
Используйте два простых выражения для вычисления коэффициента отражения загрузки и усиления степени. Это соответствует прямому соединению источника к входным терминалам антенны i.e. в рисунке 1 нет никакой сети соответствия.
Xl = w*L; % Reactance (ohm) Zl = Rl + 1i*Xl; % Load impedance (ohm) GammaL = (Zl - Z0)./(Zl + Z0); % Load reflection coefficient unmatchedGt = 10*log10(1 - abs(GammaL).^2); % Power delivered to load
Используйте smithplot
функционируйте, чтобы построить изменение коэффициента отражения загрузки с частотой. Входной коэффициент отражения ближе к центру графика Смита обозначает лучшую эффективность соответствия.
figure smithplot(freq,GammaL,'LegendLabels','#Gamma load','LineWidth',2,... 'View','top-right');
Этот график показывает, что коэффициент отражения загрузки далеко от этой точки. Поэтому существует несоответствие импеданса. Можно подтвердить это несоответствие путем графического вывода усиления преобразователя в зависимости от частоты.
figure plot(freq.*1e-6,unmatchedGt,'r') grid on; title('Power delivered to load - No matching network'); xlabel('Frequency (MHz)'); ylabel('Magnitude (decibels)'); legend('G_t','Location','Best');
Когда график показывает, существуют потери мощности на приблизительно 10 дБ вокруг желаемой области операции (295 - 405 МГц). В результате антенне нужна соответствующая сеть, которая работает более чем полосой пропускания на 110 МГц, сосредоточенной с 350 МГц.
Соответствующая сеть должна действовать между 295 МГц и 405 МГц, поэтому вы выбираете полосовую топологию для соответствующей сети, показанной ниже.
Введите - я: Серийный LC первый элемент, сопровождаемый LC шунта
Рисунок 2: Соответствие с сетевой топологией
Подход должен спроектировать нечетный порядок Чебышевская полоса пропускания на 0,5 дБ, чтобы получить первоначальный проект для соответствующей сети, показанной на рисунке 2. Это - одна проблема соответствия [1], i.e. источник является чисто резистивным, в то время как загрузка является комбинацией R и L, решение - вы, может начаться путем выбора прототипной сети с пятью элементами.
N = 5; % Order of matching network filter = rffilter('FilterType',"Chebyshev","FilterOrder",N, ... "Implementation","LC Tee","ResponseType","Bandpass",... "PassbandFrequency",[fLower fUpper],"PassbandAttenuation",0.5); Lvals = filter.DesignData.Inductors;
Используйте lcladder
возразите, чтобы создать полосовую сеть соответствия мишени. Обратите внимание на то, что топология требует полосовой прототип мишени, который начинается с серийного индуктора. Если бы выбранная топология является пи полосы пропускания LC затем, вы начали бы с шунта C для прототипа lowpass.
% Create the matching network matchingNW = lcladder(filter); % Copy initial values for comparison L_initial = Lvals;
Существует несколько факторов, чтобы рассмотреть до оптимизации.
Целевая функция - целевая функция может быть создана по-разному в зависимости от проблемы под рукой. В данном примере целевую функцию показывают в файле ниже.
Выбор функции стоимости - функция стоимости является функцией, которую мы хотели бы минимизировать (максимизируют), чтобы достигнуть близкой оптимальной эффективности. Могло быть несколько способов выбрать функцию стоимости. Одним очевидным выбором является входной коэффициент отражения, gammaIn. В этом примере мы приняли решение минимизировать средний отражательный коэффициент в полосе пропускания.
Переменные оптимизации - В этом случае это - вектор из значений для определенных элементов, чтобы оптимизировать в соответствующей сети.
Метод оптимизации - прямой основанный на поиске метод, MATLAB® функционирует fminsearch
, используется в этом примере, чтобы выполнить оптимизацию.
Количество итераций/вычислений функции - Определенный максимальный номер итераций и вычислений функции, чтобы выполнить, чтобы к компромиссу между скоростью и качеством соответствия.
Целевая функция используется во время процесса оптимизации fminsearch
показан здесь.
type('antennaMatchObjectiveFun.m')
function output = antennaMatchObjectiveFun(matchingNW,Lvalues,freq,ZL,Z0) %ANTENNAMATCHOBJECTIVEFUN is the objective function used by the example % Designing Broadband Matching Networks (Part I: Antenna), which can be % found in broadband_match_antenna.m. % % OUTPUT = ANTENNAMATCHOBJECTIVEFUN(MATCHINGNW,LVALUES,FREQ,Z0) % returns the current value of the objective function stored in OUTPUT % evaluated after updating the inductor values in the object, MATCHINGNW. % The inductor values are stored in the variable LVALUES. % % ANTENNAMATCHOBJECTIVEFUN is an objective function of RF Toolbox demo: % Designing Broadband Matching Networks (Part I: Antenna) % Copyright 2008-2020 The MathWorks, Inc. % Ensure positive element values if any(Lvalues <= 0) output = Inf; return end % Update the element values in the matching network matchingNW.Inductances(1) = Lvalues(1); matchingNW.Inductances(end) = Lvalues(end); % Perform analysis on tuned matching network S = sparameters(matchingNW,freq,Z0); % Calculate input reflection coefficient 'gammaIn' gIn = gammain(S,ZL); % Cost function output = mean(abs(gIn)); % Other possible choices for objective function could be : - % output = max(abs(gIn)); % output = -1*mean(Gt_pass); % Animate smithplot(freq,gIn); drawnow
Существует несколько способов выбрать функцию стоимости, и некоторые варианты показываются в целевой функции выше (в комментариях). Переменные оптимизации являются первыми и последними индукторами, L1 и L5 соответственно. Значения элемента хранятся в переменной L_Optimized
.
niter = 125; options = optimset('Display','iter','MaxIter',niter); % Set options structure L_Optimized = [Lvals(1) Lvals(end)]; L_Optimized = ... fminsearch(@(L_Optimized)antennaMatchObjectiveFun(matchingNW, ... L_Optimized,freq,Zl,Z0),L_Optimized,options);
Iteration Func-count min f(x) Procedure 0 1 0.933982 1 3 0.933982 initial simplex 2 5 0.920323 expand 3 7 0.911353 expand 4 9 0.853255 expand 5 11 0.730444 expand 6 13 0.526448 reflect 7 15 0.526448 contract inside 8 17 0.421103 reflect 9 19 0.421103 contract inside 10 20 0.421103 reflect 11 22 0.421103 contract inside 12 24 0.421103 contract inside 13 26 0.339935 expand 14 27 0.339935 reflect 15 29 0.28528 reflect 16 31 0.28528 contract inside 17 32 0.28528 reflect 18 34 0.283527 reflect 19 36 0.283527 contract inside 20 38 0.278939 contract inside 21 40 0.278123 reflect 22 41 0.278123 reflect 23 43 0.27636 contract inside 24 45 0.275782 contract inside 25 47 0.275637 contract inside 26 49 0.275498 reflect 27 51 0.275282 contract inside 28 52 0.275282 reflect 29 54 0.275282 contract inside
30 56 0.275282 contract inside Optimization terminated: the current x satisfies the termination criteria using OPTIONS.TolX of 1.000000e-04 and F(X) satisfies the convergence criteria using OPTIONS.TolFun of 1.000000e-04
Когда стандартная программа оптимизации останавливается, оптимизированные значения элемента хранятся в L_Optimized
. Следующий код обновляет сеть соответствия ввода и вывода с этими значениями.
matchingNW.Inductances(1) = L_Optimized(1); % Update the matching network inductor L1 matchingNW.Inductances(end) = L_Optimized(end); % Update the matching network inductor L5
Сравните и постройте входной коэффициент отражения совпадающих и несопоставленных результатов.
S = sparameters(matchingNW,freq,Z0); gIn = gammain(S,Zl); smithplot(freq,[gIn transpose(GammaL)],'LegendLabels',... {'#Gamma in (Matched)','#Gamma in (Unmatched)'})
Оптимизированная сеть соответствия улучшает производительность схемы. В полосе пропускания (295 - 405 МГц) входной коэффициент отражения ближе к центру графика Смита. Постройте степень, поставленную, чтобы загрузить и для совпадающей и для несопоставленной системы.
matchedGt = powergain(S,Zs,Zl,'Gt'); figure; plot(freq*1e-6,matchedGt) hold all; plot(freq*1e-6,unmatchedGt,'r') grid on; hold off; title('Power delivered to load'); legend('Optimized network','No matching network','Location','Best');
Степень, поставленная загрузке, составляет приблизительно 1 дБ вниз для оптимизированной сети соответствия.
Следующий код показывает начальные и оптимизированные значения для индукторов L1 и L5.
L1_Initial = L_initial(1)
L1_Initial = 1.2340e-07
L1_Optimized = L_Optimized(1)
L1_Optimized = 1.2111e-07
L5_Initial = L_initial(end)
L5_Initial = 1.2340e-07
L5_Optimized = L_Optimized(end)
L5_Optimized = 1.7557e-09
Существует немного вещей рассмотреть при подготовке оптимизации:
Выбор различной целевой функции изменил бы результат.
Можно использовать усовершенствованные прямые функции оптимизации поиска, такие как patternsearch
и simulannealband
в вашей оптимизации, но необходимо было установить Global Optimization Toolbox™, чтобы получить доступ к ним.
Катберт, широкополосные согласующие радиочастотные цепи с непосредственной связью Томаса Р. TRCPEP, 1999.
Людвиг, Райнхольд и Павел Бречко. Проектирование схем RF: теория и приложения. Prentice Hall, 2000.
Pozar, Дэвид. Микроволновая Разработка. 2-й редактор, John Wiley and Sons, 1999.
Спроектируйте широкополосные сети соответствия для усилителя.