Chapter01:Fiber Optics Communications System

Ex1.7.1:Pg-1.14

In [11]:
#Given
import math
n1= 1.5   #  for glass
n2= 1.33   #  for water
phi1= (math.pi/6)            #  phi1 is the angel of incidence
 #  According to Snell's law...
 #  n1*sin(phi1)= n2*sin(phi2) 
sinphi2= (n1/n2)*math.sin(phi1)   #  phi2 is the angle of refraction..
phi2 = math.asin(sinphi2)
temp= math.degrees(phi2)
print "  The angel of refraction in degrees =",round(temp,2) 
  The angel of refraction in degrees = 34.33

Ex1.7.2:Pg-1.14

In [26]:
#  Given
import math
n1= 1.50     #  RI of glass..
n2 = 1.0       #  RI of air...
 #  According to Snell's law...
 #  n1*sin(phi1)= n2*sin(phi2) 
 #  From definition of critical angel phi2 = 90 degrees and phi1 will be critical angel
t1=(n2/n1)*math.sin(math.pi/2)
phiC=math.asin(t1)
temp= math.degrees(phiC)
print " The Critical angel in degrees =",round(temp,2) 
 The Critical angel in degrees = 41.81

Ex1.7.3:Pg-1.15

In [81]:
 #  Given
 #   To find RI of glass
 #  To find the critical angle for glass...
 
phi1 = 33    #  Angle of incidence..
phi2 = 90    # Angle of refraction..
n2= 1.0 

n1 = round(sin(math.radians(phi2))/sin(math.radians(phi1)),3)  
print " The Refractive Index is  =",n1 

#phiC = math.asin((n2/n1)*math.sin(90)) 
phiC=math.asin(0.54)
print " \n\nThe Critical angel in degrees =",round(math.degrees(phiC),2)
 The Refractive Index is  = 1.836
 

The Critical angel in degrees = 32.68

Ex1.7.4:Pg-1.15

In [91]:
 #  Given
import math
 
n1= 1.5      #  TheRi of medium 1
n2= 1.36     #  the RI of medium 2
phi1= 30     #  The angle of incidence
 #  According to Snell's law...
 #  n1*sin(phi1)= n2*sin(phi2) 
phi2 = math.asin((n1/n2)*math.sin(math.radians(phi1))) 
print " The angel of refraction is  in degrees from normal = ",round(math.degrees(phi2),2)
 The angel of refraction is  in degrees from normal =  33.47

Ex1.7.5:Pg-1.16

In [97]:
# Given
import math
 
n1 = 3.6        #  RI of GaAs..
n2 = 3.4        #  RI of AlGaAs..
phi1 = 80       #  Angle of Incidence..
 #  According to Snell's law...
 #  n1*sin(phi1)= n2*sin(phi2) 
 # At critical angle phi2 = 90...
phiC = math.asin((n2/n1)*sin(math.radians(90)) )
print " The Critical angel in degrees =",round(math.degrees(phiC),2)  
 The Critical angel in degrees = 70.81

Ex1.9.1:Pg-1.22

In [100]:
#  Given
import math 

n1= 1.5      #  RI of medium 1
n2 =1.45     #  RI of medium 2

delt= (n1-n2)/n1 
NA = n1*(math.sqrt(2*delt)) 
print " The Numerical aperture  =",round(NA,2)
phiA = math.asin(NA) 
print " \n\nThe Acceptance angel in degrees =",round(math.degrees(phiA),2) 

phiC = math.asin(n2/n1) 
print " \n\nThe Critical angel in degrees =",round(degrees(phiC),2)
 The Numerical aperture  = 0.39
 

The Acceptance angel in degrees = 22.79
 

The Critical angel in degrees = 75.16

Ex1.9.2:Pg-1.23

In [101]:
#  Given
import math

n1= 1.5  #  RI of core
n2 = 1.48    #  RI of cladding..

NA = math.sqrt((n1**2)-(n2**2)) 
print " The Numerical Aperture   =",round(NA,2) 

