Theoritical problem based on impedance matching and amplifier design

Thread Starter

alex1234

Joined Jul 10, 2010
7
This are problems from Book Microwave Engineering By David Pozar.
I am preparing for an exam based on this subject and stuck with some part of it.

Problem 8.
I calculated ouput reflection coefficent as = 0.85L71(degrees).
I am getting the length of OC Stub to be 0.204(wavelength) and series stub to be 0.203(wavelength).
But in solution its given to be
length of OC Stub to be 0.298(wavelength) and series stub to be 0.107(wavelength).
Here is the link of my solved smith chart solution
Since there multiple correct answers as it depends on the way traveled on smith chart, is my answer correct?

Secondly I have googled for many links which shows impedence matching using lumped elements, but didnt find a single one which shows the same with only impedance chart can any one help me with the designing steps of matched lumped elements using only Z-Smith chart.
In the above book,its given when the impedence lies in 1+jb circle but not when it doesnot lie outside 1+jb circle.

I donot understand how to travel on the same impedence using z-chart only.

It would be also very helpful if there are links which have java applets which can solve any sums based on rf circuits atleast theoritically.

-Thank you.
 
Last edited:

Thread Starter

alex1234

Joined Jul 10, 2010
7
Ok, I should have posted it in before as well...
S11=0.65L-140
S12=0.04L60
S21=2.41L50
S22=0.7L-65
All angles are in degrees.
From my calculations Δ=0.393L165,k=1.25 Thus from rollets condition, the device is stable at the operating frequency.
load reflection coefficent as = 0.85L71(degrees).
and from my calculations
length of OC Stub to be 0.204λ and series stub to be 0.203λ.
But in solution its given to be
length of OC Stub to be 0.298λ and series stub to be 0.107λ.
Here is the link of my solved smith chart solution

Q2) 11.9 from the book.
S11=0.61L-170
S12=0
S21=2.24L32
S22=0.72L-83
Since unilateral,source reflection coefficent=S11*=0.61L170
load reflection coeff=S22*=0.72L83.
Maximum gain Gtu=12.2dB.
Now since in exams, we are provided only with Z-smith charts, I dont know How to design the matching network by lumped elements using Z-chart only
Please help thank you.
 

t_n_k

Joined Mar 6, 2009
5,455
Re Q1 - You happen to have found the alternative solution for the two line components. A series line of 0.196λ with an open stub of 0.202λ and Zo load gives the same load reflection coefficient as a series line of 0.107λ and open stub of 0.298λ and Zo load. Either solution is valid.

Your values are slightly different because you used a pencil and paper Smith Chart method which has some inherent uncertainty.
 
Last edited:

t_n_k

Joined Mar 6, 2009
5,455
Now since in exams, we are provided only with Z-smith charts, I dont know How to design the matching network by lumped elements using Z-chart only
Please help thank you.
Calculation of L-section (lumped inductor / capacitor) matching networks is not a trivial task and probably unlikely to be tested under exam conditions. If you can demonstrate the use of transmission line matching I would think that would be more than sufficient. What does your professor say regarding this?

I've seen mention (including formulae) of L-section matching procedure in some brief study notes on S parameters by a Nick Gamroth (Google him). There's a small formula error in the notes in reference to output reflection coefficient which he transcribed directly from another source - also with same error. I haven't checked whether his notes on L-section matching are OK but they might be a point of reference for you if you want to follow up on this.
 

John_2016

Joined Nov 23, 2016
55
While getting enough forum entries to open a blog where eventually all POZAR exercises may be solved with MATLAB (in blue font), this kind of exercise posted by Alex1234 is quite common in Microwave engineering starter modules.

clear all;clc;close all;

your data:

