How to solve Microwave Engineering Pozar chapter 03 example 02 with MATLAB: Cylindrical wave-guide cut-off frequencies.

Published by John_2016 in the blog blog title. Views: 85


Question:

[​IMG]


Literature source [POZAR]:
https://www.amazon.co.uk/Microwave-...-1&keywords=David+Pozar+Microwave+Engineering

There's also a solutions manual available here:
https://www.scribd.com/doc/176505749/Microwave-engineering-pozar-4th-Ed-solutions-manual

Answer:

[​IMG]


These are the 5 lowest order 1st kind Bessel functions J0(x) x∈[0 15]

x=[0:.001:15];
M=5;N=5;
y=zeros(M(end),numel(x));
for k=0:1:M-1
y(k+1,: )=besselj(k,x);
end
figure(1);hold on;
for k=1:1:M
plot(x,y(k,: ));
end
grid on;grid minor;
title('Bessel functions 1st kind with order 0 to 4')


J0(x) zeros for TM cut-offs

p={};
for k=1:1:M
[nx0,ny0]=intersections(x,y(k,: ),x,zeros(1,numel(x)));
p{k}=nx0;
end
p{:}

p = 2.404825587623834
5.520078116818740
8.653727924339442
11.791534449561969
14.930917711006265
= 0
3.831705997281383
7.015586687090941
10.173468147302287
13.323691944300002
= 0
5.135622324716259
8.417244151376378
11.619841177883227
14.795951783895344
= 0
6.380161906569109
9.761023131142311
13.015200727876815
= 0
7.588342449349021
11.064709497802784

14.372536680265153


And these are the 1st derivatives of the 5 lowest order 1st kind Bessel functions x∈[0 15]


yd=diff(y')';x(1)=[];
figure(2);hold on;
for k=1:1:M
plot(x,yd(k,: ));
end
grid on;grid minor;
title('1st derivative Bessel functions 1st kind with order 0 to 4')



dJ0(x)/dx zeros for TE cut-offs

p1={} % roots of 1st derivative
p1 =
3.832206002438044
7.016086681407118
10.173968140669018
13.324191945277430
= 1.841683794603466
5.331942785453609
8.536816379612693
11.706504916618902
14.864088639390504
= 3.054736905459390
6.706633213085026
9.969967828343043
13.170870863085048
= 4.201688902908669
8.015736610027316
11.346424323015373
14.586348295875927
= 5.318053105903168
9.282896290396334
12.682408452626339


L4=[0 0 0];
% TE modes and fc in L5: n m p'_nm
for s=1:1:M
L05=p1{:,s};

L4=[L4;s*ones(numel(L05),1) [1:1:numel(L05)]' L05];
% TE
end
end
L4(1,: )=[];
L4=[L4: ),1) L4: ),2) L4: ),3)*c0/er^.5*1/(2*pi*a)];
L4_3=L4: ),3);
[fc_TE_sorted,nfc_TE_sorted]=sort(L4_3);

L5=L4(nfc_TE_sorted,: );
% L5 fc_TE sorted with TE indices
uint64(L5) % fc TE sorted including null TE cut-offs
fc_TE=L5: ),3); % remove null TE cut-offs
[nfcTEz,v]=find(fc_TE==0);
L5(nfcTEz,: )=[];fc_TE(nfcTEz)=[];

L6=[0 0 0];
% TM modes and fc in L7: m n p_nm
for s=1:1:M % n: order Bessel function
L07=p{:,s}'; % m: root numeral
L6=[L6;s*ones(numel(L07),1) [1:1:numel(L07)]' L07]; % TM
end
L6(1,: )=[];
L6=[L6: ),1) L6: ),2) L6: ),3)*c0/er^.5*1/(2*pi*a)];
L6_3=L6: ),3);
[fc_TM_sorted,nfc_TM_sorted]=sort(L6_3);

L7=L6(nfc_TM_sorted,: ); % L7 fc_TM sorted with TM indices
uint64(L7) % fc TM sorted included null TM cut-offs
fc_TM=L7: ),3) % remove null TM cut-offs
[nfcTMz,v]=find(fc_TM==0);
L7(nfcTMz,: )=[];fc_TM(nfcTMz)=[];


L5 and L7 contain sorted cut-off frequencies paired to TE and TM mode indices respectively.

