top of page

exercise 5.3

ZIP with MATLAB scripts and note:

Small tag OK.jpg
pozar_05_exercise_03_question.jpg

 exercise 5.3 notes:

Small tag OK.jpg

 

single shunt open circuit stub with transmission line, both stub and transmission line with Z0=75, to match ZL=100+1j*80.

 

matching single frequency with shunt stubs requires calculating 2 TL lengths, that expressed in multiples of wavelength: beta*L=2*pi/lambda*lambda*D=2*pi*D

D is wavelength multiple, or the phase, halved angle measured on Smith chart.

 

   1.- the length of the TL where the shunt is placed: D_TL

   2.- the length of the parallel shunt stub itself: D_oc_stub

 

There are 2 solutions, towards generator, CW, along SWR circle, until 

 

real(Zin)==Z0

001.jpg

Z0=75; ZL=100+1j*80;

gamma_ZL=(ZL-Z0)/(ZL+Z0);

 

hf(1)=figure(1);sm(1)=smithchart; ax(1)=hf(1).CurrentAxes; hold(ax(1),'on')  

plot(ax(1),real(gamma_ZL),imag(gamma_ZL),'o','Color',[1 0 0]) % ZL

 

YL=1/ZL                     

gamma_YL=-gamma_ZL

gamma_YL_angle=angle(gamma_YL);gamma_YL_mod=abs(gamma_YL)

if gamma_YL_angle<0 gamma_YL_angle=2*pi+gamma_YL_angle; end

if gamma_YL_angle>(2*pi) gamma_YL_angle=gamma_YL_angle-2*pi; end

Smith_plotY(ax(1),YL,1/Z0)

 

Smith_plotRefLine2PhaseCircle(ax(1),YL,1/Z0,[.6 1 .6])

[x_swr,y_swr]=Smith_plotGammaCircle(ax(1),ZL,Z0,[1 .6 .6])

 

[g1x,g1y]=pol2cart(gamma_YL_angle,gamma_YL_mod)

 

[xr1,yr1]=Smith_plotRcircle(ax(1),Z0,Z0,[0 0 1])

[xint,yint]=intersections(x_swr,y_swr,xr1,yr1,1);

plot(ax(1),xint,yint,'go')

 

gb1=xint(1)+1j*yint(1);

 

gb1_angle=angle(gb1);gb1_mod=abs(gb1)

if gb1_angle<0 gb1_angle=2*pi+gb1_angle; end

if gb1_angle>(2*pi) gb1_angle=gb1_angle-2*pi; end

 

 Yb_1=(1/Z0*(1-gb1)/(1+gb1)) %^-1

 1/Yb_1                                           % check real(Z) spot on r=1 circle

 

 Smith_plotRefLine2PhaseCircle(ax(1),1/Yb_1,Z0,[.6 1 .6])

 

% on Smith chart

 

da=1/1000;arc1=da

a0=gamma_YL_angle;a1=gb1_angle;gamma_mod=gamma_YL_mod

 

while abs(a0-a1)>da

    a0=a0-da;arc1=arc1+da;

   if a0<0 a0=2*pi+a0; end % avoid negative angle

   if a0>(2*pi) a0=a0-2*pi; end

    gamma=gamma_mod*(cos(a0)+1j*sin(a0));

    plot(ax(1),real(gamma),imag(gamma),'ro','LineWidth',1.5); 

end

plot(ax(1),xint,yint,'go')

 

% checking stub input impedance already on r=1 circle

1/Yb_1 

isequal(Yb_1,gamma2z(-gb1,1/Z0))   % same, -gb1 to bring gamma Y2Z

 

D1_TL_lambda=arc1/(4*pi)

D1_TL_angle_deg=D1_TL_lambda*180/.5  

% lambda/2 is 180º electric length that is 360º on Smith Chart

002.jpg
checking stub already on r=1 circle

 

1/Yb_1 

isequal(Yb_1,gamma2z(-gb1,1/Z0))

D1_TL_lambda=arc1/(4*pi)

D1_TL_angle_deg=D1_TL_lambda*180/.5 

 

 

 = 75.009858443284173 -72.565629355776338i

 

 =

  logical

   1

 

