summaryrefslogtreecommitdiff
path: root/Optical_fiber_communication_by_gerd_keiser/chapter13_2.ipynb
blob: 92a1e261c3be79eb49d210e2223616a229e2d8cf (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
{
 "metadata": {
  "name": "",
  "signature": "sha256:a2081322aeeec1f784d913a531d652947d3374639d5b34917181cf0739e34394"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "heading",
     "level": 1,
     "metadata": {},
     "source": [
      "Chapter 13: Optical networks"
     ]
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 13.1, Page Number: 464"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "import numpy as np\n",
      "\n",
      "#variable declaration\n",
      "N=np.array([5,10,50])                      #number of station\n",
      "alpha = 0.4                                #attanuation (dB/km)\n",
      "L_tap = 10                                 #coupling loss (dB)\n",
      "L_thru = 0.9                               #coupler throughput(dB)\n",
      "Li = 0.5                                   #intrinsic coupler loss(dB)\n",
      "Lc = 1.0                                   #coupler to fiber loss(dB)\n",
      "L = 0.5                                    #link length(km)\n",
      "\n",
      "#calculation\n",
      "fiber_Loss = alpha *L                                                   #fiber loss(dB)\n",
      "Pbudget = N*(alpha*L+2*Lc+Li+ L_thru)-alpha*L-2*L_thru +2* L_tap        #power budget(dB)\n",
      "\n",
      "#result\n",
      "print \"Fiber loss at 500m =\",fiber_Loss,\"dB\"\n",
      "print \"Power budget of three stations 5, 10, 50 respectively = \",Pbudget[0],\"dB\",Pbudget[1],\"dB\",Pbudget[2],\"dB\" "
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Fiber loss at 500m = 0.2 dB\n",
        "Power budget of three stations 5, 10, 50 respectively =  36.0 dB 54.0 dB 198.0 dB\n"
       ]
      }
     ],
     "prompt_number": 1
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 13.2, Page Number: 465"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "import matplotlib.pyplot as plt\n",
      "import numpy as np\n",
      "import scipy as sp\n",
      "from scipy import special\n",
      "\n",
      "%matplotlib inline\n",
      "\n",
      "#variable declaration\n",
      "alpha = 0.4                                #attanuation (dB/km)\n",
      "L_tap = 10                                 #coupling loss (dB)\n",
      "L_thru = 0.9                               #coupler throughput(dB)\n",
      "Li = 0.5                                   #intrinsic coupler loss(dB)\n",
      "Lc = 1.0                                   #coupler to fiber loss(dB)\n",
      "L = 0.5                                    #link length(km)\n",
      "Pbudget_LED = 38                           #power loss of LED\n",
      "Pbudget_LASER = 51                         #power loss of LASER\n",
      "\n",
      "#calculation\n",
      "N_LED = (Pbudget_LED + alpha*L-2*L_thru-2*L_tap)/(alpha*L+2*Lc+Li+L_thru)\n",
      "N_LASER = (Pbudget_LASER + alpha*L-2*L_thru-2*L_tap)/(alpha*L+2*Lc+Li+L_thru)\n",
      "\n",
      "#result\n",
      "print \"Number of stations allowed for given loss of 38 dB with LED source =\",round(N_LED,0)\n",
      "print \"Number of stations allowed for given loss of 51 dB with LASER source =\",round(N_LASER,0)\n",
      "\n",
      "#plot\n",
      "x1=arange(0.0, 50.0, 10.0)\n",
      "Pbudget1 = x1*(alpha*L+2*Lc+Li+ L_thru)-alpha*L-2*L_thru +2* L_tap\n",
      "plot(x1,Pbudget1)\n",
      "title('Plot of total power loss as a function of number attached station for linear bus')\n",
      "ylabel('Power loss between station 1 and N(dB)')\n",
      "xlabel('Number of stations')\n",
      "text(30,120,'Linear bus')"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Number of stations allowed for given loss of 38 dB with LED source = 5.0\n",
        "Number of stations allowed for given loss of 51 dB with LASER source = 8.0\n"
       ]
      },
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 4,
       "text": [
        "<matplotlib.text.Text at 0xa859828>"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nJRpPW+PSytfODaeW6OtacZShxPw6MLHG3yOkEafMzDpt1qx0DXnrraF/f3j66TTdlpTrGTFiBOed\ndx4ALS0tDBs2jB133JEtttiCe++9F4C5c+fyne98hyFDhrDNNtswenSq3HvnnXfYZ5992H777dl6\n6625+eabAZg6dSpbbLEFRx11FIMGDeKll15a5HXPOecctt56a3bccUeee+45AI4++miuv/76+cus\nvPLKALz88svsvvvuDB48mEGDBs2Py8qhDIn5b0BLRGxa/QfMaG9FSZdKmiHp8Yp5P5P0pKTHJN0g\nabWK54ZLekbSU5L2W3JvycyapbIv8syZqS/yqFGN90WWNL80K4m5c+fy0EMPcf7553PWWWcBcMkl\nl9C/f38mTJjAhAkTuPjii5k6dSorrLACN954IxMnTuRPf/oTp5xyyvztPvvss3zta1/jiSeeYMMN\nN1zkdfv378+kSZP4+te/zre+9a35r18dG8BVV13F0KFDefTRR5k0aRLbbrttp/eTNU8ZEvP5wOp1\nnvtZB+vWum3n7cDHImIbYAowHEDSVsBhwFZ5nYsklWH/mFkD5syB0aNTQn744TQu8ujRsMEGi7fd\nf//3fwdgu+22Y+rUqQDcfvvtXHHFFQwePJiddtqJmTNn8uyzzxIRDB8+nG222YZ9992X6dOn8+qr\nrwKw8cYbM6Sdvlif//znATj88MN54IEH2o1pyJAhXHbZZZx11llMmjRpfknayqHw15gj4sJ2nvvv\nDtYdL2mTqnl3VEw+xIK7hx0EjI2IOcBUSc8CQ4AHuxC2mRVEZV/kDTaAG2+ET3yi+7a/3HLLAdCv\nXz8++OCD+fMvvPBC9t1334WWHTNmDK+//jp//vOf6devH5tuuinvvvsuACuttFLDr9lWMl566aWZ\nN28eAPPmzeP9998HYLfddmP8+PHceuutHH300Zx88skceeSRXX+T1qP6eonwWOD/8uP1gcoLOy8B\nA3o8IjPrNnfemZLwyJFw4YULphdXRw2xPvWpT3HRRRfNT9RTpkxh9uzZvP3226y99tr069ePcePG\n8fe//73h17vmmmsAuOaaa9h5552B1Fp74sSJANx8883MmTMHgBdeeIG11lqL448/nuOPP55HH320\nS+/TmqPwJeYlRdLpwPsRcVU7i9X89o0YMWL+45aWFlpaWro1NjNbPJV9kX/849T9qSt9kWfPnr3Q\n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\n",
       "text": [
        "<matplotlib.figure.Figure at 0xa4215f8>"
       ]
      }
     ],
     "prompt_number": 4
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 13.3, Page Number: 465"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "import numpy as np\n",
      "\n",
      "#variable declaration\n",
      "N=np.array([5,10])                         #number of station\n",
      "alpha = 0.4                                #attanuation (dB/km)\n",
      "L_thru = 0.9                               #coupler throughput(dB)\n",
      "Li = 0.5                                   #intrinsic coupler loss(dB)\n",
      "Lc = 1.0                                   #coupler to fiber loss(dB)\n",
      "L = 0.5                                    #link length(km)\n",
      "\n",
      "#calculation\n",
      "DR = (N-2)*(alpha*L+2*Lc+Li+L_thru)           #dynamic range(dB)\n",
      "\n",
      "#result\n",
      "print \"Dynamic range for number of station 5 = \",DR[0],\"dB\"\n",
      "print \"Dynamic range for number of station 10 = \",DR[1],\"dB\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Dynamic range for number of station 5 =  10.8 dB\n",
        "Dynamic range for number of station 10 =  28.8 dB\n"
       ]
      }
     ],
     "prompt_number": 5
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 13.4, Page Number: 466"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "\n",
      "#variable declaration\n",
      "N1=10                                      #number of station\n",
      "N2=50                                      #number of station\n",
      "alpha = 0.4                                #attanuation (dB/km)\n",
      "L = 0.5                                    #link length(km)\n",
      "Lc = 1.0                                   #coupler to fiber loss(dB)\n",
      "Lexcess1 = 0.75                            #excess loss for 10 station\n",
      "Lexcess2 = 1.25                            #excess loss for 50 station\n",
      "\n",
      "#calculation\n",
      "Ps_Pr1 = Lexcess1+alpha*2*L+2*Lc+10*math.log10(N1)              #power margin for 10 station(dB)\n",
      "Ps_Pr2 = Lexcess2+alpha*2*L+2*Lc+10*math.log10(N2)              #power margin for 50 station(dB)\n",
      "\n",
      "#result\n",
      "print \"Power margin between transmitter and receiver for 10 station =\",round(Ps_Pr1,1),\"dB\"\n",
      "print \"Power margin between transmitter and receiver for 50 station =\",round(Ps_Pr2,1),\"dB\"\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Power margin between transmitter and receiver for 10 station = 13.2 dB\n",
        "Power margin between transmitter and receiver for 50 station = 20.6 dB\n"
       ]
      }
     ],
     "prompt_number": 14
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 13.5, Page Number: 477"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "\n",
      "#variable declaration\n",
      "L_OM2 = 40                                  #Length of OM2 fiber(meter)\n",
      "L_OM3 = 100                                 #Length of OM3 fiber(meter)\n",
      "BW_OM2 = 500*10**6                          #bandwidth of OM2 fiber(MHz)\n",
      "BW_OM3 = 2000*10**6                         #bandwidth of OM3 fiber(MHz)\n",
      "\n",
      "#calculation\n",
      "Lmax = L_OM2*(BW_OM3/BW_OM2)+L_OM3          #Maximum link length(meter)\n",
      "\n",
      "#result\n",
      "print \"Maximum link length = \",Lmax,\"m\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Maximum link length =  260 m\n"
       ]
      }
     ],
     "prompt_number": 15
    }
   ],
   "metadata": {}
  }
 ]
}