diff options
Diffstat (limited to 'Optical_Communication_/Chapter_4.ipynb')
-rwxr-xr-x | Optical_Communication_/Chapter_4.ipynb | 1221 |
1 files changed, 0 insertions, 1221 deletions
diff --git a/Optical_Communication_/Chapter_4.ipynb b/Optical_Communication_/Chapter_4.ipynb deleted file mode 100755 index 875e1b2a..00000000 --- a/Optical_Communication_/Chapter_4.ipynb +++ /dev/null @@ -1,1221 +0,0 @@ -{ - "metadata": { - "name": "", - "signature": "sha256:d4d0afedfad591dd3db7bcb4692f0b80c70309a906e9699c9f80be4fd8fe4dbc" - }, - "nbformat": 3, - "nbformat_minor": 0, - "worksheets": [ - { - "cells": [ - { - "cell_type": "heading", - "level": 1, - "metadata": {}, - "source": [ - "Chapter 4: Signal Degradation in Optical Fibers" - ] - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 4.1, Page number 100" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "'''Calculate the loss of fiber'''\n", - "\n", - "from sympy import *\n", - "import math\n", - "\n", - "#Variable declaration\n", - "L = 400./1000. #distance(km)\n", - "Pi = Symbol(\"Pi\")\n", - "Po = 0.25*Pi\n", - "\n", - "#Calculations\n", - "Loss = (10*math.log10(Pi/Po))/L\n", - "\n", - "#Result\n", - "print \"Loss =\",round(Loss),\"dB/km\"" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "Loss = 15.0 dB/km\n" - ] - } - ], - "prompt_number": 3 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 4.2, Page number 101" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "'''Calculate power level'''\n", - "\n", - "#Variable declaration\n", - "L = 3 #distance(km)\n", - "a = 0.5 #attenuation loss(dB/km)\n", - "lamda = 0.82 #wavelength(um)\n", - "Pi = 1 #input power(mW)\n", - "\n", - "#Calculation\n", - "Po = Pi*10**((-a*L)/10)\n", - "\n", - "#Result\n", - "print \"Power level =\",round(Po,2),\"mW\"" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "Power level = 0.71 mW\n" - ] - } - ], - "prompt_number": 4 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 4.3, Page number 101" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "'''Determine maximum possible link length'''\n", - "\n", - "#Variable declaration\n", - "a = 0.5 #attenuation loss(dB/km)\n", - "Pi = 1.5*10**-3 #input power(uW)\n", - "Po = 2.*10**-6 #output power(uW)\n", - "\n", - "#Calculation\n", - "L = (10*math.log10(Pi/Po))/a\n", - "\n", - "#Result\n", - "print \"Maximum possible link length =\",round(L,2),\"km\"" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "Maximum possible link length = 57.5 km\n" - ] - } - ], - "prompt_number": 5 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 4.4, Page number 102" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "'''Determine pulse dispersion per unit length'''\n", - "\n", - "#Variable declaration\n", - "pd = 1.2*10**-3 #pulse broadening(ns)\n", - "d = 30 #distance\n", - "\n", - "#Calculation\n", - "D = pd/d\n", - "\n", - "#Result\n", - "print \"Pulse dispersion per unit length =\",D,\"ns/m\"" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "Pulse dispersion per unit length = 4e-05 ns/m\n" - ] - } - ], - "prompt_number": 6 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 4.5, Page number 102" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "'''Determine the optical output power'''\n", - "\n", - "#Variable declaration\n", - "L = 30 #distance(km)\n", - "a = 0.8 #attenuation loss(dB/km)\n", - "lamda = 1300 #wavelength(nm)\n", - "Pi = 200 #input power(uW)\n", - "\n", - "#Calculation\n", - "Po = Pi*10**((-a*L)/10)\n", - "\n", - "#Result\n", - "print \"Optical output power =\",round(Po,3),\"uW\"" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "Optical output power = 0.796 uW\n" - ] - } - ], - "prompt_number": 7 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 4.6, Page number 103" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "'''Determine\n", - "a)Overall signal attenuation\n", - "b)signal attenuation per km\n", - "c)signal attenuation for the link\n", - "d)input output power ratio'''\n", - "\n", - "import math\n", - "\n", - "#Variable declaration\n", - "L = 8 #distance(km)\n", - "Pi = 120*10**-6 #input power(W)\n", - "Po = 3*10**-6 #output power(W)\n", - "\n", - "#Calculations\n", - "#Part a\n", - "a = 10*math.log10(Pi/Po)\n", - "\n", - "#Part b\n", - "adb = a/L\n", - "\n", - "#Part c\n", - "l = 10\n", - "x = adb*l #loss occured along 10km of fiber\n", - "y = 9 #loss due to splices(dB)\n", - "dB = x+y\n", - "\n", - "#Part d\n", - "pi_by_po = 10**(round(dB)/10)\n", - "\n", - "#Results\n", - "print \"a) Overall signal attenuation =\",round(a),\"dB\"\n", - "print \"b) Signal attenuation per km =\",round(adb),\"dB/km\"\n", - "print \"c) Signal attenuation for the link =\",round(dB),\"dB\"\n", - "print \"d) Input output power ratio =\",round(pi_by_po,1)" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "a) Overall signal attenuation = 16.0 dB\n", - "b) Signal attenuation per km = 2.0 dB/km\n", - "c) Signal attenuation for the link = 29.0 dB\n", - "d) Input output power ratio = 794.3\n" - ] - } - ], - "prompt_number": 8 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 4.7, Page number 104" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "'''Determine theoretical attenuation for two given wavelengths'''\n", - "\n", - "import math\n", - "\n", - "#Variable declaration\n", - "Tf = 1400 #fictive temperature(K)\n", - "p = 0.286 #photoelastic coeeficient for silica\n", - "n = 1.46 #refractive index\n", - "Bo = 7*10**-11 #isothermal compressibility\n", - "K = 1.381*10**-23 #Boltzman's constant(J/k)\n", - "L = 10**3\n", - "\n", - "#Calculation\n", - "#For lamda = 0.63 um\n", - "lamda1 = 0.63*10**-6 #wavelength(m)\n", - "Yr1 = (8*math.pi**3*n**8*p**2*Bo*K*Tf)/(3*lamda1**4)\n", - "E1 = math.exp(-Yr1*L)\n", - "a1 = 10.*math.log10(1/E1)\n", - "\n", - "#For lamda = 1.30 um\n", - "lamda2 = 1.30*10**-6 #wavelength(m)\n", - "Yr2 = (8*math.pi**3*n**8*p**2*Bo*K*Tf)/(3*lamda2**4)\n", - "E2 = math.exp(-Yr2*L)\n", - "a2 = 10.*math.log10(1/E2)\n", - "\n", - "\n", - "#Result\n", - "print \"(solutions of example 4.8 and 4.7 are interchanged in the textbook)\"\n", - "print \"Theoretical attenuation =\",round(a1,3),\"dB/km\"\n", - "print \"Theoretical attenuation =\",round(a2,3),\"dB/km\"" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "(solutions of example 4.8 and 4.7 are interchanged in the textbook)\n", - "Theoretical attenuation = 5.21 dB/km\n", - "Theoretical attenuation = 0.287 dB/km\n" - ] - } - ], - "prompt_number": 6 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 4.8, Page number 104" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "'''Calculating the refractive index of glass'''\n", - "\n", - "import math\n", - "\n", - "#Variable declaration\n", - "lamda = 1*10**-6 #wavelength(m)\n", - "p = 0.245 #photoelastic coefficient\n", - "Bc = 8.4*10**-11 #isothermal compressebility(m^2/N)\n", - "Tf = 758 #fictive temperature(K)\n", - "K = 1.381*10**-23 #Boltzman's constant(J/k)\n", - "alpha = 0.46 #attenuation(Db/Km)\n", - "L = 1.*10**3 #distance(km)\n", - "\n", - "#Calculations\n", - "Yr = (8*math.pi**3*p**2*Bc*K*Tf)/(3*lamda**4)\n", - "n= (alpha/(4.34*Yr*10**3))**(1./8.)\n", - "\n", - "#Result\n", - "print \"Refractive index =\",round(n,2)\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "Refractive index = 1.49\n" - ] - } - ], - "prompt_number": 7 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 4.9, Page nuber 106" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "'''Calculating the operating wavelength of laser and attenuation of fiber'''\n", - "\n", - "#Variable declaration\n", - "Pb = 150.*10**-3 #threshold optical power for brillouin(W)\n", - "Pr = 1.5 #threshold optical power for raman(W)\n", - "d = 8.0 #core diameter(um)\n", - "v = 1 #bandwidth(GHz)\n", - "\n", - "#Calculations\n", - "'''\n", - "Pb is given by,\n", - "Pb = 4.4*10**-3*d^2*lamda^2*alpha*v ----(1)\n", - "\n", - "Pr is given by,\n", - "Pr = 5.9*10**-2*d^2*lamda*alpha ----(2)\n", - "\n", - "Dividing (1) by (2), we get,\n", - "'''\n", - "\n", - "lamda = (Pb*5.9*10**-2*d**2)/(Pr*4.4*10**-3*d**2)\n", - "\n", - "alpha = Pr/(5.9*10**-2*d**2*lamda)\n", - "\n", - "#Results\n", - "print \"Operating wavelength =\",round(lamda,2),\"um\"\n", - "print \"Attenuation =\",round(alpha,3),\"dB/km\"" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "Operating wavelength = 1.34 um\n", - "Attenuation = 0.296 dB/km\n" - ] - } - ], - "prompt_number": 11 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 4.10, Page number 107" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "'''Estimating the threshold optical powers for Brillowin and raman scattering'''\n", - "\n", - "#Variable declaration\n", - "d = 6 #core diameter(um)\n", - "v = 0.8 #bandwidth(GHz) \n", - "lamda = 1.5 #wavelength(um)\n", - "alpha = 0.5 #attenuation(dB/Km)\n", - "\n", - "#Calculations\n", - "Pb = 4.4*10**-3*d**2*lamda**2*alpha*v\n", - "\n", - "Pr = 5.9*10**-3*d**2*lamda*alpha\n", - "\n", - "#Results\n", - "print \"Threshold optical power for SBS =\",round((Pb/1E-3),2),\"mW\"\n", - "print \"Threshold optical power for SRS =\",round((Pr/1E-1),2),\"W\"" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "Threshold optical power for SBS = 142.56 mW\n", - "Threshold optical power for SRS = 1.59 W\n" - ] - } - ], - "prompt_number": 12 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 4.11, Page number 107" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "'''Determing the critical radius of curvature'''\n", - "\n", - "import math\n", - "\n", - "#Variable declaration\n", - "delta = 3./100 #relative refracive index difference\n", - "n1 = 1.5 #refractive index of core\n", - "lamda = 0.82*10**-6 #operating wavelength(m)\n", - "\n", - "#Calculations\n", - "n2 = math.sqrt(n1**2-2*delta*n1**2)\n", - "\n", - "Rc = (3*n1**2*lamda)/(4*math.pi*(n1**2-n2**2)**0.5)\n", - "\n", - "#Results\n", - "print \"The critical radius of curvature is\",round((Rc/1E-6),3),\"um(Calculation mistake in textbook)\"" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "The critical radius of curvature is 1.199 um(Calculation mistake in textbook)\n" - ] - } - ], - "prompt_number": 13 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 4.12, Page number 108" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "'''Calculating the crtitical radius of curvature'''\n", - "\n", - "#Variable declaration\n", - "delta = 3./100 #relative refracive index difference\n", - "n1 = 2.0 #refractive index of core\n", - "lamda = 1.55*10**-6 #operating wavelength(m)\n", - "d = 8 #core diameter(um)\n", - "\n", - "#Calculations\n", - "a = d/2\n", - "n2 = math.sqrt(n1**2-2*delta*n1**2)\n", - "lamda_c = (2*math.pi*a*10**-6*n1*((2*delta)**0.5))/2.405\n", - "Rc = (20*lamda*(2.748-0.996*(lamda/lamda_c))**-3)/((n1**2-n2**2)**0.5)\n", - "\n", - "#Result\n", - "print \"The critical radius of curvature is\",round((Rc/1E-6),3),\"um\"\n", - "\n", - "#note There is a calculation mistake in calculating 'n' in the textbook. Hence, the difference in results\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "The critical radius of curvature is 4.322 um\n" - ] - } - ], - "prompt_number": 9 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 4.13, Page number 109" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "'''Determine-\n", - "a)Maximum possible bandwidth\n", - "b)pulse dispersion per unit length\n", - "c)bandwidth length product'''\n", - "\n", - "#Variable declaration\n", - "t = 0.1*10**-6 #pulse broadening(sec)\n", - "L = 10 #distance(km)\n", - "\n", - "#Calculatons\n", - "#Part a\n", - "Bt = 1/(2*t)\n", - "\n", - "#Part b\n", - "D = t/L\n", - "\n", - "#Part c\n", - "Bl = Bt*L\n", - "\n", - "#Results\n", - "print \"a)Maximum possible bandwidth =\",Bt/1E+6,\"MHz\"\n", - "print \"b)Pulse dispersion per unit length =\",D/1E-6,\"us/km\"\n", - "print \"c)Bandwidth length product =\",Bl/1E+6,\"Mhz km\"" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "a)Maximum possible bandwidth = 5.0 MHz\n", - "b)Pulse dispersion per unit length = 0.01 us/km\n", - "c)Bandwidth length product = 50.0 Mhz km\n" - ] - } - ], - "prompt_number": 15 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 4.14, Page number 109" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "'''Estimating the wavelength of transmitted light'''\n", - "\n", - "#Variable declaration\n", - "Rc = 84*10**-6 #radius of curvature(m)\n", - "n1 = 1.46 #core refractive index\n", - "n2 = 1.45 #cladding refractive index\n", - "\n", - "#Calculations\n", - "lamda = (Rc*4*math.pi*(n1**2-n2**2)**0.5)/(3*n1**2)\n", - "\n", - "#Result\n", - "print \"Wavelength =\",round(lamda/1e-6,2),\"um(Calculation mistake in textbook)\"" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "Wavelength = 28.16 um(Calculation mistake in textbook)\n" - ] - } - ], - "prompt_number": 12 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 4.15, Page number 110" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "'''Calculating the pulse broadening due to dispersion'''\n", - "\n", - "#Variable declaration\n", - "lamda = 1.5 #wavelength(um)\n", - "M = 20 #dispersion parameter(ps n/m-km)\n", - "L = 30 #length of fiber(km)\n", - "s_l = 2 #spectral width(nm)\n", - "\n", - "#Calculations\n", - "s_m = s_l*L*M\n", - "\n", - "#Result\n", - "print \"Pulse broadening =\",s_m,\"ps\"" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "Pulse broadening = 1200 ps\n" - ] - } - ], - "prompt_number": 17 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 4.16, Page number 110" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "'''Calculating material dispersion parameter and rms pulse broadening'''\n", - "\n", - "#Variable declaration\n", - "lamda = 850 #wavelength(nm)\n", - "s_l = 20 #spectral width(nm)\n", - "Dh = 0.025 #material dispersion\n", - "c = 2.998*10**5 #speed of light(km/s)\n", - "L = 1 #length of fiber(km)\n", - "\n", - "#Calculations\n", - "M = Dh/(c*lamda)\n", - "\n", - "s_m = s_l*L*M\n", - "\n", - "#Results\n", - "print \"Material dispersion parameter =\",round((M/1E-12),2),\"ps n/m km^-1\"\n", - "print \"RMS pulse broadening =\",round((s_m/1E-9),2),\"ns/km\"" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "Material dispersion parameter = 98.1 ps n/m km^-1\n", - "RMS pulse broadening = 1.96 ns/km\n" - ] - } - ], - "prompt_number": 17 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 4.17, Pge number 111" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "'''Determing the pulse boradening per km'''\n", - "\n", - "#Variable declaration\n", - "lamda = 0.9 #wavelength(um)\n", - "s_l = 45 #spectral width(um)\n", - "Dh = 4*10**-2 #material dispersion\n", - "c = 3*10**8 #speed of light(m/s)\n", - "L = 1 #length of fiber(km)\n", - "\n", - "#Calculations\n", - "s_m = (s_l*L*Dh*lamda)/c\n", - "\n", - "#Result\n", - "print \"Pulse boradening =\",s_m/1E-9,\"ns/km\"" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "Pulse boradening = 5.4 ns/km\n" - ] - } - ], - "prompt_number": 21 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 4.18, Page number 111" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "'''Determing the pulse boradening per km'''\n", - "\n", - "#Variable declaration\n", - "lamda = 0.85 #wavelength(nm)\n", - "M = 95 #material dispersion parameter(ps n/m km^-1)\n", - "\n", - "#Calculations\n", - "s_l = 0.0012*lamda\n", - "s_m = s_l*L*M\n", - "\n", - "#Result\n", - "print \"Pulse boradening =\",s_m,\"ns/km\"" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "Pulse boradening = 0.0969 ns/km\n" - ] - } - ], - "prompt_number": 22 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 4.19, Page number 112" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "'''Calculating the pulse broadening'''\n", - "\n", - "#Variable declaration\n", - "NA = 0.275 #numerical aperture\n", - "n1 = 1.48 #core refractive index\n", - "L = 5 #length of fiber(km)\n", - "c = 3.*10**5 #speed of light(km/sec)\n", - "\n", - "#Calculations\n", - "STs = (L*NA**2)/(2*n1*c)\n", - "\n", - "#Result\n", - "print \"Pulse broadening =\",round((STs/1E-9),2),\"ns(Calculation mistake in textbook)\"" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "Pulse broadening = 425.82 ns(Calculation mistake in textbook)\n" - ] - } - ], - "prompt_number": 18 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 4.20, Page number 112" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "'''Calculate -\n", - "a)delay difference between modes\n", - "b)rms pulse broadening\n", - "c)maximum bit rate\n", - "d)bandwidth length product'''\n", - "\n", - "from math import sqrt\n", - "\n", - "#Variable declaration\n", - "L = 3*10**3 #length of link(m)\n", - "n1 = 1.5 #refractive index of core\n", - "D = 2./100 #refractive index difference\n", - "c = 2.998*10**8 #speed of light(m/s)\n", - "\n", - "#Calculations\n", - "#Part a\n", - "Sts = (L*n1*D)/c\n", - "\n", - "#Part b\n", - "s_s = (L*n1*D)/(2*sqrt(3)*c)\n", - "\n", - "#Part c\n", - "Bt = 1/(2*Sts)\n", - "\n", - "#Part d\n", - "Bl = Bt*L\n", - " \n", - "#Results\n", - "print \"Delay difference is\",round(Sts/1E-9),\"ns\"\n", - "print \"rms pulse broadening due to intermodal dispersion is\",round((s_s/1E-9),1),\"ns\"\n", - "print \"Maximum bit rate is\",round((Bt/1E+6),1),\"Mbits/sec\"\n", - "print \"Bandwidth length product is\",round((Bl/1E+9),1),\"MHz km\"" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "Delay difference is 300.0 ns\n", - "rms pulse broadening due to intermodal dispersion is 86.7 ns\n", - "Maximum bit rate is 1.7 Mbits/sec\n", - "Bandwidth length product is 5.0 MHz km\n" - ] - } - ], - "prompt_number": 24 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 4.21, Page number 113" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "'''Calculating the rms pulse broadening per km for multimode step index fiber and graded index fiber'''\n", - "\n", - "#Variable declaration\n", - "s_s = 86.7 #pulse broadening(ns)\n", - "L = 6 #length of link(km)\n", - "n1 = 1.5 #core refractive index\n", - "delta = 1./100 #refractive index difference\n", - "c = 2.998*10**8 #speed of light(m/s)\n", - "\n", - "#Calculations\n", - "s_m = s_s/L\n", - "\n", - "L1 = 10**3\n", - "s_g = (L1*n1*delta**2)/(20*sqrt(3)*c)\n", - "\n", - "#Result\n", - "print \"The rms pulse broadening per km for multimode step index fiber is\",s_m,\"ns/km\"\n", - "print \"The rms pulse broadening per km for graded index fiber is\",round((s_g/1E-12),2),\"ps/km\"\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "The rms pulse broadening per km for multimode step index fiber is 14.45 ns/km\n", - "The rms pulse broadening per km for graded index fiber is 14.44 ps/km\n" - ] - } - ], - "prompt_number": 25 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 4.22, Page number 114" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "'''Estimating the total pulse broadening per km '''\n", - "\n", - "#Variable declaration\n", - "NA = 0.4 #numerical aperture\n", - "n1 = 1.48 #core refractive index\n", - "n2 = 1.47 #cladding refractive index\n", - "M = 30 #material dispersion parameter(ps n/m /km)\n", - "s_l = 25 #spectral width(ns)\n", - "L = 1 #length of fiber(km)\n", - "delta = 1./100 #refractive index difference\n", - "\n", - "#Calculations\n", - "s_m = M*L*s_l\n", - "s_s = (L1*n1*delta**2)/(20*sqrt(3)*c)\n", - "s_t = math.sqrt(s_m**2+s_s**2)\n", - "\n", - "#Results\n", - "print \"Total pulse broadening per km is\",s_t,\"ps\"" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "Total pulse broadening per km is 750.0 ps\n" - ] - } - ], - "prompt_number": 26 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 4.23, Page number 115" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "'''Calculate-\n", - "a)total pulse broadening per km\n", - "b)bandwidth length product'''\n", - "\n", - "import math\n", - "\n", - "#Variable declaration\n", - "NA = 0.3 #numerical aperture\n", - "n1 = 1.45 #core refractive index\n", - "M = 250 #material dispersion parameter(ps n/m /km)\n", - "s_l = 50 #spectral width(ns)\n", - "L = 1 #length of fiber(km)\n", - "c = 2.998*10**8 #speed of light(m/s)\n", - "\n", - "#Calculations\n", - "#Part a\n", - "s_m = (M*L*s_l)*10**-3 #ns/km\n", - "s_s = ((L*10**3*NA**2)/(4*math.sqrt(3)*n1*c*10**3))*10**12 #ns/km\n", - "s_t = math.sqrt(s_m**2+s_s**2)\n", - "\n", - "#Part b\n", - "Bl = 0.2/s_t\n", - "\n", - "#Results\n", - "print \"a)total pulse broadening =\",round(s_t,2),\"ns/km\" #Answer varies due to rounding-off errors\n", - "print \"b)bandwidth length product =\",round((Bl/1E-3),1),\"Mhz km\"" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "a)total pulse broadening = 32.39 ns/km\n", - "b)bandwidth length product = 6.2 Mhz km\n" - ] - } - ], - "prompt_number": 39 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 4.24, Page number 116" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "'''Finding the beat length'''\n", - "\n", - "#Variable declaration\n", - "lamda = 1.32 #wavelength(um)\n", - "Lbc = 100 #length of fiber(km)\n", - "Sf = 1.5 #spectral width(nm)\n", - "\n", - "#Calculations\n", - "Bf = lamda**2/(Lbc*Sf)\n", - "Lb = lamda/Bf\n", - "\n", - "#Result\n", - "print \"Beat length =\",round(Lb,1),\"km\"" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "Beat length = 113.6 km\n" - ] - } - ], - "prompt_number": 28 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 4.25, Page number 116" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "'''Calculate modal birefringence'''\n", - "\n", - "#Variable declaration\n", - "lamda = 1.3*10**-6 #wavelength(um)\n", - "Lb1 = 0.5*10**-3 #length of fiber(mm)\n", - "Lb2 = 60 #(m)\n", - "\n", - "#Calculations\n", - "#for beat length of 0.5mm,\n", - "Bf1 = lamda/Lb1\n", - "\n", - "#for beat length of 60m,\n", - "Bf2 = lamda/Lb2\n", - "\n", - "#Result\n", - "print \"The modal birefringences are \",Bf1/1E-3, \"*10^-3 and\",round((Bf2/1E-8),2),\"*10^-4\"" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "The modal birefringences are 2.6 *10^-3 and 2.17 *10^-4\n" - ] - } - ], - "prompt_number": 29 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 4.26, Page number 117" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "'''Calculate the modal birefringence, coherence length and difference between propagation constants'''\n", - "\n", - "#Variable declaration\n", - "lamda = 0.5*10**-6 #wavelength(um)\n", - "Lb = 5*10**-2 #length of fiber(km)\n", - "S_l = 1*10**-9 #spectral width(nm)\n", - "\n", - "#Calculations\n", - "Bf = lamda/Lb\n", - "\n", - "Lbc = lamda**2/(Bf*S_l)\n", - "\n", - "B = (2*math.pi)/Lb #Bx-By\n", - "\n", - "#Results\n", - "print \"Modal birefringence =\",Bf\n", - "print \"Coherence length =\",Lbc,\"m\"\n", - "print \"Difference between propagation constants =\",round(B,1)" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "Modal birefringence = 1e-05\n", - "Coherence length = 25.0 m\n", - "Difference between propagation constants = 125.7\n" - ] - } - ], - "prompt_number": 30 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 4.27, Page number 117" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "'''Calculating the maximum bit rate'''\n", - "\n", - "#Variable declaration\n", - "L = 10*10**3 #length of fiber(m)\n", - "St2 = 600*10**-12 #mode dispersion(s/km)\n", - "\n", - "#Calculations\n", - "Bt = 0.9/(0.55*St2*L)\n", - "\n", - "#Result\n", - "print \"Maximum bit rate =\",round(Bt/1E+3),\"Kbps\"" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "Maximum bit rate = 273.0 Kbps\n" - ] - } - ], - "prompt_number": 31 - } - ], - "metadata": {} - } - ] -}
\ No newline at end of file |