Você está na página 1de 8

MICROWAVE ENGINEERING – POZAR – IMPEDANCE MATCHING CHAPTER 05 EXERCISE 11 06/10/2018 03:00:39.

5.11

pozar_05_exercise_11.m

This exercise asks to obtain equations for OC and SC stub lengths in circuits shown above as functions of d transmission line length between stubs,
and ZL=RL+1j*XL.

 D_OCstub1(d,RL,XL)
 D_OCstub2(d,RL,XL)
 D_SCstub1(d,RL,XL)
 D_SCstub2(d,RL,XL)

Errors in the Solutions manual

1. Equaling Z2 directly to Z0, for double series stub circuit, is not correct. It would be correct if attempting to match load ZL with for instance
series single stub, X1, X1 being stub reactance next to load. Only then one can expect Zin of the transmission line to be directly Z0.

The input impedance of the transmission line Z2 has to have it's real part equal to Z0, but for the double series stub Z2 may still have
significant imaginary part, that in turn is compensated with the second stub with reactance X2.

Therefore the following expression in the solutions manual solves

does not include X2 ! it should be

2. Solving for RL, this is, obtaining RL(t) where t=tan(*L)=tan(2**D) should be the other way around: L(RL,XL, ..) L being stub lengths.

The following constraint

erroneously implies that there would be need for a really long transmission line for really small RL values, or that there would be need for really short
transmission line when attempting to match large RL values.

Since both stubs and the transmission lines are considered ideal, if a load can be matched with such circuit, there are multiple solutions that do not
necessarily have to be really short or really long. Just the correct values for the stubs to correct reactances, and all ideal transmission line lengths
satisfying a specific solution show periodic repetitions with period  [rad], 2 [rad] on the Smith chart.

_________________________________________________________________________________________________________________________
John Bofarull Guix jgb2012@sky.com 1/8
MICROWAVE ENGINEERING – POZAR – IMPEDANCE MATCHING CHAPTER 05 EXERCISE 11 06/10/2018 03:00:39.

Symbolic Equations
syms RL XL d1 d2 d3 Z0
Zin_OCstub1=Z0/(1j*tan(2*pi*d1)) Sol1 =
Zin_OCstub2=Z0/(1j*tan(2*pi*d2)) struct with fields:
RL+1j*XL+Zin_OCstub1
Z1=RL+1j*XL+Zin_OCstub1
Z2=Z0*(Z1+1j*Z0*tan(2*pi*d3))/(Z0+1j*Z1*tan(2*pi*d3)) d1: [1×1 sym]
Zin=Z2+Zin_OCstub2 d2: [1×1 sym]
Sol1=solve(Zin==Z0,[d1 d2 d3],'ReturnConditions',true) d3: [1×1 sym]
parameters: [1×3 sym]
conditions: [1×1 sym]
Sol1.d1
Sol1.d2
Sol1.d3
=z
= z1
Sol1.conditions = z2

=
in(2*z - atan((Z0*((tan(2*pi*z2)*(tan(2*pi*z1) + 1i))/tan(2*pi*z1) + 1i))/(RL +
XL*1i + Z0*tan(2*pi*z2)*1i - ((Z0 + tan(2*pi*z2)*(RL*1i - XL))*(tan(2*pi*z1) +
1i))/tan(2*pi*z1)))/pi, 'integer')
&
Z0 + tan(2*pi*z2)*(RL*1i - XL + Z0/tan(2*pi*z)) ~= 0
&
tan(2*pi*z1)*1i + tan(2*pi*z2)*(tan(2*pi*z1) + 1i) ~= 0

or

