Escolar Documentos
Profissional Documentos
Cultura Documentos
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)
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.
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.
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)
>>
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)
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)
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
for SC stubs
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
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)
[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
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.
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:
optimtool
mupad
_________________________________________________________________________________________________________________________
John Bofarull Guix jgb2012@sky.com 8/8