Chapter 02:Optical Fiber Transmission

Ex2.1:pg-38

In [2]:
# Example no. 2.1
# To find a)The numerical aperture b)The acceptanca angle c)The relative index defference
# Page no. 38


import math

# Given data
n1=1.47;                                  # Refractive index of core
n2=1.45;                                  # Refractive index of cladding

# a)The numerical aperture
NA=(n1**2-n2**2)**(1/2.0);                    # Numerical aperture

# Displaying the result in command window
print "\n The numerical aperture = ",round(NA,4)

# b)The acceptanca angle
imax=math.asin(NA);                          # The acceptanca angle

# Displaying the result in command window
print "\n The acceptance angle = ",round(imax,4)," Radian"

# c)The relative index defference
delta=(n1-n2)/n1;                      # Relative index defference

# Displaying the result in command window
print "\n The relative index difference = ",round(delta,4)
 The numerical aperture =  0.2417

 The acceptance angle =  0.2441  Radian

 The relative index difference =  0.0136

Ex2.2:pg-41

In [1]:
# Example no. 2.2
# To find maximum bit-rate distance product
# Page no. 41

import math



# Given data
n1=1.46;                                               # Refractive index of core
delta=0.01;                                            # Relative difference of refractive index
L=1*10**3;                                              # Fiber length
c=3*10**(8);                                            # Speed of ligth in km/sec

n2=n1*(1-delta);                                       # Refractive index of cladding
deltaT=(n1**2*L*delta)/(c*n2);                          # Delay in sec
BL=(((c*n2)/(n1**2*delta))/10**3)*10**-6;                 # maximum bit-rate distance product in Mb/s.km
deltaT=((n1**2*L*delta)/(c*n2))*10**9;                   # Delay in ns

# Displaying the result in command window
print "\n Refractive index of cladding = ",round(n2,4)
print "\n Delay =",int(deltaT),"ns"
print "\n Approximate delay = ",int(deltaT+1),"ns"
print "\n Maximum bit-rate distance product = ",round(BL,1)," Mb/(s.km)"
 Refractive index of cladding =  1.4454

 Delay = 49 ns

 Approximate delay =  50 ns

 Maximum bit-rate distance product =  20.3  Mb/(s.km)

Ex2.3:pg-43

In [2]:
# Example no.2.3
# To compare deltaT for step index fiber with parabolic-index fiber
# Page no. 43

import math



# Given data
n1=1.47;                                           # Refractive index of core
n2=1.45;                                           # Refractive index of cladding
L=1*10.0**3;                                          # Length of medium in meter
c=3*10**8;                                          # speedof ligth in (m/s)
delta=(n1-n2)/n1;

# The deltaT for step index fiber
deltaTSIF=((n1**2*L*delta)/(c*n2))*10**9;            #Pulse width for step index fiber

# deltaT for parabolic-index fiber
deltaTPIF=((n1**2*delta**2*L)/(8*c))*10**9;          # Pulse width for parabolic-index fiber

# Displaying the result in command window
print "Pulse width for step index fiber = ",round(deltaTSIF,2)," ns"
print "Pulse width for parabolic index fiber = ",round(deltaTPIF,4)," ns"

# The answer of pulse width for parabolic index fiber is wrong in book

print "Thus, the intermodal dispersion can be significantly reduced by using parabolic-index fiber"
Pulse width for step index fiber =  67.59  ns
Pulse width for parabolic index fiber =  0.1667  ns
Thus, the intermodal dispersion can be significantly reduced by using parabolic-index fiber

Ex2.4:pg-61

In [28]:
# Example 2.4
# a)To convert transmitted power into dBm b)To convert received power into mW
# Page no. 61

import math



# Given data
Ptr=0.012;                               # Transmitted power in watt 
PrdBm=-5;                                # Received power in dBm

# a)To convert transmitted power into dBm
PtrdBm=10*math.log10(Ptr/(10.0**-3));            # Transmitted power in dBm

# Displaying the result in command window
print "\n Transmitted power = ",round(PtrdBm,2)," dBm"

# b)To convert received power into mW
PrmW=10**(-5/10.0);                        # Received power in mW

# Displaying the result in command window
print "\n Received power = ",round(PrmW,4)," mW"
 Transmitted power =  10.79  dBm

 Received power =  0.3162  mW

Ex2.7:pg-69

In [31]:
# Example no.2.7
# To find the core radius of step-index fiber
# Page no.69

import math


# Given data
n1=1.45;                                                         # Refractive index of core
delta=0.005;
n2=n1*(1-delta);                                                 # Refractive index of cladding
lambdac=1.1;                                                     # Cutoff wavelength in meter
lambdaa=1.55;                                                     # Operating wavelength in micrometer
a=((2.4048*lambdac*10**-6)/(2*math.pi*(n1**2-n2**2)**(1/2.0)))/10**-6;      # Core radius