syms Z0 RL XL d1 d2 d3
sol1(1)=
ZL=RL+1j*XL atan(Z0/(XL - RL*1i + (Z0*(tan(2*pi*d3) + 1)*(Z0 + 2*Z0*tan(pi*d3) - Z0*tan(pi*d3)^2 -
Zin_OCstub=@(d,Z0) Z0/(1j*tan(2*pi*d))
Zin_SCstub=@(d,Z0) Z0*1j*tan(2*pi*d)
(2*Z0^2*tan(pi*d3)^2 + 4*Z0^2*tan(pi*d3)^3 + Z0^2*tan(pi*d3)^4 -
reZin_TL=@(d,Z1,Z0) Z0*(Z0*Z1*(1+tan(2*pi*d)))/…
4*Z0^2*tan(pi*d3) + Z0^2 - 2*Z0^2*imag(1/tan(pi*d2))^2*tan(pi*d3) -
(Z0^2+Z1^2*tan(2*pi*d)) 8*Z0^2*imag(1/tan(pi*d2))*tan(pi*d3)^3 + 2*Z0^2*tan(pi*d3)^3*imag(tan(pi*d2))^2 -
imZin_TL=@(d,Z1,Z0) Z0*(Z0^2-Z1^2)*tan(2*pi*d)/… 8*Z0^2*tan(pi*d3)*imag(tan(pi*d2)) + 2*Z0^2*imag(1/tan(pi*d2))^2*tan(pi*d3)^3 +
(Z0^2+Z1^2*tan(2*pi*d)) 8*Z0^2*imag(1/tan(pi*d2))*tan(pi*d3) - 2*Z0^2*tan(pi*d3)*imag(tan(pi*d2))^2 +
8*Z0^2*tan(pi*d3)^3*imag(tan(pi*d2)) -
Zin_OCstub1=Zin_OCstub(d1,Z0) 4*Z0^2*imag(1/tan(pi*d2))*tan(pi*d3)^3*imag(tan(pi*d2)) +
Zin_OCstub2=Zin_OCstub(d2,Z0) 4*Z0^2*imag(1/tan(pi*d2))*tan(pi*d3)*imag(tan(pi*d2)))^(1/2))*1i)/(2*(Z0*tan(2*pi*d3)
- Z0*imag(1/tan(2*pi*d2))*tan(2*pi*d3))*(2*tan(pi*d3) - tan(pi*d3)^2 + 1))))/(2*pi)
reZin_TL1=reZin_TL(d3,ZL+Zin_OCstub1,Z0)
imZin_TL1=imZin_TL(d3,ZL+Zin_OCstub1,Z0)
sol1(2)=
reZin=real(Zin_OCstub2)+real(reZin_TL1) atan(Z0/(XL - RL*1i + (Z0*(tan(2*pi*d3) + 1)*(Z0 + 2*Z0*tan(pi*d3) - Z0*tan(pi*d3)^2 +
imZin=imag(Zin_OCstub2)+imag(reZin_TL1) (2*Z0^2*tan(pi*d3)^2 + 4*Z0^2*tan(pi*d3)^3 + Z0^2*tan(pi*d3)^4 -
4*Z0^2*tan(pi*d3) + Z0^2 - 2*Z0^2*imag(1/tan(pi*d2))^2*tan(pi*d3) -
sol1=solve(reZin==Z0) 8*Z0^2*imag(1/tan(pi*d2))*tan(pi*d3)^3 + 2*Z0^2*tan(pi*d3)^3*imag(tan(pi*d2))^2 -
8*Z0^2*tan(pi*d3)*imag(tan(pi*d2)) + 2*Z0^2*imag(1/tan(pi*d2))^2*tan(pi*d3)^3 +
sol1(1)
sol1(2)
8*Z0^2*imag(1/tan(pi*d2))*tan(pi*d3) - 2*Z0^2*tan(pi*d3)*imag(tan(pi*d2))^2 +
8*Z0^2*tan(pi*d3)^3*imag(tan(pi*d2)) -
4*Z0^2*imag(1/tan(pi*d2))*tan(pi*d3)^3*imag(tan(pi*d2)) +
4*Z0^2*imag(1/tan(pi*d2))*tan(pi*d3)*imag(tan(pi*d2)))^(1/2))*1i)/(2*(Z0*tan(2*pi*d3)
- Z0*imag(1/tan(2*pi*d2))*tan(2*pi*d3))*(2*tan(pi*d3) - tan(pi*d3)^2 + 1))))/(2*pi)
>>

Warning: The solutions are valid under the following conditions:

in(Z0, 'real')

