Chapter 12: The Space Link

Example 12.1, Page 306

In [1]:
import math

#Variable Declaration
P=6  #Transmit power(Watts)
G=48.2 #Antenna Gain(dB)

#Calculation

EIRP=10*math.log10(P)+G  #Equivalent isotropic radiated power(dB)
EIRP=round(EIRP)
#Result

print "Hence the Equivalent isotropic radiated power is",EIRP,"dBW"
Hence the Equivalent isotropic radiated power is 56.0 dBW

Example 12.2, Page 306

In [2]:
import math

#Variable Declaration

D=3  #Antenna size(m)
f=12 #Operating Frequency(GHz)
n=0.55 #Aperture efficiency

#Calculation

G=n*(10.472*f*D)**2  #Antenna Gain
G=10*math.log10(G)  #Converting Antenna gain to dB
G=round(G,1)
#Result

print "The Antenna gain with given parameters is", G,"dB"
The Antenna gain with given parameters is 48.9 dB

Example 12.3, Page 308

In [3]:
import math

#Variable Declaration
r=42000      #Range between ground station and satellite
f=6000          #Frequency(MHz)

#Calculation

FSL=32.4+20*math.log10(r)+20*math.log10(f)  #Free space loss(dB)
FSL=round(FSL,1)
#Result

print "The free space loss at given frequency is", FSL, "dB"
The free space loss at given frequency is 200.4 dB

Example 12.4, Page 311

In [4]:
#Variable Declaration

FSL=207   #Free space loss(dB)
RFL=1.5   #receiver feeder loss(dB)
AA=0.5    #Atmospheric Absorption loss(dB)
AML=0.5   #Antenna Alignment loss(dB)

#Calculation

LOSSES=FSL+RFL+AA+AML   #Total link loss (dB)

#Results

print "The total link loss is", LOSSES,"dB"
The total link loss is 209.5 dB

Example 12.5, Page 312

In [5]:
#Variable Declaration

TAn=35  # Antenna Noise Temperature(Kelvin)
TRn=100 # Receiver Noise Temperature(Kelvin)
k=1.38*10**-23  #Boltzman constant(joules)
B=36*10**6  #Bandwidth

#Calculation

N0=(TAn+TRn)*k   #noise power density(10**-21 joules)
PN=N0*B/10**-12         #Noise power for given bandwidth(picoWatts)


#Results

print "The noise Power density is", N0,"Joules"
print "The noise power for given bandwidth is",PN,"pW"
The noise Power density is 1.863e-21 Joules
The noise power for given bandwidth is 0.067068 pW

Example 12.6, Page 317

In [6]:
#Variable Declaration

TRn=12   #Receiver Noise figure(dB)
G=40     #Gain of LNA(dB)
T0=120  #Noise temperature(Kelvin)

#Calculation

F=10**(TRn/float(10))   #Converting noise power to ratio
Te=(F-1)*290     #Noise Temperature of the amplifier
G=10**(G/10)     #Converting Gain of LNA to ratio
Tn=T0+Te/G       #Overall Noise Temperature(Kelvin)
Tn=round(Tn,2)

#Result

print "The overall noise temperature is", Tn, "Kelvin"
The overall noise temperature is 120.43 Kelvin

Example 12.7, Page 319

In [7]:
#Variable Declaration

Tant=35     #Antenna noise temperature(kelvin)
Te1=150     #Receiver noise temperature(kelvin)
L=5         #Cable Loss (dB)
T0=290    
G1=10**5    #LNA Gain
F=12        #Receiver Noise figure(dB)

#Calculation

L=10**(L/float(10))  #Converting L into ratio
F=10**(F/float(10))  #Converting F into ratio
Ts=Tant+Te1+(L-1)*T0/G1+L*(F-1)*T0/G1  #Noise Temperature referred to the input(Kelvin)
Ts=round(Ts)

#Result

print "The noise temperature referred to the input is",Ts,"Kelvin"
The noise temperature referred to the input is 185.0 Kelvin

Example 12.8, Page 320

In [8]:
#Variable Declaration

Tant=35     #Antenna noise temperature(kelvin)
Te1=150     #Receiver noise temperature(kelvin)
L=5         #Cable Loss (dB)
T0=290    
G1=10**5    #LNA Gain
F=12        #Receiver Noise figure(dB)

#Calculation

L=10**(L/float(10))  #Converting L into ratio
F=10**(F/float(10))  #Converting F into ratio


Ts=Tant+(L-1)*T0+L*Te1+L*(F-1)*T0/G1  #Noise Temperature referred to the input(Kelvin)
Ts=round(Ts)

#Result

print "The noise temperature referred to the input is",Ts,"Kelvin"
The noise temperature referred to the input is 1137.0 Kelvin

Example 12.9, Page 322

In [9]:
import math
#Variable Declaration

