Проект широкополосных совпадающих сетей для антенн

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

В системе 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)

Осмыслите поведение нагрузки с помощью коэффициента отражения и усиления степени

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

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 bandpass pi, то вы начнете с shunt 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');

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 при оптимизации, но для доступа к ним необходимо установить Global Optimization Toolbox™.

Ссылки

  1. Cuthbert, Thomas R. Broadband Direct-Coupled и Matching RF Networks. TRCPEP, 1999.

  2. Людвиг, Рейнгольд и Павел Бретчко. Проект схемы RF: теория и применения. Prentice Hall, 2000.

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

См. также

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

Похожие темы