# Chapter 10 : Optical Fiber System-II¶

## Example 1: PgNo-505¶

In [1]:
import math

# Variable initialisation
r=30.8*math.pow(10,-12) # electro optice coefficient in m/V
L=3*math.pow(10,-2) # length in m
y=1.3*math.pow(10,-6) # wavelength in m
n=2.1
d=30*math.pow(10,-6) # distance between the electrodes in m
V=(y*d)/(math.pow(n,3)*r*L) # voltage required to have a pi radian phase change in volt

# Results
print ('%s %.3f %s' %(" The voltage required to have a pi radian phase change  = ",V,"volt"))
The voltage required to have a pi radian phase change  =  4.558 volt

## Example 2: PgNo-511¶

In [2]:
#Variable initialisation
a_fc=4 #fider cable loss in dB/km
aj=0.7 #splice loss in db/km
L=5 # length in km
a_cr1=4 # connector losses
a_cr2=3.5 # connector losses
CL=(a_fc+aj)*L+(a_cr1+a_cr2) # total channel loss in dB

# Results
print ('%s %.f %s' %(" The total channel loss = ",CL,"dB"))
The total channel loss =  31 dB

## Example 3: PgNo-517¶

In [3]:
import math

# variable initialisation
p=0.5*math.pow(10,-9) # pulse broadening in s/km
L=12 # length in km

# calculations
Pt=p*math.sqrt(L) # with mode coupling, the total rms broadening in s
BT=20*math.pow(10,6)
DL=2*pow((2*Pt*BT*math.sqrt(2)),4) # dispersion equalization penalty in dB
Pt1=p*L # without mode coupling, the total rms broadening in s
DL1=2*math.pow((2*Pt1*BT*math.sqrt(2)),4) # without mode coupling, equalization penalty in dB
DL2=2*math.pow((2*Pt1*150*math.pow(10,6)*math.sqrt(2)),4) # without mode coupling,dispersion equalization penalty with 125 Mb/s
DL3=2*math.pow((2*Pt*125*math.pow(10,6)*math.sqrt(2)),4) # with mode coupling,dispersion equalization penalty with 125 Mb/s

# Results
print ('%s %.2f %s' %(" With mode coupling, the total rms broadening = ",Pt*pow(10,9),"ns"))
print ('%s %.2f %s' %("\n The dispersion equalization penalty = ",DL*pow(10,4),"dB"))
print ('%s %.f %s' %("\n without mode coupling, the total rms broadening = ",Pt1*pow(10,9),"dB"))
print ('%s %.3f %s' %("\n without mode coupling, equalization penalty = ",DL1,"dB"))
print ('%s %.2f %s' %("\n without mode coupling,dispersion equalization penalty with 125 Mb/s = ",DL2,"dB"))
print ('%s %.2f %s' %("\n with mode coupling,dispersion equalization penalty with 125 Mb/s = ",DL3,"dB"))
print ("\n The answer is wrong in the textbook")
With mode coupling, the total rms broadening =  1.73 ns

The dispersion equalization penalty =  1.84 dB

without mode coupling, the total rms broadening =  6 dB

without mode coupling, equalization penalty =  0.027 dB

without mode coupling,dispersion equalization penalty with 125 Mb/s =  83.98 dB

with mode coupling,dispersion equalization penalty with 125 Mb/s =  0.28 dB

The answer is wrong in the textbook

# Example 4: PgNo-522¶

In [4]:
import math

# Variable initialisation
Pi=-2.5 # mean optical power launched into the fiber in dBm
Po=-45 # mean output optical power available at the receiver in dBm
a_fc=0.35 # fider cable loss in dB/km
aj=0.1 # splice loss in db/km
a_cr=1 # connector losses
Ma=6   # safety margin in dB
L=(Pi-Po-a_cr-Ma)/(a_fc+aj) # length in km when system operating at 25 Mbps
Po1=-35 #  mean output optical power available at the receiver in dBm
L1=(Pi-Po1-a_cr-Ma)/(a_fc+aj) # length in km when system operating at 350 Mbps

# Results
print ('%s %.2f %s' %(" The length when system operating at 25 Mbps = ",L,"km"))
print ('%s %.2f %s' %("\n The length when system operating at 350 Mbps = ",L1,"km"))
The length when system operating at 25 Mbps =  78.89 km

The length when system operating at 350 Mbps =  56.67 km

## Example 5: PgNo-526¶

In [5]:
import math

# variable initialisation
Tx=-80 # transmitter output in dBm
Rx=-40 # receiver sensitivity in dBm
sm=32  # system margin in dB
L=10   # in km
fl=2*L # fider loss in dB
cl=1   # detector coupling loss in dB
tl=0.4*8 # total splicing loss in dB
ae=5  # angle effects & future splice in dB
ta=29.2 # total attenuation in dB
Ep=2.8 # excess power margin in dB

# Results
print ('%s %.1f %s' %(" The fider loss = ",fl,"dB"))
print ('%s %.2f %s' %("\n The total splicing loss = ",tl,"dB"))
print ('%s %.1f %s' %("\n The fangle effects & future splice = ",ae,"dB"))
print ('%s %.2f %s' %("\n The total attenuation = ",ta,"dB"))
print ('%s %.1f %s' %("\n The excess power margin = ",Ep,"dB"))
print ("\n Hence the system can operate with small excess power margin ")
The fider loss =  20.0 dB

The total splicing loss =  3.20 dB

The fangle effects & future splice =  5.0 dB

