В этом примере показано, как создать широкополосную согласующую сеть между резистивным источником и индуктивной нагрузкой с использованием оптимизации с помощью методов прямого поиска.
В радиочастотной системе согласованная сетевая схема играет жизненно важную роль в передаче максимальной мощности между источником и нагрузкой системы. В большинстве радиочастотных систем, таких как беспроводные устройства, задается параметр конструкции, называемый рабочей полосой пропускания. Принимая во внимание рабочую полосу пропускания, назначение согласующей сети дополнительно расширяется для обеспечения максимальной передачи мощности в диапазоне частот. В качестве альтернативы можно использовать подход согласования 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)
Используйте два простых выражения для вычисления коэффициента отражения нагрузки и коэффициента усиления мощности. Это соответствует прямому соединению источника с входными выводами антенны, т.е. на фиг.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 МГц, поэтому вы выбираете полосовую топологию для соответствующей сети, показанной ниже.
Тип - I: Первый элемент серии LC с последующим шунтом LC
Рис. 2: Соответствие топологии сети
Подход заключается в проектировании полосы пропускания Чебышева с нечетным порядком 0,5 дБ для получения исходной конструкции для согласующей сети, показанной на фиг.2. Это одна проблема соответствия [1], т.е. источник является чисто резистивным, в то время как нагрузка представляет собой комбинацию 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 полосовым pi, то вы начнете с шунта C для прототипа нижних частот.
% 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 при оптимизации, но для доступа к ним необходимо установить Toolbox™ глобальной оптимизации.
Катберт, Томас Р. Широкополосные напрямую связанные и соответствующие радиочастотные сети. TRCPEP, 1999.
Людвиг, Рейнгольд и Павел Бретчко. RF Circuit Design: теория и применение. Прентис-Холл, 2000.
Позар, Дэвид. Микроволновая инженерия. 2-е изд., Джон Уайли и сыновья, 1999.
Проектирование широкополосных сетей согласования для усилителя.