D1_TL_lambda =   0.405924682355882

D1_TL_angle_deg =     1.461328856481175e+02

table1.jpg

hf(2)=figure(2);sm(2)=smithchart; ax(2)=hf(2).CurrentAxes; hold(ax(2),'on') 

plot(ax(2),real(gamma_ZL),imag(gamma_ZL),'o','Color',[1 0 0]) % ZL

 

gamma_YL_angle=angle(gamma_YL);gamma_YL_mod=abs(gamma_YL)

if gamma_YL_angle<0 gamma_YL_angle=2*pi+gamma_YL_angle; end

if gamma_YL_angle>(2*pi) gamma_YL_angle=gamma_YL_angle-2*pi; end

Smith_plotY(ax(2),YL,1/Z0)

 

Smith_plotRefLine2PhaseCircle(ax(2),YL,1/Z0,[.2 .8 .2])

 

[x_swr,y_swr]=Smith_plotGammaCircle(ax(2),ZL,Z0,[.8 .2 .2])

 

[g1x,g1y]=pol2cart(gamma_YL_angle,gamma_YL_mod)

 

[xr1,yr1]=Smith_plotRcircle(ax(2),Z0,Z0,[0 0 1])

 

[xint,yint]=intersections(x_swr,y_swr,xr1,yr1,1);

plot(ax(2),xint,yint,'go')

 

gb2=xint(2)+1j*yint(2);

gb2_angle=angle(gb2);gb2_mod=abs(gb2)

if gb2_angle<0 gb2_angle=2*pi+gb2_angle; end

if gb2_angle>(2*pi) gb2_angle=gb2_angle-2*pi; end

 

Yb_2=(1/Z0*(1-gb2)/(1+gb2)) %^-1

1/Yb_2 % check real(Z) spot on r=1 circle

 

Smith_plotRefLine2PhaseCircle(ax(2),1/Yb_2,Z0,[.2 .8 .2])

 

da=1/1000;arc2=da

a0=gamma_YL_angle;a1=gb2_angle;gamma_mod=gamma_YL_mod

while abs(a0-a1)>da

    a0=a0-da;arc2=arc2+da;

   if a0<0 a0=2*pi+a0; end % avoid negative angle

   if a0>(2*pi) a0=a0-2*pi; end

    gamma=gamma_mod*(cos(a0)+1j*sin(a0));

    plot(ax(2),real(gamma),imag(gamma),'ro','LineWidth',1.5); 

end

plot(ax(2),xint,yint,'go')

003.jpg
checking stub already on r=1 circle

 

1/Yb_2

isequal(Yb_2,gamma2z(-gb2,1/Z0))

D2_TL_lambda=arc2/(4*pi)

D2_TL_angle_rad=arc2/2

D2_TL_angle_deg=arc2*90/pi

 

 

1/Yb_2 = 75.009858443284173 +72.565629355776380i

 

=  1

 

D2_TL_lambda =  0.228387343336868

D2_TL_angle_rad =  1.434999999999

D2_TL_angle_deg =  82.219443601272644

% calculating stub lenght Dstub1

 

hf(3)=figure(3);sm(3)=smithchart; ax(3)=hf(3).CurrentAxes; hold(ax(3),'on');

 

plot(ax(3),real(gamma_ZL),imag(gamma_ZL),'o','Color',[1 0 0])

 

gamma_YL_angle=angle(gamma_YL);gamma_YL_mod=abs(gamma_YL)

if gamma_YL_angle<0 gamma_YL_angle=2*pi+gamma_YL_angle; end

if gamma_YL_angle>(2*pi) gamma_YL_angle=gamma_YL_angle-2*pi; end

Smith_plotY(ax(3),YL,1/Z0)

 

Smith_plotRefLine2PhaseCircle(ax(3),YL,1/Z0,[.2 .6 .2])

[x_swr,y_swr]=Smith_plotGammaCircle(ax(3),ZL,Z0,[1 .6 .6])

 

[g1x,g1y]=pol2cart(gamma_YL_angle,gamma_YL_mod)

 

