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