&

(tan(d3*pi)^2 == 2*tan(d3*pi) + 1

imag(1/tan(2*d2*pi)) == 1

Z0 == 0

4*(Z0*tan(2*d3*pi) - Z0*imag(1/tan(2*d2*pi))*tan(2*d3*pi))^2*(2*tan(d3*pi) -
tan(d3*pi)^2 + 1)^2 + tan(2*d3*pi)*(tan(2*d3*pi) + 1)^2*(Z0 + 2*Z0*tan(d3*pi) -
Z0*tan(d3*pi)^2 - (2*Z0^2*tan(d3*pi)^2 + 4*Z0^2*tan(d3*pi)^3 + Z0^2*tan(d3*pi)^4
- 4*Z0^2*tan(d3*pi) + Z0^2 - 2*Z0^2*imag(1/tan(d2*pi))^2*tan(d3*pi) -
8*Z0^2*imag(1/tan(d2*pi))*tan(d3*pi)^3 + 2*Z0^2*tan(d3*pi)^3*imag(tan(d2*pi))^2 -
8*Z0^2*tan(d3*pi)*imag(tan(d2*pi)) + 2*Z0^2*imag(1/tan(d2*pi))^2*tan(d3*pi)^3 +
8*Z0^2*imag(1/tan(d2*pi))*tan(d3*pi) - 2*Z0^2*tan(d3*pi)*imag(tan(d2*pi))^2 +
_________________________________________________________________________________________________________________________
John Bofarull Guix jgb2012@sky.com 2/8
MICROWAVE ENGINEERING – POZAR – IMPEDANCE MATCHING CHAPTER 05 EXERCISE 11 06/10/2018 03:00:39.

8*Z0^2*tan(d3*pi)^3*imag(tan(d2*pi)) -
4*Z0^2*imag(1/tan(d2*pi))*tan(d3*pi)^3*imag(tan(d2*pi)) +
4*Z0^2*imag(1/tan(d2*pi))*tan(d3*pi)*imag(tan(d2*pi)))^(1/2))^2 ~= 0

tan(2*d3*pi) == 0);
in(Z0, 'real') & (4*(Z0*tan(2*d3*pi) -
Z0*imag(1/tan(2*d2*pi))*tan(2*d3*pi))^2*(2*tan(d3*pi) - tan(d3*pi)^2 + 1)^2 +
tan(2*d3*pi)*(tan(2*d3*pi) + 1)^2*(Z0 + 2*Z0*tan(d3*pi) - Z0*tan(d3*pi)^2 +
(2*Z0^2*tan(d3*pi)^2 + 4*Z0^2*tan(d3*pi)^3 + Z0^2*tan(d3*pi)^4 -
4*Z0^2*tan(d3*pi) + Z0^2 - 2*Z0^2*imag(1/tan(d2*pi))^2*tan(d3*pi) -
8*Z0^2*imag(1/tan(d2*pi))*tan(d3*pi)^3 + 2*Z0^2*tan(d3*pi)^3*imag(tan(d2*pi))^2 -
8*Z0^2*tan(d3*pi)*imag(tan(d2*pi)) + 2*Z0^2*imag(1/tan(d2*pi))^2*tan(d3*pi)^3 +
8*Z0^2*imag(1/tan(d2*pi))*tan(d3*pi) - 2*Z0^2*tan(d3*pi)*imag(tan(d2*pi))^2 +
8*Z0^2*tan(d3*pi)^3*imag(tan(d2*pi)) -
4*Z0^2*imag(1/tan(d2*pi))*tan(d3*pi)^3*imag(tan(d2*pi)) +
4*Z0^2*imag(1/tan(d2*pi))*tan(d3*pi)*imag(tan(d2*pi)))^(1/2))^2 ~= 0

tan(d3*pi)^2 == 2*tan(d3*pi) + 1

imag(1/tan(2*d2*pi)) == 1 | Z0 == 0

tan(2*d3*pi) == 0)

Including conditions in the solutions

sol1=solve(reZin==Z0,'ReturnConditions',true)

