chapter 7: Satellite Link Design Fundamentals

Example 7.1, page no-249

In [1]:
import math

#Variable Declaration
d=36000 *10**3 #distance of geostationary satellite from earth's surface
Gt=100         # Antenna gain of 20dB
Pt=10          # Power radiated by earth station

#Calculation
Prd=Pt*Gt/(4*math.pi*d**2)


#Result
print("Prd = %.4f * 10 ^-12 W/m^2\nPower received by the receiving antenna is given by  Pr = %.3f pW"%(Prd*10**12,Prd*10**13))
Prd = 0.0614 * 10 ^-12 W/m^2
Power received by the receiving antenna is given by  Pr = 0.614 pW

Example 7.2, page no-262

In [2]:
import math
#Variable Declaration
c=3*10**8        #speed of light 
R=10000          #path length
f=4.0            # operating frequencyin GHz
EIRP=50          #in dB
gr=20            #antenna gain in dB
rp=-120          # received power in dB


#Calculation

#(a)
lamda=c/(f*10**9)
pl=20*math.log10(4*math.pi*R/lamda)

#(b)
Lp=EIRP+gr-rp


#Result
print("(a)\n Operating wavelength = %.3f m\n Path loss(in dB) = %.2f dB"%(lamda,pl))
print("\n\n (b)\n Path loss = %.0fdB"%Lp)
(a)
 Operating wavelength = 0.075 m
 Path loss(in dB) = 124.48 dB


 (b)
 Path loss = 190dB

Example 7.3, page no-262

In [3]:
import math

#Variable Declaration
p=75                   # rotation of plane of polarization

#Polarization rotation is inversaly propotional to square of the operating frequency

f= 5.0                 #frequency increased by factor 
x=f**2                 #rotation angle will decrease by aa factor of 25


#Calculation
k=math.pi/180.0
p_ex=p/x
Apr=-20*math.log10(math.cos(p*k))
Apr2=-20*math.log10(math.cos((p_ex)*k))


#Result
print("For polarization  mismatch angle = 75°\n Attenuation = %.2f dB"%Apr)
print("\n\n For polarization  mismatch angle = 3° \n Attenuation = %.3f dB"%Apr2)
For polarization  mismatch angle = 75°
 Attenuation = 11.74 dB


 For polarization  mismatch angle = 3° 
 Attenuation = 0.012 dB

Example 7.4, page no-270

In [7]:
#Variable Declaration
g1=30         #gain of RF stage in dB
t1=20         #Noise temperature in K
g2=10         #down converter gain in dB
t2=360        #noise temperature in K
g3=15         #gain of IF stage in dB
t3=1000       #noise temperature in K
t=290         #reference temperature in K
G1=1000.0     #30 dB equivalent gain


#Calculation
Te=t1+(t2/G1)+t3/(G1*g2)
F=1+Te/t


#Result
print("Effective noise temperature, Te = %.2fK"%Te)
print("\n\nSystem Noise Figure, F = %.2f"%F)
Effective noise temperature, Te = 20.46K


System Noise Figure, F = 1.07

Example 7.5, page no-271

In [8]:
#Variable Declaration
g1=30         #gain of RF stage in dB
t1=20         #Noise temperature in K
g2=10         #down converter gain in dB
t2=360.0      #noise temperature in K
g3=15         #gain of IF stage in dB
t3=1000       #noise temperature in K
t=290.0       #reference temperature in K
G1=1000.0     #30 dB equivalent gain


#Calculation
F1=1+t1/t
F2=1+t2/t
F3=1+t3/t
F=F1+((F2-1)/G1)+(F3-1)/(G1*g2)


#Result
print("Noise Figure specificatios of the three stages are as follow,\n\n F1 = %.3f\n F2 = %.2f\n F3 = %.2f"%(F1,F2,F3))
print("\n\n The overall noise figure is, F = %.2f"%F)
Noise Figure specificatios of the three stages are as follow,

 F1 = 1.069
 F2 = 2.24
 F3 = 4.45


 The overall noise figure is, F = 1.07

Example 7.6, page no-272

In [9]:
import math

#Variable Declaration
L=1.778           #Loss factor of the feeder 2.5dB equivalent
ts=30             #Noise temperature of sattelite receiver in K
t=50              #Noise temperature in K
ti=290.0          # reference temperature in K


