image thumbnail
from Designing the array of antenna patterns by farshid azhir
with this m-file you can look over the Calculation of array patterns

arrayantenna.m
clc
clear all
close all hidden
disp('                                                              ')
disp('******************************************Design Array Antenna*********************************************')
disp('                          ==========         farshid.azhir       =============                    ')
disp('-------------------------------------------------------------------------------------------------------------')
f=input('Please Enter operating frequency(Hz):\n->');
N=input('Please Enter number of elements(N):\n->');
a=input('Please Enter progressive excitation phase(alfa):\n->');
i=input('Please Enter current(I):\n->');
disp('press any key to continue...')
pause
disp('lambda=')
disp('================================================================')
lambda=(3e8)/f %lambda=c/f
disp('================================================================')
d=input('Please Enter distance between elements(d):\n->');
%isotropic antenna
clc
beta=2.*pi/lambda;
W=-2*pi:0.001:2*pi;
 y=sin((N.*W./2))./(N.*(sin(W./2)));
 y=abs(y);
 r=max(y);
 plot(W,y)
  xlabel('rectangular coordination')
 grid on
 figure
%---------------------
t=0:0.01:2*pi; 
W1=a+(beta.*d.*cos(t));
 z1=(N/2).*(W1);
z2=(1/2).*(W1);
W2=sin(z1)./(N.*sin(z2));
W=abs(W2);
polar(t,W)
title('Polar Pattern of Array Antenna')
figure
%----------------------
%3D-pattern

% 1.- 3-D Mesh: Azimut & Elevation 
%---------------------------------- 
n_tehta = 130; % Samples on Elevation 
n_phi = 130; % Samples on Azimut 
[tehta,phi]=meshgrid(eps:pi./(n_tehta-1):pi,... 
            0:2*pi./(n_phi-1):2*pi) ; 
 t=tehta;
W1=a+(beta.*d.*cos(t));
 z1=(N/2).*(W1);
z2=(1/2).*(W1);
W2=sin(z1)./(N.*sin(z2));
W=abs(W2);
radio = W; 
X=radio.*sin(tehta).*cos(phi); 
Y=radio.*sin(tehta).*sin(phi); 
Z=radio.*cos(tehta); 
surf(X,Y,Z)
camlight right
light
colorbar
axis image 
rotate3D on
title('3D-pattern of Array Antenna')
%calvulate HPBW--------------------------------
disp('press any key to continue...')
pause
disp('-----------------------------------------------------------------')
disp('calculate half power beam width(HPBW)=')
disp('      ')
m=input('Please Enter*(m=0,1,2,...)*where acos[(lambda./(2*pi.*d)).*(-a+(-)2*m*pi]\n-->');
maximum.theta=(acos((lambda./(2*pi.*d)).*(-a+2.*m.*pi))).*180./pi
disp('press any key to continue...')
pause
db3point.theta=(acos((lambda./(2*pi.*d)).*(-a+(2.782/N)))).*180./pi
disp('press any key to continue...')
pause
HPBW=2.*(abs(maximum.theta-db3point.theta))
disp('------------------------------------------------------------------')
%calvulate FNBW--------------------------------
disp('press any key to continue...')
pause
disp('-----------------------------------------------------------------')
disp('calculate First Null beam width(FNBW)=')
disp('      ')
n=input('Please Enter*(n=1,2,3,...)*where acos[(lambda./(2*pi.*d)).*(-a+(-)2*n*pi./N]\n if n=1 is first null & n=2 is second null &....\n->');
nulls.theta=(acos((lambda./(2*pi.*d)).*((-a)+(2.*n.*pi./N)))).*180./pi
disp('------------------------------------------------------------------')
disp('press any key to continue...')
pause
disp('------------------------------------------------------------------')
disp('SLL=')
disp('      ')
syms('t');
 y1=sin((N.*t./2))./(N.*(sin(t./2)));
 y=abs(y1);
 q=diff(y);
 p=solve(q);
 subs(y,p,'t')/r


 

Contact us at files@mathworks.com