uint64(L5)
=
20×3 uint64 matrix
1 1 12185806285
2 1 20212173388
0 1 25356426618
3 1 27801171511
4 1 35187780418
1 2 35279683786
2 2 44375551004
0 2 46423101203
3 2 53037450756
1 3 56485261477
4 2 61421822950
2 3 65967945737
0 3 67317747639
3 3 75075498431
1 4 77458031401
4 3 83915259008
2 4 87147251563
0 4 88161725932
3 4 96512992765
1 5 98350707814


uint64(L7)
=
18×3 uint64 matrix
0 1 15911927361
1 2 25353118251
2 2 33980696897
0 2 36524512410
3 2 42215399457
1 3 46419792908
4 2 50209526405
2 3 55694091997
0 3 57258826103
3 3 64585428493
1 4 67314439350
4 3 73211485565
2 4 76884606399
0 4 78020643408
3 4 86117234294
1 5 88158417593
4 4 95098272748
2 5 97899869008
0 5 98792893450

And fc_TE and fc_TM contain the sorted non-null cut-off frequencies.

Now the wave number commonly referred with k=2π/λ

f0=1.4e10;k_TE=2*pi*f0*er^.5/c0
=
4.231738552325043e+02


this k_TE is the same for k_TM

β is usually used to refer to the propagation constant for null α, lossless.


beta_TE=(k_TE^2*ones(1,size(L5,1))'-(L5( :,3)*2*pi*er^.5/c0).^2).^.5
=
.208336611713207 + 0.000000000000000i
0.000000000000000 + 0.440659268268221i
..
0.000000000000000 + 2.631024045506140i
0.000000000000000 + 2.886414064646955i
0.000000000000000 + 2.942544669403333i


At 14GHz this wave-guide only has one real beta_TE which is TE11.

beta_TE(imag(beta_TE)==0)
=
2.083366117132072e+02


reading the frequency of the only TE propagating mode

L8=uint64(L5(find(imag(beta_TE)==0),: ))
=
1 1 12185806285




Generating propagation betas, in this case only one, but command evalin may be handful when in need to generate an unknown amount of them.

L91=['beta_TE' num2str(L8(1)) num2str(L8(1))]
L92= [L91 '=' num2str(beta_TE(imag(beta_TE)==0))];
evalin('caller',L92)


k_TE11 = 2.083366000000000e+02



same result as

L93=beta_TE(imag(beta_TE)==0);assignin('base',L91,L93)


dielectric attenuation per metre, Au layer inside

tand=.0004;alpha_d=k_TE^2*tand./(2* beta_TE11) % dB/m

Np2dB=10*log10(exp(1)^2); % 8.686
alpha_d_dB=alpha_d*Np2dB % dB/m

= 0.171910362062386
= 1.493194432513684




conductor attenuation per metre of waveguide

sigma_Au=4.1e7 % S/m
Rs=(2*pi*f*mu0/(2*sigma_Au))^.5

L93=['p1_' num2str(L8( :,1)) num2str(L8( :,1))]
L94= [L93 '=' num2str(beta_TE(imag(beta_TE)==0))];evalin('caller',L94)



reading 1st derivative roots directly from the obtained cut-off frequencies:

p1=fc_TE*2*pi*a/c0*er^.5
% p=fc_TM*2*pi*a/c0*er^.5
p1 =
1.841683794603465
3.054736905459389
3.832206002438044



the root of interest being

p1(find(beta_TE(imag(beta_TE)==0)))
=
1.841683794603465

L95=['p1_' num2str(L8( :,1)) num2str(L8( :,1))]
L96= [L95 '=' num2str(p1(find(beta_TE(imag(beta_TE)==0))))];
evalin('caller',L96)

p1_11 = 1.841700000000000

alpha_c=Rs/(a*k_TE*etha*beta_TE11)*(kc^2+k_TE^2/(p1_11^2-1))

=
0.067085619620905


alpha_c_dB=Np2dB*alpha_c

=
0.582698288328388


total attenuation per metre:

alpha_dB=alpha_d_dB+alpha_c_dB
=
0.582698288328388

alpha_dB=alpha_d_dB+alpha_c_dB % total attenuation per metre:
=
2.075892688081312

L_30cm_dB=alpha_dB*.3 % total attenuation for 30cm
=
0.622767806424394
You need to be logged in to comment