In [1]:

```
#Variable Declaration
t=20 #TDMA frame length in ms
lc=352 #length of carrier and clock recovery frequency in bits
lu1=48 #length of unique word in bits
lo=510 #length of order wire channel in bits
lm= 256 #length of management channel in bits
lt=320 # length of transmit timming channel in bits
ls1=24 # length of service channel in bits
gt=64 # Guard time in bits
rb=2 # reference burst
#Calculation
lr=lc+lu1+lo+lm+lt
tb=lc+lu1+lo+ls1
tob=(lr*rb)+(tb*t)+((t+rb)*gt)
#Result
print("(a)\nThe length of reference burst(from given data) is %d bits\n\n(b)\nThe length of traffic burst premable(from given data)is %d bits\n\n(c)\nTotal number of overhead bits is %d bits"%(lr,tb,tob))
```

In [2]:

```
import math
#Variable Declaration
t=20 # TDMA frame length in ms
lc=352 # length of carrier and clock recovery frequency in bits
lu1=48 # length of unique word in bits
lo=510 # length of order wire channel in bits
lm=256 # length of management channel in bits
lt=320 # length of transmit timming channel in bits
ls1=24 # length of service channel in bits
gt=64 # Guard time in bits
rb=2 # reference burst
br=90.0*10**6 # burst bit rate 90Mbps
#Calculation
bfr=br*t*10**-3
lr=lc+lu1+lo+lm+lt
tb=lc+lu1+lo+ls1
tob=(lr*rb)+(tb*t)+((t+rb)*gt)
feff=(bfr-tob)*100/bfr
feff=math.ceil(feff*100)/100
#Result
print("Frame efficiency = %.2f%%"%feff)
```

In [4]:

```
import math
#Variable Declaration
t=20 # TDMA frame length in ms
lc=352 # length of carrier and clock recovery frequency in bits
lu1=48 # length of unique word in bits
lo=510 # length of order wire channel in bits
lm= 256 # length of management channel in bits
lt=320 # length of transmit timming channel in bits
ls1=24 # length of service channel in bits
gt=64 # Guard time in bits
rb=2 # reference burst
br=90.0*10**6 # burst bit rate 90Mbps
dr= 64.0*10**3 #data rate 64 kbps
#Calculation
bfr=br*t*10**-3
lr=lc+lu1+lo+lm+lt
tb=lc+lu1+lo+ls1
tob=(lr*rb)+(tb*t)+((t+rb)*gt)
feff=(bfr-tob)*100/bfr
feff=math.ceil(feff*100)/100
vsb=dr*t*10**-3
x=bfr*feff/100
#Result
print("The number of bits in a frame for a voice sub-burst is %d\n\nThe total no of bits available in a frame for carrying traffic is %d\n\nMaximum no of PCM voice channels in a frame is %d channels"%(vsb,x,x/vsb))
```

In [5]:

```
import math
#Variable Declaration
R=42150.0 # orbital radius of satellite
oi=0.25/100.0 # orbit inclination
acc=0.3 # error of 0.3 degree
c=3.0*10**8 # speed of light
x=oi*R
#Calculation
x=math.ceil(x*10)/10
y=R*2*math.pi*acc/360.0
y=math.ceil(y*10)/10
z=math.sqrt(x**2+y**2)
z=math.ceil(z*10)/10
delay=z*10**6/c
delay=math.floor(delay*1000)/1000
pd=2*delay
#Result
print("variation in altitude caused by orbit inclination = %.1fkm\n variation due to station-keeping error of 0.3° = %.1fkm"%(x,y))
print("\n Both these errors will introduce a maximum range variation of %.1fkm\n This cause a one-way propagation delay of %.3fms\n Round trip propagation delay =%.2fms\n Dopler Shift = %.2f ms in 8h=56.25 ns/s"%(z,delay,delay*2,pd))
```

In [6]:

```
#Variable Declaration
de=40.0 # Doppler effect variation due to station-keeping errors in ns/s
d=280.0 # Sttelite round trip delay in ms
c=20.0/100.0 # DS-CDMA signals should not exceed 20% of the chip duration
#Calculation
te=de*10**-9*d*10**-3
tc=te/c
#Result
print("Chip Duration, Tc = %.0f ns \n This gives maximum chip rate as (1/56)Gbps = 1000/56 Mbps = %.3f Mbps"%(tc*10**9,1000.0/56.0))
```

In [7]:

```
#Variable Declaration
cr=25.0 #Chip rate is 25 Mbps
c=20.0/100.0 # DS-CDMA signals should not exceed 20% of the chip duration
d=1000/cr #chip duration in ns
#Calculation
tr=c*d
x=tr/(280.0*10**-3)
#Result
print("The maximum allowable timing error per satellite round trip is %.0f ns\n This %.0f ns error is to occur in 280 ms.\n Therefore, maximum permissible Dopler effect variation is %.2f ns/s"%(tr,tr,x))
```

In [8]:

```
import math
#Variable Declaration
cr=20.0*10**6 #chip rate in Mbps
ir= 20.0*10**3 #information bit rate
#Calculation
g=10*math.log10((cr)/(ir))
#Result
print("Noise reduction achhievable = Processing gain = %.0f dB"%g)
```