example 3.1.1
ZIP with MATLAB scripts and note:
example 3.1.1 notes:
Parallel plates waveguide
Although it's 3rd chapter 1st example, [POZAR] doesn't give a numeral as with all other examples. Therefore I have numbered this example as 3.1.1.
Example 3.1.2 is the explanation of why 75 Ohm or 50 Ohm popular values of coaxial Z0. Example 3.1.3 corresponds to [POZAR] 3rd chapter 1st example.
Parallel metal plates:
TEM Transversal Electric and Magnetic
Ez=Hz=0
TM Transversal Magnetic
no magnetic field on direction of travelling wave
Hz=0
TE Transversal Magnetic
no electric field on direction of travelling wave
Ez=0
pozar_03_example_parallel_plates_table.m
mu0=4*pi*1e-7; e0= 8.8539e-12;er=1;mur=1;f0=10e9 % Hz
tand=.004;Rs=.01;etha0=377;etha=etha0/er^.5;
d=.01 % distance between plates [m]
N=5
n=[1:1:N] % 5 1st modes
k_TEM=2*pi*f0*(mu0*e0*mur*er)^.5*ones(1,N)
k_TE=2*pi*f0*(mu0*e0*mur*er)^.5*ones(1,N)
k_TM=2*pi*f0*(mu0*e0*mur*er)^.5*ones(1,N)
kc_TEM=zeros(1,N)
kc_TEn=n*pi/d
kc_TMn=n*pi/d
beta_TEM=2*pi*f0*(mu0*e0*mur*er)^.5*ones(1,N)
beta_TMn=imag((k_TM.^2-kc_TMn.^2).^.5)
beta_TEn=imag((k_TM.^2-kc_TMn.^2).^.5)
lambdac_TEM=Inf*ones(1,N)
lambdac_TMn=2*d./n
lambdac_TEn=2*d./n
lambdag_TEM=2*pi./k_TEM
lambdag_TMn=2*pi./beta_TMn
lambdag_TEn=2*pi./beta_TEn
vp_TEM=2*pi*f0./k_TEM
vp_TMn=2*pi*f0./beta_TMn
vp_TEn=2*pi*f0./beta_TEn
alphad_TEM=.5*k_TEM*tand
alphad_TMn=.5*k_TM.^2*tand./beta_TMn
alphad_TEn=.5*k_TE.^2*tand./beta_TEn
alphac_TEM=Rs/(etha*d)*ones(1,N)
alphac_TMn=2*k_TM*Rs./(beta_TMn)*etha*d
alphac_TMn=2*k_TE*Rs./(beta_TEn)*etha*d
% Fields for given mode only n(n1)
n1=1
W=10*d % plates width [m]
L=20*d % plates depth [m]
dx=d/10
x=[0:dx:W];y=[0:dx:d];z=[0:dx:L];
Ez_TEM=zeros(numel(x),numel(y),numel(z));
Hz_TEM=zeros(numel(x),numel(y),numel(z));
Ex_TEM=zeros(numel(x),numel(y),numel(z));
Ez_TM=ones(1,numel(x))'.*sin(pi/d*n(n1)*y).*reshape(exp(-1j*beta_TMn(n1)*z),1,1,numel(z));
Hz_TM=zeros(numel(x),numel(y),numel(z));
Ex_TM=zeros(numel(x),numel(y),numel(z));
Ez_TE=zeros(numel(x),numel(y),numel(z));
Hz_TE=ones(1,numel(x))'.*cos(n(n1)*pi*y/d).*reshape(exp(-1j*beta_TEn(n1)*z),1,1,numel(z));
Ex_TE=1j*2*pi*f0*mu0*mur/kc_TEn(n1)*ones(1,numel(x))'.*sin(n1*pi*y/d).*reshape(exp(-1j*beta_TEn(n1)*z),1,1,numel(z));
V0=1; % V0 Voltage applied between parallel plates, for instance V0=1Volt
Ey_TEM=-V0/d*ones(1,numel(x))'.*ones(1,numel(y)).*reshape(exp(-1j*beta_TEM(n1)*z),1,1,numel(z));
Hx_TEM=V0/(d*etha)*ones(1,numel(x))'.*ones(1,numel(y)).*reshape(exp(-1j*beta_TEM(n1)*z),1,1,numel(z));
Hy_TEM=zeros(numel(x),numel(y),numel(z));
Ey_TM=-1j*beta_TMn(n1)/kc_TMn(n1)*ones(1,numel(x))'.*cos(n(n1)*pi*y/d).*reshape(exp(-1j*beta_TMn(n1)*z),1,1,numel(z));
Hx_TM=-1j*2*pi*f0*e0*er./kc_TMn(n1).*ones(1,numel(x))'.*cos(n(n1)*pi*y/d).*reshape(exp(-1j*beta_TMn(n1)*z),1,1,numel(z));
Hy_TM=zeros(numel(x),numel(y),numel(z));
Ey_TE=zeros(numel(x),numel(y),numel(z));
Hx_TE=zeros(numel(x),numel(y),numel(z));
Hy_TE=1j*beta_TEn(n1)/kc_TEn(n1)*ones(1,numel(x))'.*sin(n(n1)*pi*y/d).*reshape(exp(-1j*beta_TEn(n1)*z),1,1,numel(z));
% intrinsic impedance of all modes
Z_TEM=etha*d/W
Z_TMn=etha*beta_TMn./k_TM
Z_TEn=etha*k_TE./beta_TEn
pozar_03_example_parallel_plates_attenuation_conductor.m
% k/kc=k*d/pi
% TE: beta=(k^2-kc^2)^.5=(k^2-(n*pi/d)^2)^.5
% alpha_c=2*kc^2*Rs/(k*beta*etha*d) , rearranging
% alpha_c*etha*d//Rs=2/(x*(x^2-1)^.5) with x=k/kc
c0=299792458
syms x
alpha_c_TE=2/(x*(x^2-1)^.5)
figure(1);h=fplot(alpha_c_TE);grid on
ax=h.Parent
ax.XLim=[0 10];ax.YLim=[0 3];
xlabel('k/kc=k*d/pi=2*d/lambda');ylabel('alpha\_conductor*etha*d/Rs')
% TM: alpha_c=2*kc*Rs/(beta*etha*d) , rearranging
% alpha_c*etha*d/Rs=2/(1-1/x^2)^.5 with x=k/kc
hold on
alpha_c_TM=2/(1-1/x^2)^.5
fplot(alpha_c_TM);grid on
legend('TE1','TM1');title('Attenuation [Np/m]')
alpha_c_TE_dB_over_f=alpha_c_TE*Np2dB
alpha_c_TM_dB_over_f=alpha_c_TM*Np2dB
syms x2
x2=1/(2*pi)*c0*x
Np2dB=10*log10(exp(1)^2);
alpha_c_TE_dB=alpha_c_TE*Np2dB
alpha_c_TM_dB=alpha_c_TM*Np2dB
figure(2);h2=fplot(alpha_c_TE_dB);grid on
hold on
ax2=h2.Parent
fplot(ax2,alpha_c_TM_dB);grid minor
legend(ax2,'TE1','TM1');title(ax2,'Attenuation [dB/m]')
ax2.XLim=[0 15];ax2.YLim=[0 30];
xlabel('k/kc=k*d/pi=2*d/lambda');ylabel('alpha\_conductor*etha*d/Rs')
Only 1m of ideal waveguide causes 5dB metal attenuation 1 octave abov cut-off
Single surface waveguides suffer more attenuation compared to combined (finite)
structures like pair wires, coax, etc..
TEM between parallel metal plates with W>>d |E| does not have [x y z] dependencies, that should be true between capacitor plates.
pozar_03_example_parallel_plates_fields.m
f0=2e10 % carrier frequency [Hz]
d=0.43e-2;W=10*d % waveguide cross-section
length_waveguide=5*d; % waveguide length [m]
er=2.08; % fill material: Teflon
dx=d/50;dy=dx;dz=dx; % set space resolutions
c0=299792458;
V0=1; % 1Volt between plates
etha0=377
etha=etha0/er^.5
lambda0=c0/f0;lambda=lambda0/er^.5;
beta=2*pi/lambda;
x=[0:dx:W];
y=[0:dx:d];
z=[0:dx:length_waveguide];
[Y,X,Z]=meshgrid(y,x,z);
ExTEM=zeros(numel(x),numel(y),numel(z));
EyTEM=zeros(numel(x),numel(y),numel(z));
EzTEM=zeros(numel(x),numel(y),numel(z));
HxTEM=zeros(numel(y),numel(y),numel(z));
HyTEM=zeros(numel(x),numel(y),numel(z));
HzTEM=zeros(numel(x),numel(y),numel(z));
% |E| n=0 TEM
one way to build a volume filled with field values is directly multiplying 1 dimension only vectors
EyTEM=ones(1,numel(x))'.*ones(1,numel(y))*…
(-V0/d).*reshape(exp(-1j*beta*z),1,1,numel(z));
HxTEM=(ones(1,numel(x))'.*…
ones(1,numel(y)).*…
reshape(exp(-1j*beta*z),1,1,numel(z)))*(-V0/(etha*d));
absE_TEM=((abs(EyTEM)).^2+(abs(EzTEM)).^2).^.5;
n=0;
xslice=[x(1) x(floor(numel(x)/2))];yslice=y(1);
zslice=z(floor(numel(z)/2));
colormap('jet');shading interp
daspect([1 1 1]);axis tight;camlight
figure(1);h1=slice(Y,X,Z,absE_TEM,yslice,xslice,zslice);
% figure(1);h1=slice(X,Y,Z,absE_TEm,xslice,yslice,zslice);
colorbar;ax1=gca;
ax1.DataAspectRatio=[1 1 1]
h1(1).EdgeColor='none';
h1(2).EdgeColor='none';
h1(3).EdgeColor='none';
colormap(ax1,'jet');shading interp
daspect(ax1,[1 1 1]);axis tight;
xlabel(ax1,'y:[0 d]');ylabel(ax1,'x:[0 W]');
zlabel(ax1,'z:[0 sheets depth');
title(ax1,['TE' n ' |E| parallel metal sheets waveguide']);
campos(ax1,[.1732 .0799 -.1491]);
Z_TEM=etha*d/W*ones(numel(x),numel(y),numel(z));
TE10 shape of |E| between metal parallel plates:
% |E| n=1, TE1 Transversal Electric field
n=1;
Another way to build a volume filled with a vector field is using meshgrid variables, simplifying notation but cubic increase of data to process
ExTE1=sin(n*pi*Y/d).*exp(-1j*beta*Z);
EyTE1=sin(n*pi*Y/d).*exp(-1j*beta*Z);
EzTE1=zeros(size(ExTE1));
absE_TE1=real(((ExTE1).^2+(EyTE1).^2+(EzTE1).^2).^.5);
colormap('jet');shading interp
daspect([1 1 1]);axis tight;camlight
figure(2);h2=slice(Y,X,Z,absE_TE1,yslice,xslice,zslice);
colorbar;ax2=gca;
ax1.DataAspectRatio=[1 1 1];
h2(1).EdgeColor='none';
h2(2).EdgeColor='none';
h2(3).EdgeColor='none';
colormap(ax2,'jet');shading interp
daspect(ax2,[1 1 1]);axis tight;
xlabel(ax2,'y:[0 d]');ylabel(ax2,'x:[0 W]');
zlabel(ax2,'z:[0 length waveguide');
title(ax2,['TE ' num2str(n) ' |E| parallel metal sheets waveguide']);
campos(ax2,[.1732 .0799 -.1491]);
n=2;
ExTE2=sin(n*pi*Y/d).*exp(-1j*beta*Z);
EyTE2=sin(n*pi*Y/d).*exp(-1j*beta*Z);
EzTE2=zeros(size(ExTE2));
absE_TE2=real(((ExTE2).^2+(EyTE2).^2+(EzTE2).^2).^.5);
colormap('jet');shading interp
daspect([1 1 1]);axis tight;camlight
figure(3);h3=slice(Y,X,Z,absE_TE2,yslice,xslice,zslice);
colorbar;ax3=gca;
ax1.DataAspectRatio=[1 1 1];
h3(1).EdgeColor='none';
h3(2).EdgeColor='none';
h3(3).EdgeColor='none';
colormap(ax3,'jet');shading interp
daspect(ax3,[1 1 1]);axis tight;
xlabel(ax3,'y:[0 d]');ylabel(ax3,'x:[0 W]');zlabel(ax3,'z:[0 length waveguide');
title(ax3,['TE ' num2str(n) ' |E| parallel metal sheets waveguide']);
campos(ax3,[.1732 .0799 -.1491]);