sol1(1)
=
atan(Z0/(XL - RL*1i + (Z0*(tan(2*pi*d3) + 1)*(Z0 + 2*Z0*tan(pi*d3) - Z0*tan(pi*d3)^2 - (2*Z0^2*tan(pi*d3)^2 + 4*Z0^2*tan(pi*d3)^3 +
Z0^2*tan(pi*d3)^4 - 4*Z0^2*tan(pi*d3) + Z0^2 - 2*Z0^2*imag(1/tan(pi*d2))^2*tan(pi*d3) - 8*Z0^2*imag(1/tan(pi*d2))*tan(pi*d3)^3 +
2*Z0^2*tan(pi*d3)^3*imag(tan(pi*d2))^2 - 8*Z0^2*tan(pi*d3)*imag(tan(pi*d2)) + 2*Z0^2*imag(1/tan(pi*d2))^2*tan(pi*d3)^3 +
8*Z0^2*imag(1/tan(pi*d2))*tan(pi*d3) - 2*Z0^2*tan(pi*d3)*imag(tan(pi*d2))^2 + 8*Z0^2*tan(pi*d3)^3*imag(tan(pi*d2)) -
4*Z0^2*imag(1/tan(pi*d2))*tan(pi*d3)^3*imag(tan(pi*d2)) +
4*Z0^2*imag(1/tan(pi*d2))*tan(pi*d3)*imag(tan(pi*d2)))^(1/2))*1i)/(2*(Z0*tan(2*pi*d3) - Z0*imag(1/tan(2*pi*d2))*tan(2*pi*d3))*(2*tan(pi*d3) -
tan(pi*d3)^2 + 1))))/(2*pi)

sol1(2)
=
atan(Z0/(XL - RL*1i + (Z0*(tan(2*pi*d3) + 1)*(Z0 + 2*Z0*tan(pi*d3) - Z0*tan(pi*d3)^2 + (2*Z0^2*tan(pi*d3)^2 + 4*Z0^2*tan(pi*d3)^3 +
Z0^2*tan(pi*d3)^4 - 4*Z0^2*tan(pi*d3) + Z0^2 - 2*Z0^2*imag(1/tan(pi*d2))^2*tan(pi*d3) - 8*Z0^2*imag(1/tan(pi*d2))*tan(pi*d3)^3 +
2*Z0^2*tan(pi*d3)^3*imag(tan(pi*d2))^2 - 8*Z0^2*tan(pi*d3)*imag(tan(pi*d2)) + 2*Z0^2*imag(1/tan(pi*d2))^2*tan(pi*d3)^3 +
8*Z0^2*imag(1/tan(pi*d2))*tan(pi*d3) - 2*Z0^2*tan(pi*d3)*imag(tan(pi*d2))^2 + 8*Z0^2*tan(pi*d3)^3*imag(tan(pi*d2)) -
4*Z0^2*imag(1/tan(pi*d2))*tan(pi*d3)^3*imag(tan(pi*d2)) +
4*Z0^2*imag(1/tan(pi*d2))*tan(pi*d3)*imag(tan(pi*d2)))^(1/2))*1i)/(2*(Z0*tan(2*pi*d3) - Z0*imag(1/tan(2*pi*d2))*tan(2*pi*d3))*(2*tan(pi*d3) -
tan(pi*d3)^2 + 1))))/(2*pi)

As expected, it includes Z0 and all stub lengths d1 d2 d3 as parameters of the solution.

What is the result when considering the erroneous equation of the solutions manual that ignores X2:

syms RL XL t X1 X2 Z0
eq1=RL+1j*(XL+X1+Z0*t)==Z0+1j*t*(RL+1j*XL+1j*X1)
sol1=solve(eq1,RL) =
Z0 - XL*1i - X1*1i

As expected, for a single stub RL=Z0 and XL=X1=-ZL would be a valid solution.

When including X2

syms RL XL t X1 X2 Z0
eq1=RL+1j*(XL+X1+Z0*t)==Z0+1j*t*(RL+1j*XL+1j*X1)-1j*X2
sol1=solve(eq1,RL) sol1 =
(X1*1i + X2*1i + XL*1i - Z0 + Z0*t*1i - t*(X1*1i + XL*1i)*1i)/(- 1 + t*1i)