[xr1,yr1]=Smith_plotRcircle(ax(3),Z0,Z0,[0 0 1])

[xint,yint]=intersections(x_swr,y_swr,xr1,yr1,1);

plot(ax(3),xint,yint,'go')

 

gb1=xint(1)+1j*yint(1);gb1_angle=angle(gb1);gb1_mod=abs(gb1)

if gb1_angle<0 gb1_angle=2*pi+gb1_angle; end

if gb1_angle>(2*pi) gb1_angle=gb1_angle-2*pi; end

 

yb_1=1/Z0*((1+gb1)/(1-gb1))^-1

1/yb_1                                                             

% check already on r=1

Smith_plotRefLine2PhaseCircle(ax(3),1/yb_1,Z0,[.2 .8 .2]) 

% 1st intersection

 

gstub=conj(gb1)                                       % where Zin has to move next

plot(ax(3),real(gstub),imag(gstub),'bo')

 

% using Z Smith chart values as if reversed Y Smith chart

Zbs=(1/Z0*(1-gstub)/(1+gstub)) ^-1 

 

Zbs2=1j*imag(Zbs)

 

refl_Zstub=(Z0-Zbs2)/(Z0+Zbs2)

refl_Ystub=-refl_Zstub                                    % where stub Zin has to be

 

plot(ax(3),real(refl_Ystub),imag(refl_Ystub),'ro')

 

Smith_plotRefLine2PhaseCircle(ax(3),Zbs2,Z0,[.2 .2 .8])

Smith_plotBarc(ax(3),Zbs,Z0,[1 0 1])

 

 

da=1/100;a_stub=[angle(refl_Ystub):da:pi];arc_stub1=da;

 

for k=1:1:numel(a_stub)

   gamma_stub=cos(a_stub)+1j*sin(a_stub);

   arc_stub1=arc_stub1+da;

   plot(ax(3),real(gamma_stub),imag(gamma_stub),'bo','LineWidth',1.5); 

end

arc_stub1=arc_stub1-da;

004.jpg

directly from the intersection points

 

Dstub1_lambda=abs(-pi-angle(gstub))*.25/pi

 

% electric length of OC stub

 

Dstub1_angle_rad=abs(-pi-angle(gstub))/2 

Dstub1_angle_deg=abs(-pi-angle(gstub))*90/pi

 

% from the arc on Smith chart

 

arc_stub1*180/pi

arc_stub1_lambda=.25/pi*arc_stub1

 

same as

 

Dstub1_lambda=arc_stub1/(4*pi)

 Dstub1_angle_deg= arc_stub1/2*360/(2*pi)

Dstub1_lambda =   0.160864794588070

 

 

 

Dstub1_angle_rad =   1.010743313798222

Dstub1_angle_deg =  57.911326051705117

 

 

 

 

arc_stub1_lambda =   0.122549306180760

 

 

 

Dstub1_lambda =   0.122549306180760

Dstub1_angle_deg =  44.117750225073422

% calculating stub lenght Dstub2

  

hf(4)=figure(4);sm(4)=smithchart; ax(4)=hf(4).CurrentAxes;hold(ax(4),'on');

 

plot(ax(4),real(gamma_ZL),imag(gamma_ZL),'o','Color',[1 0 0])

 

Smith_plotY(ax(4),YL,1/Z0)

 

Smith_plotRefLine2PhaseCircle(ax(4),YL,1/Z0,[.2 .6 .2])

[x_swr,y_swr]=Smith_plotGammaCircle(ax(4),ZL,Z0,[1 .6 .6])

 

[g1x,g1y]=pol2cart(gamma_YL_angle,gamma_YL_mod)

 

[xr1,yr1]=Smith_plotRcircle(ax(4),Z0,Z0,[0 0 1])

[xint,yint]=intersections(x_swr,y_swr,xr1,yr1,1);

plot(ax(4),xint,yint,'go')

 

gb2=xint(2)+1j*yint(2);gb2_angle=angle(gb2);gb2_mod=abs(gb2)

if gb2_angle<0 gb2_angle=2*pi+gb2_angle; end

if gb2_angle>(2*pi) gb2_angle=gb2_angle-2*pi; end

 