FSL=206    #Free space loss(dB)
APL=1      #Antenna Pointing loss(dB)
AAL=2      #Atmospheric Absorption loss(dB)
RFL=1      #Receiver feeder loss(dB)
EIRP=48    #Equivalent isotropically radiated power(dBW)
f=12       #Frequency(GHz)
GTR=19.5   #G/T ratio(dB/K)
k=-228.60  #Value of k(dB)

#Calculation

LOSSES=FSL+APL+AAL+RFL #Total loss(dB)
CNR=EIRP+GTR-LOSSES-k  #Carrier to noise ratio(dBHz)

#Result

print "The carrier to noise ratio is",CNR,"dB"
The carrier to noise ratio is 86.1 dB

Example 12.10, Page 324

In [10]:
import math

#Variable Declaration
f=14        #Frequency(GHz)
Ps=-120     #Flux density required to saturate the transponder(dBW/m2)
LOSSES=2    #Propogation Losses(dB)
FSL=207     #Free-space loss(dB)

#Calculation

A0=-21.45-20*math.log10(f)   #Effective antenna aperture(dB)
EIRP=Ps+A0+LOSSES+FSL #Equivalent isotropically radiated power(dB)
EIRP=round(EIRP,2)

#Result
print "The earth station EIRP required for saturation is",EIRP,"dBW"
The earth station EIRP required for saturation is 44.63 dBW

Example 12.11, Page 325

In [11]:
import math
#Variable Declaration

Ps=-91.4      #saturation flux density(dBW/m2)
f=14          #uplink frequency(GHz)
GTR=-6.7      #G/T (dB/k)
BO=11        #Input Back off(dB)
k=-228.6       #Value of k(dB)
RFL=0.6      #receiver feeder loss

#Calculation

A0=-21.5-20*math.log10(f)   #Effective antenna aperture(dB)
A0=round(A0,1)
CNR=Ps+A0-BO+GTR-k-RFL    #carrier to noise ratio(dB)

#Result
print A0
print "The carrier to noise ratio is",CNR,"dB"
-44.4
The carrier to noise ratio is 74.5 dB

Example 12.12, Page 326

In [12]:
import math

#Variable Declaration

B=36     #Transponder Bandwidth(MHz)
CNR=22   #Carrier to noise ratio(dB)
LOSSES=200  #Total transmission losses(dB)
GTR=31     #Earth station G/T (dB/K)
k=-228.6   #Value of k(dB)

#Calculation
B=10*math.log10(B*10**6)   #Converting Bandwidth to dB
EIRP=CNR-GTR+LOSSES+k+B    #Equivalent isotropically radiated power(dB)
EIRP=round(EIRP)
#Result

print "Satellite EIRP required is",EIRP,"dB"
Satellite EIRP required is 38.0 dB

Example 12.13, Page 327

In [13]:
import math
#Variable Declaration

B=36*10**6      #Transponder Bandwidth(Hz)
R=0.2     #Roll off factor 
GTR=31    #Earth station G/T(dB/K)
LOSSES=200  #Total transmission losses(dB)
k=-228.6    #Value of k(dB)
BER=10**-5  #Value of Bit error rate
EbN0R=9.6   #Value of Eb/N0 from fig.10.17
#Calculation

Rb=2*B/(1+R)      #Bit rate(sec^-1)
Rb=10*math.log10(Rb)  #Converting Rb into decibels
CNR=EbN0R+Rb      #Carrier to noise ratio(dB)
EIRP=CNR-GTR+LOSSES+k  #Equivalent Isotropically radiated power(dBW)
Rb=round(Rb,1)
EIRP=round(EIRP,1)

#Results

print "Bit rate that can be accommodated is",Rb,"dB"
print "The EIRP required is",EIRP,"dBW"
Bit rate that can be accommodated is 77.8 dB
The EIRP required is 27.8 dBW

Example 12.14, Page 328

In [14]:
import math

#Variable Declaration

EIRP=25    #Satellite saturation value(dBW)
BO=6       #Output Backoff loss(dB)
FSL=196    #Free space loss(dB)
DL=1.5     #Downlink losses(dB)
GTR=41     #Earth station G/T(dB/K)
k=-228.6   #Value of k(dB)

#Calculation

CNR=EIRP-BO+GTR-FSL-DL-k  #Carrier to noise ratio(dB)

#Result

print "The Carrier to noise density ratio at the earth station is",CNR,"dB"
The Carrier to noise density ratio at the earth station is 91.1 dB

Example 12.15, Page 329

In [15]:
#Variable Declaration

EIRP=56   #Equivalent Isotropically radiated power(dBW)
BO=6      #Output Backoff(dB)
TFL=2     #Transmitter feeder loss(dB)
GT=50     #Antenna gain(dB)

#Calculation

PTWTA=EIRP-GT+TFL   #Power output of TWTA(dBW)
PTWTAS=PTWTA+BO     #Saturated power output of TWTA(dBW)