% s11_ang_grad=-140
s11_mod=.65
s11_ang_rad=-140*pi/180
[s11real,s11imag]=pol2cart(s11_ang_rad,s11_mod)
s11=s11real+1j*s11imag
% S12=0.04L60
s12_mod=.04
s12_ang_rad=60*pi/180
[s12real,s12imag]=pol2cart(s12_ang_rad,s12_mod)
s12=s12real+1j*s12imag
% S21=2.41L50
s21_mod=2.41
s21_ang_rad=50*pi/180
[s21real,s21imag]=pol2cart(s21_ang_rad,s21_mod)
s21=s21real+1j*s21imag
% S22=0.7L-65
s22_mod=.7
s22_ang_rad=-65*pi/180
[s22real,s22imag]=pol2cart(s22_ang_rad,s22_mod)
s22=s22real+1j*s22imag


Stability factor

delta=s11*s22-s12*s21;
K=(1-s11*conj(s11)-s22*conj(s22)+delta*conj(delta))/(2*abs(s12*s21))
% K =
% 1.254085709165930


unconditionally stable on this particular frequency
and(K>1,abs(delta)<1)
% =
% logical
% 1


How far are the unstable areas


C1=s11-delta*conj(s22);
C2=s22-delta*conj(s11);
D1=s11*conj(s11)-delta*conj(delta);
D2=s22*conj(s22)-delta*conj(delta);
B1=1-s22*conj(s22)+D1;
B2=1-s11*conj(s11)+D2;

gamma_S_1=(B1+(B1^2-4*abs(C1^2))^.5)/(2*C1)
gamma_S_2=(B1-(B1^2-4*abs(C1^2))^.5)/(2*C1)

if abs(gamma_S_1)<1 % rid of |reflection_source|>1
gamma_S=gamma_S_1 % because K>1 there has to be a |reflection|<1
elseif abs(gamma_S_2)<1
gamma_S=gamma_S_2
end

gamma_L_1=(B2+(B2^2-4*C2*conj(C2))^.5)/(2*C2)
gamma_L_2=(B2-(B2^2-4*C2*conj(C2))^.5)/(2*C2)

if abs(gamma_L_1)<1 % rid of |reflection_load|>1
gamma_L=gamma_L_1
elseif abs(gamma_L_2)<1
gamma_L=gamma_L_2
end

% calculate input and output stability circle centres and radii
Centre_stability_IN=conj(C1)/D1; % input stability circle
R_stability_IN=abs(s12*s21/D1);

Centre_stability_OUT=conj(C2)/D2; % output stability circle
R_stability_OUT=abs(s12*s21/D2);

a=[0:.1:360];
xc_in=R_stability_IN*cosd(a)+real(Centre_stability_IN);
yc_in=R_stability_IN*sind(a)+imag(Centre_stability_IN);
hf1=figure(1);smithchart; % input reflection on Smith chart, with input stability circle
ax1=hf1.CurrentAxes
hold all;plot(ax1,xc_in,yc_in,'LineWidth',1.5,'Color','r');
title(ax1,' Input Reflection gamma_S','HorizontalAlignment','left')
plot(ax1,real(gamma_S),imag(gamma_S),'bo','color','blue','MarkerSize',5,'MarkerFaceColor',[0 0 1])

xc_out=R_stability_OUT*cosd(a)+real(Centre_stability_OUT);
yc_out=R_stability_OUT*sind(a)+imag(Centre_stability_OUT);

hf2=figure(2);smithchart; % output reflection on Smith chart, with output stability circle
ax2=hf2.CurrentAxes
hold all;plot(ax2,xc_out,yc_out,'LineWidth',1.5,'Color','r')
title(ax2,' Output Reflection gamma_L','HorizontalAlignment','left')
plot(ax2,real(gamma_L),imag(gamma_L),'bo','color','red','MarkerSize',5,'MarkerFaceColor',[1 0 0])

% showing where input and output reflections would be unstable
if (abs(Centre_stability_IN)>R_stability_IN); % circle does not comprise (0,0) then in port is STABLE OUTSIDE CIRCLE
figure(1);text(real(Centre_stability_IN),imag(Centre_stability_IN),'unstable','Color','r','HorizontalAlignment','center');
center1(1)=real(Centre_stability_IN);center1(2)=imag(Centre_stability_IN);
color=[.5 0 0]; N=100;
a=linspace(0,2*pi,N);
r0=ones(1,N)*R_stability_IN;
[X,Y] = pol2cart(a,r0);
X=X+center1(1);Y=Y+center1(2);
h=fill(X,Y,color);h.FaceAlpha=.3;
end;