Yb_2=1/Z0*((1+gb2)/(1-gb2)) ^-1

1/Yb_2                                                    % check already on r=1

Smith_plotRefLine2PhaseCircle(ax(4),1/Yb_2,Z0,[.2 .8 .2])

 

gstub=conj(gb2)

plot(ax(4),real(gstub),imag(gstub),'bo')

 

Zbs=(1/Z0*(1-gstub)/(1+gstub)) ^-1  

 

% using Z Smith chart values as if reversed Y Smith chart

 

Smith_plotBarc(ax(4),Zbs,Z0,[1 0 1])            

 

% constant reactance arc plot line can also be called after defining Zbs

 

Zbs2=1j*imag(Zbs)

 

refl_Zstub=(Z0-Zbs2)/(Z0+Zbs2)

refl_Ystub=-refl_Zstub

 

plot(ax(4),real(refl_Ystub),imag(refl_Ystub),'ro')

 

Smith_plotRefLine2PhaseCircle(ax(4),Zbs2,Z0,[.2 .2 .8])

 

 

da=1/100;a_stub=[angle(refl_Ystub):da:pi];arc_stub2=da;

 

for k=1:1:numel(a_stub)

   gamma_stub=cos(a_stub)+1j*sin(a_stub);

   arc_stub2=arc_stub2+da;

   plot(ax(4),real(gamma_stub),imag(gamma_stub),'bo','LineWidth',1.5); 

end

arc_stub2=arc_stub2-da;

005.jpg

directly from the intersection points

 

Dstub2_lambda=abs(-pi-angle(stub))*.5/pi

Dstub2_angle_rad=abs(-pi-angle(stub))/2

Dstub2_angle_deg=abs(-pi-angle(stub))*90/pi

 

 

Dstub2_lambda=abs(-pi-angle(gstub))*.25/pi

 

electric length of OC stub

 Dstub2_angle_rad=abs(-pi-angle(gstub))/2 

Dstub2_angle_deg=abs(-pi-angle(gstub))*90/pi

 

% from the arc on Smith chart

 arc_stub2_lambda=.25/pi*arc_stub2

 

% same as

 

Dstub2_lambda=arc_stub2/(4*pi)

Dstub2_angle_deg=arc_stub2/2*360/(2*pi)

Dstub2_lambda =   0.321729589176140

Dstub2_angle_rad =   1.010743313798222

Dstub2_angle_deg =  57.911326051705117

 

 

Dstub2_lambda =   0.160864794588070

 

 

Dstub2_angle_rad =   1.010743313798222

Dstub2_angle_deg =  57.911326051705117

 

 

arc_stub2_lambda =   0.377992989843247

 

 

 

Dstub2_lambda =   0.377992989843247

Dstub2_angle_de  =     1.360774763435689e+02

Equations trimmed for all stub lengths:

 

Without Smith chart, [POZAR] solves this single open shunt stub match directly with the following equations

006.jpg

RL=real(ZL);XL=imag(ZL);Y0=1/Z0;

 

% when RL!=Z0

t1=(XL+((RL*((Z0-RL)^2+XL^2))/Z0)^.5)/(RL-Z0)

t2=(XL-((RL*((Z0-RL)^2+XL^2))/Z0)^.5)/(RL-Z0)

 

% when RL=Z0

D1_TL=1/(2*pi)*atan(t1);if atan(t1)<0 D1_TL=D1_TL+.5; end

D2_TL=1/(2*pi)*atan(t2);if atan(t2)<0 D2_TL=D2_TL+.5; end

 

B1=(RL^2*t1-(Z0-XL*t1)*(XL+Z0*t1))/(Z0*(RL^2+(XL+Z0*t1)^2))

B2=(RL^2*t2-(Z0-XL*t2)*(XL+Z0*t2))/(Z0*(RL^2+(XL+Z0*t2)^2))

 

Dstub1oc=1/(2*pi)*atan(-B1/Y0); if Dstub1<0 Dstub1=Dstub1+.5; end

Dstub2oc=1/(2*pi)*atan(-B2/Y0); if  Dstub1<0 Dstub2=Dstub2+.5; end

 

