top of page

exercise 3.13

ZIP with MATLAB scripts and note:

Small tag OK.jpg
pozar_03_exercise_13_question.jpg

 exercise 3.13 notes:

Small tag OK.jpg
001.jpg

4 lowest cut-off frequencies, what 4 modes start to propagate first with frequency increasing.

 

a=.4e-2

tand_Cu=.0002

mur=1.00

er=1.50

 

There's a discrepancy with the solutions manual calling 4th mode TE01 when the 4th mode is actually TM11.

This error comes from [POZAR] is caused by only using 3 decimals calculating the roots of Bessel functions 1st kind and roots of 1st derivative of Bessel function 1st kind.

mu0=4*pi*10^-7; e0= 8.8539e-12;

f0=20e9                                                     % Hz

c0=299792486;                                      % m/s through vacuum or air

a=.4e-2;                                                   % radius [m]

mur=1;

er=1.5;                                                    % relative permittivity

etha0=377;etha=etha0/er^.5;

lambda0=c0/f0                                        % wave length in free space

tand=.0002;

sigma_Cu=5.813e7;  % S/m

% sigma_Au=4.1e7;  % S/m

% sigma_Ag=6.173e7;  % S/m

                

N=5;n=[1:1:N];                                        % 5 1st modes

k_TE=2*pi*f0*(mu0*e0*mur*er)^.5       % wave number

k_TM=2*pi*f0*(mu0*e0*mur*er)^.5      % k_TE k_TM same as k0

k0=2*pi/lambda0                                        % wave number

 

x=[0:.001:15];                          % finding J0(x) and J0(x)' zeros: p and p1

M=5;N=5;y=zeros(M(end),numel(x));

for k=0:1:M-1

    y(k+1,:)=besselj(k,x);

end

p={};                                          % p: J zeros tor TM cut-offs

for k=1:1:M

    [nx0,ny0]=intersections(x,y(k,:),x,zeros(1,numel(x)));

    p{k}=nx0;

end

p{:}

for k=1:1:numel(p)                % removing origin roots of p

    Lp=p{k}                              % to avoid p(i,j) TMij indices mismatch

    Lp(Lp==0)=[]

    p{k}=Lp

end

 

yd=diff(y')';x(1)=[];            % 1st deriv of 5 lowest Bessel 1st kind

p1={};                                    % p1: J' zeros for TE cut-offs

for k=1:1:M

    [nx0d,ny0d]=intersections(x,yd(k,:),x,zeros(1,numel(x)));

% TE find zeros 1st derivative

    p1{k}=nx0d;

end

p1{:};

for k=1:1:numel(p1)             % removing origin roots of p1

    Lp1=p1{k}                            % to avoid p1(i,j) TEij indices mismatch

    Lp1(Lp1==0)=[]

    p1{k}=Lp1

end

 

L4=[0 0 0];                                % TE modes and fc in L5: n m p'_nm

for k=1:1:M                               % n: order Bessel function

    L05=p1{:,k}';                        % m: root numeral

    for s=1:1:length(L05)            % p'_nm dJ(x)/dx roots

        L4=[L4;[(k-1) s L05(s)]];

    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 contains sorted fc_TE 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)=[];

fc_TE_table_names={'n' 'm' 'fc' 'mode_tag'}                     

% generating table with TE cut-off frequencies, indices, and TE tag

tag_TE=repmat('TE',size(L5,1),1)

fc_TE_table=table(uint64(L5(:,1)),uint64(L5(:,2)),...

L5(:,3),tag_TE,'VariableNames',fc_TE_table_names)

 

L6=[0 0 0];                                    % TM modes and fc in L7: m n p_nm

for k=1:1:M                                   % n: order Bessel function

    L07=p{:,k}';                             % m: root numeral

    for s=1:1:length(L07)                 % p'_nm dJ(x)/dx roots

        L6=[L6;[(k-1) s L07(s)]]; 

    end