#Result

print "Power output of the TWTA required for full saturated EIRP is",PTWTAS,"dBW"
Power output of the TWTA required for full saturated EIRP is 14 dBW

Example 12.16, Page 332

In [16]:
import math

#Variable Declaration

alpha=1.9    #Rain attenuation(dB)
CNR=20       #Downlink carrier to noise ratio(dB)
Tn=400       #Effective Noise temperature(Kelvin)
Ta=280       #Reference temperature(Kelvin)

#Calculation

alpha1=10**(alpha/10)  #Converting alpha to ratio
Trn=Ta*(1-1/alpha1)    #Equivalent noise temperature of rain(kelvin)
Trn=round(Trn,1)
Ts=Tn+Trn        #New system noise temperature
delp=10*math.log10(Ts/Tn)  #Decibel increase in noise power
CNRN=CNR-delp-alpha   #Value below which CNR falls(dB)
CNRN=round(CNRN,2)

#Result

print "The value below which C/N falls for 0.1 percent of time is",CNRN,"dB"
The value below which C/N falls for 0.1 percent of time is 17.14 dB

Example 12.17, Page 333

In [17]:
import math

#Variable Declaration

CNR=17.4   #Clear sky input C/N (dB)
T=10       #Threshold level for FM etector(dB)
Ta=272     #Value of Ta(Kelvin)
Tscs=544   #Value of Tscs(Kelvin)

#Calculation

TM=CNR-T    #Threshold margin at FM detector(dB)
CNR=10**(CNR/10)  #Converting CNR to ratio
NCR=1/float(CNR)

import scipy
import scipy.optimize
def f(A):
    y=0.1-NCR*(A+(A-1)*Ta/Tscs)
    return y
A=scipy.optimize.fsolve(f,2)

A=10*math.log10(A)  #Converting A into decibels
A=round(A)

# Getting the value of probablity of exceeding A from the curve

if (A==6):
   P=2.5*10**-4 
else:
   print "error"

Av=100*(1-P)  #Availability(percentage)

#Result

print "The time system stays above threshold is",Av,"percentage"
The time system stays above threshold is 99.975 percentage

Example 12.18, Page 336

In [18]:
import math
#Variable Declaration

Nu=100   #Noise spectral density for uplink(dBHz)
Nd=87    #Noise spectral density for downlink(dBHz)

#Calculation

N0CR=10**(-Nu/10)+10**(-Nd/10)  #Noise to carrier ratio
CNR=-10*math.log10(N0CR)   #Combined c/N0 ratio(dBHz)
CNR=round(CNR,2)
#Result

print "The combined carrier to noise ratio is",CNR,"dBHz"
The combined carrier to noise ratio is 89.59 dBHz

Example 12.19, Page 337

In [19]:
import math
#Variable declaration

#For uplink

Ps=-67.5   #Saturation flux density(dB)
A0=-37     #Antenna aperture at 6GHz(dB)
IBO=-11    #Input Backoff(dB)
GTRs=-11.6 #Satellite saturation G/T (dB)
k=-228.6   #Value of k(dB)

#For Downlink

EIRP=26.6  #Satellite EIRP(dB)
OBO=-6     #output Backoff(dB)
FSL=-196.7 #Free Space loss(dB)
GTRe=40.7  #Earth station G/T(dB)

#Calculation

CNRu=Ps+A0+IBO+GTRs-k     #Carrier to noise ratio for uplink(dB)
CNRd=EIRP+OBO+FSL+GTRe-k#Carrier to noise ratio for downlink(dB)
N0CR=10**(-CNRu/10)+10**(-CNRd/10)  #Noise to carrier ratio
CNR=-10*math.log10(N0CR)   #Combined c/N0 ratio(dBHz)
CNR=round(CNR,2)
#results

print "The Carrier to noise ratio for uplink is",CNRu,"dB"
print "The Carrier to noise ratio for downlink is",CNRd,"dB"
print "The combined carrier to noise ratio is",CNR,"dBHz"
The Carrier to noise ratio for uplink is 101.5 dB
The Carrier to noise ratio for downlink is 93.2 dB
The combined carrier to noise ratio is 92.6 dBHz

Example 12.20, Page 338

In [20]:
import math

#Variable Declaration

CNRu=23   #carrier to noise ratio for uplink(dB)
CNRd=20   #carrier to noise ratio for downlink(dB)
CNRm=24   #carrier to noise ratio for intermodulation(dB)

#Calculation

NCR=10**(-CNRu/float(10))+10**(-CNRd/float(10))+10**(-CNRm/float(10))  #Combined Noise to carrier ratio


CNR=-10*math.log10(NCR)  #Combined carrier to noise ratio(dB)
CNR=round(CNR,2)
#Result

print "The combined carrier to noise ratio is",CNR,"dB"
The combined carrier to noise ratio is 17.21 dB