B1 and B2 are the reactances on the circle r=Z0. so stub input reactances 1j*Bs1 and 1j*Bs2 have to be the conjugates of 1j*B1 and 1j*B2

t1 =   7.071261637588793

t2 =  -0.671261637588793

 

 

D1_TL =   0.227640974365225

D2_TL =   0.405911259087935

 

B1 =   0.012904205458629

B2 =  -0.012904205458629

 

Dstub1oc =   0.377602825442526

Dstub2oc =   0.122397174557474

Frequency Response:

 

Checking frequency notch is correctly generated where expected. First gathering together all transmission line and stub lengths:

D_TL=[D1_TL_lambda D2_TL_lambda]

Dstub=[Dstub1_lambda Dstub2_lambda]

 

from the equations

 D_TL_eq=[D1_TL D2_TL]

Dstub_eq=[Dstub1oc Dstub2oc]

 

either combine

D_TL(1)

Dstub(1)

 

or

D_TL(2)

Dstub(2)

 

D=[D_TL D_TL_eq;Dstub Dstub_eq]

 

c0=2.998e8;

f0=2e9;

df=1e3;f1=1e9;f2=3e9;f=[f1:df:f2];

D_TL =   0.405924682355882   0.227671146092940

Dstub =   0.122549306180760   0.377992989843247

 

 

D_TL_eq =   0.227640974365225   0.405911259087935

Dstub_eq =   0.377602825442526   0.122397174557474

 

 

 =   0.405924682355882

 =   0.122549306180760

 

 

 =   0.227671146092940

 =   0.161542267238274

 

D =

  Columns 1 through 3

   0.405924682355882   0.227671146092940   0.227640974365225

   0.122549306180760   0.377992989843247   0.377602825442526

  Column 4

   0.405911259087935

   0.122397174557474

Then the physical lengths of all transmission lines and stubs are:

L=D*c0/f0

 

 

 

 

 

 

 

GL=real(YL);BL=imag(YL);

   

s11=zeros(size(D,2),numel(f)); 

ZinTL=zeros(size(D,2),numel(f));

Zin_stb_oc=zeros(size(D,2),numel(f));

Zin=zeros(size(D,2),numel(f));

 

% series transmission line input impedance

for k=1:1:size(L,2)

   ZinTL(k,:)=Z0*(ZL+1j*Z0*tan(2*pi*f/c0*L(1,k))) ...

./(Z0+1j*ZL*tan(2*pi*f/c0*L(1,k)));

end

 

% open circuit shunt stub input impedance

for k=1:1:size(D,2)

   Zin_stb_oc(k,:)=Z0./(1j*tan(2*pi*L(2,k)*f/c0));     

end

 

Zin=1./(ZinTL.^-1+Zin_stb_oc.^-1);

 

s11=(Zin-Z0)./(Zin+Z0);

s11_mod=abs(s11);

 

for k=1:1:size(s11_mod,1)

    figure(10);plot(f,s11_mod(k,:));hold all;

end

grid on

title('TL + OC shunt stub |s11|');xlabel('f [Hz]')

legend('arc1','arc2','eq1','eq2','Location','northwest')

 

L =

  Columns 1 through 3

   0.060848109885147   0.034127904799332   0.034123382057347

   0.024334472488865   0.050851890303933   0.056602663533835

  Column 4

   0.060846097737281

   0.018347336466165

012-1.jpg
012-2.jpg

 

Directly sweeping frequency f, is equivalent to sweeping relative frequency f/f0 same frequency plot is obtained with the following lines:

 

frel=linspace(.5,1.5,numel(f));

% series transmission line input impedance

for k=1:1:size(L,2)

   ZinTL(k,:)=Z0*(ZL+1j*Z0*tan(2*pi*frel*f0/c0*L(1,k)))./(Z0+1j*ZL*tan(2*pi*frel*f0/c0*L(1,k)));

end

% open circuit shunt stub input impedance

for k=1:1:size(D,2)

   Zin_stb_oc(k,:)=Z0./(1j*tan(2*pi*L(2,k)*frel*f0/c0));     

end