#Displaying the result in command window
print "\n The core radius of step-index fiber = ",round(a,3)," micrometer"
print "\n Operating wavelength = ",round(lambdaa,2)," micrometer"
print "\n Cutoff wavelength = ",round(lambdac,1)," micrometer"

print "Since operating wavelength is greater than cutoff wavelength, it is single moded at this wavelength."
 The core radius of step-index fiber =  2.907  micrometer

 Operating wavelength =  1.55  micrometer

 Cutoff wavelength =  1.1  micrometer
Since operating wavelength is greater than cutoff wavelength, it is single moded at this wavelength.

Ex2.8:pg-72

In [32]:
# Example no 2.8
# To find the total loss and output power in mW and dBm in fiber
# Page no. 72

import math



# Given data
losscoe=0.046;                                 # Loss coefficient in km**-1
L=80;                                          # Length of fiber in km
PindBm=3;                                      # Input power in dBm

# To find total loss of fiber
loss=round(4.343*losscoe*L);                   # Total loss in fiber

# Displaying the result in command window
print "\n Total loss in fiber = ",int(loss)," dB"

# To find output power 
PoutdBm=PindBm-loss;                           # Output power in dBm

PoutmW=10**(PoutdBm/10);                        # Output power in mW

#Displaying the result in command window
print "\n Output power of fiber =",int(PoutdBm),"dBm"
print "\n Output power of fiber = ",round(PoutmW,2)," mW"
 Total loss in fiber =  16  dB

 Output power of fiber = -13 dBm

 Output power of fiber =  0.05  mW

Ex2.10:pg-77

In [3]:
# Example no. 2.10
# To design single mode fiber such that absolute accumulated dispersion should not exceed 1100ps/nm
# Page no. 77


import math


# Given data
lambda1=1530;                              # Left edge of wavelength range in nm
lambda2=1560;                              # Rigth edge of wavelength range in nm
lambda0=1545;                              # Center of the band in nm
L=80;                                     # Fiber length in km

print "We choose center of band (lambda_0) for large maximum allowable dispersion slope."

Dlambda2=1100.0/L;                         # Dispersion at rigth edge of band in ps/nm/km
S=Dlambda2/(lambda2-lambda0);            # Dispersion slope in ps/nm**2/km

# Displaying the result in command window
print "\n Dispersion slope = ",round(S,3)," ps/nm**2/km"
We choose center of band (lambda_0) for large maximum allowable dispersion slope.

 Dispersion slope =  0.917  ps/nm**2/km

Ex2.11:pg-80

In [35]:
# Example no.2.11
# To find a)length of DCF b)power at the output of DCF c)gain of amplifier
# Page no.80



import math
# Given data
LTF=80;                                                    # Length of transmission fiber
beta2TF=-21.0;                                               # Dispersion of transmission fiber in ps**2/km
beta2DCF=130.0;                                              # Dispersion of DCF in ps**2/km
Pin=2*10**(-3);                                             # Input power of transmission fiber in W
DCFloss=0.5;                                               # Losses of DCF in dB/km
TFloss=0.2;                                                # Losses of TF in dB/km
spliceloss=0.5;                                            # Splice loss in dB

# a)To find length of DCF
LDCF=(-beta2TF*LTF)/beta2DCF;                             # Length of DCF in km

# Displaying the result in command window
print "\n Length of DCF = ",round(LDCF,1)," km"

# b)To find power at the output of DCF
PindBm=10*math.log10(Pin/10**(-3));                            # Input power of transmission fiber in dBm
Totalloss=TFloss*LTF+DCFloss*LDCF+spliceloss;            # Total loss in fiber in dB
PoutdBm=PindBm-Totalloss;                                # Output power of DCF in dBm

# Displaying the result in command window
print "\n Output power of DCF = ",round(PoutdBm,2)," dBm"

# c)To find gain of amplifier
gain=Totalloss;                                        # gain of amplifier

# Displaying the result in command window
print "\n Gain of amplifier = ",round(gain,2)," dBm"
 Length of DCF =  12.9  km

 Output power of DCF =  -19.95  dBm

 Gain of amplifier =  22.96  dBm

Ex2.12:pg-81

In [4]:
# Example no. 2.12
# To find the delay between the shortest and longest path.
# Page no. 81

import math



# Given data
NA=0.2;                                         # Numerical aperture
L=2*10**3;                                       # Fiber length in meters
n1=1.45;                                        # Core refractive index
delta=(NA)**2/(2*n1**2);                          # Relative index difference
n2=n1;                                          # since difference between core index and cladding index is smaller
c=3*10**8;                                       # Speed of ligth in m/s