#Calculation
x=t/L
y=ti*(L-1)/L
Te=x+y+ts
F1=1+(ts/ti)
F2=1+(Te/ti)


#Result
print("contribution of antenna noise temperature when\n referred to the input of the receiver is %.1f K"%x)
print("\n\n Contribution of feeder noise when referred to the\n input of the receiver is %.1f"%y)
print("\n\n1. Noise figure in first case = %.3f = %.3f dB"%(F1,10*math.log10(F1)))#answer in book is different 0.426dB
print("\n\n2. Noise figure in second case = %.3f = %.2f dB"%(F2,10*math.log10(F2)))
contribution of antenna noise temperature when
 referred to the input of the receiver is 28.1 K


 Contribution of feeder noise when referred to the
 input of the receiver is 126.9


1. Noise figure in first case = 1.103 = 0.428 dB


2. Noise figure in second case = 1.638 = 2.14 dB

Example 7.7, page no-272

In [10]:
import math

#Variable Declaration
Ta=40          #Antenna Noise temperature
Ti=290.0       #Reference temperature in K
T=50.0         #Effecitve input noise temperatuire

#Calculation
Tf=Ti
L=(Ta-Tf)/(T-Tf)
L=math.ceil(L*10**4)/10**4

#Result
print("Loss factor = %.4f = %.3f dB"%(L,10*math.log10(L)))
Loss factor = 1.0417 = 0.177 dB

Example 7.8, page no-273

In [11]:
import math


#Variable Declaration
Ta=50          #Antenna Noise temperature
Tf=300         #Thermodynamic temperature of the feeder
Te=50          # Effecitve input noise temperatuire


#Calculation for (a)
Lf=1.0
T=(Ta/Lf)+(Tf*(Lf-1)/Lf)+Te

#Result for (a)
print("(a)\n System noise temperature = %.0fK"%T)

#Calculation for (b)
Lf=1.413
T=(Ta/Lf)+(Tf*(Lf-1)/Lf)+Te

#Result for (b)
print("\n\n (b)\n System noise temperature = %.3fK"%(math.ceil(T*10**3)/10**3))
(a)
 System noise temperature = 100K


 (b)
 System noise temperature = 173.072K

Example 7.9, page no-278

In [14]:
import math


#Variable Declaration
e=35     #EIRP radiated by satellite in dBW
g=50     #receiver antenna gain in dB
e1=30    #EIRP of interfacing satellite in dBW
theeta=4 #line-of-sight between earth station and interfacing sattelite


#Calculation
x=(e-e1)+(g-32+25*math.log10(theeta))


#Result
print("carrier-to-interface (C/I) = %.2f dB"%x)
carrier-to-interface (C/I) = 38.05 dB

Example 7.10, page no-279

In [15]:
import math


#Variable Declaration
ea=80      #EIRP value of earth station A in dBW
eb=75      #EIRP value of earth station B in dBW
g=50       #transmit antenna gain in dB
gra=20     #receiver antenna gain for earth station A in dB
grb=15     #receiver antenna gain for earth station B in dB
theeta=4   #viewing angle of the sattelite from two earth station


#Calculation
eirp_d=eb-g+32-25*math.log10(theeta)
c_by_i=ea-eirp_d+(gra-grb)


#Result
print("carrier-to-interference ratio at the satellite due to\n inteference caused by Eart station B is, (C/I) = %.0f dB "%c_by_i)
carrier-to-interference ratio at the satellite due to
 inteference caused by Eart station B is, (C/I) = 43 dB 

Example 7.11, page no-279

In [16]:
import math


#Variable Declaration


u=10000.0    # equivalent to 40dB

#carrier sinal strength at eart station by downlink 
d=3162.28 #equivalent to 35dB


#Calculation
x=1/((1/u)+(1/d))


#Result
print("Total carrier-to-interference ratio is %.2f = %.1f dB"%(x,10*math.log10(x)))
Total carrier-to-interference ratio is 2402.53 = 33.8 dB

Example 7.12, Page no.280

In [17]:
import math