end

L6(1,:)=[];

L6=[L6(:,1) L6(:,2) L6(:,3)*c0/(er^.5*2*pi*a)];

L6_3=L6(:,3);

[fc_TM_sorted,nfc_TM_sorted]=sort(L6_3);

L7=L6(nfc_TM_sorted,:);                                      

% L7 contains sorted fc_TM 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)=[];

fc_TM_table_names={'n' 'm' 'fc' 'mode_tag'}                    

% generating table with TE cut-off frequencies, indices, and TE tag

tag_TM=repmat('TM',size(L7,1),1)

fc_TM_table=table(uint64(L7(:,1)),uint64(L7(:,2)),L7(:,3),tag_TM,...

                                                         'VariableNAmes',fc_TM_table_names)

 

fc_TE_TM_table_names={'n' 'm' 'fc' 'mode_tag'}                    

% generating table with TE cut-off frequencies, indices, and TE tag

tag_=[repmat('TE',size(L5,1),1); repmat('TM',size(L7,1),1)]

fc_TE_TM_t=table([uint64(L5(:,1));uint64(L7(:,1))],...

                           [uint64(L5(:,2));uint64(L7(:,2))],...

                           [L5(:,3);L7(:,3)],...

                           tag_,'VariableNames',fc_TE_TM_table_names)

fc_TE_TM_table=sortrows(fc_TE_TM_t,'fc')

numerals_table=table([1:1:numel(L5(:,1))+numel(L7(:,1))]',

                                                            'VariableNames',{'pos'})

fc_TE_TM_table=[numerals_table fc_TE_TM_table]

k_sort_fc=1;

while f0>fc_TE_TM_table.fc(k_sort_fc) 

        k_sort_fc=k_sort_fc+1;

        if k_sort_fc>numel(fc_TE_TM_table.fc)

            break

        end

end

fc_TE_TM_table

 

 

p{:}

= 2.404825587623834

    .520078116818740

    8.653727924339442

   11.791534449561969

   14.930917711006265

 = 3.831705997281383

   7.015586687090941

  10.173468147302287

  13.323691944300002

 = 5.135622324716259

   8.417244151376378

  11.619841177883227

  14.795951783895344

=  6.380161906569109

   9.761023131142311

  13.015200727876815

= 7.588342449349021

  11.064709497802784

  14.372536680265153

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

fc_TE_TM_table =

  39×5 table

    pos    n    m           fc           mode_tag

    ___    _    _    ________________    ________

     1     1    1    17937021179.2735    TE     

     2     0    1    23421722895.1374    TM     

     3     2    1    29751513658.7988    TE     

     4     1    1    37318779601.2417    TM     

     5     0    1    37323649385.6809    TE     

     6     3    1    40922216430.9797    TE     

     7     2    1    50018231510.2681    TM     

     8     4    1    51795010344.6638    TE     

     9     1    2    51930288440.1759    TE     

    10     0    2    53762626560.9512    TM     

    11     3    1    62139385480.1031    TM     

    12     2    2    65319042463.8699    TE     

    13     1    2    68328085070.9085    TM     

    14     0    2    68332954749.7671    TE     

    15     4    1    73906421736.6693    TM     

    16     3    2    78069013672.6184    TE     

    17     2    2     81979483696.799    TM     

    18     1    3     83144053639.051    TE     

    19     0    3    84282709938.2539    TM     

    20     4    2    90410475377.8804    TE     

    21     3    2    95067176649.8196    TM     

    22     2    3    97102186932.2407    TE     

    23     1    3     99084171864.647    TM     

    24     0    3    99089041534.2585    TE     

    25     4    2    107764388863.143    TM     

    26     3    3    110508141510.129    TE     

    27     2    3    113171076336.892    TM     

    28     1    4    114015135084.507    TE     

    29     0    4    114843277536.394    TM     

    30     4    3    1235199162977766.133    TE     

    31     3    3    126761136625.349    TM     

    32     2    4    128277280993.016    TE     

    33     1    4    129765677089.253    TM     

    34     0    4    10546832.989    TE     

    35     4    3    139980867285.259    TM     

    36     3    4    142063278765.896    TE     

    37     2    4    144104705320.699    TM     

    38     1    5     144768322073.85    TE     

    39     0    5    145419201707.192    TM        