# The delay between the shortest and longest path.
deltaT=((n1**2*L*delta)/(c*n2));                # the delay between the shortest and longest path.

# Displaying the result in command window
print "\n The delay between the shortest and longest path = ",round(deltaT*10**9,2)," ns"
 The delay between the shortest and longest path =  91.95  ns

Ex2.13:pg-82

In [5]:
# Example no. 2.13
# To calculate the propagation constant
# Page no. 82

import math



# Given data
lambda0=1550*10**-9;                                          # wavelength in meter
beta0=6*10**6;                                                # propagation constant in rad/m
lambda1=1551*10**-9;                                          # wavelength in meter
beta1=0.5*10**-8;                                             # inverse group velocity in sec/meter
beta2=-10*10**-24;                                            # second-order dispersion coefficient in sec**2/km
c=3*10**8;                                                    # Speed of ligth in m/s
omega0=(2*math.pi*c)/lambda0;                                    # Radial frequency at lambda0
omega1=(2*math.pi*c)/lambda1;                                    # Radial frequency at lambda1
omega=omega1-omega0;

# The propagation constant at 1551nm wavelength
betaomega1=(beta0+beta1*omega+beta2*omega**2/2.0);        # Propagation constant at 1551nm wavelength

# Displaying the result in command window
print "\n The propagation constant at 1551nm wavelength = ",round(betaomega1*10**-6,4)," X 10**6 rad/s"
 The propagation constant at 1551nm wavelength =  5.9961  X 10**6 rad/s

Ex2.14:pg-83

In [6]:
# Example No. 2.14
# To calculate the lower limit on the transmitter power in dBm and mW units.
# Page No. 83


import math


# Given data
l=80;                                             # Length of fiber in km
F1=-0.2*l;                                        # Fiber loss in dB
F2=-0.5;                                          # Filter loss in dB
G=15;                                             # Amplifier gain in dB
Pout=-3;                                          # Minimum power required at the receiver in dBm

# Lower limit on the transmitter power
Pin=Pout-F1-F2-G;                                 # Lower limit on the transmitter power in dBm
PinmW=10**(0.1*Pin);                               # Lower limit on the transmitter power in mW

# Displaying the result in command window
print "\n The lower limit on the transmitter power in dBm = ",round(Pin,1)
print "\n The lower limit on the transmitter power in mW = ",round(PinmW,4)
 The lower limit on the transmitter power in dBm =  -1.5

 The lower limit on the transmitter power in mW =  0.7079

Ex2.16:pg-84

In [8]:
# Example No. 2.16
# To find the length of DCF so that the pulse width (FWHM) at the output of the DCF is twice the pulse width at the input of the TF
# Page No. 84

import math



# Given data
beta2TF=-21*(10**(-12))**2;                                    # Dispersion coefficient of transmission fiber in s**2/km
beta2DCF=130*(10**(-12))**2;                                   # Dispersion coefficient of dispersion compensating fiber in s**2/km
LTF=80;                                                  # Length of transmission fiber in km
TFWHM=12.5*10**(-12);                                     # Full-width at half-maximum
T0=TFWHM/1.665;                                          # Half-width

# The length of required DCF
LDCF1=(math.sqrt(3)*T0**2-beta2TF*LTF)/beta2DCF;                # Length of dispersion compensating fiber in km
LDCF2=(-math.sqrt(3)*T0**2-beta2TF*LTF)/beta2DCF;               # Length of dispersion compensating fiber in km

# Displaying the result in command window
print "\n The length of DCF so that the pulse width (FWHM) at the output of the DCF is twice the pulse width at the input of the TF \n = ",round(LDCF1,2),"km"

print " or = ",round(LDCF2,2)," km"
 The length of DCF so that the pulse width (FWHM) at the output of the DCF is twice the pulse width at the input of the TF 
 =  13.67 km
 or =  12.17  km

Ex2.17:pg-85

In [9]:
# Example No. 2.17
# To find the accumulated dispersion of the DCF so that the net accumulated dispersion does not exceed 1100 ps/nm
# Page no. 85


import math


# Given data
lambda0=1490;                                                    # Zero dispersion wavelength in nm
lambdaa=1560;                                                     # Upper limit of wavelength range in nm
Sc=0.08;                                                         # Dispersion slope of transmission fiber ps/nm2/km
LTF=800;                                                         # Length of transmission fiber in km
DTF=Sc*(lambdaa-lambda0);                                         # Dispersion at 1560 nm in ps/nm/km

# The accumulated dispersion of the DCF
DLDCF=1100-DTF*LTF;                                              # The accumulated dispersion of the DCF in ps/nm

# Displaying the result in command window
print "\n The accumulated dispersion of the DCF should be less than ",int(DLDCF)," ps/nm"
 The accumulated dispersion of the DCF should be less than  -3380  ps/nm