#Variable Declaration
theeta=5.0        #Angle form by slant ranges of two satellites
dA=42100.0*10**3  #Slant range of satellite A
dB=42000.0*10**3  #Slant range of satellite B
r=42164.0*10**3   #radius of geostationary orbit


#Calculation
beeta=((dA**2+dB**2-math.cos(theeta*math.pi/180)*2*dA*dB)/(2*r**2))
beeta=math.ceil(beeta*10**3)/10**3
beeta=(180/math.pi)*math.acos(1-beeta)

#Result
print("Longitudinal separation between two satellites is %.3f°"%beeta)
Longitudinal separation between two satellites is 5.126°

Example 7.13, Page no.281

In [18]:
import math


#Variable Declaration
Ga=60.0     #Antenna Gain in dB
Ta= 60.0    #Noise teperature of Antenna
L1=1.12     #Feeder Loss equivalent to dB
T1=290.0    #Noise teperature of stage 1
G2=10**6    #Gain of stage 2 in dB
T2=140.0    #Noise teperature of stage 2
T3=10000.0  #Noise teperature of stage 3
G=Ga-0.5    #input of low noise amplifier


#Calculation
Ts=(Ta/L1)+(T1*(L1-1)/L1)+T2+(T3/G2)
Ts=math.floor(Ts*100)/100
x=G-10*math.log10(Ts)

#Result
print("Tsi = %.2fK\n\n G/T(in dB/K)= %.0f dB/K"%(Ts,x))
Tsi = 224.65K

 G/T(in dB/K)= 36 dB/K

Example 7.14, Page no.282

In [ ]:
import math

#Variable Declaration
Ga=60.0     #Amplifier Gain in dB
Ta= 60.0    #Noise teperature of Antenna
L1=1.12     #Feeder Loss equivalent to dB
T1=290.0    #Noise teperature of stage 1
G2=10**6    #Gain of stage 2 in dB
T2=140.0    #Noise teperature of stage 2
T3=10000.0  #Noise teperature of stage 3
G=Ga-0.5    #input of low noise amplifier


#Calculation
T=Ta+T1*(L1-1)+L1*(T2+(T3/G2))
x=G-10*math.log10(T)


#Result
print("T = %.1fK\n\n G/T = %.0f dB/k"%(T,math.ceil(x)))
print("\n\n It is evident from the solutions of the problems 13 and 14\n that G/T ratio is invarient regardless of the reference point in agreement \n with a statement made earlier in the text.")

Example 7.15, Page no.286

In [1]:
import math
#Variable Declaration
f=6.0*10**9   # uplink frequency
eirp=80.0     # Earth station EIRP in dBW
r=35780.0     # Earth station satellite distance
l=2.0         # attenuation due to atomospheric factors in dB
e=0.8         # satellite antenna's aperture efficiency
a=0.5         # satellite antenna's aperture area
T=190.0       # Satellite receiver's effective noise temperature 
bw=20.0*10**6 # Satellite receiver's bandwidth
cn=25.0       # received carrier-to-noise ratioin dB
c=3.0*10**8   # speed of light

#Calculation
k=1.38*10**-23
lamda=c/f
G=e*4*math.pi*a/lamda**2
G=math.ceil(G*100)/100
Gd=10*math.log10(G)
p=10*math.log10(k*T*bw)
pl=20*math.log10(4*math.pi*r*10**3/lamda)
rp=eirp-l-pl+Gd
rp=math.floor(rp*100)/100
rc=math.floor((rp-p)*100)/100
lm=rc-cn

#Result
print("Satellite Antenna gain, G = %.2f = %.2f dB \n Receivers Noise Power = %.1f dB\n free-space path loss = %.2f dB \n received power at satellite = %.2f dB \n receiver carrier = %.2f is stronger than noise.\n It is %.2f dB more than the required threshold value.\n Hence,  link margin = %.2f dB"%(G,Gd,p,pl,rp,rc,lm,lm))
Satellite Antenna gain, G = 2010.62 = 33.03 dB 
 Receivers Noise Power = -132.8 dB
 free-space path loss = 199.08 dB 
 received power at satellite = -88.05 dB 
 receiver carrier = 44.75 is stronger than noise.
 It is 19.75 dB more than the required threshold value.
 Hence,  link margin = 19.75 dB