from __future__ import division
import math
#D=2(L/lamda)
#broadside array
L=1;
Lamda=1;#assume
BWFN=2 *180/(math.pi); #2/(L/lamda)
print("The Beam Width First Null is %g degree"%BWFN);
HPBW=BWFN/2;
print("The half power beam width is %g degree"%HPBW);
from __future__ import division
import math
#end fire array
#D=4(L/lamda)
#BWFN=2sqrt(2m/(L/lamda))
lamda=1;
D=36;
L=D/4;
m=1;
BWFN=114.6*math.sqrt(2*m/L);
print("The Beam Width First Null is %g degree"%BWFN);
from __future__ import division
import math
#2 element array
#part a
max1=math.acos(0);
max2=math.acos(1);
max3=math.acos(-1);
print("The positions of maxima are %g,%d,%g radians"%(max1,max2,max3));
#part b
#minima
min1=math.acos(0.5);
min2=math.acos(0.5);
print("The positions of minima are %g,%g radians"%(min1,min2));
from __future__ import division
import math
#2 element array
max1=math.acos(1);
print("The only position of maximum radiation is %d radians"%max1);
min1=math.acos(-1);
print("The position of minimum radiation pattern is %g radians"%min1);
phi=180;#assume phi=180 degree;
Et=2*math.cos(((math.pi/4)*math.cos(phi))-(math.pi/4));
print('Et',Et);
print("Hence as the radiation pattern suggest that antenna is unidirectional antenna");
from __future__ import division
import math
#broadside array
#part a
n=8;
m1=1;
d=0.5;
lamda=1;
ph1=math.acos((m1*lamda)/(n*d));
m2=2;
ph2=math.acos((m2*lamda)/(n*d));
m3=3;
ph3=math.acos((m3*lamda)/(n*d));
print("The direction of nulls are %g %g %g radians"%(ph1,ph2,ph3));
from __future__ import division
import math
#taking values from previous problems
#broadside array
m1=1;
n=8;
d=0.5;
lamda=1;
ph1=math.acos(lamda*(2*m1+1)/(2*n*d));
m2=2;
ph2=math.acos(lamda*(2*m2+1)/(2*n*d));
m3=3;
ph3=math.acos(lamda*(2*m3+1)/(2*n*d));
print("The minor lobes values are %g %g %g"%(ph1,ph2,ph3));
from __future__ import division
import math
#broadside array
n=4;
lamda=0.1
d=0.5
i=0.25
Rrad=73;
#part a
Prad=n*(i**2*Rrad);
print("The radiated power is %g W"%Prad);
#part b
L=n*d;
print("The length is %d m"%L);
BWFN=2*lamda/L;
HPBW=BWFN/2;
print("The Beam width first null is %g radians"%BWFN);
print("The half power beam width is %g radians"%HPBW);
from __future__ import division
import math
#broadside array
Gdmax=5.01108; #antilog[7/10]
n=10;
lamda=1;
d=Gdmax/(20*lamda);
print("The minimum distance between array is %g m"%d);
from __future__ import division
import math
#broadside array
n=8;
d=0.25;
lamda=1;
#part a
Gdmax=(2*n*d)/lamda;
Gdmaxdb=10*math.log10(Gdmax);
print("In Case of Broadside array")
print("The directive gain is %g"%Gdmax);
print("The directive gain in db is %g db"%Gdmaxdb);
#part b
#end fire array
Gdmax1=(4*n*d)/lamda;
Gdmaxdb1=10*math.log10(Gdmax1);
print("\nIn case of End fire array");
print("The directive gain is %g"%Gdmax1);
print("The directive gain in db is %g db"%Gdmaxdb1);
from __future__ import division
import math
#broadside array
Gdmax=15;
L=Gdmax/2;
print("The length is %g m"%L);
#endfire array
L1=Gdmax/4;
print("The length is %g m"%L1);
BWFN=114.6*math.sqrt(2/L1);
print("The BWFN is %g degree"%BWFN);
from __future__ import division
import math
#Hansen-Woodyard end fire array
n=10;
d=0.25;
L=n*d;
D=1.789*4*L;
Ddb=10*math.log10(D);
print("The directivity is %g"%D);
print("The directivity in db is %g db"%Ddb);
from __future__ import division
import math
#end fire array
n=16;
d=0.25;
L=(n-1)*d;
m=1;
#part a
HPBW=57.3*math.sqrt((2*m)/L);
print("The HPBW is %g degree"%HPBW);
#part b
D=4*L;
Ddb=10*math.log10(D);
print("The directivity is %d"%D);
print("The directivity in db is %g db"%Ddb);
#part c
A=4*(math.pi)/D;
print("The beam solid angle is %g sr"%A);
#part d
lamda=1;
Ae=D*lamda**2/(4*(math.pi));
print("The effective aperture is %g m^2"%Ae);
from __future__ import division
import math
#end fire array
n=10;
d=0.25;
lamda=1;#assume
Gdmax=4*n*d;
Gdmaxdb=10*math.log10(Gdmax);
print("The directive gain is %d"%Gdmax);
print("The directive gain in db is %d db"%Gdmaxdb);
from __future__ import division
import math
n=50;
d=0.5;
lamda=1;#assume
L=n*d;
D=2*(L/lamda);
print("The directivity is %g"%D);