if (abs(Centre_stability_IN)<R_stability_IN); % circle comprises (0,0) then in port is STABLE INSIDE CIRCLE
figure(1);text(real(Centre_stability_IN),imag(Centre_stability_IN),'stable','Color',[0 .8 0],'HorizontalAlignment','center')
center1(1)=real(Centre_stability_IN);center1(2)=imag(Centre_stability_IN);
color=[0 .5 0]; N=100;
a=linspace(0,2*pi,N);
r0=ones(1,N)*R_stability_IN;
[X,Y] = pol2cart(a,r0);
X=X+center1(1); Y=Y+center1(2);
h=fill(X,Y,color); h.FaceAlpha=.3;
end;

if (abs(Centre_stability_OUT)>R_stability_OUT); % circle does not comprise (0,0) then in port is STABLE OUTSIDE CIRCLE
figure(2);text(real(Centre_stability_OUT),imag(Centre_stability_OUT),'unstable','Color','r','HorizontalAlignment','center')
center2(1)=real(Centre_stability_OUT);center2(2)=imag(Centre_stability_OUT);
color=[.5 0 0]; N=100;
a=linspace(0,2*pi,N);
r0=ones(1,N)*R_stability_OUT;
[X,Y] = pol2cart(a,r0);
X=X+center2(1); Y=Y+center2(2);
h=fill(X,Y,color); h.FaceAlpha=.3;
end;

if (abs(Centre_stability_OUT)<R_stability_OUT); % circle comprises (0,0) then in port is STABLE INSIDE CIRCLE
figure(2);text(real(Centre_stability_OUT),imag(Centre_stability_OUT),'stable','Color',[0 .8 0],'HorizontalAlignment','center');
center2(1)=real(Centre_stability_OUT);center2(2)=imag(Centre_stability_OUT);
color=[0 .5 0]; N=100;
a=linspace(0,2*pi,N);
r0=ones(1,N)*R_stability_OUT;
[X,Y] = pol2cart(a,r0);
X=X+center2(1); Y=Y+center2(2);
h=fill(X,Y,color); h.FaceAlpha=.3;
end;



Respective source and load impedance
Z0=50
Z_S=gamma2z(gamma_S,Z0)
Z_L=gamma2z(gamma_L,Z0)


Z_S and Z_L are looking outwards


because you are building input and output matching networks with
components that at the same time perform DC decoupling and
transistor bias.




From http://www.rfcafe.com/references/electrical/images2/electronic-applications-smith-chart-p-117.jpg
that is actually from

https://www.amazon.co.uk/Microwave-Transistor-Amplifiers-Analysis-Design/dp/0132543354

Depending on what quarter of the Smith chart the reflection of a given port is located,
then there are 2 possible matching networks for each port.

Input



Output



for instance the case for series C parallel C would be



Z_S = 5.1357 +14.5861i


1st shift from Z_S to R=Z0 circle
syms B1
eq1=Z0==real(1/(1j*B1+1/(Z_S)))
B1=real(double(solve(eq1,B1)))

if knowing the frequency, that is not the case, then
to obtain the value of C1 the following would be possible:

B1=C1*Z0*2*pi*f0

2nd shift, zeroing reactance:

syms B2
eq2=abs(imag(1/(1j*B2)+1/(1j*B1+1/Z_S)))==0.001
B2=double(solve(eq2,B2))

ignore the negative result

B2=B2(B2>0)

again the 2nd capacitor value could be calculated provided f0 known
B2=C2*Z0*2*pi*f0

similar procedure could be iterated for all 3 remaining possible lump
element matching networks, but as seen there's need for f0 to be known,
which is not the case,
and there are frequent decision points where some equation solutions have
to be manually disregarded.

Be aware that a few times command solve will simply return empty results,
as when
for instance you ask to solve an equation with complex values.