Zin=1./(ZinTL.^-1+Zin_stb_oc.^-1);

 s11=(Zin-Z0)./(Zin+Z0);

s11_mod=abs(s11);

 

for k=1:1:size(s11_mod,1)

    figure(11);plot(frel,s11_mod(k,:));hold all;

end

grid on

title('TL + OC shunt stub |s11|');xlabel('frel=f/f0')

legend('arc1','arc2','eq1','eq2','Location','northwest')

 

 

And same as sweeping the wavelength fraction D

 

Drel=linspace(.5,1.5,numel(f));

 

for k=1:1:size(L,2)

   ZinTL(k,:)=Z0*(ZL+1j*Z0*tan(2*pi*Drel*D(1,k)))./(Z0+1j*ZL*tan(2*pi*Drel*D(1,k)));

% series transmission line input impedance

end

 

for k=1:1:size(D,2)

   Zin_stb_oc(k,:)=Z0./(1j*tan(2*pi*Drel*D(2,k)));     

% open circuit shunt stub input impedance

end

 

Zin=1./(ZinTL.^-1+Zin_stb_oc.^-1);

 

s11=(Zin-Z0)./(Zin+Z0);

s11_mod=abs(s11);

 

for k=1:1:size(s11_mod,1)

    figure(12);plot(Drel,s11_mod(k,:));hold all;

end

grid on

title('TL + OC shunt stub |s11|');xlabel('Drel=[D/a a*D]')

legend('arc1','arc2','eq1','eq2','Location','northwest')

Complete overlap of frequency responses, between transmission lines and stub lengths obtained with the Smith chart and with the equations.

Error propagation: From Smith Chart reading error, to stub, Zin errors and frequency mismatch

% calculating stub lenght Dstub1

 

Z0=75; ZL=100+1j*80;sm1=smithchart; ax=gca; hold all;

gamma_ZL=(ZL-Z0)/(ZL+Z0);

plot(ax,real(gamma_ZL),imag(gamma_ZL),'o','Color',[1 0 0])

YL=1/ZL;gamma_YL=-gamma_ZL

gamma_YL_angle=angle(gamma_YL);

gamma_YL_mod=abs(gamma_YL)

if gamma_YL_angle<0

   gamma_YL_angle=2*pi+gamma_YL_angle; end

if gamma_YL_angle>(2*pi)

   gamma_YL_angle=gamma_YL_angle-2*pi; end

Smith_plotY(ax,YL,1/Z0)

 

Smith_plotRefLine2PhaseCircle(ax,YL,1/Z0,[.2 .6 .2])

[x_swr,y_swr]=Smith_plotGammaCircle(ax,ZL,Z0,[1 .6 .6])

 

[g1x,g1y]=pol2cart(gamma_YL_angle,gamma_YL_mod)

 

[xr1,yr1]=Smith_plotRcircle(ax,Z0,Z0,[0 0 1])

[xint,yint]=intersections(x_swr,y_swr,xr1,yr1); plot(ax,xint,yint,'go')

 

gb1=xint(1)+1j*yint(1);gb1_angle=angle(gb1);gb1_mod=abs(gb1)

if gb1_angle<0 gb1_angle=2*pi+gb1_angle; end

if gb1_angle>(2*pi) gb1_angle=gb1_angle-2*pi; end

 

yb_1=1/Z0*((1+gb1)/(1-gb1))^-1

1/yb_1       % check already on r=1

Smith_plotRefLine2PhaseCircle(ax,1/yb_1,Z0,[.2 .8 .2])

 

gstub=conj(gb1)   % where should OC stub Zin be

plot(ax,real(gstub),imag(gstub),'bo')

Ybs=(1/Z0*(1-gstub)/(1+gstub)) % ^-1;

 

Smith_plotRefLine2PhaseCircle(ax,1/Ybs,Z0,[.2 .2 .8])

Smith_plotBarc(ax,Zbs,Z0,[.8 .2 .8])

 

da=1/1000;a_stub=[angle(gstub):-da:-pi];arc_stub1=da;

 

for k=1:1:numel(a_stub)

   gamma_stub=.99*(cos(a_stub)+1j*sin(a_stub));

   arc_stub1=arc_stub1+da;

   plot(ax,real(gamma_stub),imag(gamma_stub),'bo','LineWidth',1.5); 

