# Chapter 3: The Geostationary Orbit¶

## Example 3.1, Page 71¶

In :
import math
#Variable Declaration

Pss=-90   #Location of geostationary satellite(degrees)
PE=-100   #Longitude of the earth station antenna(degrees)
LE=35     #Latitude of the earth station antenna(degrees)

#Calculation

B=PE-Pss   #Angle between planes containing a and c(degrees)
b=math.acos(math.cos(B)*math.cos(LE)) #Angle of plane containing b(radians)
A=math.asin(math.sin(abs(B*3.142/180))/math.sin(b)) #Angle between planes containing b and c (radians)

A=A*180/3.142  #Converting A into degrees
#LE>0 and B<0 by observation
Az=round(180-A,2)  #Azimuth angle(degrees)

#Result

print "The azimuth angle for the given earth station antenna is", Az,"degrees"

The azimuth angle for the given earth station antenna is 164.55 degrees


## Example 3.2, Page 73¶

In :
#Variable Declaration

aGSO= 42164  #Circumference of earth(km)
b=0.632 #values of b from Example 3.1 (radians)
#Calculation
import math
d=math.sqrt(R**2+aGSO**2-2*R*aGSO*math.cos(b)) #Range of earth station antenna (km)
El=math.acos(aGSO*math.sin(b)/d)*180/math.pi  #Elevation angle(degrees)
d=round(d)
El=round(El)
#Results

print "The range of earth station antenna is", d,"km"
print "Elevation angle is", El,"degrees"

The range of earth station antenna is 37214.0 km
Elevation angle is 48.0 degrees


## Example 3.3, Page 77¶

In :
import math
#Variable Declaration

LE=49  #Latitude of earth station(degrees)
aGSO=42164  #Circumference of earth(km)

#Calculation
d=(R**2+aGSO**2-2*R*aGSO*math.cos(LE*3.142/180))**0.5  #Range of earth station antenna

El0=El0*180/3.142  #Converting El0 to degrees

delta=round(90-El0-LE)  #Angle of tilt required for polar mount

#Results

print "The Angle of tilt required for polar mount is", delta,"degrees"

The Angle of tilt required for polar mount is 7.0 degrees


## Example 3.4, Page 78¶

In :
import math
#Variable Declaration

LE=48.42  #Latitude of earth station(degrees)
PE=-89.26 #Longitute of earth station(degrees)
Elmin=5  #Minimum angle of elevation(degrees)
aGSO=42164  #Circumference of earth(km)

#Calculation

Smin=90+Elmin
S=math.asin(R*math.sin(Smin*3.142/180)/aGSO)*180/math.pi  #Angle subtended at the satellite(degrees)

b=180-Smin-S   #Angle of plane containing b(degrees)
B=math.acos(math.cos(b*3.142/180)/math.cos(LE*3.142/180))*180/math.pi#Angle between the planes containing a and c(degrees)

#Results

print "The satellite limit east of the earth station is at", round(PE+B),"Degrees approximately"
print "The satellite limit west of the earth station is at", round(PE-B),"Degrees approximately"

The satellite limit east of the earth station is at -20.0 Degrees approximately
The satellite limit west of the earth station is at -158.0 Degrees approximately


## Example 3.5, Page 80¶

In :
import math
#Variable Declaration
y=2000       #year
d=223.153    #day
n=1.002716   #mean motion(1/day)
w=272.5299   #rate of regression of nodes(degrees)
e=0.000352   #Eccentricity
W=247.9161   #Rate of regression of line of apsides(degrees)
M=158.0516   #Mean Anomaly at given time
JD00=2451543.5  #Julian days for Jan 0.0 2000

#Calculation

JD=JD00+d  #Julian days for given day
JDref=2415020   #Reference Julian days
JC=36525
T=round((JD-JDref)/JC,4)  #Time in julian Centuries
UT=d-223  #Universal Time, fraction of the day
UT=2*math.pi*UT #Universal time converted to fraction of earth rotation (radians)

GST=(GST+UT)*180/3.1421

GST=(math.fmod(GST,360))#using fmod multiplr revolutions are removed (degrees)
GST=round(GST,3)
v=M+2*e*M  #True Anomaly(degrees)

Pssmean=W+w+M-GST #longitude for INTELSAT(degrees)
Pssmean=math.fmod(Pssmean,360) #fmod removes multiple revolutions
Pss=w+W+v-GST#longitude for INTELSAT(degrees)
Pss=math.fmod(Pss,360)#fmod removes multiple revolutions

#Results
print "The longitude of INTELSAT 805 is", round(Pss,3),"Degrees"
print "The average longitude of INTELSAT 805 is", round(Pssmean,3),"Degrees"

The longitude of INTELSAT 805 is 304.625 Degrees
The average longitude of INTELSAT 805 is 304.514 Degrees