phiA = math.asin(NA) 
print " \n\nThe Critical angel   =",round(math.degrees(phiA),2) 
 The Numerical Aperture   = 0.24
 

The Critical angel   = 14.13

Ex1.9.3:Pg-1.23

In [104]:
#  Given
import math 
 

NA = 0.35           # Numerical Aperture
delt = 0.01 
 # NA= n1*(math.sqrt(2*delt)      n1 is RI of core
n1 = 0.35/(math.sqrt(2*delt)) 
print "The RI of core  =",round(n1,4) 

 #  Numerical Aperture is also given by 
 #  NA = math.sqrt(n1**2 - n2**2)    #  n2 is RI of cladding
n2 = math.sqrt((n1**2-NA**2)) 
print " \n\nThe RI of Cladding =",round(n2,3) 
The RI of core  = 2.4749
 

The RI of Cladding = 2.45

Ex1.9.4:Pg-1.24

In [106]:
#  Given
import math

Vc = 2.01*10**8        #  velocity of light in core in m/sec...
phiC= 80.0             #  Critical angle in degrees...

 #  RI of Core (n1) is given by (Velocity of light in air/ velocity of light in air)...
n1= 3*10**8/Vc 
 #  From critical angle and the value of n1 we calculate n2...
n2 = sin(math.radians(phiC))*n1   #  RI of cladding...
NA = math.sqrt(n1**2-n2**2) 
print " The Numerical Aperture  =",round(NA,2) 
phiA = math.asin(NA)            #  Acceptance angle...
print " \n\nThe Acceptance angel in degrees =",round(math.degrees(phiA),2) 
 The Numerical Aperture  = 0.26
 

The Acceptance angel in degrees = 15.02

Ex1.9.5:Pg-1.25

In [107]:
#  Given
import math
n1 = 1.4         # RI of Core..
n2 = 1.35        # RI of Cladding

phiC = math.asin(n2/n1)             # Critical angle..
print " The Critical angel in degrees =",round(math.degrees(phiC),2) 

NA = math.sqrt(n1**2-n2**2)         #  numerical Aperture...
print " \n\nThe Numerical Aperture is  =",round(NA,2) 

phiA = math.asin(NA)         #  Acceptance angle...  
print " \n\nThe Acceptance angel in degrees =",round(math.degrees(phiA),2) 
 The Critical angel in degrees = 74.64
 

The Numerical Aperture is  = 0.37
 

The Acceptance angel in degrees = 21.77

Ex1.9.6:Pg-1.25

In [110]:
#  Given
import math
n1 = 1.48        #  RI of core..
n2 = 1.46        #  RI of Cladding..

NA = math.sqrt(n1**2-n2**2)         # Numerical Aperture..
print " The Numerical Aperture is =",round(NA,3) 

theta = math.pi*NA**2         #  The entrance angle theta..
print " \n\nThe Entrance angel in degrees =",round(theta,3) 
 The Numerical Aperture is = 0.242
 

The Entrance angel in degrees = 0.185

Ex1.9.7:Pg-1.26

In [112]:
#  Given
import math 

delt = 0.007          #  relative refractive index difference 
n1 = 1.45        #  RI of core...
NA = n1* math.sqrt((2*delt)) 
print " The Numerical Aperture is   =",round(NA,4) 
 The Numerical Aperture is   = 0.1716

Ex1.9.8:Pg-1.26

In [114]:
 #  Given
import math

phiA = 8         #  accepatance angle in degrees...
n1 =1.52         # RI of core...

NA = sin(math.radians(phiA))          # Numerical Aperture...

delt = NA**2/(2*(n1**2))        # Relative RI difference...
print " The relative refractive index difference  =",round(delt,5) 
 The relative refractive index difference  = 0.00419

Ex1.9.9:Pg-1.27

In [3]:
# Given
import math
delt = 0.01       #  relative RI difference..
n1 = 1.48        #  RI of core...

