exercise 5.25
ZIP with MATLAB scripts and note:
exercise 5.25 notes:
R=80;L=5e-9;Z0=50; % R L series load
f0=2e9
ZL_f0=R+1j*L*2*pi*f0
sm1=smithchart;hold all;
gamma_L=(ZL_f0-Z0)/(ZL_f0+Z0);
figure(1);plot(real(gamma_L),imag(gamma_L),'ro','LineWidth',1.5);
if imag(ZL)<0
sign1='-';
else
sign1='+';
end
str1=['ZL =' num2str(real(ZL)) sign1 'j' num2str(abs(imag(ZL))) ' \rightarrow'];
text(real(gamma_L),imag(gamma_L)+.01,str1,...
'Color','blue',...
'FontSize',20,...
'HorizontalAlignment','right',...
'VerticalAlignment','middle');
As shown in example 5.1 given the location of ZL(f0) on the Smith chart, these are the possible 2-element L-shape matching networks:
Calculating matching network component values
RL=real(ZL);XL=imag(ZL);
if abs(real(ZL/Z0))>=1 % ZL inside 1+jx
disp(' ZL inside 1+jx');
B1=1/(RL^2+XL^2)*(XL+(RL/Z0)^.5*...
(RL^2+XL^2-Z0*RL)^.5)
B2=1/(RL^2+XL^2)*(XL-(RL/Z0)^.5*...
(RL^2+XL^2-Z0*RL)^.5)
X1=1/B1+XL*Z0/RL-Z0/(B1*RL);
X2=1/B2+XL*Z0/RL-Z0/(B2*RL)
elseif abs(real(ZL/Z0))<=1% ZL outside 1+jx
disp(' ZL outside 1+jx');
X1=(RL*(Z0-RL))^.5-XL;
X2=-(RL*(Z0-RL))^.5-XL
B1=1/Z0*((Z0-RL)/RL)^.5;
B2=-1/Z0*((Z0-RL)/RL)^.5
end
[C1 ctype]=B2LC(B1,f0) % 1st solution
[L1 ltype]=X2LC(X1,f0)
[L2 ctype]=B2LC(B2,f0) % 2nd solution
[C2 ltype]=X2LC(X2,f0)
ZL inside 1+jx
B1 = 0.015811176023539
B2 = -0.003667222815436
X2 = -62.987309041364369
C1 = 1.258213410121157e-12
ctype = 'C [Farad]'
L1 = 5.012370792994983e-09
ltype = 'L [Henry]'
L2 = 2.169965544798663e-08
ctype = 'L [Henry]'
C2 = 1.263388970843133e-12
ltype = 'C [Farad]'
Frequency response and fractional bandwidth for both solutions
df=1e5;f=[1e9:df:3e9];
ZL=R+1j*L*2*pi*f
Z11=1./(1j*2*pi*f*C1+1./ZL)
Zin1=1j*L1*2*pi*f+Z11
gamma_sol1=(Zin1-Z0)./(Zin1+Z0)
Z12=1./(1./(1j*L2*2*pi*f)+1./ZL)
Zin2=1./(1j*C2*2*pi*f)+Z1
gamma_sol2=(Zin2-Z0)./(Zin2+Z0)
plot(f,abs(gamma_sol1),f,abs(gamma_sol2));
grid on;title('|s11|')
g1_mod=abs(gamma_sol1);g2_mod=abs(gamma_sol2);
n1=find(g1_mod<.1)
n2=find(g2_mod<.1)
xlabel('f[Hz]')
% fractional BW for both solutions
df_ov_BW1=numel(n1)/numel(f)
df_ov_BW2=numel(n2)/numel(f)
df_ov_BW1 = 0.188090595470227
df_ov_BW2 = 0.194140292985351
% markers on pass band limits for both solutions
f1_sol1=f(min(n1))
f2_sol1=f(max(n1))
f1_sol2=f(min(n2))
f2_sol2=f(max(n2))
pnt2val_vert=...
abs(abs_gamma_sol1(end)-abs_gamma_sol1)/numel(abs_gamma_sol1)
% marker size in points: 1 point=1/72 in pnt2in=1/72
MkSize_pnts=10
ax_window=axis
in2val=(ax_window(4)-ax_window(3))/ax2.Position(4)
MkSize_val=MkSize_pnts*pnt2in*in2val
corr1_px=3
ax2.Units='pixels'
ax2.Position(4)
px2val=(ax_window(4)-ax_window(3))/ax2.Position(4)
% this correction is only valid for zoom factor=1
corr1_val=corr1_px*px2val
hold all;
ph1=plot([f1_sol1 f2_sol1],...
gamma_m*[1 1]+MkSize_val/2+corr1_val,'vb',...
'MarkerSize',MkSize_pnts,...
'MarkerEdgeColor','b',...
'MarkerFaceColor','b')
ph2=plot([f1_sol2 f2_sol2],...
gamma_m*[1 1]+MkSize_val/2+corr1_val,'vr',...
'Markersize',MkSize_pnts,...
'MarkerEdgeColor','r',...
'MarkerFaceColor','r')
str1=['solution 1: C1= ' num2str(C1) ' L1= ' num2str(L1)];
str2=['solution 2: C2= ' num2str(C2) ' L2= ' num2str(L2)];
legend(str1,str2);
Checking Bode-Fano criterion
The previous way to find fractional bandwidths
n1=find(g1_mod<.1)
df_ov_BW1=numel(n1)/numel(f)
is the same as
df1_0v_f0_sol1=(f2_sol1-f1_sol1)/f0
df1_0v_f0_sol2=(f2_sol2-f1_sol2)/f0
dw1=2*pi*(f2_sol1-f1_sol1)
dw2=2*pi*(f2_sol2-f1_sol2)
true(dw1*log(1/gamma_m)=<pi*R/L)
true(dw2*log(1/gamma_m)=<pi*R/L)
df1_0v_f0_sol1 = 0.188050000000000
df1_0v_f0_sol2 = 0.194100000000000
dw1 = 2.363105994030242e+09
dw2 = 2.439132536247116e+09
=
logical
1
=
logical
1
There's no need for the accurate integrals because if the area of the rectangle (f2_sol1-f1_sol1)*ln(1/gamma_m) has a smaller value than 1/dw*pi*R/L then the accurate integral also meets the Bode-Fano criterion.
Errors in solutions manual
1.- dw, same as Dw is not supposed to be calculated from pi*R/L . The Dw=2.18e10 has no relation whatsoever with dw=f2-f1 where f2 and f1 are the limits used to calculated the fractional bandwith. A threshold is chosen, that defines f1 f2, that together with gamma_m build the left side of the Bode-Fano equations. The calculation
is not meaningful
2.- the fractional bandwidth is not 174%
but the values already obtained above, 2 different calculations have been shown that reach 18.8% and 19.4% fractional bandwidths for solutions 1 and 2 respectively.
Again, f1 f2 come from the gamma_m threshold that has to be defined in advance before considering any fractional bandwidth calculation. We'd better not move before we know where we intend to go, without gamma_m there's no way to define a fractional bandwidth despite sometimes, without mentioning the threshold gamma_m a default 3dB below peak or above null may be a valid consideration.