chapter 6: Multiple Access Techniques

Example 6.1, page no-230

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))
(a)
The length of reference burst(from given data) is 1486 bits

(b)
The length of traffic burst premable(from given data)is 934 bits

(c)
Total number of overhead bits is 23060 bits

Example 6.2, page no-230

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)
Frame efficiency = 98.72%

Example 6.3, page no-231

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))
The number of bits in a frame for a voice sub-burst is 1280

The total no of bits available in a frame for carrying traffic is 1776960

Maximum no of PCM voice channels in a frame is 1388 channels

Example 6.4, page no-231

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))
variation in altitude caused by orbit inclination = 105.4km
 variation due to station-keeping error of 0.3° = 220.7km

 Both these errors will introduce a maximum range variation of 244.6km
 This cause a one-way propagation delay of 0.815ms
 Round trip propagation delay =1.63ms
 Dopler Shift = 1.63 ms in 8h=56.25 ns/s

Example 6.5, page no-238

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))
Chip Duration, Tc = 56 ns 
 This gives maximum chip rate as (1/56)Gbps = 1000/56 Mbps = 17.857 Mbps

Example 6.6, page no-238

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))
The maximum allowable timing error per satellite round trip is 8 ns
 This 8 ns error is to occur in 280 ms.
 Therefore, maximum permissible Dopler effect variation is 28.57 ns/s

Example 6.7, page no-238

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)
Noise reduction achhievable = Processing gain = 30 dB