Rectangular Waveguide TE TM MN Mode E H Field Pattern Plot
Rectangular Waveguide TE TM MN Mode E H Field Pattern Plot
clc;
close all;
% Waveguide dimensions
a = 2.286; % Length in cm in x-direction
b = a/2; % Length in cm in y-direction
f = 45*10.^9; % Frequency of operation 45GHz
c = 3*10.^8; % Velocity of light
% m = 1; % Mode number in X-Direction
% n = 0; % Mode number in Y-Direction
choice = input('Enter choice: 1 for TE and 2 for TM: ');
if choice == 1
m = input('Enter mode value m:');
n = input('Enter mode value n:');
elseif choice == 2
m = input('Enter mode value m:');
n = input('Enter mode value n:');
else
sprintf('Alert!!! Wrong choice!!!')
end
if choice ==1
if m == 0 && n == 0
fprintf(['TE_',num2str(m),num2str(n), ' mode doesnot exist']);
elseif fc>f
fprintf(['TE_',num2str(m),num2str(n), ' mode cutoff frequency exceeds
frequency of operation; hence mode does not porpagate\n']);
sprintf('The frequency of operation is up to: %0.5g',f)
sprintf('The cutoff frequency is: %0.5g',fc)
else
sprintf('The frequency of operation is up to: %0.5g',f)
sprintf('The cutoff frequency is: %0.5g',fc)
% Front View
z = 0;
x = linspace(0,a,M);
y = linspace(0,b,M);
[x,y] = meshgrid(x,y);
% z = linspace(0,2*lambda,M);
% Hx = Amn*(Bx*Bz/(omega*mu1*epsilon))*sin(m*pi.*x./a).*cos(n*pi.*y./b).*exp(-
j*Bz*z);
Hx = sin(m*pi.*x./a).*cos(n*pi.*y./b).*exp(-j*Bz*z);
% Hy = Amn*(Bx*Bz/(omega*mu1*epsilon))*cos(m*pi.*x./a).*sin(n*pi.*y./b).*exp(-
j*Bz*z);
Hy = cos(m*pi.*x./a).*sin(n*pi.*y./b).*exp(-j*Bz*z);
% Hz = -1i*Amn*(Bc.^2/(omega*mu1*epsilon))*cos(m*pi.*x./a).*cos(n*pi.*y./b).*exp(-
j*Bz*z);
Hz = -cos(m*pi.*x./a).*cos(n*pi.*y./b).*exp(-j*Bz*z);
figure();
quiver(x,y,real(Ex),real(Ey));
title(['Plot of front view for TE_',num2str(m),'_',num2str(n),' E-Field']);
legend('E-Field');
xlabel('x-dimension 0 to a');
ylabel('y-dimension 0 to b=a/2');
figure();
quiver(x,y,real(Hx),real(Hy));
title(['Plot of front view for TE_',num2str(m),'_',num2str(n),' H-Field']);
legend('H-Field');
xlabel('x-dimension 0 to a');
ylabel('y-dimension 0 to b=a/2');
figure();
quiver(x,y,real(Ex),real(Ey));
hold on
quiver(x,y,real(Hx),real(Hy));
grid on
title(['Plot of front view for TE_',num2str(m),'_',num2str(n)]);
legend('E-Field','H-Field');
xlabel('x-dimension 0 to a');
ylabel('y-dimension 0 to b=a/2');
Hx = sin(m*pi.*x./a).*cos(n*pi.*y./b).*exp(-1j*Bz*z);
% Hx = A10*(Bz/(omega*mu1*epsilon))*pi/a.*sin(pi.*x./a).*exp(-j*Bz*z);
Hy = cos(m*pi.*x./a).*sin(n*pi.*y./b).*exp(-1j*Bz*z);
Hz = -cos(m*pi.*x./a).*cos(n*pi.*y./b).*exp(-1j*Bz*z);
figure();
quiver(z,x,real(Ez),real(Ex));
title(['Plot of Top view for TE_',num2str(m),'_',num2str(n),' E-Field']);
legend('E-Field');
ylabel('x-dimension 0 to a');
xlabel('z-direction');
figure();
quiver(z,x,real(Hz),real(Hx));
title(['Plot of Top view for TE_',num2str(m),'_',num2str(n),' H-Field']);
legend('H-Field');
ylabel('x-dimension 0 to a');
xlabel('z-direction');
figure();
quiver(z,x,real(Ez),real(Ex));
hold on
quiver(z,x,real(Hz),real(Hx));
grid on
title(['Plot of TOP view of E-H for TE_',num2str(m),'_',num2str(n)]);
legend('E-Field','H-Field');
ylabel('x-dimension 0 to a');
xlabel('z-direction');
Hx = sin(m*pi.*x./a).*cos(n*pi.*y./b).*exp(-j*Bz*z);
Hy = cos(m*pi.*x./a).*sin(n*pi.*y./b).*exp(-j*Bz*z);
Hz = -cos(m*pi.*x./a).*cos(n*pi.*y./b).*exp(-j*Bz*z);
figure();
quiver(z,y,real(Ez),real(Ey));
title(['Plot of Side view for TE_',num2str(m),'_',num2str(n),' E-Field']);
legend('E-Field');
ylabel('y-dimension 0 to b');
xlabel('z-direction');
figure();
quiver(z,y,real(Hz),real(Hy));
title(['Plot of Side view for TE_',num2str(m),'_',num2str(n),' H-Field']);
legend('E-Field');
ylabel('y-dimension 0 to b');
xlabel('z-direction');
figure();
quiver(z,y,real(Ez),real(Ey));
hold on
quiver(z,y,real(Hz),real(Hy));
grid on
title(['Plot of Side view of E-H for TE_',num2str(m),'_',num2str(n)]);
legend('E-Field','H-Field');
ylabel('y-dimension 0 to b');
xlabel('z-direction');
end
elseif choice == 2
if m == 0 || n == 0
fprintf(['TM_',num2str(m),num2str(n), ' mode doesnot exist']);
elseif fc>f
fprintf(['TM_',num2str(m),num2str(n), ' mode cutoff frequency exceeds
frequency of operation; hence mode does not porpagate\n']);
sprintf('The frequency of operation is up to: %0.5g',f)
sprintf('The cutoff frequency is: %0.5g',fc)
else
sprintf('The frequency of operation is up to: %0.5g',f)
sprintf('The cutoff frequency is: %0.5g',fc)
% Field Pattern plot for Rectangular wave guide for TMmn mode
%TM_mn mode field expressions
% Front View
x = linspace(0,a,M);
y = linspace(0,b,M);
% z = linspace(0,2*lambda,M);
z = 0;
[x,y] = meshgrid(x,y);
% Top View
y = b; %Position of view
x = linspace(0,a,M);
% y = linspace(0,b,M);
z = linspace(0,lambda,M);
[x,z] = meshgrid(x,z);
tmequation();
figure();
quiver(z,x,real(Ez),real(Ex));
title(['Plot of Top view for TM_',num2str(m),'_',num2str(n),' E-Field']);
legend('E-Field');
ylabel('x-dimension 0 to a');
xlabel('z-direction');
figure();
quiver(z,x,real(Hz),real(Hx));
title(['Plot of Top view for TM_',num2str(m),'_',num2str(n),' H-Field']);
legend('H-Field');
ylabel('x-dimension 0 to a');
xlabel('z-direction');
figure();
quiver(z,x,real(Ez),real(Ex));
hold on
quiver(z,x,real(Hz),real(Hx));
grid on
title(['Plot of TOP view of E-H for TM_',num2str(m),'_',num2str(n)]);
legend('E-Field','H-Field');
ylabel('x-dimension 0 to a');
xlabel('z-direction');
% Side View
x = a/2;
% x = linspace(0,a,M);
y = linspace(0,b,M);
z = linspace(0,2*lambda,M);
[y,z] = meshgrid(y,z);
figure();
quiver(z,y,real(Ez),real(Ey));
title(['Plot of Side view for TM_',num2str(m),'_',num2str(n),' E-Field']);
legend('E-Field');
ylabel('y-dimension 0 to b');
xlabel('z-direction');
figure();
% quiver(y,z,real(Hy),real(Hz));
quiver(z,y,real(Hz),real(Hy));
title(['Plot of Side view for TM_',num2str(m),'_',num2str(n),' H-Field']);
legend('E-Field');
ylabel('y-dimension 0 to b');
xlabel('z-direction');
figure();
quiver(z,y,real(Ez),real(Ey));
hold on
quiver(z,y,real(Hz),real(Hy));
grid on
title(['Plot of Side view of E-H for TM_',num2str(m),'_',num2str(n)]);
legend('E-Field','H-Field');
ylabel('y-dimension 0 to b');
xlabel('z-direction');
end
else