NA = n1*(math.sqrt(2*delt))        # Numerical Aperture..
print " The Numerical Aperture =",round(NA,3) 

theta = math.pi*NA**2         # Solid Acceptance angle...
print " \n\nThe Solid Acceptance angel in degrees =",round(theta,4) 

n2 = (1-delt)*n1 
phiC = math.asin(n2/n1)          # Critical Angle...
print " \n\nThe Critical angel in degrees =",round(math.degrees(phiC),2) 
print " \n\nCritical angle wrong due to rounding off errors in trignometric functions..\n Actual value is 90.98 in book." 
 The Numerical Aperture = 0.209
 

The Solid Acceptance angel in degrees = 0.1376
 

The Critical angel in degrees = 81.89
 

Critical angle wrong due to rounding off errors in trignometric functions..
 Actual value is 90.98 in book.

Ex1.14.1:Pg-1.41

In [4]:
# Given
import math
d = 50*10**-6         #  diameter of fibre...
n1 = 1.48        # RI of core..
n2 = 1.46        # RI of cladding..
lamda = 0.82*10**-6       # wavelength of light..

NA = math.sqrt(n1**2-n2**2)        #  Numerical Aperture..
Vn= math.pi*d*NA/lamda       # normalised frequency...
M = Vn**2/2       #  number of modes...
print "  The number of modes in the fibre are  =",int(M) 
  The number of modes in the fibre are  = 1078

Ex1.14.2:Pg-1.42

In [5]:
# Given
import math
 
 
V = 26.6        # Normalised frequency..
lamda = 1300*10**-9       # wavelenght of operation
a = 25*10**-6         #  radius of fibre.
NA = V*lamda/(2*math.pi*a)       # Numerical Aperture..
print " The Numerical Aperture  =",round(NA,3) 
 The Numerical Aperture  = 0.22

Ex1.14.3:Pg-1.43

In [7]:
# Given
import math
 
a = 40*10**-6   # radius of core...
delt = 0.015      # relative RI difference..
lamda= 0.85*10**-6        # wavelength of operation..
n1=1.48          # RI of core..

NA = n1*math.sqrt(2*delt)      # Numerical Aperture..
print "  The Numerical Aperture =", round(NA,4) 
V = 2*math.pi*a*NA/lamda     # normalised frequency
print "  \n\nThe Normalised frequency  =",round(V,2) 

M = V**2/2        # number of modes..
print " \n\nThe number of modes in the fibre are   =",int(M) 
  The Numerical Aperture = 0.2563
  

The Normalised frequency  = 75.8
 

The number of modes in the fibre are   = 2872

Ex1.14.4:Pg-1.43

In [11]:
# Given
import math

NA = 0.20        # Numerical Aperture..
M = 1000     # number of modes..
lamda = 850*10**-9   #  wavelength of operation..

a = math.sqrt(M*2*lamda**2/(math.pi**2*NA**2))   #  radius of core..
a=a*10**6   # converting in um for displaying...
print " The radius of the core in um =",round(a,2) 
a=a*10**-6 
M1= ((math.pi*a*NA/(1320*10**-9))**2)/2
print " \n\nThe number of modes in the fibre at 1320um  =",int(M1) 
print " \n\n***The number of modes in the fibre at 1320um is calculated wrongly in book" 
M2= ((math.pi*a*NA/(1550*10**-9))**2)/2
print " \n\nThe number of modes in the fibre at 1550um  =",int(M2) 
 The radius of the core in um = 60.5
 

The number of modes in the fibre at 1320um  = 414
 

***The number of modes in the fibre at 1320um is calculated wrongly in book
 

The number of modes in the fibre at 1550um  = 300

Ex1.14.5:Pg-1.44

In [13]:
# Given
import math
 
NA = 0.2     # Numerical Aperture..
n2= 1.59    #  RI of cladding..
n0= 1.33   #    RI of water..
lamda =  1300*10**-9        #  wavelength..
a = 25*10**-6     #  radius of core..
n1 = math.sqrt(NA**2+n2**2)     # RI of core..
phiA= math.asin(math.sqrt(n1**2-n2**2)/n0)       # Acceptance angle..
print " The Acceptance angle is  =",round(math.degrees(phiA),2) 