_________________________________________________________________________________________________________________________
John Bofarull Guix jgb2012@sky.com 3/8
MICROWAVE ENGINEERING – POZAR – IMPEDANCE MATCHING CHAPTER 05 EXERCISE 11 06/10/2018 03:00:39.

But the equations that really matter are not RL(..) or XL(..) but d1(RL,XL,Z0) d2(RL,XL,Z0) and d3(RL,XL,Z0)

syms RL XL t X1 X2 Z0
eq1=RL+1j*(XL+X1+Z0*t)==Z0+1j*t*(RL+1j*XL+1j*X1)-1j*X2
X_stub1=solve(eq1,X1) X_stub1=
-(RL + X2*1i + XL*1i - Z0 + Z0*t*1i - t*(RL + XL*1i)*1i)/(t + 1i)
X_stub2=solve(eq1,X2) X_stub2 =
RL*1i - X1 - XL - Z0*1i - Z0*t + t*(RL + X1*1i + XL*1i)
t_TL=solve(eq1,t) t_TL =
-(RL + X1*1i + X2*1i + XL*1i - Z0)/(X1 - RL*1i + XL + Z0*1i)

And the equations linking reactance and tangent t=tan(2*pi*D3) to stub lengths are

inverting for OC stubs


Zin_OCstub=@(d,Z0) Z0/(1j*tan(2*pi*d)) D_stubOC=1/(2*pi)*atan(-Z0/X)

for SC stubs

Zin_SCstub=@(d,Z0) Z0*1j*tan(2*pi*d) D_stubSC=1/(2*pi)*atan(X/Z0)

Numeric Equations

c0=2.998e8
f0=2e9;df=1e8;f1=1e9;f2=3e9;dfrel=df/f0;
frel=[f1/f0:dfrel:f2/f0];

Z0=50;ZL=40+1j*120

D=[.0512 .0988;.0512 .3748] % choosing stub lengths start values, any


D3=1/8 % transmission line length start value
D=[D ;[D3 D3]]
L=D*c0/f0 % L contains all physical lengths.

Zin_stub1=Z0./(1j*tan(2*pi*frel*f0/c0*L(1,1))) Zin_stub1=Z0*1j*tan(2*pi*frel*f0/c0*L(1,1))
Zin2=Zin_stub1+ZL; Zin2=Zin_stub1+ZL;
Zin3=Z0*(Zin2+1j*Z0*tan(2*pi*frel*f0/c0*L3))./… Zin3=Z0*(Zin2+1j*Z0*tan(2*pi*frel*f0/c0*L3))./…
(Z0+1j*Zin2.*tan(2*pi*frel*f0/c0*L3)); (Z0+1j*Zin2.*tan(2*pi*frel*f0/c0*L3)) ;
Zin_stub2=Z0./(1j*tan(2*pi*frel*f0/c0*L(2,1))); Zin_stub2=Z0*1j*tan(2*pi*frel*f0/c0*L(2,1));
Zin4=Zin_stub2+Zin3; Zin4=Zin_stub2+Zin3;
s11_2Ocseries_stubs=(Zin4-Z0)./(Zin4+Z0) s11_2Scseries_stubs=(Zin4-Z0)./(Zin4+Z0)
abs_s11_2OCseries_stubs=abs(s11_2OCseries_stubs) abs_s11_2SCseries_stubs=abs(s11_2SCseries_stubs)
hf1=figure(1);ax1=gca hf2=figure(2);ax2=gca
plot(ax1,frel,abs_s11_2OCseries_stubs);grid on;hold(ax1,'on') plot(ax2,frel,abs_s11_2SCseries_stubs);grid on;hold(ax2,'on')
title('2 OC series stubs');xlabel('f/f0') title('2 SC series stubs');xlabel('f/f0')

_________________________________________________________________________________________________________________________
John Bofarull Guix jgb2012@sky.com 4/8
MICROWAVE ENGINEERING – POZAR – IMPEDANCE MATCHING CHAPTER 05 EXERCISE 11 06/10/2018 03:00:39.

