In [2]:

```
#Variable Declaration
I=250 #specific impulse of a propellant
g=9.807 # acceleration due to gravity
#Calculation
v=I*g
#Result
print("Ejection velocity of the propellant mass is, v= %.2f m/s"%v)
```

In [3]:

```
import math
#Variable Declaration
m=4330.0 #initial mass of the satellite
i=290.0 #specific impulse of a propellant
del_v=-100 #velocity increment
g=9.807 #acceleration due to gravity
#Calculation
m1=m*(1-math.exp(del_v/(g*i)))
#Result
print("Mass of propellant necessary to be burnt is, m= %.0fkg"%math.ceil(m1))
```

In [4]:

```
#Variable Declaration
m=2950.0 #initial mass of the satellite
F=450.0 #required thrust
T=10.0 #thrust for time period
i=300.0 #specific impulse of a propellant
g=9.807 #acceleration due to gravity
#Calculation
mi=F*T/(i*g)
#Result
print("Mass of propellant that would be consumed is, m=%.2fkg"%mi)
```

In [5]:

```
import math
#Variable Declaration
p=2000.0 # electrical energy to be generated from solar panel in Watt
fi=1250.0 # solar flux falling normally to the solar cell in worst case
s=4*10**-4 # Area of each solar cell
e=0.15 # conversion efficiency of solar cell includingthe losses
theta=10.0 # angle made by rays of sun with normal
#Calculation
n=p/(fi*s*e)
n1=math.ceil(n)*math.pi
n2=math.ceil(n1)/math.cos(math.pi*(theta)/180.0)
#Result
print("Required no of solar cells, n = %.0f cells"%math.ceil(n1))
print("\n No of cells when sunrays are making an angle of 10° are %.0f"%math.ceil(n2))
```

In [6]:

```
#Variable Declaration
p=3600.0 #Power required
t=1.2 #worst case eclipse period
c=90.0 #capacity of each cell in Ah
v=1.3 #voltage of each cell in V
d=0.8 # Depth of discharge
e=0.95 #Discharge efficiency
E_sp=60.0 #specific energy specification of the battery
#Calculation
energy=p*t
n=energy/(c*v*d*e)
E_b=energy/(d*e)
m=E_b/E_sp
#Result
print("No of cells, n= %.0f cells\n Energy required to be stored in the battery system is %.1f Wh\n Mass of battery system = %.2f kg"%(n,E_b,m))
```

In [9]:

```
import math
#Variable Declaration
theta=0.5 #azimuth beam width=Elevation beam width
f=6.0*10**9 #operating frequency 6 Ghz
c=3.0*10**8 #speed of light in cm/s
#Calculation
theta_r=theta*math.pi/180.0
theta_r=math.ceil(theta_r*10**5)/10**5
A=4*math.pi/(theta_r**2)
A=math.ceil(A*100)/100
A_dB=10*math.log10(A)
lam=c/f
Ag=(A*lam**2)/(4*math.pi)
#Result
print("Gain in dB = %.2f dB \nAntenna gain expressed in terms of\nantenna aperture(A) is given by G = %.2f m^2"%(A_dB,Ag))
```

In [10]:

```
#Variable Declaration
la=0.5 #length efficiency in azimuth direction
le=0.7 #length efficiency in elevation direction
A=10 #Actual projected area of an antenna
#Calculation
Ae=la*le
Aee=Ae*A
#Result
print("Aperture efficiency = %.2f \n Effective Aperture = %.1f m^2"%(Ae,Aee))
```

In [11]:

```
import math
#Variable Declaration
p=100 #Antenna power in W
pd=10 #Power Density in mW/m^2
d=1000 #distance in m
p2=10000 #New antenna power
#Calculation
directivity=10*math.log10(p2/p)
#Result
print("Directivity (in dB)= %d dB"%directivity)
```

In [12]:

```
#Variable Declaration
beam_w=0.4 #antenna's 3dB beam width
Ae=5 #Effective Aperture of Antenna
#Result
print("The null-to-null beam width of a paraboloid reflector is twice its 3dB beam width. \n Therefore, Null-to-null beam width = %.1f°"%(2*beam_w))
```

In [13]:

```
import math
#Variable Declaration
d=20.0 #received signal strenth in dB
loss=3.0 #incident polarization is circular and antenna is circularly polarized
theta=60.0 #received wave making angle with horizontal
#Calculation
total=d+loss
los=d*math.log10(1/math.cos(math.pi*theta/180.0))
#Result
print("(a)\n When received polarization is same as antenna \n polarization,thepolarization loss is zero.\n Therefore, received sinal strenth = %ddB"%total)
print("\n\n(b)\n When the incident wave is vertically polarized,\n the angle between incident polarization and antenna polarization is 90°\n Hence, Polarization loss = infinity\n received signal strength = 0")
print("\n\n(c)\n When incident wave is left-hand circularly polarized\n and antenna polarization is linear,\n then there is polarization loss of %ddB and\n received signal strength is %ddB"%(loss,d))
print("\n\n(d)\n Polarization loss = %ddB \n Received signal strength = %ddB"%(los,math.ceil(total-los)))
```

In [14]:

```
import math
#Variable Declaration
Ea=1 #effective aperture
f=11.95*10**9 #downlink operating frequency
c=3*10**8 #speed of light
Ae=math.floor((math.pi*1000*Ea**2)/4)/1000
lamda=math.floor(c*1000/f)/1000
ag=math.floor(100*4*math.pi*Ae/lamda**2)/100
adb=math.floor(100*10*math.log10(ag))/100
width=70*lamda/Ea
print("Operating wavelength = %.3fm\n Antenna Gain = %.2f\n Antenna Gain in dB = %.2fdB\n 3dB beam width = %.2f°"%(lamda,ag,adb,width))
```

In [15]:

```
import math
#Variable Declaration
f=2.0 # reflector focal length
d=2.0 # reflector diameter
l=90.0/100.0 # 90% of the angle
#Calculation
theta=4*180.0*(math.atan(1/(4*f/d)))/math.pi
theta=4*180.0*math.atan(0.25007)/math.pi # this value gives exact answer as in book
dbw=l*theta
#Result
print("The angle subtended by the focal point feed\n at the edges of the reflector is, theeta = %.2f°\n\n 3dB beam width = %.2f°\n null-to-null beam width = % .2f°"%(theta,dbw,math.floor(200.0*dbw)/100.0))
```

In [16]:

```
import math
#Variable Declaration
c=3*10**8 #speed of light
f=2.5*10**9 #operating frequency
s=0.1 #inter element spacing
theta =10 #10° right towards array axis
#Calculation
l=c/f
fi=(360*s/l)*math.ceil(10000*math.sin(math.pi*theta/180.0))/10000
fi=math.ceil(10*fi)/10
#Result
print("The phase angle for elements 1,2,3,4 and 5 \n are respecively 0°,%.1f°,%.1f°,%.1f° and %.1f°"%(fi,2*fi,3*fi,4*fi))
```

In [17]:

```
import math
#Variable Declaration
p=10000 #power fed to the antenna in W
ag=60 #Antenna gain
loss=2 #Power lossin feed system
#Calculation
adb=10*math.log10(p)
EIRP=adb+ag-loss
#Result
print("Earth station EIRP = %ddB"%EIRP)
```