phiC= math.asin(n2/n1)   #  Critical angle..
print " \n\nThe critical angle is   =",round(math.degrees(phiC),2) 
V = 2*math.pi*a*NA/lamda     #  normalisd frequency
M= V**2/2         # number of modes
print " \n\nThe number of modes in the fibre are  =",int(M) 

print " \n\n***The value of the angle differ from the book because of round off errors." 
 The Acceptance angle is  = 8.65
 

The critical angle is   = 82.83
 

The number of modes in the fibre are  = 292
 

***The value of the angle differ from the book because of round off errors.

Ex1.14.6:Pg-1.46

In [15]:
# Given
import math

V= 26.6      #  Normalised frequency..
lamda= 1300*10**-9         # wavelength of operation..
a= 25*10**-6      #  radius of core..

NA = V*lamda/(2*math.pi*a)       # Numerical Aperture..
print " The Numerical Aperture =",round(NA,2) 
theta = math.pi*NA**2         # solid Acceptance Angle..
print " \n\nThe solid acceptance angle in radians =",round(theta,3) 

M= V**2/2         # number of modes..
print " \n\nThe number of modes in the fibre  =",round(M,2) 
 The Numerical Aperture = 0.22
 

The solid acceptance angle in radians = 0.152
 

The number of modes in the fibre  = 353.78

Ex1.14.7:Pg-1.47

In [16]:
# Given
import math 

n1= 1.49   #     RI of core.
n2=1.47         # RI of cladding..
a= 2       # radius of core in um..
NA= math.sqrt(n1**2-n2**2)      #  Numerical Aperture..
 #  The maximum V number for single mode operation is 2.4...
V= 2.4       # Normalised frequency..

lamda = 2*math.pi*a*NA/V         #  Cutoff wavelength...
print " The cutoff wavelength in um =",round(lamda,2) 


lamda1 = 1.310   #  Givenn cutoff wavelength in um..
d= V*lamda1/(math.pi*NA)        #  core diameter..
print " \n\nThe core diameter in um =",round(d,2) 
 The cutoff wavelength in um = 1.27
 

The core diameter in um = 4.11

Ex1.14.8:Pg-1.47

In [18]:
 # Given
import math
 
n1= 1.48    # RI of core..
a= 4.5      # core radius in um..
delt= 0.0025      # Relative RI difference..
V= 2.405         # For step index fibre..
lamda= (2*math.pi*a*n1*math.sqrt(2*delt))/V        # cutoff wavelength..
print " The cutoff wavelength in um  =",round(lamda,2) 
 The cutoff wavelength in um  = 1.23

Ex1.14.9:Pg-1.48

In [21]:
# Given
import math 
 
lamda= 0.82*10**-6        # wavelength ofoperation.
a= 2.5*10**-6         # Radius of core..
n1= 1.48         # RI of core..
n2= 1.46     # RI of cladding
NA= math.sqrt(n1**2-n2**2)          # Numerical Aperture..
V= 2*math.pi*a*NA/lamda          # Normalisd frequency..
print " The normalised frequency =",round(V,3) 
M= V**2/2     # The number of modes..
print " \n\nThe number of modes in the fibre are =",round(M,2) 
 The normalised frequency = 4.645
 

The number of modes in the fibre are = 10.79

Ex1.14.10:Pg-1.49

In [22]:
 # Given
import math
 
delt= 0.01        # Relative RI difference..
n1= 1.5 
M= 1100          # Number of modes...
lamda= 1.3       # wavelength of operation in um..
V= math.sqrt(2*M)         # Normalised frequency...
d= V*lamda/(math.pi*n1*math.sqrt(2*delt))      # diameter of core..
print " The diameter of the core in um =",round(d,2) 
 The diameter of the core in um = 91.5

