{ "metadata": { "name": "", "signature": "sha256:211878047ac07bbe36923a59422db9a2025fd46f216dee8cd476326a7778bb6a" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Chapter02: Optical Fiber for Telecommunication" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ " Ex2.2.1:Pg-2.4" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Given\n", "import math\n", "\n", "alpha= 3 # average loss Power decreases by 50% so P(0)/P(z)= 0.5\n", "lamda= 900*10**-9 # wavelength\n", "z= 10*math.log10(0.5)/alpha # z is the length\n", "z= z*-1 \n", "print \" The length over which power decreases by 50% in Kms= \",round(z,2) \n", "\n", "z1= 10*math.log10(0.25)/alpha # Power decreases by 75% so P(0)/P(z)= 0.25\n", "z1=z1*-1 # as distance cannot be negative...\n", "print \" \\n\\nThe length over which power decreases by 75% in Kms= \",round(z1,2) \n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " The length over which power decreases by 50% in Kms= 1.0\n", " \n", "\n", "The length over which power decreases by 75% in Kms= 2.01\n" ] } ], "prompt_number": 4 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex2.2.2:Pg-2.5" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Given\n", "\n", "z=30.0 # Length of the fibre in kms\n", "alpha= 0.8 # in dB\n", "P0= 200.0 # Power launched in uW\n", "pz= P0/10**(alpha*z/10) \n", "print \" The output power in uW =\",round(pz,4) \n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " The output power in uW = 0.7962\n" ] } ], "prompt_number": 7 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex2.2.3:Pg-2.6" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Given\n", "import math \n", "\n", "z=8.0 # fibre length\n", "p0= 120*10**-6 # power launched\n", "pz= 3*10**-6 \n", "alpha= 10*math.log10(p0/pz) # overall attenuation\n", "print \" The overall attenuation in dB =\",round(alpha,2) \n", "alpha = alpha/z # attenuation per km\n", "alpha_new= alpha *10 # attenuation for 10kms\n", "total_attenuation = alpha_new + 9 # 9dB because of splices\n", "print \" \\n\\nThe total attenuation in dB =\",int(total_attenuation) \n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " The overall attenuation in dB = 16.02\n", " \n", "\n", "The total attenuation in dB = 29\n" ] } ], "prompt_number": 9 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex2.2.4:Pg-2.6" ] }, { "cell_type": "code", "collapsed": false, "input": [ " # Given\n", " \n", "z=12.0 # fibre length\n", "alpha = 1.5 \n", "p0= 0.3 \n", "pz= p0/10**(alpha*z/10) \n", "pz=pz*1000 # formatting pz in nano watts...\n", "print \" The power at the output of the cable in W = \",round(pz,2),\"x 10^-9\" \n", "alpha_new= 2.5 \n", "pz=pz/1000 # pz in uWatts...\n", "p0_new= 10**(alpha_new*z/10)*pz \n", "print \" \\n\\nThe Input power in uW= \",round(p0_new,2) \n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " The power at the output of the cable in W = 4.75 x 10^-9\n", " \n", "\n", "The Input power in uW= 4.75\n" ] } ], "prompt_number": 16 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex2.2.5:Pg-2.7" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Given\n", "import math\n", "\n", "p0=150*10**-6 # power input\n", "z= 10.0 # fibre length in km\n", "pz= -38.2 # in dBm...\n", "pz= 10**(pz/10)*1*10**-3 \n", "alpha_1= 10/z *math.log10(p0/pz) # attenuation in 1st window\n", "print \" Attenuation is 1st window in dB/Km =\",round(alpha_1,2) \n", "alpha_2= 10/z *math.log10(p0/(47.5*10**-6)) # attenuation in 2nd window\n", "print \" \\n\\nAttenuation is 2nd window in dB/Km =\",round(alpha_2,2) \n", "alpha_3= 10/z *math.log10(p0/(75*10**-6)) # attenuation in 3rd window\n", "print \" \\n\\nAttenuation is 3rd window in dB/Km =\",round(alpha_3,2) \n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " Attenuation is 1st window in dB/Km = 3.0\n", " \n", "\n", "Attenuation is 2nd window in dB/Km = 0.5\n", " \n", "\n", "Attenuation is 3rd window in dB/Km = 0.3\n" ] } ], "prompt_number": 18 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "\n", "Ex2.2.6:Pg-2.8" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Given\n", "import math\n", "p0=3*10**-3 \n", "pz=3*10**-6 \n", "alpha= 0.5 \n", "z= math.log10(p0/pz)/(alpha/10) \n", "print \" The Length of the fibre in Km =\",int(z)\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " The Length of the fibre in Km = 60\n" ] } ], "prompt_number": 20 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex2.2.7:Pg-2.9" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Given\n", "import math\n", "\n", "z= 10.0 \n", "p0= 100*10**-6 # input power\n", "pz=5*10**-6 # output power\n", "alpha = 10*math.log10(p0/pz) # total attenuation\n", "print \" The overall signal attenuation in dB = \",round(alpha,2) \n", "alpha = alpha/z # attenuation per km\n", "print \" \\n\\nThe attenuation per Km in dB/Km = \",round(alpha,2)\n", "z_new = 12.0 \n", "splice_attenuation = 11*0.5 \n", "cable_attenuation = alpha*z_new \n", "total_attenuation = splice_attenuation+cable_attenuation \n", "print \" \\n\\nThe overall signal attenuation for 12Kms in dB = \",round(total_attenuation,1) \n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " The overall signal attenuation in dB = 13.01\n", " \n", "\n", "The attenuation per Km in dB/Km = 1.3\n", " \n", "\n", "The overall signal attenuation for 12Kms in dB = 21.1\n" ] } ], "prompt_number": 22 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex2.2.8:Pg-2.15" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Given\n", "import math\n", "Tf = 1400.0 # fictive temperature\n", "BETA = 7*10**-11 \n", "n= 1.46 # RI \n", "p= 0.286 # photo elastic constant\n", "Kb = 1.381*10**-23 # Boltzmann's constant\n", "lamda = 850*10**-9 # wavelength\n", "alpha_scat = 8*math.pi**3*n**8*p**2*Kb*Tf*BETA/(3*lamda**4) \n", "l= 1000 # fibre length\n", "TL = exp(-alpha_scat*l) # transmission loss\n", "attenuation = 10*math.log10(1/TL) \n", "print \" The attenuation in dB/Km =\",round(attenuation,3)\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " The attenuation in dB/Km = 1.572\n" ] } ], "prompt_number": 25 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex2.3.1:Pg-2.20" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Given\n", "import math\n", "alpha = 2 \n", "n1= 1.5 \n", "a= 25*10**-6 \n", "lamda= 1.3*10**-6 \n", "M= 0.5 \n", "NA= math.sqrt(0.5*2*1.3**2/(math.pi**2*25**2)) \n", "Rc= 3*n1**2*lamda/(4*math.pi*NA**3) \n", "Rc=Rc*1000 # converting into um.....\n", "print \" The radius of curvature in um =\",round(Rc,2) \n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " The radius of curvature in um = 153.98\n" ] } ], "prompt_number": 28 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex2.5.1:Pg-2.25" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Given\n", "lamda = 850 *10**-9 \n", "sigma= 45*10**-9 \n", "L= 1 \n", "M= 0.025/(3*10**5*lamda) \n", "sigma_m= sigma*L*M \n", "sigma_m= sigma_m*10**9 # formatting in ns/km....\n", "print \" The Pulse spreading in ns/Km =\",round(sigma_m,2) \n", "print \" \\n\\nNOTE*** - The answer in text book is wrongly calculated..\" \n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " The Pulse spreading in ns/Km = 4.41\n", " \n", "\n", "NOTE*** - The answer in text book is wrongly calculated..\n" ] } ], "prompt_number": 30 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex2.5.2:Pg-2.26" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Given\n", "\n", "lamda= 2*10**-9 \n", "sigma = 75 \n", "D_mat= 0.03/(3*10**5*2) \n", "sigma_m= 2*1*D_mat \n", "sigma_m=sigma_m*10**9 # Fornamtting in ns/Km\n", "print \" The Pulse spreading in ns/Km =\",int(sigma_m)\n", "D_mat_led= 0.025/(3*10**5*1550) \n", "sigma_m_led = 75*1*D_mat_led*10**9 # in ns/Km\n", "print \" \\n\\nThe Pulse spreading foe LED is ns/Km =\",round(sigma_m_led,2) \n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " The Pulse spreading in ns/Km = 100\n", " \n", "\n", "The Pulse spreading foe LED is ns/Km = 4.03\n" ] } ], "prompt_number": 31 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex2.5.3:Pg-2.26" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Given\n", "\n", "lamda = 850 \n", "sigma= 20 \n", "D_mat = 0.055/(3*10**5*lamda) \n", "sigma_m= sigma*1*D_mat \n", "D_mat=D_mat*10**12 # in Ps...\n", "sigma_m=sigma_m*10**9 # in ns # # \n", "print \" The material Dispersion in Ps/nm-Km =\",round(D_mat,2) \n", "print \" \\n\\nThe Pulse spreading in ns/Km =\",round(sigma_m,4) \n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " The material Dispersion in Ps/nm-Km = 215.69\n", " \n", "\n", "The Pulse spreading in ns/Km = 4.3137\n" ] } ], "prompt_number": 34 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex2.5.4:Pg-2.30" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Given\n", "n2= 1.48 \n", "dele = 0.2 \n", "lamda = 1320 \n", "Dw = -n2*dele*0.26/(3*10**5*lamda) \n", "Dw=Dw*10**10 # converting in math.picosecs....\n", "print \" The waveguide dispersion in math.picosec/nm.Km =\",round(Dw,3) \n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " The waveguide dispersion in math.picosec/nm.Km = -1.943\n" ] } ], "prompt_number": 37 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex2.6.1:Pg-2.34" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Given\n", "t= 0.1*10**-6 \n", "L= 12 \n", "B_opt= 1/(2*t) \n", "B_opt=B_opt/1000000 # converting from Hz to MHz\n", "print \" The maximum optical bandwidth in MHz. =\",int(B_opt) \n", "dele= t/L # Pulse broadening\n", "dele=dele*10**9 # converting in ns...\n", "print \" \\n\\nThe pulse broadening per unit length in ns/Km =\",round(dele,2) \n", "BLP= B_opt*L # BW length product\n", "print \" \\n\\nThe Bandwidth-Length Product in MHz.Km =\",int(BLP) \n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " The maximum optical bandwidth in MHz. = 5\n", " \n", "\n", "The pulse broadening per unit length in ns/Km = 8.33\n", " \n", "\n", "The Bandwidth-Length Product in MHz.Km = 60\n" ] } ], "prompt_number": 38 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex2.6.2:Pg-2.34" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Given\n", "t= 0.1*10**-6 \n", "L= 10.0 \n", "B_opt= 1/(2*t) \n", "B_opt=B_opt/1000000 # converting from Hz to MHz\n", "print \" The maximum optical bandwidth in MHz. =\",int(B_opt) \n", "dele= t/L \n", "dele=dele/10**-6 # converting in us...\n", "print \" \\n\\nThe dispersion per unit length in us/Km =\",round(dele,2) \n", "BLP= B_opt*L \n", "print \" \\n\\nThe Bandwidth-Length product in MHz.Km =\",int(BLP) \n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " The maximum optical bandwidth in MHz. = 5\n", " \n", "\n", "The dispersion per unit length in us/Km = 0.01\n", " \n", "\n", "The Bandwidth-Length product in MHz.Km = 50\n" ] } ], "prompt_number": 40 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex2.6.3:Pg-2.35" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Given\n", "t= 0.1*10**-6 \n", "L=15 \n", "B_opt= 1/(2*t) \n", "B_opt=B_opt/1000000 # converting from Hz to MHz\n", "print \" The maximum optical bandwidth in MHz. =\",int(B_opt) \n", "dele= t/L*10**9 # in ns...\n", "print \" \\n\\nThe dispersion per unit length in ns/Km =\",round(dele,2) \n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " The maximum optical bandwidth in MHz. = 5\n", " \n", "\n", "The dispersion per unit length in ns/Km = 6.67\n" ] } ], "prompt_number": 42 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex2.6.4:Pg-2.35" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Given\n", "lamda = 0.85*10**-6 \n", "rms_spect_width = 0.0012*lamda \n", "sigma_m= rms_spect_width*1*98.1*10**-3 \n", "sigma_m=sigma_m*10**9 # converting in ns...\n", "print \" The Pulse Broadening due to material dispersion in ns/Km =\",round(sigma_m,2) \n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " The Pulse Broadening due to material dispersion in ns/Km = 0.1\n" ] } ], "prompt_number": 43 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex2.6.5:Pg-2.35" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Given\n", "import math\n", "\n", "L= 5.0 # in KM\n", "n1= 1.5 \n", "dele= 0.01 \n", "c= 3*10**8 # in m/s\n", "delta_t = (L*n1*dele)/c \n", "delta_t=delta_t*10**12 # convertin to nano secs...\n", "print \" The delay difference in ns =\",round(delta_t,1)\n", "sigma= L*n1*dele/(2*math.sqrt(3)*c) \n", "sigma=sigma*10**12 # convertin to nano secs...\n", "print \" \\n\\nThe r.m.s pulse broadening in ns =\",round(sigma,2) \n", "B= 0.2/sigma*1000 # in Mz\n", "print \" \\n\\nThe maximum bit rate in MBits/sec =\",round(B,2) \n", "BLP = B*5 \n", "print \" \\n\\nThe Bandwidth-Length in MHz.Km =\",round(BLP,2) \n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " The delay difference in ns = 250.0\n", " \n", "\n", "The r.m.s pulse broadening in ns = 72.17\n", " \n", "\n", "The maximum bit rate in MBits/sec = 2.77\n", " \n", "\n", "The Bandwidth-Length in MHz.Km = 13.86\n" ] } ], "prompt_number": 47 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex2.6.6:Pg-2.36" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Given\n", "import math\n", "del_t_inter = 5*1 \n", "del_t_intra = 50*80*1 \n", "total_dispersion = math.sqrt(5**2 + 0.4**2) \n", "print \" Total dispersion in ns =\",round(total_dispersion,3) " ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " Total dispersion in ns = 5.016\n" ] } ], "prompt_number": 49 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex2.7.1:Pg-2.37" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Given\n", "t= 0.1*10**-6 \n", "L=15 \n", "dele= t/L*10**9 # convertin to nano secs...\n", "print \" The Pulse Dispersion in ns =\",round(dele,2) \n", "B_opt= 1/(2*t)/10**6 # convertin to nano secs...\n", "print \" \\n\\n The maximum possible Bandwidth in MHz =\",int(B_opt) \n", "BLP = B_opt*L \n", "print \" \\n\\nThe BandwidthLength product in MHz.Km =\",int(BLP) \n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " The Pulse Dispersion in ns = 6.67\n", " \n", "\n", " The maximum possible Bandwidth in MHz = 5\n", " \n", "\n", "The BandwidthLength product in MHz.Km = 75\n" ] } ], "prompt_number": 51 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex2.7.2:Pg-2.38" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Given\n", "L= 6 \n", "n1= 1.5 \n", "delt= 0.01 \n", "delta_t = L*n1*delt/(3*10**8)*10**12 # convertin to nano secs...\n", "print \" The delay difference in ns =\",int(delta_t) \n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " The delay difference in ns = 300\n" ] } ], "prompt_number": 52 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex2.7.3:Pg-2.39" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Given\n", "import math\n", "Lb= 0.09 \n", "lamda= 1.55*10**-6 \n", "delta_lamda = 1*10**-9 \n", "Bf= lamda/Lb \n", "Lbc= lamda**2/(Bf*delta_lamda) \n", "print \" The modal Bifriengence in meters =\",round(Lbc,2) \n", "beta_xy= 2*math.pi/Lb \n", "print \" \\n\\nThe difference between propogation constants =\",round(beta_xy,2) \n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " The modal Bifriengence in meters = 139.5\n", " \n", "\n", "The difference between propogation constants = 69.81\n" ] } ], "prompt_number": 53 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex2.7.4:Pg-2.39" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Given\n", "\n", "t= 0.1*10**-6 \n", "B_opt= 1/(2*t)/1000000 \n", "print \" The maximum possible Bandwidth in MHz =\",int(B_opt) \n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " The maximum possible Bandwidth in MHz = 5\n" ] } ], "prompt_number": 54 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex2.7.5:Pg-2.40" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Given\n", "\n", "t= 0.1*10**-6 \n", "B_opt= 1/(2*t)/1000000 \n", "print \" The maximum possible Bandwidth in MHz =\",int(B_opt) \n", "\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " The maximum possible Bandwidth in MHz = 5\n" ] } ], "prompt_number": 55 } ], "metadata": {} } ] }