As expected, there's no match for the initial values, because the start lengths are the solutions for shunt stubs from previous exercise 5.10.

Although for higher dimensions it's not possible or even practical to visualise, in this particular case it's still possible to see that when including D3 as
parameter, the amount of possible solutions increases substantially. Extending |s11| surface to volume with axes D1 D2 D3

dd=.1;D3=1/8;d1_range=linspace(dd,.5,numel(frel));d2_range=d1_range;d3_range=d2_range;

simplifying the ranges of d1 d2 d3 frel all same matrix size. meshgrid cannot go beyond 3 dimensions, ndgrid is the extended function

[D1,D2,D3,Frel]=ndgrid(d1_range,d2_range,d3_range,frel);
L1=D1*c0/f0;L2=D2*c0/f0;L3=D3*c0/f0; % phyiscal lengths

Zin_stub1=Z0./(1j.*tan(2*pi*Frel.*f0/c0.*L1)); Zin_stub1=Z0.*1j.*tan(2*pi*Frel.*f0/c0.*L1);
Zin2=Zin_stub1+ZL; Zin2=Zin_stub1+ZL;
Zin3=Z0*(Zin2+1j*Z0*tan(2*pi*Frel.*f0/c0.*L3))./… Zin3=Z0*(Zin2+1j*Z0*tan(2*pi*Frel.*f0/c0.*L3))./…
(Z0+1j*Zin2.*tan(2*pi*Frel.*f0/c0.*L3)); (Z0+1j*Zin2.*tan(2*pi*Frel.*f0/c0.*L3));
Zin_stub2=Z0./(1j*tan(2*pi.*Frel*f0/c0.*L2)); Zin_stub2=Z0*1j*tan(2*pi.*Frel*f0/c0.*L2);
Zin4=Zin_stub2+Zin3; Zin4=Zin_stub2+Zin3;
s11_2OCseries_stubs=(Zin4-Z0)./(Zin4+Z0); s11_2SCseries_stubs=(Zin4-Z0)./(Zin4+Z0);
abs_s11_2OCseries_stubs=abs(s11_2OCseries_stubs); abs_s11_2SCseries_stubs=abs(s11_2SCseries_stubs);

min_abs_s11_2OCseries_stubs=… min_abs_s11_2SCseries_stubs=…
min(min(min(min(abs_s11_2OCseries_stubs)))) min(min(min(min(abs_s11_2SCseries_stubs))))

n0=find(abs_s11_2OCseries_stubs==… n0=find(abs_s11_2SCseries_stubs==…
min_abs_s11_2OCseries_stubs) min_abs_s11_2SCseries_stubs)

abs_s11_2OCseries_stubs(n0) % check abs_s11_2SCseries_stubs(n0) % check

[n01,n02,n03,n04]=ind2sub(size(abs_s11_2OCseries_stubs),n0) [n01,n02,n03,n04]=ind2sub(size(abs_s11_2SCseries_stubs),n0)

D1(n01,n02,n03,n04) D1(n01,n02,n03,n04)
D2(n01,n02,n03,n04) D2(n01,n02,n03,n04)
D3(n01,n02,n03,n04) D3(n01,n02,n03,n04)
Frel(n01,n02,n03,n04) Frel(n01,n02,n03,n04)
D1(n01,n02,n03,n04) = 0.100000000000000 D1(n01,n02,n03,n04) = 0.420000000000000
D2(n01,n02,n03,n04) = 0.400000000000000 D2(n01,n02,n03,n04) = 0.140000000000000
D3(n01,n02,n03,n04) = 0.200000000000000 D3(n01,n02,n03,n04) = 0.260000000000000
Frel(n01,n02,n03,n04) = 0.950000000000000 Frel(n01,n02,n03,n04) = 0.800000000000000

Verifying with frequency response Verify with frequency response

