summaryrefslogtreecommitdiff
path: root/Optical_Fiber_Communications_Principles_and_Practice/Chapter_3.ipynb
blob: 44b64c87b9b63029b03d5b0d37ee62d207dac754 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
{
 "metadata": {
  "name": "Chapter_3"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "heading",
     "level": 1,
     "metadata": {},
     "source": "Chapter 3 : Transmission characteristics of\noptical fibers"
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": "Example 3.1,  page 89"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "import math\n\n#Variable declaration\nPi=120*10**-6                                      #mean i/p power in uW\nPo=3*10**-6                                        #mean o/p power in uW\nL=8                                                #length of fibre in Km\na1=2                                               #loss in dB\nL1=10                                              #length of fibre in Km\nloss=9                                             #loss in dB\n\n#Calculation \nSA=10*math.log10(Pi/Po)                             #overall signal attenuation\na=SA/L                                              #signal attenuation per kilometer\nal=a1*L1\nSA1=al+loss                                         #signal attenuation for the 10KM link\nP=10**(2.9)                                         #i/o power ratio, 2.9 is numeric value\n\n\n#Result\nprint'Overall signal attenuation = ',round(SA),'dB'\nprint'Signal attenuation per kilometer = ',round(a),'dB Km^-1'\nprint'Overall signal attenuation for the 10KM link  = ',round(SA1),'dB'\nprint'Numeric value for i/o power ratio = %.1f' %P",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "Overall signal attenuation =  16.0 dB\nSignal attenuation per kilometer =  2.0 dB Km^-1\nOverall signal attenuation for the 10KM link  =  29.0 dB\nNumeric value for i/o power ratio = 794.3\n"
      }
     ],
     "prompt_number": 1
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": "Example 3.2, page 96"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "import math\n\n#Variable declaration\nTf=1400                                        #tempreture in kelvin\nK=1.381*10**-23                                #Boltzmann\u2019s constant\nBc=7*10**-11                                   #isothermal compressibility\nn=1.46                                         #refractive index\np=0.286                                        #refractive index\nh1=0.63*10**-6                                 #wavelength\nh2=10**-6                                      #wavelength\nh3=1.3*10**-6                                  #wavelength\nL=10**3                                        #length in km\n\n#Calculation \na=(8*math.pi**3*n**8*p**2*Bc*K*Tf)/3\nyr=a/h1**4                                     #Rayleigh scattering coefficient \nLk=math.exp(-yr*L)                             #transmission loss factor\nAt=10*math.log10(Lk**-1)                       #attenuation due to Rayleigh scattering\nyr1=a/h2**4                                    #Rayleigh scattering coefficient \nLk1=math.exp(-yr1*L)                           #transmission loss factor\nAt1=10*math.log10(Lk1**-1)                     #attenuation due to Rayleigh scattering\nyr2=a/h3**4                                    #Rayleigh scattering coefficient \nLk2=math.exp(-yr2*L)                           #transmission loss factor\nAt2=10*math.log10(Lk2**-1)                     #attenuation due to Rayleigh scattering\n\n#Result\nprint'Attenuation due to Rayleigh scattering (in 0.63 \u03bcm)= %.1f dB km^-1'%(At)\nprint'Attenuation due to Rayleigh scattering (in 1.0 \u03bcm)= %.1f dB km^-1'%(At1)\nprint'Attenuation due to Rayleigh scattering (in 1.30 \u03bcm)= %.1f dB km^-1'%(At2)",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "Attenuation due to Rayleigh scattering (in 0.63 \u03bcm)= 5.2 dB\nAttenuation due to Rayleigh scattering (in 1.0 \u03bcm)= 0.8 dB\nAttenuation due to Rayleigh scattering (in 1.30 \u03bcm)= 0.3 dB\n"
      }
     ],
     "prompt_number": 20
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": "Example 3.3, page 99"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "#Variable declaration\nd=6                                                 #diameter in \u03bcm\nh=1.3                                               #wavelength in \u03bcm\nadb=0.5                                             #attenuation in dB\nv=0.6\n\n#Calculation \nPb=4.4*10**-3*d**2*h**2*adb*v                       #for SBS\nPr=5.9*10**-2*d**2*h*adb                            #for SRS\n\n#result\nprint'Threshold optical power for SBS = %.1f mW'%(Pb*1000)\nprint 'Threshold optical power for SRS = %.2f W'%Pr\n",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "Threshold optical power for SBS = 80.3 mW\nThreshold optical power for SRS = 1.38 W\n"
      }
     ],
     "prompt_number": 19
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": "Example 3.4, page 101"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "import math\n\n#Variable declaration \nn1=1.5                                                 #refractive index\nh=0.82*10**-6                                          #operating wavelength\ndelta=0.03                                             #relative refractive index difference \ndelta1=0.003                                           #relative refractive index difference\nh1=1.55*10**-6                                         #operating wavelength\na=4*10**-6                                             #radius of core\n\n#Calculation\nn2=(n1**2)-(2*delta*n1**2)                               #refractive index\nRc=(3*n1**2*h)/(4*math.pi*(n1**2-n2)**0.5)               #multimode fiber critical radius of curvature\nn21=(n1**2)-(2*delta1*n1**2)                             #refractive index  \nhc=(2*math.pi*a*n1*math.sqrt(2*delta1))/(2.405)          #cutoff wavelength for the single-mode fiber\nb=20*h1/math.sqrt(0.043)\nc=(2.748-(0.996*h1/hc))**-3\nRcs=b*c                                                  #critical radius of curvature for the single-mode\n\n#Result\nprint'Multimode fiber critical radius of curvature = %.2f um'%(Rc*10**6)      #value given in the textbook is wrong              \nprint'Single-mode fiber critical radius of curvature = %.2f um'%(Rcs*10**3)     #value given in the textbook is wrong",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "Multimode fiber critical radius of curvature = 1.20 um\nSingle-mode fiber critical radius of curvature = 0.05 um\n"
      }
     ],
     "prompt_number": 36
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": "Example 3.5, page 109"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "import math\n\n#Variable declaration \nt=0.1*10**-6                           #total pulse time  \nd=15                                   #distance in Km\n\n#Calculation\nBt=1/(2*t)                              #Maximum Bandwidth\nD=t/d                                   #Pulse Dispersion\nBop=Bt*d                                #Bandwidth-length product\n\n#Result\nprint'Maximum Bandwidth = %d Mhz'%(Bt/10**6)\nprint'Pulse Dispersion = %.2f ns per Km'%(D*10**9)\nprint'Bandwidth-length product = %d Mhz Km'%(Bop/10**6)\n",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "Maximum Bandwidth = 5 Mhz\nPulse Dispersion = 6.67 ns per Km\nBandwidth-length product = 75 Mhz Km\n"
      }
     ],
     "prompt_number": 51
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": "Example 3.6, page 111"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "import math\n\n#Variable declaration\nb=0.025                                  #material dispersion                 \nc=2.998                                  #speed of light (x 10^8)\nh=85*10**6                                #wavelength dispersion parameter\n\n\n#Calculation\nM=b/(c*h)                                 #Material dispersion parameter\ns=M*20                                    #RMS pulse broadening (1 Km)\n\n#Result\nprint'Material dispersion parameter = %.1f ps n/m K/m'%(M*10**12)\nprint'RMS pulse broadening (1 Km) = %.2f ns K/m'%(s*10**9)",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "Material dispersion parameter = 98.1 ps n/m K/m\nRMS pulse broadening (1 Km) = 1.96 ns K/m\n"
      }
     ],
     "prompt_number": 55
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": "Example 3.7, page 112"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "import math\n\n#Variable declaration\nh=0.85*10**-6                        #wavelength \nb=0.0012                             #relative spectral width\nM=98.1*10**-12                       #material dispersion parameter\n\n#Calculation\nsh=b*h                               #relative spectral width\nsm=sh*M*10**9                        #RMS pulse braodening\n\n#Result\nprint'RMS pulse braodening (1 Km) = %.2f ns K/m'%(sm*10**9)",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "RMS pulse braodening (1 Km) = 0.10 ns K/m\n"
      }
     ],
     "prompt_number": 66
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": "Example 3.8, page 117"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "import math\n\n#Variable declaration\nL=6000                                               #optical link\nn1=1.5                                               #core refractive index\ndelt=0.01                                            #relative refractive index difference\nc=2.998*10**8                                        #speed of light\n\n\n#Calculation\nTs=(L*n1*delt)/c                                      #Delay difference\nsc=(L*n1*delt)/(2*math.sqrt(3)*c)                     #RMS pulse broadening\nBt=1/(2*Ts)\nBtm=0.2/sc                                            #Maximum bit rate using RMS pulse broadening\nBop=Btm*L                                             #Bandwidth-length product\n\n#Result\nprint'(a) Delay difference = %d ns' %(Ts*10**9)\nprint'(b) RMS pulse broadening = %.1f ns' %(sc*10**9)\nprint'(c) Maximum bit rate using RMS pulse broadening = %.1f Mbit/s'%(Btm/10**6)\nprint'(d) Bandwidth-length product = %.1f Mhz km'%(Bop/10**9)",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "(a) Delay difference = 300 ns\n(b) RMS pulse broadening = 86.7 ns\n(c) Maximum bit rate using RMS pulse broadening = 2.3 Mbit/s\n(d) Bandwidth-length product = 13.8 Mhz km\n"
      }
     ],
     "prompt_number": 7
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": "Example 3.9, page 121"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "import math\n\n#Variable declaration\nsc=86.7                                              #RMS pulse broadening\nL1=6                                                 #optical link\nL=10**3                                              #for 1 Km\nn1=1.5                                               #core refractive index\ndelt=0.01                                            #relative refractive index difference\nc=3*10**8                                            #speed of light\n\n#Calculation\nd=sc/L1                                              #for multimode step index fiber\nsg=(L*n1*delt**2)/(20*math.sqrt(3)*c)                #gradient index fiber\n\n#Result\nprint'RMS pulse broadening for multimode step index fiber = %.1f ns K/m'%(d)\nprint'RMS pulse broadening for gradient index fiber = %.1f ps K/m'%(sg*10**12)",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "RMS pulse broadening for multimode step index fiber = 14.5 ns K/m\nRMS pulse broadening for gradient index fiber = 14.4 ps K/m\n"
      }
     ],
     "prompt_number": 18
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": "Example 3.10, page 125"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "import math\n\n#Variable declaration\nsh=50                                        #rms spectral width\nL=1                                          #1 Km\nM=250*10**-12                                #material dispersion parameter\nL1=10**3                                     \nNA=0.3                                       #numerical aperture\nn1=1.45                                      #refractive index\nc=2.998*10**8                                #speed of light\n\n#Calculation\nsm=sh*L*M                                      #rms pulse broadening\nss=(L1*NA**2)/(4*math.sqrt(3)*n1*c)            #rms pulse broadening per kilometer\nst=math.sqrt(sm**2+ss**2)                      #total rms pulse broadening per kilometer\nBop=0.2/st                                     #bandwidth\u2013length product\n\n#Result\nprint'(a) Total RMS pulse broadening per Km = %.1f ns K/m'%(st*10**9)\nprint'(b) Bandwidth length product = %.1f Mhz Km'%(Bop*10**-6)",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "(a) Total RMS pulse broadening per Km = 32.4 ns K/m\n(b) Bandwidth length product = 6.2 Mhz Km\n"
      }
     ],
     "prompt_number": 17
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": "Example 3.11, page 131"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "\n#Variable declaration\nh=1280                                     #wavelength in nm\nS0=0.09*10**-12                            #dispersion slope\nh0=1310                                    #zero dispersion wavlength in nm\nh1=1550                                    #wavelength in nm\nDm=13.5*10**-12                            #material dispersion wavelength in m\nDp=0.4*10**-12                             #profile dispersion wavelength in m\n\n#Calculation\na=h*S0/4\nb=1-((h0*h**-1)**4)\nDt=a*b\nDt1=(h1*S0/4)*(1-(h0*h1**-1)**4)\nDw=Dt1-(Dm+Dp)\n\n#Result\nprint'Total first order dispersion (1280 nm) = %.1f nm^-1 km^-1'%(Dt*10**12)\nprint'Total first order dispersion (1550 nm) = %.1f ps n/m K/m'%(Dt1*10**12)\nprint'Waveguide dispersion at wavelength 1.55um = %.1f ps n/m K/m'%(Dw*10**12)",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "Total first order dispersion (1280 nm) = -2.8 nm^-1 km^-1\nTotal first order dispersion (1550 nm) = 17.1 ps n/m K/m\nWaveguide dispersion at wavelength 1.55um = 3.2 ps n/m K/m\n"
      }
     ],
     "prompt_number": 15
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": "Example 3.12, page 143"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "import math\n\n#Variable declaration\nh=0.9*10**-6                               #peak wavelength                           \nLb=0.09                                    #beat length\ns=10**-9                                   #spectral linewidth\n\n\n#Calculation\nBf=h/Lb                                   #modal birefringence\nLbc=h**2/(Bf*s)                             #coherence length\nBxy=(2*math.pi)/Lb                        #difference between propagation constant\n\n#Result\nprint'Modal birefringence, Bf = %.1f x 10^-5' %(Bf*10**5)\nprint'Coherence length, Lf = %.1f m' %Lbc\nprint'Difference between propagation constant = %.1f' %Bxy",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "Modal birefringence, Bf = 1.0 x 10^-5\nCoherence length, Lf = 81.0 m\nDifference between propagation constant = 69.8\n"
      }
     ],
     "prompt_number": 2
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": "Example 3.13, page 144"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "#Variable declaration\nh=1.3*10**-6                                 #fibers operating wavelength\nLs=0.7*10**-3                                #beat length\nL=80                                         #beat length\n\n#Calculation\nBf=h/Ls                                      #Fiber birefringence (0.7mm)\nBf1=h/L                                      #Fiber birefringence (80m)\n\n#Result\nprint'Fiber birefringence (0.7mm) = %.2f x 10^-3'%(Bf*1000)\nprint'Fiber birefringence (80m) = %.2f x 10^-8'%(Bf1*10**8)",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "Fiber birefringence (0.7mm) = 1.86 x 10^-3\nFiber birefringence (80m) = 1.62 x 10^-8\n"
      }
     ],
     "prompt_number": 1
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": "Example 3.14, page 150"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "import math\n\n#Variable declaration\nL=3.5*10**3                             #length of fiber\na=2*10**-3                              #tanh(h*L)\n\n\n#Calculation\nh=a/L                                   #mode coupling parameter                                \n\n#Result\nprint'Mode coupling parameter = %.1f x 10^-7 m^-1'%(h*10**7)",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "Mode coupling parameter = 5.7 x 10^-7 m^-1\n"
      }
     ],
     "prompt_number": 1
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "",
     "language": "python",
     "metadata": {},
     "outputs": []
    }
   ],
   "metadata": {}
  }
 ]
}