end

 

004 error.jpg

erroneous reading, do not follow the line. but the arc, to correctly read reactances on the Smith Chart.

directly from the intersection points

 

Dstub1_lambda_err=abs(-pi-angle(gstub))*.25/pi

Dstub1_angle_rad_err=abs(-pi-angle(gstub))/2   

 

 % electric length of OC stub

 

Dstub1_angle_deg_err=abs(-pi-angle(gstub))*90/pi

 

% from the arc on Smith chart

 

arc_stub1_lambda_err=.25/pi*arc_stub1

 % same as

Dstub1_lambda_err=arc_stub1/(4*pi)

 

Dstub1_angle_deg_err=arc_stub1/2*360/(2*pi)

 

 

While operating the equations, decision points keep showing up where signs have to be discerned.

 

Yet, reading the covered arc, from the intersection point to Y Smith chart Open Circuit -1+0*1j, it's simple and straight to get how long the stub has to be.

Dstub1_lambda_err =   0.339135205411930

Dstub1_angle_rad_err =   2.130849339791571

 

 

 

Dstub1_angle_deg_err =  1.220886739482949e+02

 

 

 

arc_stub1_lambda_err =   0.161542267238274

 

Dstub1_lambda_err =   0.161542267238274

 

Dstub1_angle_deg_err =  58.155216205778579

The error introduced by cutting OC shunt stubs a little bit shorter or longer is apparently a small angle error:

errD=Dstub-Dstub_err

 

errD_rad=errD*pi/.25

 

errD_deg=errD*pi/.25*180/pi

=  -0.038992961057514   0.038197186342054

 

=  -0.490000000000000   0.479999999999989

 

= -28.074931961410318  27.501974166278909

Yet when comparing frequency responses:

D_TL=[D1_TL_lambda D2_TL_lambda]

Dstub_err=[Dstub1_lambda_err Dstub2_lambda_err]

 

D=[D_TL D_TL_eq;Dstub_err Dstub_eq]

 

c0=2.998e8;

f0=2e9;

df=1e3;f1=1e9;f2=3e9;f=[f1:df:f2];

 

L=D*c0/f0

 

s11=zeros(size(D,2),numel(f)); 

 

ZinTL=zeros(size(D,2),numel(f));

Zin_stb_oc=zeros(size(D,2),numel(f));

Zin=zeros(size(D,2),numel(f));

 

 

for k=1:1:size(L,2)

   ZinTL(k,:)=Z0*(ZL+1j*Z0*tan(2*pi*f/c0*L(1,k)))

          ./(Z0+1j*ZL*tan(2*pi*f/c0*L(1,k)));

 

end

 

for k=1:1:size(D,2)

   Zin_stb_oc(k,:)=Z0./(1j*tan(2*pi*L(2,k)*f/c0));     

end

 

Zin=1./(ZinTL.^-1+Zin_stb_oc.^-1);

 

s11=(Zin-Z0)./(Zin+Z0);

s11_mod=abs(s11);

 

for k=1:1:size(s11_mod,1)

    hf(100)=figure(100);plot(f,s11_mod(k,:));hold all;

end

grid on

title('TL + error 2nd decimal OC shunt stub |s11|');

xlabel('f [Hz]')

legend('arc1','arc2','eq1','eq2','Location','northwest')

012 with error.jpg

Observation: On reading the wrong OC shunt stub input reactance on the Smith chart, despite both stubs being then a little bit too short, one OC stub pushes the deteriorated frequency notch to a slightly higher frequency , while the other, still being a bit shorter than it should be, it shifts the deteriorated frequency notch to a slightly lower frequency. So, for fine tuning, it's not always 'shorter' for higher frequencies or 'longer' for lower frequencies.

zip also available here: https://forum.allaboutcircuits.com/attachments/uw-eng_05_exercise_03-zip.159663/

 

Scribd: https://www.scribd.com/document/388829942/How-to-Solve-Microwave-Engineering-Pozar-05-Exercise-03-with-MATLAB

bottom of page