Спроектируйте широкополосные сети соответствия для антенн

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

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

Figure contains an axes object. The axes object 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 МГц, поэтому вы выбираете полосовую топологию для соответствующей сети, показанной ниже.

Введите - я: Серийный 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');

Figure contains an axes object. The axes object 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. Катберт, широкополосные согласующие радиочастотные цепи с непосредственной связью Томаса Р. TRCPEP, 1999.

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

  3. Pozar, Дэвид. Микроволновая Разработка. 2-й редактор, John Wiley and Sons, 1999.

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

Спроектируйте широкополосные сети соответствия для усилителя.

Похожие темы