# Chapter 2:Light propagation in optical fiber¶

## Example 2.1 , Page no:30¶

In [1]:
import math
from __future__ import division

#initialisation of variables
ncore=1.46;  #refractive index of core
c=3e5;  #velocity of light in Km/s
L=1;  #length of path in Km

#CALCULATIONS
delt_tau_by_L=(NA**2)/(2*c*ncore);  #multipath pulse broadening in s/Km
delt_tau=delt_tau_by_L*L;  #bandwidth distance product Hz
BL=(1/delt_tau)*L;  #bandwidth distance product Hz
#case-2
ncore1=1.465;  #refractive index of core
delt_tau_by_L1=(NA1**2)/(2*c*ncore1);  #multipath pulse broadening in s/m
BL1=(1/delt_tau_by_L1)*L;  #bandwidth distance product Hz

#RESULTS
print"Numerical aperture=",round(NA,5);  #The answers vary due to round off error
print"\nMultipath pulse broadening=",round(delt_tau_by_L*1e9,5),"ns/Km";  #The answer provided in the textbook is wrong//multiplication by 1e9  to convert s/Km to ns/Km
print"\nBandwidth distance product=",round(BL*1e-6,5),"GHz ";  #The answer provided in the textbook is wrong//multiplication by 1e-6 to convert Hz to MHz
print"\n\nNumerical aperture=",round(NA1,5);
print"\nMultipath pulse broadening=",round(delt_tau_by_L1*1e9,5),"ns/Km";  #The answer provided in the textbook is wrong//multiplication by 1e9 to convert s/Km to ns/Km
print"\nBandwidth distance product=",round(BL1*1e-9,5),"GHz ";  #The answer provided in the textbook is wrong//multiplication by 1e-6 to convert Hz to GHz

Numerical aperture= 1.06377

Bandwidth distance product= 0.77413 GHz

Numerical aperture= 0.20911

Bandwidth distance product= 0.0201 GHz


## Example 2.2 , Page no:30¶

In [2]:
import math
from __future__ import division

#initialisation of variables
lamda1=0.7;  #wavelength in um
lamda2=1.3;  #wavelength in um
lamda3=2;  #wavelength in um

#CALCULATIONS
f_lambda1=(303.33*(lamda1**-1)-233.33);  #equation for lambda1
f_lambda2=(303.33*(lamda2**-1)-233.33);  #equation for lambda2
f_lambda3=(303.33*(lamda3**-1)-233.33);  #equation for lambda3

#RESULTS
print"Material dispersion at Lambda 0.7um=",round(f_lambda1,5);
print"\nMaterial dispersion at Lambda 1.3um=",round(f_lambda2,5);  #The answers vary due to round off error
print"\nMaterial dispersion at Lambda 2um=",round(f_lambda3,5);  #The answers vary due to round off error
print"\nIts is a standard silica fiber";

Material dispersion at Lambda 0.7um= 199.99857

Material dispersion at Lambda 1.3um= 0.00077

Material dispersion at Lambda 2um= -81.665

Its is a standard silica fiber


## Example 2.3 , Page no:32¶

In [3]:
import math
from __future__ import division

#initialisation of variables
ncore=1.505;  #refractive index of core
V=2.4;  #v no. for single mode
lambda1=1300e-9;  #operating wavelength in m

#CALCULATIONS
a=V*(lambda1)/(2*3.14*NA);  #dimension of fiber core in m

#RESULTS
print"The numarical aperture =",round(NA,5);
print"\n Dimension of fiber core =",round(a*1e6,5),"um";  #multiplication by 1e6 to convert unit from m to um

The numarical aperture = 0.09498

Dimension of fiber core = 5.23079 um


## Example 2.4 , Page no:33¶

In [4]:
import math
from __future__ import division

#initialisation of variables
V=2;  #v no. for single mode
a=4;  #radius of fiber in um

#CALCULATIONS
w=a*(0.65+1.619*V**(-3/2)+2.87*V**-6);  #effective mode radius in um

#RESULTS

Effective mode radius = 5.06899 um