Ex1.14.11:Pg-1.50

In [25]:
# Given
import math
n1= 1.5      #  RI of core..
n2= 1.38     # RI of cladding..
a= 25*10**-6      # radius of core..
lamda= 1300*10**-9       #  wavelength of operation...
NA= math.sqrt(n1**2-n2**2)      # Numerical Aperture..
print " The Numerical Aperture of the given fibre  =",round(NA,4) 
V= 2*math.pi*a*NA/lamda      # Normalised frequency..
print " \n\nThe normalised frequency  =",round(V,2) 
theta= math.asin(NA)         # Solid acceptance anglr..
print " \n\nThe Solid acceptance angle in degrees =",int(math.degrees(theta)) 
M= V**2/2         # Number of modes..
print " \n\nThe number of modes in the fibre are =",int(M) 
print " \n\n***Number of modes wrongly calculated in the book.."
 The Numerical Aperture of the given fibre  = 0.5879
 

The normalised frequency  = 71.03
 

The Solid acceptance angle in degrees = 36
 

The number of modes in the fibre are = 2522
 

***Number of modes wrongly calculated in the book..

Ex1.14.12:Pg-1.51

In [26]:
# Given
import math

lamda= 850*10**-9         # wavelength of operation.
a= 25*10**-6          # Radius of core
n1= 1.48         # RI of Core...
n2= 1.46         # RI of cladding..

NA= math.sqrt(n1**2-n2**2)      # Numerical Aperture

V= 2*math.pi*a*NA/lamda      # Normalised frequency..
print " The normalised frequency  =",round(V,2) 

lamda1= 1320*10**-9       #  wavelength changed...
V1= 2*math.pi*a*NA/lamda1    # Normalised frequency at new wavelength..

M= V1**2/2        # Number of modes at new wavelength..
print " \n\nThe number of modes in the fibre at 1320um =",int(M) 
lamda2= 1550*10**-9       # wavelength 2...
V2= 2*math.pi*a*NA/lamda2    # New normalised frequency..
M1= V2**2/2   #  number of modes..
print " \n\nThe number of modes in the fibre at 1550um  =",int(M1 )
 The normalised frequency  = 44.81
 

The number of modes in the fibre at 1320um = 416
 

The number of modes in the fibre at 1550um  = 301

Ex1.15.1:Pg-1.56

In [27]:
# Given
import math
 
n1= 1.48         # RI of core..
delt= 0.015       # relative RI differencr..
lamda= 0.85    # wavelength of operation..
V= 2.4   #  for single mode of operation..

a= V*lamda/(2*math.pi*n1*math.sqrt(2*delt))    # radius of core..
print " The raduis of core in um =",round(a,2) 
print " \n\nThe maximum possible core diameter in um =",round(2*a,2) 
 The raduis of core in um = 1.27
 

The maximum possible core diameter in um = 2.53

Ex1.15.2:Pg-1.56

In [28]:
 # Given
import math
 
n1= 1.5      # RI of core..
delt= 0.01     # Relative RI difference...
lamda= 1.3     # Wavelength of operation...
V= 2.4*math.sqrt(2)   #  Maximum value of V for GRIN...
a= V*lamda/(2*math.pi*n1*math.sqrt(2*delt))    # radius of core..
print " The radius of core in um =",round(a,2) 
print " \n\nThe maximum possible core diameter in um =",round(2*a,2) 
 The radius of core in um = 3.31
 

The maximum possible core diameter in um = 6.62

Ex1.15.3:Pg-1.56

In [31]:
# Given
import math

n1= 1.46         # RI of core..
a = 4.5      # radius of core in um..
delt= 0.0025      # relative RI difference..
V= 2.405     #  Normalisd frequency for single mode..
lamda= 2*math.pi*a*n1*math.sqrt(2*delt)/V      # cutoff wavelength...
print " The cut off wavelength for the given fibre in um =",round(lamda,3) 
 The cut off wavelength for the given fibre in um = 1.214