The total attenuation =  29.20 dB

The excess power margin =  2.8 dB

Hence the system can operate with small excess power margin

## Example 6: PgNo-529¶

In [6]:
import math

# variable initialisation
Lc=1 # connector loss in db
Ls=5 # star coupler insertion loss in dB
af=2 # fider loss in dB
Ps=-14 # transmitted power in dBm
Pr=-49 # receiver sensitivity in dBm
sm=6 # system margin in dB
N=16.0
L=(Ps-Pr-Ls-4*Lc-(10*math.log(N))/math.log(10)-sm)/(2*af) # max transmission length in km when transmission star coupler is used
N1=32
L1=(Ps-Pr-Ls-4*Lc-(10*math.log(N1))/math.log(10)-sm)/(2*af) # max transmission length in km when reflection star coupler is used

# Results
print ('%s %.2f %s' %(" The max transmission length when transmission star coupler is used = ",L,"km"))
print ('%s %.2f %s' %("\n The max transmission length when reflection star coupler is used = ",L1,"km"))
The max transmission length when transmission star coupler is used =  1.99 km

The max transmission length when reflection star coupler is used =  1.24 km

## Example 7: PgNo-531¶

In [7]:
import math

# variable declaration
y=860*math.pow(10,-9) # wavelength in m
L=5000 # length in m
X=0.024
dy=20*math.pow(10,-9) # spectral width in m
dts=6*math.pow(10,-9) # silica optical link rise time in s
dtr=8*math.pow(10,-9) # detector rise in s
c=3*math.pow(10,8)# speed of light in m/s
dtm=-(L*dy*X)/(c*y) # material dispersion delay time in s
id=2.5*math.pow(10,-12) # intermodel dispersion in s/m
dti=id*L # intermodel dispersion delay time
dtsy=math.sqrt(math.pow(dts,2)+math.pow(dtr,2)+math.pow(dtm,2)+math.pow(dti,2)) # system rise time in s
Br_max=0.7/dtsy # max bit rate for NRZ coding in bit/s
Br_max1=0.35/dtsy # max bit rate for RZ coding in bit/s

# Results
print ('%s %.2f %s' %(" The system rise time = ",dtsy*pow(10,9),"ns"))
print ('%s %.2f %s' %("\n The max bit rate for NRZ coding = ",Br_max/pow(10,6),"Mbit/s"))
print ('%s %.2f %s' %("\n The max bit rate for RZ coding = ",Br_max1/pow(10,6),"Mbit/s"))
The system rise time =  18.51 ns

The max bit rate for NRZ coding =  37.81 Mbit/s

The max bit rate for RZ coding =  18.90 Mbit/s

## Example 8: PgNo-533¶

In [8]:
import math

#variable declaration
Br=50*math.pow(10,6) # data rate in b/s
c=3*math.pow(10,8) # speed of light in m/s
n1=1.47
dl=0.02
n12=n1*dl # the difference b/w n1 and n2
L_si=(0.35*c)/(n12*Br) # transmission distance for Si fiber
L_GI=(2.8*c*math.pow(n1,2))/(2*n1*n12*Br) # transmission distance for GRIN fiber

# Results
print ('%s %.3f %s' %(" The transmission distance for Si fiber = ",L_si,"m"))
print ('%s %.f %s' %("\n The transmission distance for GRIN fiber = ",L_GI,"m"))
The transmission distance for Si fiber =  71.429 m

The transmission distance for GRIN fiber =  420 m

## Example 9: PgNo-537¶

In [9]:
import math

# Initialisation of variables
Br=20*math.pow(10,6) # data rate in b/s
c=3*math.pow(10,8)# speed of light in m/s
y=86*math.pow(10,-9)# wavelength in m
dy=30*math.pow(10,-9) # spectral width in m
X=0.024
Tb=1/Br
Lmax=(0.35*Tb*c*y)/(dy*X)# material dispersion limited transmission distance for RZ coding in m

# Results
print ('%s %.3f %s' %(" The material dispersion limited transmission distance = ",Lmax,"m"))
The material dispersion limited transmission distance =  627.083 m

## Example 10: PgNo-543¶

In [10]:
import math

# variable declaration
y=860*math.pow(10,-9) # wavelength in m
c=3*math.pow(10,8) # speed of light in m/s
n1=1.47
dl=0.02
n12=n1*dl # the difference b/w n1 and n2
La=1/1000.0 # loss a in dB/m
Pr=-65 # receiver power in dB
Pt=-5 #transmitted power in dB
dy=30*math.pow(10,-9) # line width in m
X=0.024
Lmax=(0.35*c*y)/(dy*X) # material dispersion limited distance for RZ coding in m
L_GI=(1.4*c*n1)/(n12)# model dispersion limited distance for RZ coding in m
L_At=(Pt-Pr)/(La) # attenuation limited distance for RZ coding in m

# Results
print ('%s %.2f %s' %(" The material dispersion limited distance = ",Lmax/pow(10,10),"*10^10*1/Br m"))
print ('%s %.1f %s' %("\n The model dispersion limited distance = ",L_GI/pow(10,10),"*10^10*1/Br m"))
print ('%s %.f %s' %("\n The attenuation limited distance = ",L_At/pow(10,3),"-20log(Br) km"))
The material dispersion limited distance =  12.54 *10^10*1/Br m

The model dispersion limited distance =  2.1 *10^10*1/Br m

The attenuation limited distance =  60 -20log(Br) km