В этом примере показов, как использовать RF Toolbox для определения входа и выходных сетей, которые максимизируют степени, доставляемые в 50-Ohm загрузку и систему. Разработка входных и выходных совпадающих сетей является важной частью проекта усилителя. Этот пример сначала вычисляет коэффициенты отражения для одновременного сопряженного соответствия, а затем определяет размещение шунтируемого заглушки в каждой совпадающей сети с заданной частотой. Наконец, пример каскадирует совпадающие сети с усилителем и строит графики результатов.
rfckt.amplifier
ОбъектСоздайте rfckt.amplifier
объект для представления усилителя, описываемого измеренными частотно-зависимыми данными S-параметра в файле samplebjt2.s2p
. Затем, extract
частотно-зависимые данные S-параметра от rfckt.amplifier
объект.
amp = read(rfckt.amplifier,'samplebjt2.s2p'); [sparams,AllFreq] = extract(amp.AnalyzedResult,'S_Parameters');
Прежде чем приступить к проекту, определите измеренные частоты, на которых усилитель безоговорочно стабилен. Используйте stabilitymu
функция для вычисления mu
и muprime
на каждой частоте. Затем проверьте, что возвращенные значения для mu
больше единицы. Эти критерии являются необходимым и достаточным условием безусловной стабильности. Если усилитель не является безусловно стабильным, распечатайте соответствующее значение частоты.
[mu,muprime] = stabilitymu(sparams); figure plot(AllFreq/1e9,mu,'--',AllFreq/1e9,muprime,'r') legend('MU',"MU'",'Location','Best') title("Stability Parameters MU and MU'") xlabel('Frequency [GHz]')
disp('Measured Frequencies where the amplifier is not unconditionally stable:')
Measured Frequencies where the amplifier is not unconditionally stable:
fprintf('\tFrequency = %.1e\n',AllFreq(mu<=1))
Frequency = 1.0e+09 Frequency = 1.1e+09
В данном примере усилитель безусловно стабилен на всех измеренных частотах, кроме 1,0 ГГц и 1,1 ГГц.
Начните разработку входа и выходных совпадающих сетей путем преобразования коэффициентов отражения для одновременного сопряженного соответствия в интерфейсах усилителя в соответствующий источник и допуск нагрузки. В этом примере используется следующая схема соответствия линий электропередачи без потерь:
Для этой схемы согласования с одним заглушкой расчётных параметров расположение заглушек со ссылкой на интерфейсы усилителя и длины заглушек. Процедура использует следующие принципы проекта:
Центр графика Смита представляет нормированный источник или иммитанс нагрузки.
Движение вдоль линии электропередачи эквивалентно прохождению окружности с центром в источник графика Смита с радиусом, равным величине коэффициента отражения.
Одна заглушка линии электропередачи может быть вставлена в точку на линии электропередачи, когда ее допуск (линия электропередачи) пересекает круг проводимости единицы. В этом месте заглушка будет отменять восприимчивость линии электропередачи, приводя к проводимости, которая равняется нагрузке или исходным разрывам.
Этот пример использует график YZ Smith, потому что легче добавить заглушку параллельно с линией электропередачи, используя этот тип графика Смита.
calculate
и постройте график всех комплексных коэффициентов отражения нагрузки и источника для одновременного сопряженного соответствия при всех измеренных частотных точках данных, которые являются безусловно стабильными. Эти коэффициенты отражения измеряются на интерфейсах усилителя.
AllGammaL = calculate(amp,'GammaML','none'); AllGammaS = calculate(amp,'GammaMS','none'); hsm = smithplot([AllGammaL{:} AllGammaS{:}]); hsm.LegendLabels = {'#Gamma ML','#Gamma MS'};
Найдите коэффициент отражения нагрузки, GammaL
, для выхода совпадающей сети с частотой проектом 1,9 ГГц.
freq = AllFreq(AllFreq == 1.9e9); GammaL = AllGammaL{1}(AllFreq == 1.9e9)
GammaL = -0.0421 + 0.2931i
Нарисуйте окружность, которая центрирована в нормированном допустимом источнике графика Смита и радиус которой равен величине GammaL
. Точка на этом круге представляет коэффициент отражения в конкретном месте на линии электропередачи. Коэффициент отражения для линии электропередачи на интерфейсе усилителя GammaL
, в то время как центр графика представляет нормализованный допуск нагрузки, y_L
. В примере используется circle
метод для рисования всех соответствующих кругов на графике Смита.
hsm = smithplot; circle(amp,freq,'Gamma',abs(GammaL),hsm); hsm.GridType = 'yz'; hold all plot(0,0,'k.','MarkerSize',16) plot(GammaL,'k.','MarkerSize',16) txtstr = sprintf('\\Gamma_{L}\\fontsize{8}\\bf=\\mid%s\\mid%s^\\circ', ... num2str(abs(GammaL),4),num2str((angle(GammaL)*180/pi),4)); text(real(GammaL),imag(GammaL)+.1,txtstr,'FontSize',10, ... 'FontUnits','normalized'); plot(0,0,'r',0,0,'k.','LineWidth',2,'MarkerSize',16); text(0.05,0,'y_L','FontSize',12,'FontUnits','normalized')
Чтобы определить длину волны заглушки (восприимчивость) и ее местоположение относительно интерфейса согласования нагрузки усилителя, постройте график нормированной единичной проводящей окружности и окружности постоянной величины и выясните, где пересекаются эти две окружности. Найдите точки пересечения в интерактивном режиме с помощью Data Cursor или аналитически с помощью функции helper, find_circle_intersections_helper
. Этот пример использует функцию helper. Круги пересекаются в двух точках. В примере используется третья квадрантная точка, которая обозначена как «A». Единица проводимости окружности центрирована на (-.5,0) с радиусом 5. Окружность постоянной величины центрируется на (0,0) с радиусом, равным величине GammaL
.
circle(amp,freq,'G',1,hsm); hsm.ColorOrder(2,:) = [1 0 0]; [~,pt2] = imped_match_find_circle_intersections_helper([0 0], ... abs(GammaL),[-.5 0],.5); GammaMagA = sqrt(pt2(1)^2 + pt2(2)^2); GammaAngA = atan2(pt2(2),pt2(1)); ax = hsm.Parent.CurrentAxes; hold (ax,"on"); plot(ax, pt2(1),pt2(2),'k.','MarkerSize',16); txtstr = sprintf('A=\\mid%s\\mid%s^\\circ',num2str(GammaMagA,4), ... num2str(GammaAngA*180/pi,4)); text(ax, pt2(1),pt2(2)-.07,txtstr,'FontSize',8,'FontUnits','normalized', ... 'FontWeight','Bold') container = hsm.Parent; annotation(container,'textbox','VerticalAlignment','middle',... 'String',{'Unity','Conductance','Circle'},... 'HorizontalAlignment','center','FontSize',8,... 'EdgeColor',[0.04314 0.5176 0.7804],... 'BackgroundColor',[1 1 1],'Position',[0.1403 0.1608 0.1472 0.1396]) annotation(container,'arrow',[0.2786 0.3286],[0.2778 0.3310]) annotation(container,'textbox','VerticalAlignment','middle',... 'String',{'Constant','Magnitude','Circle'},... 'HorizontalAlignment','center','FontSize',8,... 'EdgeColor',[0.04314 0.5176 0.7804],... 'BackgroundColor',[1 1 1],'Position',[0.8107 0.3355 0.1286 0.1454]) annotation(container,'arrow',[0.8179 0.5761],[0.4301 0.4887]);
Положение заглушки разомкнутой схемы в длинах волн от интерфейса нагрузки усилителя является функцией от углового различия по часовой стрелке между точкой «A» и GammaL
. Когда точка «A» появляется в третьем квадранте и GammaL
падает во втором квадранте, положение заглушки в длинах волн вычисляется следующим образом:
StubPositionOut = ((2*pi + GammaAngA) - angle(GammaL))/(4*pi)
StubPositionOut = 0.2147
Значение заглушки является величиной восприимчивости, которая требуется для перемещения нормализованного допуска нагрузки (центра графика Смита) к точке «A» на окружности постоянной амплитуды. Открытая шлейфная линия электропередачи может использоваться, чтобы обеспечить это значение восприимчивости. Длина волны определяется величиной углового поворота от точки допуска разомкнутой схемы на графике Смита (точка «M» на следующем рисунке) до необходимой точки восприимчивости «N» на внешнем крае графика. Точка «N» - это где постоянная окружность восприимчивости со значением, равным восприимчивости точки «A», пересекает модуль окружность. В сложение, StubLengthOut
используемая ниже формула требует «N» для падения в третьем или четвертом квадранте.
GammaA = GammaMagA*exp(1j*GammaAngA); bA = imag((1 - GammaA)/(1 + GammaA)); StubLengthOut = -atan2(-2*bA/(1 + bA^2),(1 - bA^2)/(1 + bA^2))/(4*pi)
StubLengthOut = 0.0883
В предыдущих разделах пример вычислял необходимые длины и положения, в длинах волн, для выхода совпадающей сети передачи. Следуя тому же подходу, вычисляются длины линий для входа совпадающей сети:
GammaS = AllGammaS{1}(AllFreq == 1.9e9)
GammaS = -0.0099 + 0.2501i
[pt1,pt2] = imped_match_find_circle_intersections_helper([0 0], ...
abs(GammaS),[-.5 0],.5);
GammaMagA = sqrt(pt2(1)^2 + pt2(2)^2);
GammaAngA = atan2(pt2(2),pt2(1));
GammaA = GammaMagA*exp(1j*GammaAngA);
bA = imag((1 - GammaA)/(1 + GammaA));
StubPositionIn = ((2*pi + GammaAngA) - angle(GammaS))/(4*pi)
StubPositionIn = 0.2267
StubLengthIn = -atan2(-2*bA/(1 + bA^2),(1 - bA^2)/(1 + bA^2))/(4*pi)
StubLengthIn = 0.0759
Чтобы проверить проект, соберите схему 50-Ohm используя микрополоску линий электропередачи для соответствующих сетей. Во-первых, определите, является ли линия микрополоски подходящим выбором, анализируя линию электропередачи микрополоски по умолчанию с проектом частотой 1,9 ГГц.
stubTL4 = rfckt.microstrip; analyze(stubTL4,freq); Z0 = stubTL4.Z0;
Этот характерный импеданс близок к желаемому 50-Ohm импедансу, поэтому пример может продолжаться с проектом, используя эти микрополосковые линии.
Чтобы вычислить необходимые длины линии электропередачи в метрах для размещения заглушек, проанализируйте микрополоску, чтобы получить значение скорости фазы.
phase_vel = stubTL4.PV;
Используйте значение скорости фазы, которое определяет длину волны линии электропередачи и положение заглушки, чтобы задать соответствующие длины линии электропередачи для двух микрополосковых линий электропередачи, TL2
и TL3
.
TL2 = rfckt.microstrip('LineLength',phase_vel/freq*StubPositionIn); TL3 = rfckt.microstrip('LineLength',phase_vel/freq*StubPositionOut);
Снова используйте скорость фазы, чтобы задать длину заглушки и режим заглушки для каждого заглушки.
stubTL1 = rfckt.microstrip('LineLength',phase_vel/freq*StubLengthIn, ... 'StubMode','shunt','Termination','open'); set(stubTL4,'LineLength',phase_vel/freq*StubLengthOut, ... 'StubMode','shunt','Termination','open')
Теперь каскадируйте элементы схемы и анализируйте усилитель с и без совпадающих сетей в частотной области значений от 1,5 до 2,3 ГГц.
matched_amp = rfckt.cascade('Ckts',{stubTL1,TL2,amp,TL3,stubTL4});
analyze(matched_amp,1.5e9:1e7:2.3e9);
analyze(amp,1.5e9:1e7:2.3e9);
Чтобы проверить одновременное сопряженное соответствие на входе усилителя, постройте график S11
параметры в дБ для совпадающих и несопоставленных схем.
clf plot(amp,'S11','dB') hold all hline = plot(matched_amp,'S11','dB'); hline.Color = 'r'; legend('S_{11} - Original Amplifier', 'S_{11} - Matched Amplifier') legend('Location','SouthEast') hold off
Чтобы проверить одновременное сопряженное соответствие на выходе усилителя, постройте график S22
параметры в дБ для совпадающих и несопоставленных схем.
plot(amp,'S22','dB') hold all hline = plot(matched_amp,'S22','dB'); hline.Color = 'r'; legend('S_{22} - Original Amplifier', 'S_{22} - Matched Amplifier') legend('Location','SouthEast') hold off
Наконец, постройте график усиления преобразователя (Gt
) и максимальный доступный коэффициент усиления (Gmag
) в дБ для совпадающей схемы.
hlines = plot(matched_amp,'Gt','Gmag','dB'); hlines(2).Color = 'r';
Можно увидеть, что коэффициент усиления преобразователя и максимальный доступный коэффициент усиления очень близки друг к другу на частоте 1,9 ГГц.