## Example 2.6 , Page no:34¶

In [5]:
import math
from __future__ import division

#initialisation of variables
m=0;  #for dominant mode
v=0;  #for dominant mode
n1=1.5;  #refractive index of core
lambda1=1.3;  #wavelength of operation in um

#CALCULATIONS
k0=(2*3.14/lambda1);  #constant in /m

#RESULTS

Propagation constant= 7.21781 rad/um


## Example 2.8 , Page no:34¶

In [6]:
import math
from __future__ import division

#initialisation of variables
M=1000;  #modes supported
lambda1=1.3;  #operating wavelength in um
n1=1.5;  #refractive index of core

#CALCULATIONS
V=math.sqrt(2*M);  #normalised frequency V no.
NA=math.sqrt(n1**2-n2**2);  #numerical apperture
R=lambda1*V/(2*3.14*NA);  #radius of fiber in um

#RESULTS

Core Radius= 37.92063 um


## Example 2.9 , Page no:35¶

In [7]:
import math
from __future__ import division

#initialisation of variables
lambda1=1.3;  #wavelength of operation in um
n1=1.5;  #refractive index of core
k0=2*3.14/lambda1;  #constant in /m

#CALCULATIONS
#case-1
b=0.5;  #normalized propagation constant
k0=2*3.14/lambda1;  #constant
beta=k0*math.sqrt(n2**2+b*(n1**2-n2**2));  #propagation constant

#case-2
#given
lambda1=1.3;  #wavelength of operation in um
n1=1.5;  #refractive index of core
k0=2*3.14/lambda1;  #constant in /m
b=0.5;  #normalized propagation constant
k0=2*3.14/lambda1;  #constant
b1=(((n1+n2)/2)**2-n2**2)/(n1**2-n2**2);  #normalized propagation constant

#case-3
#given
lambda1=1.3;  #wavelength of operation in um
n1=1.5;  #refractive index of core
k0=2*3.14/lambda1;  #constant in /m
b=0.5;  #normalized propagation constant
k0=2*3.14/lambda1;  #constant
beta1=k0*math.sqrt(n21**2+b*(n1**2-n21**2));  #propagation constant

#RESULTS
print"\nPropagation constant=",round(b1,5);  #The answers vary due to round off error

Propagation constant= 7.19801 rad/um

Propagation constant= 0.49832



## Example 2.10 , Page no:35¶

In [8]:
import math
from __future__ import division

#initialisation of variables
#case-1
n1=1.49;  #refractive index of core
c=3*10**5;  #speed of light in Km/s
t1=n1/c;  #time delay for one traveling along axis in s/Km
t2=(n1**2/n2)/c;  #time delay for one traveling along path that is totally reflecting at the first interface in s/km

#case-2
n11=1.47;  #refractive index of core
c1=3*10**5;  #speed of light in Km/s
t11=n11/c1;  #time delay for one traveling along axis in
t22=(n11**2/n21)/c1;  #time delay for one traveling along path that is totally reflecting at the first interface

print"time delay for traveling along axis =",round(t1*1e6,5),"us/Km";  #multiplication by 1e6 to convert the unit from s/Km to us/Km
print"\ntime delay for  traveling along path that is totally reflecting at the first interface =",round(t2*1e6,5),"us/Km";  #multiplication by 1e6 to convert the unit from s/Km to us/Km
print"\ntime delay for traveling along axis =",round(t11*1e6,5),"us/Km";  #multiplication by 1e6 to convert the unit from s/Km to us/Km
print"\ntime delay for traveling along path that is totally reflecting at the first interface =",round(t22*1e6,5),"us/Km";  #multiplication by 1e6 to convert the unit from s/Km to us/Km
#The answer provided in the textbook is wrong it has got wrong unit

time delay for traveling along axis = 4.96667 us/Km

time delay for  traveling along path that is totally reflecting at the first interface = 5.06872 us/Km

time delay for traveling along axis = 4.9 us/Km

time delay for traveling along path that is totally reflecting at the first interface = 4.93356 us/Km