# chapter 6: Multiple Access Techniques¶

### Example 6.1, page no-230¶

In :
#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 :
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 :
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 :
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 :
#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 :
#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 :
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