exponenta event banner

Проектирование сетей широкополосного согласования для антенн

В этом примере показано, как создать широкополосную согласующую сеть между резистивным источником и индуктивной нагрузкой с использованием оптимизации с помощью методов прямого поиска.

В радиочастотной системе согласованная сетевая схема играет жизненно важную роль в передаче максимальной мощности между источником и нагрузкой системы. В большинстве радиочастотных систем, таких как беспроводные устройства, задается параметр конструкции, называемый рабочей полосой пропускания. Принимая во внимание рабочую полосу пропускания, назначение согласующей сети дополнительно расширяется для обеспечения максимальной передачи мощности в диапазоне частот. В качестве альтернативы можно использовать подход согласования 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');

Figure contains an axes. The axes with title Power delivered to load - No matching network contains an object of type line. This object represents G_t.

Как показано на графике, имеется приблизительно 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');

Figure contains an axes. The axes with title Power delivered to load contains 2 objects of type line. These objects represent Optimized network, No matching network.

Мощность, подаваемая на нагрузку, составляет приблизительно 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™ глобальной оптимизации.

Ссылки

  1. Катберт, Томас Р. Широкополосные напрямую связанные и соответствующие радиочастотные сети. TRCPEP, 1999.

  2. Людвиг, Рейнгольд и Павел Бретчко. RF Circuit Design: теория и применение. Прентис-Холл, 2000.

  3. Позар, Дэвид. Микроволновая инженерия. 2-е изд., Джон Уайли и сыновья, 1999.

См. также

Проектирование широкополосных сетей согласования для усилителя.

Связанные темы