d1=D1(n01,n02,n03,n04);l1=d1*c0/f0; d1=D1(n01,n02,n03,n04);l1=d1*c0/f0;
d2=D2(n01,n02,n03,n04);l2=d2*c0/f0; d2=D2(n01,n02,n03,n04);l2=d2*c0/f0;
d3=D3(n01,n02,n03,n04);l3=d3*c0/f0; d3=D3(n01,n02,n03,n04);l3=d3*c0/f0;

don't use same coarse frange that prevents excessing processing load don't use same coarse frange that prevents excessive processing load with
with large 4D, or the caought |s11| doesn't show large 4D, or the caought |s11| doesn't show

df=1e6;f1=1e9;f2=3e9;dfrel=df/f0;frel=[f1/f0:dfrel:f2/f0]; Zin_stub1=Z0*1j*tan(2*pi*frel*f0/c0*l1);
Zin_stub1=Z0./(1j*tan(2*pi*frel*f0/c0*l1)); Zin2=Zin_stub1+ZL;
Zin2=Zin_stub1+ZL; Zin3=Z0*(Zin2+1j*Z0*tan(2*pi*frel*f0/c0*l3))./…
Zin3=Z0*(Zin2+1j*Z0*tan(2*pi*frel*f0/c0*l3))./… (Z0+1j*Zin2.*tan(2*pi*frel*f0/c0*l3));
(Z0+1j*Zin2.*tan(2*pi*frel*f0/c0*l3)); Zin_stub2=Z0*1j*tan(2*pi*frel*f0/c0*l2);
Zin_stub2=Z0./(1j*tan(2*pi*frel*f0/c0*l2)); Zin4=Zin_stub2+Zin3;
Zin4=Zin_stub2+Zin3; s11_2SCseries_stubs=(Zin4-Z0)./(Zin4+Z0);
s11_2OCseries_stubs=(Zin4-Z0)./(Zin4+Z0); abs_s11_2SCseries_stubs=abs(s11_2SCseries_stubs);
abs_s11_2OCseries_stubs=abs(s11_2OCseries_stubs);
hf4=figure(4);ax4=gca
plot(ax1,frel,abs_s11_2OCseries_stubs);grid on plot(ax4,frel,abs_s11_2SCseries_stubs)

hf3=figure(3);ax3=gca;
plot(ax3,frel,abs_s11_2OCseries_stubs);grid on

_________________________________________________________________________________________________________________________
John Bofarull Guix jgb2012@sky.com 5/8
MICROWAVE ENGINEERING – POZAR – IMPEDANCE MATCHING CHAPTER 05 EXERCISE 11 06/10/2018 03:00:39.

The respective frequency nulls found above are not centered, neither OS nor SC, so where are all |s11| nulls when considering all stub lengths as
parameters d1 d2 d3 ?

Static slice for transmission line D3=1/8, all d ranges [0 1] (exercise 5.9)

dd=.01;
d1=[0:dd:1];
d2=[0:dd:1];
d3=[0:dd:1];
[D1,D2,D3]=meshgrid(d1,d2,d3);
abs_s11_2SCseries_stubs=zeros(numel(d1),numel(d2),numel(d3));

Zin_stub1=Z0./(1j*tan(2*pi*D2));
Zin2=Zin_stub1+ZL;
Zin3=Z0*(Zin2+1j*Z0*tan(2*pi*D3))./(Z0+1j*Zin2.*tan(2*pi*D3));
Zin_stub2=Z0./(1j*tan(2*pi*D1));
Zin4=Zin_stub2+Zin3;
s11_2OCseries_stubs=(Zin4-Z0)./(Zin4+Z0);
abs_s11_2OCseries_stubs=abs(s11_2OCseries_stubs);

d1_slice=0
d2_slice=0
d3_slice=[1/8]

figure;
ax6=gca
hs2=slice(d1,d2,d3,abs_s11_2OCseries_stubs,d1_slice,d2_slice,d3_slice)
hs2(1).EdgeColor='none';
hs2(2).EdgeColor='none';
hs2(3).EdgeColor='none';
colormap parula
xlabel('D1');ylabel('D2');zlabel('D3')
ax6.PlotBoxAspectRatio=[1 1 1]

Sweeping a slice through |s11| volume, D1 D2 D3, now all d ranges [0 .5], .5x.5x.5 volume.