Although one can calculate the cut-off frequencies directly from the Bessel and respective derivatives, values stored in variables p and p1 (p1 for p')

1st mode: TE_11

p1_11=p1{2}(1);fc_TE11=p1_11*c0/(2*pi*a*er^.5)

 

2nd mode: TM01

p_01=p{1}(1);fc_TM01=p_01*c0/(2*pi*a*er^.5)

 

3rd mode: TE21

p1_21=p1{3}(1);fc_TE21=p1_21*c0/(2*pi*a*er^.5)

 

the suggested TE01 in the solutions manual as the 4th mode

p1_01=p1{1}(1);fc_TE01=p1_01*c0/(2*pi*a*er^.5)

 

should be (4th mode) TM11

p_11=p{2}(1); fc_TM01=p_11*c0/(2*pi*a*er^.5)

fc_TE11 =     1.793702117927346e+10

 

 

fc_TM01 =     2.342172289513736e+10

 

 

fc_TE21 =     2.975151365879876e+10

 

 

fc_TE01 =     3.732364938568088e+10

 

 

fc_TM01 =     3.731877960124174e+10

The script above may seem a bit long, but it's justified precisely to avoid having to deal with the ±1 on the indices of p and p1 to get mode indices.

The proximity of TE01 and TM11 is already shown in figure 3.13 pg127

002.jpg

But [POZAR] is only using 3 decimals precision on the p and p1 thus erroneously putting TE01 ahead of TM11 (with increasing frequency).

003.jpg

While a more accurate calculation shows that TM12 has a slightly lower cut-off frequency than TE01 therefore starting to propagate 1st as frequency increases than TE01

It's easier to read and compare values from

 

fc_TE_TM_table

beta= (er*k0^2-(p1_11/a)^2)^.5

 

again the solutions manual shows a beta roughly half way the one here obtained

 

dielectric attenuation per metre

 

alpha_dielectric_TE11=er*k0^2*tand/(2*beta)

 

Np2dB=10*log10(exp(1)^2)

 

alphad_TE11_dB=alpha_dielectric_TE11*Np2dB

 

metallic attenuation per metre

 

kc=p1_11/a

k_n=2*pi*f0*(mu0*e0*mur*er)^.5

Rs=(2*pi*f0*mu0*mur/(2*sigma_Cu)).^.5

 

alpha_conductor=Rs/(a*k0*etha0*beta)*(kc^2+k_n^2/(p1_11^2-1))

 

alphac_dB=alpha_conductor*Np2dB

fc_TE_TM_table =

  39×5 table

    pos    n    m           fc           mode_tag

    ___    _    _    ________________    ________

     1         1    1    17937021179.2735    TE     

     2       0    1    23421722895.1374    TM     

     3       2    1    29751513658.7988    TE     

     4       1    2    37318779601.2417    TM     

     5      0    1    37323649385.6809    TE     

     6       3    1    40922216430.9797    TE     

     7       2    2    50018231510.2681    TM     

     8       4    1    51795010344.6638    TE     

     9       1    2    51930288440.1759    TE     

    10      0    2    53762626560.9512    TM     

beta =     4.281862307931123e+02

 

 

 

 

 

 

alpha_dielectric_TE11 =   0.092326859148441

 

 

 

 

 

 

 

=     4.604209486508664e+02

=     5.133667443219498e+02

Rs =   0.036854854816740

 

=   0.035819304108147

 

=   0.311122522395652

bottom of page