Vous êtes sur la page 1sur 4

MICROWAVE ENGINEERING – POZAR – IMPEDANCE MATCHING CHAPTER 05 EXERCISE 07 13/09/2018 15:21:20.

5.7

Zin_TL=Z1*(ZL+1j*Z1*tan(beta*L))/(Z1+1j*ZL*tan(beta*L)
L=D*lambda
beta*L=2*pi*D
ZinTL=Z1*(ZL+1j*Z1*tan(2*pi*D))/(Z1+1j*ZL*tan(2*pi*D)

Z1 taking real positive values only.

pozar_05_exercise_07.m

For instance if Z1=50, then

Z0=40;ZL=200+1j*100
hf1=figure(1);sm1=smithchart;
ax1=hf1.CurrentAxes
hold(ax1,'on')

Z1=50;
gamma_L=(ZL-Z1)/(ZL+Z1);
p1_ax1=plot(ax1,real(gamma_L),imag(gamma_L),'bo','LineWidth',1.5);
[x_GC,y_GC]=Smith_plotGammaCircle(ax1,ZL,Z1,[1,0,0]);

gamma_TL=(Z0-Z1)/(Z0+Z1);
p3_ax1=plot(ax1,real(gamma_TL),imag(gamma_TL),'go','LineWidth',1.5);
legend([p1_ax1 p3_ax1],'ZLoad','Z1=50\Omega')

It's about bringing the Load (blue impedance) to the generator, green impedance.

So, for Z1=50

gamma_TL0=(Z0-Z1)/(Z0+Z1)
gamma_TL0 = -0.111111111111111
Let's increase Z1 to find out whether Z1 has to increase or degrease.

Now Z1=65

hf2=figure(2);sm2=smithchart;
ax2=hf2.CurrentAxes
hold(ax2,'on')

Z1=65;
gamma_L=(ZL-Z1)/(ZL+Z1);
p1_ax2=plot(ax2,real(gamma_L),imag(gamma_L),'bo','LineWidth',1.5);
[x_GC,y_GC]=Smith_plotGammaCircle(ax2,ZL,Z1,[1,0,0]);

gamma_TL=(Z0-Z1)/(Z0+Z1);
p3_ax2=plot(ax2,real(gamma_TL),imag(gamma_TL),'go','LineWidth',1.5);
legend([p1_ax2 p3_ax2],'ZLoad','Z1=65\Omega')

Increasing Z1, not decreasing, is the right way to proceed, because the SWR circle
radius decreases and brings both load and source closer on the Smith chart, despite
source (TL) also slightly departing towards short circuit along null reactance axis.

gamma_TL0=(Z0-Z1)/(Z0+Z1)
= -0.238095238095238

_________________________________________________________________________________________________________________________
John Bofarull Guix jgb2012@sky.com 1/ 4
MICROWAVE ENGINEERING – POZAR – IMPEDANCE MATCHING CHAPTER 05 EXERCISE 07 13/09/2018 15:21:20.

So, at 1 step, what value Z1 has to reach for the characteristic impedance of this transmission line section to meet the SWR circle of ZL?

legend('off')

P=[real(gamma_TL0) real(gamma_TL);imag(gamma_TL0) imag(gamma_TL)]

[xc,yc]=intersections(x_GC,y_GC,P(1,:),P(2,:))

legend('off')

while isempty(xc) && isempty(yc)


Z1=Z1+1
gamma_L=(ZL-Z1)/(ZL+Z1);
hold all;
plot(ax3,real(gamma_L),imag(gamma_L),'bo','LineWidth',1.5);
[x_GC,y_GC]=Smith_plotGammaCircle(ax,ZL,Z1);
gamma_TL=(Z0-Z1)/(Z0+Z1);
plot(real(gamma_TL),imag(gamma_TL),'go','LineWidth',1.5);
P=[real(gamma_TL0) real(gamma_TL); imag(gamma_TL0) imag(gamma_TL)]
[xc,yc]=intersections(x_GC,y_GC,P(1,:),P(2,:))
end

Z1 Z1 = 103

to get accuracy down to 2 decimals:

Z0=40;ZL=200+1j*100
sm1=smithchart;ax=gca;hold all;Z1=50;
gamma_L=(ZL-Z1)/(ZL+Z1);gamma_TL0=(Z0-Z1)/(Z0+Z1);
plot(real(gamma_L),imag(gamma_L),'bo','LineWidth',1.5);
[x_GC,y_GC]=Smith_plotGammaCircle(ax,ZL,Z1);
plot(real(gamma_TL0),imag(gamma_TL0),'go','LineWidth',1.5);
P=[real(gamma_TL0) real(gamma_TL); imag(gamma_TL0) imag(gamma_TL)]
[xc,yc]=intersections(x_GC,y_GC,P(1,:),P(2,:))
while isempty(xc) && isempty(yc)
Z1=Z1+.01
gamma_L=(ZL-Z1)/(ZL+Z1);
[x_GC,y_GC]=Smith_plotGammaCircle(ax,ZL,Z1);
gamma_TL=(Z0-Z1)/(Z0+Z1);

P=[real(gamma_TL0) real(gamma_TL); imag(gamma_TL0) imag(gamma_TL)]


[xc,yc]=intersections(x_GC,y_GC,P(1,:),P(2,:))
end

hold all;plot(real(gamma_L),imag(gamma_L),'bo','LineWidth',1.5);
plot(real(gamma_TL),imag(gamma_TL),'go','LineWidth',1.5);

Z1

Z1 = 1.024700000000169e+02

_________________________________________________________________________________________________________________________
John Bofarull Guix jgb2012@sky.com 2/ 4
MICROWAVE ENGINEERING – POZAR – IMPEDANCE MATCHING CHAPTER 05 EXERCISE 07 13/09/2018 15:21:20.

All that's left is to calculate how long does the Z1 TL has to run to get from load to source:

hf4=figure(4);sm4=smithchart;ax4=hf4.CurrentAxes;hold(ax4,'on');
gamma_L=(ZL-Z1)/(ZL+Z1);gamma_TL0=(Z0-Z1)/(Z0+Z1);
plot(ax4,real(gamma_L),imag(gamma_L),'bo','LineWidth',1.5);
[x_GC,y_GC]=Smith_plotGammaCircle(ax4,ZL,Z1,[1 0 0]);
plot(ax4,real(gamma_TL0),imag(gamma_TL0),'go','LineWidth',1.5);

a1=angle(gamma_L);a2=angle(gamma_TL0);da=.01;a12=0
m1=abs(gamma_L)
while a1<a2*.99 || a1>a2*1.01
a1=a1-da;
a12=a12+da; % load to generator CW
[re_gamma,im_gamma]=pol2cart(a1,m1)
plot(ax4,re_gamma,im_gamma,'bo','LineWidth',1.5)
if a1<0 a1=2*pi-abs(a1); end; % remove angle sign ambiguity
end

a12_degree=a12*180/pi % da1 in degree, angle on Smith chart a12_degree = 2.056918484519637e+02

D12_lambda= a12*.25/pi % TL length as fraction of wavelengths D12_lambda = 0.285683122849950

The solutions manual solves the real and imaginary parts equations directly, but the 2nd degree equation that is solved assumes Z1 real.

However, Z1 may take any complex value, provided it's within the passive components Smith chart circle r=1, a SWR circle eventually hits Z1 and then
a TL length can be calculated.

If real(ZL) still being larger than Z0 but gets closer to Z0, for instance:

Z0=40;
ZL=50+1j*100
Z1=50;
hf5=figure(5);sm5=smithchart;ax5=hf5.CurrentAxes;hold(ax5,'on');

gamma_L=(ZL-Z1)/(ZL+Z1);
gamma_TL0=(Z0-Z1)/(Z0+Z1);

plot(ax5,real(gamma_L),imag(gamma_L),'bo','LineWidth',1.5);
[x_GC,y_GC]=Smith_plotGammaCircle(ax5,ZL,Z1,[1,.5,.5]);
plot(ax5,real(gamma_TL0),imag(gamma_TL0),'go','LineWidth',1.5);

P=[real(gamma_TL0) real(gamma_TL); imag(gamma_TL0) imag(gamma_TL)];


[xc,yc]=intersections(x_GC,y_GC,P(1,:),P(2,:))

while isempty(xc) && isempty(yc)


Z1=Z1+.01;
gamma_L=(ZL-Z1)/(ZL+Z1);

[x_GC,y_GC]=Smith_plotGammaCircle(ax5,ZL,Z1,[1,.5,.5]);
gamma_TL=(Z0-Z1)/(Z0+Z1);

P=[real(gamma_TL0) real(gamma_TL); imag(gamma_TL0)


imag(gamma_TL)];
[xc,yc]=intersections(x_GC,y_GC,P(1,:),P(2,:));
end

plot(ax5,real(gamma_L),imag(gamma_L),'bo','LineWidth',1.5);
plot(ax5,real(gamma_TL),imag(gamma_TL),'go','LineWidth',1.5);

Z1
Z1 = 2.049399999999600e+02

_________________________________________________________________________________________________________________________
John Bofarull Guix jgb2012@sky.com 3/ 4
MICROWAVE ENGINEERING – POZAR – IMPEDANCE MATCHING CHAPTER 05 EXERCISE 07 13/09/2018 15:21:20.

hf6=figure(6);sm6=smithchart;ax6=hf6.CurrentAxes;hold(ax6,'on');
gamma_L=(ZL-Z1)/(ZL+Z1);gamma_TL0=(Z0-Z1)/(Z0+Z1);
plot(ax6,real(gamma_L),imag(gamma_L),'bo','LineWidth',1.5);
[x_GC,y_GC]=Smith_plotGammaCircle(ax6,ZL,Z1,[1 0 0]);
plot(ax6,real(gamma_TL0),imag(gamma_TL0),'go','LineWidth',1.5);

a1=angle(gamma_L);a2=angle(gamma_TL0);da=.01;a12=0
m1=abs(gamma_L)
while a1<a2*.99 || a1>a2*1.01
a1=a1-da;
a12=a12+da; % load to generator CW
[re_gamma,im_gamma]=pol2cart(a1,m1)
plot(ax6,re_gamma,im_gamma,'bo','LineWidth',1.5)
if a1<0 a1=2*pi-abs(a1); end; % remove angle sign ambiguity
end

a12_degree=a12*180/pi % da1 in degree a12_degree = 3.042405892144632e+02


D12_lambda= a12*.25/(pi) % D TL fraction of wavelengths
D12_lambda = 0.422556373908977

Z1 increases, may be to the point that for instance microstrip phyisical requirements may not be practical, like a too narrow circuit track.

If real(ZL)=Z0, the the transmission line electrical length is directly related to angle(ZL).

If real(ZL)>Z0 the previous loop doesn't find any value of Z1 that matches the load, so this approach may be useful with sections of transmission lines
that have characteristic impedance Z1 inside the SWR only.

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

Vous aimerez peut-être aussi