There are sort of 'java aplets' out there that solve circuit components
connected in different ways, but they are bound to specific topologies

Dellsperger's Smith app


http://www.fritz.dellsperger.net/smith.html

the chart demo is free, but it has a top amount of circuit
elements to a low amount, and it has to be chain of components selected
from a palette with just a few components.

If your university has purchased Agilent (now Keysight) test instruments,
the chances are that there is at least one professor who will
support your application for an ADS student licence


https://www.keysight.com/main/edito....0.00&id=1488740&cmpid=zzfindeesof-university

ADS has a tool called Smith Chart Utility that you may find really useful.
Link to POZAR with ADS example in same AOC

Since you've mentioned in the question it's requirement to use shunt stubs and series sections of transmission lines,



transmission line plus single open circuit stub match (on single frequency) is POZAR 4th edition exercise 5.14

5.14 already solved with MATLAB, scheduled for posting in blog soon.

https://forum.allaboutcircuits.com/...ter-5-example-1-with-ads.151173/#post-1295405


instead of moving impedance along constant resistance or constant
reactance circles as it's the case when using lump circuit elements,
series transmission lines shift impedance along constant SWR circles.


Zin=ZL*(ZL+1j*Z0*tan(beta*L))/(Z0+1j*ZL*tan(complex_prop_const*L) % ideal transmission line
Zin=ZL*(ZL+Z0*th(complex_prop_const*L))/(Z0+ZL*th(complex_prop_const*L) % ideal transmission line

But for circuits with small amount of components, it may require less calculations to solve with the Smith Chart

Also recommended to read example 12.3 page 573 of POZAR 4th edition.
If you have the 3rd edition, instead, look at the Smith chart on page 622 that completes example 11.6

Now, to use a Z Smith chart as Y chart by simply spinning 180deg the reflection coefficient:
left side Short Circuit on Z Smith Chart is Open circuit on Y chart,
and right side Open Circuit on Z Smith Chart is Short Circuit on Y chart.


gamma_yS=-gamma_S
yS=1/Z0*(1-gamma_yS)/(1+gamma_yS)

plot(ax1,real(gamma_yS),imag(gamma_yS),'bo','LineWidth',1.5)
Smith_plotOpRefLine2PhaseCircle(ax1,Z_S,Z0,[0 .7 0]);
Smith_plotOpRefLine2PhaseCircle(ax1,1/yS,Z0,[0 .7 0]);



now we are going to move the impedance along the SWR red circle until the
real part equals Z0


[x_swr,y_swr]=Smith_plotGammaCircle(ax1,Z_S,Z0,[1 .6 .6]);
[xr1,yr1]=Smith_plotRcircle(ax1,Z0,Z0,[0 0 1])
[xint,yint]=intersections(x_swr,y_swr,xr1,yr1);

xint=xint(find(yint>0));yint=yint(find(yint>0)) % discard yint<0
plot(ax1,xint,yint,'ro')



Observe that Ys is close but not right on the real(Zin)=Z0 constant resistance circle



how long has to be the transmission line departing from the device towards generator to bring the real part of the
source impedance equal to Z0?


abs(180/pi*(angle(gamma_yS) - angle(xint+1j*yint)))
= 67.059122630177228 % degree

abs(.25/pi*(angle(gamma_yS) - angle(xint+1j*yint)))
= 0.093137670319691 % wavelengths

POZAR (4th edition page 238) directly gives an equation to solve, in order to find both intersection points.
X1=imag(Z_S);R1=real(Z_S)
t1=(X1+(R1/Z0*((Z0-R1)^2+X1^2))^.5)/(R1-Z0)
=
-0.662118449238019
180/pi*atan(t1)
=
-33.509277617220988

t2=(X1-(R1/Z0*((Z0-R1)^2+X1^2))^.5)/(R1-Z0)
t2 =
0.011885293980521
180/pi*atan(t2)
=
0.680945121079561

if t1>=0 nTL1_lambda=1/(2*pi)*atan(t1) ; end
if t1<0 nTL1_lambda=1/(2*pi)*(pi+atan(t1)); end
nTL1_lambda
=
0.406918673285497

all multiples or fractions of wavelengths are referred with variables like n1_.. n2_..

if t2>=0 nTL2_lambda=1/(2*pi)*atan(t2); end
if t2<0 nTL2_lambda=1/(2*pi)*(pi+atan(t2)); end
nTL2_lambda
=
0.001891514225221

and for the OC parallel stub Zin_OCstub=-1j*Z0*cot(beta*L)
beta=2*pi/lambda
L=n1_lambda*lambda
turn unknown beta*L=n1_lambda*lambda, now a single variable to solve
G1=R1*(1+t1^2)/(R1^2+(X1+Z0*t1)^2)
B1=(R1^2*t1-(Z0-X1*t1)*(X1+Z0*t1))/(Z0*(R1^2+(X1+Z0*t1)^2))
n1_OCstub=1/(2*pi)*atan(-B1/Z0^-1)
if n1_OCstub<0 n1_OCstub=.5+n1_OCstub; end
n1_OCstub =
0.302114823901448

check circles crossing match, green marker should overlap red marker on intersection:
Y1=(G1+1j*B1)
gamma_z1=(1/Z0-Y1)/(1/Z0+Y1)
gamma_y1=-gamma_z1
plot(ax1,real(gamma_y1),imag(gamma_y1),'go')

match to the positive solution found with support function intersections.m

G2=R1*(1+t2^2)/(R1^2+(X1+Z0*t2)^2)
B2=(R1^2*t2-(Z0-X1*t2)*(X1+Z0*t2))/(Z0*(R1^2+(X1+Z0*t2)^2))
n2_OCstub=1/(2*pi)*atan(-B2/Z0^-1)
if n2_OCstub<0 n2_OCstub=.5+n2_OCstub; end
n2_OCstub
=
0.197885176098552

Y2=(G2+1j*B2)
gamma_z2=(1/Z0-Y2)/(1/Z0+Y2)
gamma_y2=-gamma_z2
plot(ax1,real(gamma_y2),imag(gamma_y2),'go')

match to the positive solution found with support function intersections.m


So the solution is, either:
1.- the long way 4/5ths around Smith Chart on Transmission line

nTL1_lambda
= 0.406918673285497

n1_OCstub
= 0.302114823901448

2.- or a fairly short run on TL
nTL2_lambda
= 0.001891514225221
n2_OCstub
= 0.197885176098552

graphically drawing long Transmission Line arc on Smith chart
a_in=angle(gamma_yS)
plot(ax1,real(gamma_yS),imag(gamma_yS),'ro')
a_target2=angle(gamma_y1)
plot(ax1,real(gamma_y2),imag(gamma_y2),'ro')
a=a_in;a_tol=a_target2*0.01;a_step=2*pi/5000; gamma=gamma_yS % init gamma sweep
winL1=a_target2*(1+a_tol);winL2=a_target2*(1-a_tol) % catch window
da=a_step
while ceil(100*a)/100>winL1 || ceil(100*a)/100<winL2
gamma=gamma*exp(-1j*a_step); % exp(-1j*) is CW, towards generator
a=angle(gamma);da=da+a_step
plot(ax1,real(gamma),imag(gamma),'ro','LineWidth',1.5);
end
a1=da




long angle, in degree
180/pi*a1
=
2.928960000000026e+02

graphically drawing short Transmission Line arc on Smith chart
a_in=angle(gamma_yS)
plot(ax1,real(gamma_yS),imag(gamma_yS),'ro')
a_target2=angle(gamma_y2)
plot(ax1,real(gamma_y2),imag(gamma_y2),'ro')
a=a_in;a_tol=a_target2*0.01;a_step=2*pi/5000; gamma=gamma_yS % init gamma sweep
winL1=a_target2*(1+a_tol);winL2=a_target2*(1-a_tol) % catch window
da=a_step
while ceil(100*a)/100>winL1 || ceil(100*a)/100<winL2
gamma=gamma*exp(-1j*a_step); % exp(-1j*) is CW, towards generator
a=angle(gamma);da=da+a_step
plot(ax1,real(gamma),imag(gamma),'ro','LineWidth',1.5);
end
a2=da



short angle, in degree
180/pi*a2
=
1.656000000000000

Then from your question statement:

if instead of using OC shunt (parallel) stubs the choice would be SC shunt stubs, then
the lengths of the parallel stubs would be

SC parallel stub Zin_SCstub=-1j*Z0*tan(beta*L)

n1_SCstub=1/(2*pi)*acot(-B1/Z0^-1)
if n1_SCstub<0 n1_SCstub=.5+n1_SCstub; end
=
0.447885176098552

n2_SCstub=1/(2*pi)*acot(-B2/Z0^-1)
if n2_SCstub<0 n2_SCstub=.5+n2_SCstub; end
=
0.052114823901448

if you placed the OC (or SC) stub first, next to the device, and then you
try to run along the Transmission Line outwards, towards generator and towards load, it won't work because the SWR
circle will not bring the impedance to the centre of the Smith Chart.

the stubs could also be OC series or SC series, but omitting them here,
if interested email me and I will send back the solution with OC series or SC series.


Output match:


gamma_yL=-gamma_L
yL=1/Z0*(1-gamma_yL)/(1+gamma_yL)

plot(ax2,real(gamma_yL),imag(gamma_yL),'bo','LineWidth',1.5)
Smith_plotOpRefLine2PhaseCircle(ax2,Z_L,Z0,[0 .7 0]);
Smith_plotOpRefLine2PhaseCircle(ax2,1/yL,Z0,[0 .7 0]);

[x_swr,y_swr]=Smith_plotGammaCircle(ax2,Z_L,Z0,[1 .6 .6]);
[xr1,yr1]=Smith_plotRcircle(ax2,Z0,Z0,[0 0 1])
[xint,yint]=intersections(x_swr,y_swr,xr1,yr1);
plot(ax2,xint,yint,'ro')

keep turning still towards generator.
it's actually towards load, but it's the test generator replacing
the load and marching towards the generator again.


gamma_y1=xint(1)+1j*yint(1)
gamma_y2=xint(2)+1j*yint(2)
y1=1/Z0*(1-gamma_y1)/(1+gamma_y1)
y2=1/Z0*(1-gamma_y2)/(1+gamma_y2)

check
1/y1
=
5.001474552579269e+01 - 1.619932608083966e+02i
1/y2
=
5.001474552579269e+01 - 1.619932608083966e+02i

on R=Z0 constant impedance circle, as expected

a_in=angle(gamma_yL)
plot(ax2,real(gamma_yL),imag(gamma_yL),'ro')
a_target2=angle(gamma_y2)
plot(ax2,real(gamma_y2),imag(gamma_y2),'ro')
a=a_in;a_tol=a_target2*0.01;
a_step=2*pi/5000; gamma=gamma_yL % init gamma sweep
winL1=a_target2*(1+a_tol);winL2=a_target2*(1-a_tol) % catch window
da=a_step
while ceil(100*a)/100>winL1 || ceil(100*a)/100<winL2
gamma=gamma*exp(-1j*a_step); % exp(-1j*) is CW, towards generator
a=angle(gamma);da=da+a_step
plot(ax2,real(gamma),imag(gamma),'go','LineWidth',1.5);
end
a1=da

short TL angle, in degree
180/pi*a1
=
2.192399999999899e+02



a_target2=angle(gamma_y1)
plot(ax2,real(gamma_y1),imag(gamma_y1),'ro')
a=a_in;a_tol=a_target2*0.01;a_step=2*pi/5000; gamma=gamma_yL % init gamma sweep
winL1=a_target2*(1+a_tol);winL2=a_target2*(1-a_tol) % catch window
da=a_step
while ceil(100*a)/100>winL1 || ceil(100*a)/100<winL2
gamma=gamma*exp(-1j*a_step); % exp(-1j*) is CW, towards generator
a=angle(gamma);da=da+a_step
plot(ax2,real(gamma),imag(gamma),'ro','LineWidth',1.5);
end
a2=da

long TL angle, in degree
180/pi*a2
=
2.822400000000002e+02





Since we already have the intersection points, obtained graphically,
there's no need to numerically solve the equations.

B1=imag(y1);B2=imag(y2);

and for the OC parallel stub Zin_OCstub=-1j*Z0*cot(beta*L)
n1_OCstub=1/(2*pi)*atan(-B1/Z0^-1)
if n1_OCstub<0 n1_OCstub=.5+n1_OCstub; end
=
0.456284795699821
n2_OCstub=1/(2*pi)*atan(-B2/Z0^-1)
if n2_OCstub<0 n2_OCstub=.5+n2_OCstub; end
=
0.043715204300179

SC parallel stub Zin_SCstub=-1j*Z0*tan(beta*L):
n1_SCstub=1/(2*pi)*acot(-B1/Z0^-1)
if n1_SCstub<0 n1_SCstub=.5+n1_SCstub; end
=
0.293715204300179
n2_SCstub=1/(2*pi)*acot(-B2/Z0^-1)
if n2_SCstub<0 n2_SCstub=.5+n2_SCstub; end
=
0.206284795699821

Use the circle with radius 1 to measure open and short circuit stub
length graphically on the Smith Chart



hf3=figure(3);smithchart; % input reflection
ax3=hf3.CurrentAxes
hold all;plot(ax3,xc_in,yc_in,'LineWidth',1.5,'Color','r');
title(ax3,' Input gamma_S 2nd intersect','HorizontalAlignment','left')
plot(ax3,real(gamma_S),imag(gamma_S),'bo','color','blue','MarkerSize',5,'MarkerFaceColor',[0 0 1])
plot(ax3,real(gamma_yS),imag(gamma_yS),'bo','LineWidth',1.5)

Smith_plotOpRefLine2PhaseCircle(ax3,Z_S,Z0,[0 .7 0]);
Smith_plotOpRefLine2PhaseCircle(ax3,1/Z_S,1/Z0,[0 .7 0]);
[x_swr,y_swr]=Smith_plotGammaCircle(ax3,Z_S,Z0,[1 .6 .6]);
[xr1,yr1]=Smith_plotRcircle(ax3,Z0,Z0,[0 0 1])
[xint,yint]=intersections(x_swr,y_swr,xr1,yr1);
plot(ax3,xint,yint,'ro')

gamma_y1=xint(1)+1j*yint(1)
gamma_y2=xint(2)+1j*yint(2)
y1=1/Z0*(1-gamma_y1)/(1+gamma_y1)
y2=1/Z0*(1-gamma_y2)/(1+gamma_y2)

Smith_plotOpRefLine2PhaseCircle(ax3,y1,1/Z0,[.7 0 0]);
Smith_plotOpRefLine2PhaseCircle(ax3,y2,1/Z0,[.7 0 0]);

da=1/100;a_stub=[angle(gamma_y1):da : pi];arc_stub1=da;
gamma_stub=.99*(cos(a_stub)+1j*sin(a_stub));
arc_stub1=arc_stub1+da;
plot(ax3,real(gamma_stub),imag(gamma_stub),'bo','LineWidth',1.5);

angle_OCstub1=180/pi*abs(angle(gamma_y1)-pi)
=
2.142307901340358e+02




close(hf3)
hf3=figure(3);smithchart; % input reflection
ax3=hf3.CurrentAxes
hold all;plot(ax3,xc_in,yc_in,'LineWidth',1.5,'Color','r');
title(ax3,' Input gamma_S 2nd intersect','HorizontalAlignment','left')
plot(ax3,real(gamma_S),imag(gamma_S),'bo','color','blue','MarkerSize',5,'MarkerFaceColor',[0 0 1])
plot(ax3,real(gamma_yS),imag(gamma_yS),'bo','LineWidth',1.5)

Smith_plotOpRefLine2PhaseCircle(ax3,Z_S,Z0,[0 .7 0]);
Smith_plotOpRefLine2PhaseCircle(ax3,1/Z_S,1/Z0,[0 .7 0]);
[x_swr,y_swr]=Smith_plotGammaCircle(ax3,Z_S,Z0,[1 .6 .6]);
[xr1,yr1]=Smith_plotRcircle(ax3,Z0,Z0,[0 0 1])
[xint,yint]=intersections(x_swr,y_swr,xr1,yr1);
plot(ax3,xint,yint,'ro')
Smith_plotOpRefLine2PhaseCircle(ax3,y1,1/Z0,[.7 0 0]);
Smith_plotOpRefLine2PhaseCircle(ax3,y2,1/Z0,[.7 0 0]);

da=1/100;a_stub=[angle(gamma_y2):da : pi];arc_stub2=da;
gamma_stub=.99*(cos(a_stub)+1j*sin(a_stub));
arc_stub2=arc_stub2+da;
plot(ax3,real(gamma_stub),imag(gamma_stub),'bo','LineWidth',1.5);

angle_OCstub2=180/pi*abs(angle(gamma_y2)-pi)




Closing comment:
Solving input output match networks with lump elements is easier than one
may think, as shown above, it's about manually combining parallel or
series elements to reach the target impedance, although there may be some
equation solutions to be ignored.


close all
hf4=figure(4);smithchart; % input reflection
ax4=hf4.CurrentAxes
hold all;plot(ax4,xc_in,yc_in,'LineWidth',1.5,'Color','r');
title(ax4,' Input gamma_S','HorizontalAlignment','left')
plot(ax4,real(gamma_S),imag(gamma_S),'bo','color','blue','MarkerSize',5,'MarkerFaceColor',[0 0 1])
plot(ax4,real(gamma_yS),imag(gamma_yS),'bo','LineWidth',1.5)
Smith_plotOpRefLine2PhaseCircle(ax4,Z_S,Z0,[0 .7 0]);
Smith_plotOpRefLine2PhaseCircle(ax4,1/Z_S,1/Z0,[0 .7 0]);

[x_g1,y_g1]=Smith_plotGcircle(ax4,1/Z_S,1/Z0,[.7 0 0])
[xr1,yr1]=Smith_plotRcircle(ax4,Z0,Z0,[0 0 1])
[xint,yint]=intersections(x_g1,y_g1,xr1,yr1);
plot(ax4,xint,yint,'go')



When using lump elements, one has to shift impedance along constant
resistance or constant reactance circles, there's no SWR circle.

It's good to remember the following:
when adding series capacitance: CCW along constant resistance circle, Z Smith Chart.

when adding series inductance: CW along constant resistance circle, Z Smith Chart.
when adding parallel capacitance: CW along constant G (conductance) circle on reversed Y Smith Chart.

when adding parallel inductance: CCW along constant G circle on reversed Y Smith Chart.



In practical terms, Ys is already on the R=Z0 circle: the manufacturer of the device sought a marketing bechmark, allocated real(Z_S) quite close to circle constant R=Z0, so simply adding the right DC decoupling capacitor it may bring
the input impedance close enough to consider it well enough matched.

In reality, one would simulate or build a few prototypes and measure.

Additional data that commonly asked in tests, along with the above stub lengths:

SWR=(1+abs(gamma_S))/(1-abs(gamma_S)) % SWR=Vmax/Vmin

GS=(1-gamma_S*conj(gamma_S))/(abs(1-s11*gamma_S))^2

G0=s21*conj(s21)

GL=(1-gamma_L*conj(gamma_L))/(abs(1-s22*gamma_L))^2

GT=GS*G0*GL % GT: Transducer gain

GTU_max=1/(1-s11*conj(s11))*s21*conj(s21)*1/(1-s22*conj(s22)) % max transducer gain

GT_max= abs(s21)/abs(s12)*(K^2-(K^2-1)^.5) % when K>1 stable, max transducer power gain

Gmsg=abs(s21)/abs(s12) % max (achievable) stable gain
 
Last edited:
Top