d1=[0:dd:.5];
d2=[0:dd:.5];
d3=[0:dd:.5];
[D1,D2,D3]=meshgrid(d1,d2,d3);
abs_s11_2SCseries_stubs=zeros(numel(d1),numel(d2),numel(d3));

Zin_stub1=Z0*1j*tan(2*pi*D1);
Zin2=Zin_stub1+ZL;
Zin3=Z0*(Zin2+1j*Z0*tan(2*pi*D3))./(Z0+1j*Zin2.*tan(2*pi*D3));
Zin_stub2=Z0*1j*tan(2*pi*D2);
Zin4=Zin_stub2+Zin3;
s11_2SCseries_stubs=(Zin4-Z0)./(Zin4+Z0);
abs_s11_2SCseries_stubs=abs(s11_2SCseries_stubs);

hf5=figure(5);ax5=gca
for k=0:dd/10:.5 %numel(d1)
hsp=surf(ax5,linspace(0,.5,numel(d1)),...
linspace(0,.5,numel(d1)),zeros(numel(d1))+k);
hsp.EdgeColor='none'
rotate(hsp,[1,-1,1],0)
xd=hsp.XData;
yd=hsp.YData;
zd=hsp.ZData;
delete(hsp)
hs0=slice(ax5,D1,D2,D3,abs_s11_2SCseries_stubs,.5,.5,0)
hs0(3).EdgeColor='none'
hold on
hs1=slice(ax5,D1,D2,D3,abs_s11_2SCseries_stubs,xd,yd,zd)
hs1.EdgeColor='none'
hold off
axis([-.1 .6 -.1 .6 -.1 .6])
drawnow
end
colormap parula

_________________________________________________________________________________________________________________________
John Bofarull Guix jgb2012@sky.com 6/8
MICROWAVE ENGINEERING – POZAR – IMPEDANCE MATCHING CHAPTER 05 EXERCISE 11 06/10/2018 03:00:39.

Static slice of |s11| volume for SC stubs at D3=3/8 (exercise 5.10)

dd=.01;
d1=[0:dd:1];
d2=[0:dd:1];
d3=[0:dd:1];
[D1,D2,D3]=meshgrid(d1,d2,d3);
abs_s11_2SCseries_stubs=zeros(numel(d1),numel(d2),numel(d3));

Zin_stub1=Z0*1j*tan(2*pi*D1);
Zin2=Zin_stub1+ZL;
Zin3=Z0*(Zin2+1j*Z0*tan(2*pi*D3))./(Z0+1j*Zin2.*tan(2*pi*D3));
Zin_stub2=Z0*1j*tan(2*pi*D2);
Zin4=Zin_stub2+Zin3;
s11_2SCseries_stubs=(Zin4-Z0)./(Zin4+Z0);
abs_s11_2SCseries_stubs=abs(s11_2SCseries_stubs);

d1_slice=1
d2_slice=1
d4_slice=[3/8]

hf7=figure(7);ax7=gca

hs3=slice(ax7,d1,d2,d3,abs_s11_2SCseries_stubs,d1_slice,d2_slice,d4_slice)
hs3(1).EdgeColor='none';hs3(1).FaceAlpha=.4
hs3(2).EdgeColor='none';hs3(2).FaceAlpha=.4
hs3(3).EdgeColor='none';hs3(3).FaceAlpha=1

colormap parula
xlabel('D1');ylabel('D2');zlabel('D3')
ax7.PlotBoxAspectRatio=[1 1 1]

_________________________________________________________________________________________________________________________
John Bofarull Guix jgb2012@sky.com 7/8
MICROWAVE ENGINEERING – POZAR – IMPEDANCE MATCHING CHAPTER 05 EXERCISE 11 06/10/2018 03:00:39.

Due to time budget contraints the following 2 points are left open:

Pending 1: Use Optimtool to solve 5.11

optimtool

Pending 2: Use MuPAD to solve 5.11

mupad

_________________________________________________________________________________________________________________________
John Bofarull Guix jgb2012@sky.com 8/8

Você também pode gostar