{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Ch-5 : Dispersion in Optical Fibers" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ex:5.1 Pg: 198" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The max bandwidth =5 MHz\n", "\n", " The dispersion =8.33 ns/km\n", "\n", " bandwidth length product =60 MHz km\n" ] } ], "source": [ "from __future__ import division\n", "t=0.1*10**-6## pulse broading in sec\n", "d=12## disance in km\n", "B=1/(2*t)## max bandwidth MHz\n", "ds=t/d## dispersion in ns/km\n", "bl=B*d## bandwidth length product\n", "print \"The max bandwidth =%d MHz\"%( B/10**6)#\n", "print \"\\n The dispersion =%0.2f ns/km\"%( ds*10**9)#\n", "print \"\\n bandwidth length product =%d MHz km\"%( bl/10**6)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ex:5.2 Pg: 198" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The max bandwidth =5 MHz\n", "\n", " The dispersion =6.67 ns/km\n", "\n", " bandwidth length product =75 MHz km\n" ] } ], "source": [ "from __future__ import division\n", "t=0.1*10**-6## pulse broadening in sec\n", "d=15## disance in km\n", "B=1/(2*t)## max bandwidth MHz\n", "ds=t/d## dispersion in ns/km\n", "bl=B*d## bandwidth length product\n", "print \"The max bandwidth =%d MHz\"%( B/10**6)#\n", "print \"\\n The dispersion =%0.2f ns/km\"%( ds*10**9)#\n", "print \"\\n bandwidth length product =%d MHz km\"%( bl/10**6)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ex:5.3 Pg: 199" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The numerical aperture =0.21\n", "\n", " The multipath pulse broadening =0.05 ns/km\n", "\n", " The bandwidth length product =20 GHz km\n" ] } ], "source": [ "from math import sqrt\n", "from __future__ import division\n", "n1=1.465## core refractive index\n", "n2=1.45## cladding refractive index\n", "c=3*10**8## the speed of light in m/s\n", "NA=sqrt(n1**2-n2**2)## numerical aperture\n", "Mp=(NA**2)/(2*n1*c)## multipath pulse broadening in ns/km\n", "bl=(1/NA**2)*(2*n1*c)## bandwidth length product in GHz km\n", "print \"The numerical aperture =%0.2f\"%( NA)#\n", "print \"\\n The multipath pulse broadening =%0.2f ns/km\"%( Mp*10**9)#\n", "print \"\\n The bandwidth length product =%d GHz km\"%( bl/10**9)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ex:5.4 Pg: 201" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The material dispersion parameter =51.28 ps/nm/km\n", "\n", " The rms pulse broadening =0.31 ns/km\n" ] } ], "source": [ "from __future__ import division\n", "ds=0.020## material dispersion\n", "c=3*10**8## the speed of light m/s\n", "y=1.3## wavelength in um\n", "M=ds/(c*y)## material dispersion parameter in ps/nm/km\n", "w=6## spectral width in nm\n", "l=1## length in km\n", "rm=w*l*M## rms pulse broadening in ns/km\n", "print \"The material dispersion parameter =%0.2f ps/nm/km\"%( M*10**12)#\n", "print \"\\n The rms pulse broadening =%0.2f ns/km\"%(rm*10**9)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ex:5.5 Pg: 201" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The rms pulse broadening =0.09 ns/km\n" ] } ], "source": [ "from __future__ import division\n", "wr=0.0014## relative spectral width in nm\n", "y=1.3*10**-6## wavelength in m\n", "w=wr*y## spectral width in nm\n", "ds=0.020## material dispersion\n", "c=3*10**8## the speed of light in m/s\n", "M=ds/(c*y)## material dispersion parameter in ps/nm/km\n", "l=1## length in km\n", "rm=w*l*M## rms pulse broadening in ns/km\n", "print \"The rms pulse broadening =%0.2f ns/km\"%(rm*10**9*10**3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ex:5.6 Pg: 202" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The delay difference =486 ns\n", "\n", " The rms pulse broadening =140.49 ns\n", "\n", " The max bit rate =1.42 M bits/sec\n", "\n", " The bandwidth length product =14.24 MHz km\n" ] } ], "source": [ "from math import sqrt\n", "from __future__ import division\n", "n1=1.46## core refractive index\n", "dl=0.01## relative index difference\n", "L=10*10**3## optical length in meter\n", "c=3*10**8## the speed of light in m/s\n", "dt=(L*n1*dl)/c## delay difference in s\n", "dT=dt*10**9## delay difference in ns\n", "rm=(L*n1*dl)/(2*sqrt(3)*c)## rms pulse broadening s\n", "rM=rm*10**9## rms pulse broadening ns\n", "bt=0.2/rm## max bit rate in bit/sec\n", "bT=bt/10**6## max bit rate in M bits/sec\n", "bl=bt*L## bandwidth length product in Hz meter\n", "bL=(bt*L)/(10**6*10**3)## bandwidth length product in MHz km\n", "print \"The delay difference =%d ns\"%( dT)#\n", "print \"\\n The rms pulse broadening =%0.2f ns\"%( rM)#\n", "print \"\\n The max bit rate =%0.2f M bits/sec\"%( bT)#\n", "print \"\\n The bandwidth length product =%0.2f MHz km\"%( bL)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ex:5.7 Pg: 202" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The rms pulse broadening =86.60 ns\n", "\n", " The max bit rate =2.31 M bits/sec\n" ] } ], "source": [ "from math import sqrt\n", "from __future__ import division\n", "n1=1.5## core refractive index\n", "dl=0.01## relative index difference\n", "L=6*10**3## optical length in meter\n", "c=3*10**8## the speed of light in m/s\n", "rm=(L*n1*dl)/(2*sqrt(3)*c)## rms pulse broadening s\n", "rM=rm*10**9## rms pulse broadening ns\n", "bt=0.2/rm## max bit rate in bit/sec\n", "bT=bt/10**6## max bit rate in M bits/sec\n", "print \"The rms pulse broadening =%0.2f ns\"%( rM)#\n", "print \"\\n The max bit rate =%0.2f M bits/sec\"%( bT)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ex:5.8 Pg: 203" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The delay difference =336 ns\n", "\n", " The rms pulse broadening =96.99 ns\n", "\n", " The max bit rate =2.06 M bits/sec\n" ] } ], "source": [ "from math import sqrt\n", "from __future__ import division\n", "n1=1.4## core refractive index\n", "dl=0.012## relative index difference\n", "L=6*10**3## optical length in meter\n", "c=3*10**8## the speed of light in m/s\n", "dt=(L*n1*dl)/c## delay difference in s\n", "dT=dt*10**9## delay difference in ns\n", "rm=(L*n1*dl)/(2*sqrt(3)*c)## rms pulse broadening s\n", "rM=rm*10**9## rms pulse broadening ns\n", "bt=0.2/rm## max bit rate in bit/sec\n", "bT=bt/10**6## max bit rate in M bits/sec\n", "print \"The delay difference =%d ns\"%( dT)#\n", "print \"\\n The rms pulse broadening =%0.2f ns\"%( rM)#\n", "print \"\\n The max bit rate =%0.2f M bits/sec\"%( bT)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ex:5.9 Pg: 204" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The total rms pulse broadening =22.40 ns/km\n", "\n", " The bandwidth length product =8.93 MHz km\n" ] } ], "source": [ "from math import sqrt\n", "from __future__ import division\n", "n1=1.5## core refractive index\n", "c=3*10**8## the speed of light m/s\n", "w=6*10**-6## rms spectral width in m\n", "M=200## material dispersion parameter in ps/nm/km\n", "NA=0.25## numerical aperture\n", "w=50## spectral width in nm\n", "L=1## length in m\n", "rm=w*L*M## rms pulse broadening in s/km\n", "rM=rm/10**3## rms pulse broadening in ns/km due to material dispersion\n", "rm1=(L*1000*(NA)**2)/(4*sqrt(3)*n1*c)##rms pulse broadening in ns/km due to material dispersion in sec/m\n", "rM1=rm1*10**9## rms pulse broadening in ns/km due to intermodel dispersion in ns/km\n", "rmt=sqrt(rM**2+rM1**2)## total rms pulse broadening in ns/km\n", "bl=0.2/(rmt*10**-9)## bandwidth length product in Hz km\n", "bL=bl/10**6## bandwidth length product in MHz km\n", "print \"The total rms pulse broadening =%0.2f ns/km\"%(rmt)#\n", "print \"\\n The bandwidth length product =%0.2f MHz km\"%(bL)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ex:5.10 Pg: 204" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The toal first order dispersion at 1290 nm =-2.86 ps/nm/km\n", "\n", " The toal first order dispersion at 1550 nm =17.46 ps/nm/km\n", "\n", " The wavelength dispersion at 1550 nm =3.56 ps/nm/km\n" ] } ], "source": [ "from __future__ import division\n", "yo=1320## zero dispersion wavelength in nm\n", "y=1290## dispersion wavelength in nm\n", "so=0.092## dispersion slop\n", "dt=(y*so/4)*(1-(yo/y)**4)## toal first order dispersion at 1290 nm in ps/nm/km\n", "yo1=1310## zero dispersion wavelength in um\n", "y1=1550## dispersion wavelength in nm\n", "so=0.092## dispersion slop\n", "dt1=(y1*so/4)*(1-(yo1/y1)**4)## toal first order dispersion at 1550 nm in ps/nm/km\n", "DM=13.5## profile dispersion in ps/nm/km\n", "DP=0.4## profile dispersion in ps/nm/km\n", "DW=dt1-(DM+DP)## wavelength dispersion in ps/nm/km\n", "print \"The toal first order dispersion at 1290 nm =%0.2f ps/nm/km\"%( dt)#\n", "print \"\\n The toal first order dispersion at 1550 nm =%0.2f ps/nm/km\"%( dt1)#\n", "print \"\\n The wavelength dispersion at 1550 nm =%0.2f ps/nm/km\"%( DW)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ex:5.11 Pg: 205" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The model birefrigence =21.67 um\n", "\n", " The coherence length=13.00 m\n", "\n", " The difference beween two propagation constants=104.67\n", "\n", " The difference beween two propagation constants=104.67\n" ] } ], "source": [ "from __future__ import division\n", "L=6*10**-2## beat length in m\n", "dy=6*10**-9## spectral width in m\n", "y=1.3*10**-6## operating wavelength in m\n", "BF=y/(L)##model birefrigence in um\n", "Lc=y**2/(BF*dy)## coherence length in m\n", "db=2*3.14/(L)## difference beween two propagation constants\n", "dB=(2*3.14*BF)/y#\n", "print \"The model birefrigence =%0.2f um\"%( BF*10**6)#\n", "print \"\\n The coherence length=%0.2f m\"%( Lc)#\n", "print \"\\n The difference beween two propagation constants=%0.2f\"%( db)#\n", "print \"\\n The difference beween two propagation constants=%0.2f\"%( dB)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ex:5.12 Pg: 206" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The model birefrigenceat 0.5 nm =0.00*10**-3\n", "\n", " The model birefrigence at 75 m =1.13*10**-8 \n" ] } ], "source": [ "from __future__ import division\n", "y=0.85*10**-6## operating wavelength in m\n", "L=0.5*10**-3## beat length in m\n", "BF=y/(L)##model birefrigence in um\n", "L1=75## beat length in m\n", "BF1=y/(L1)##model birefrigence in um\n", "print \"The model birefrigenceat 0.5 nm =%0.2f*10**-3\"%( BF)#\n", "print \"\\n The model birefrigence at 75 m =%0.2f*10**-8 \"%( BF1*10**8)#" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ex:5.13 Pg: 206" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The beat length=113.64 m\n" ] } ], "source": [ "from __future__ import division\n", "Lc=100000## coherence length in m\n", "y=1.32*10**-6## operating wavelength in m\n", "dy=1.5*10**-9## spectral width in m\n", "BF=y**2/(Lc*dy)##model birefrigence in um\n", "L=y/BF## beat length in m\n", "print \"The beat length=%0.2f m\"%( L)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ex:5.14 Pg: 206" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The intermodel pulse broadening =144.17 ns/km\n", "\n", " The bandwidth =1.30 MHz\n" ] } ], "source": [ "from math import sqrt\n", "from __future__ import division\n", "n1=1.46## core refractive index\n", "NA=0.25## numerical aperture\n", "c=3*10**5## the speed of light km/s\n", "L=7## length in km\n", "si=NA**2/(4*sqrt(3)*n1*c)##intermodel pulse broadening ns/km\n", "st=si*L##total intermodel pulse broadening\n", "BW=0.187/st## bandwidth in MHz\n", "print \"The intermodel pulse broadening =%0.2f ns/km\"%( st*10**9)#\n", "print \"\\n The bandwidth =%0.2f MHz\"%( BW/10**6)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ex:5.15 Pg: 207" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The max dispersion =0.19 ns/m\n", "\n", " The answer in the textbook is wrong\n" ] } ], "source": [ "from __future__ import division\n", "n1=1.46## core refractive index\n", "df=0.025#\n", "L=500## length in m\n", "c=3*10**8## the speed of light in m/s\n", "dt=(n1*L*df**2)/(8*c)## max dispersion in ns/m\n", "print \"The max dispersion =%0.2f ns/m\"%( dt*10**9)#\n", "print \"\\n The answer in the textbook is wrong\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ex:5.16 Pg: 207" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The max dispersion =4.27e-03 ns/km**2/nm\n" ] } ], "source": [ "from __future__ import division\n", "dy=15## spectral width in nm\n", "L=25## optical length in km\n", "ps=1.60##pulse spreads in ns/km\n", "pS=1.6## pulse spreads in ns/km\n", "d=pS/(dy*L)## material dispersion in ns/km**2/nm\n", "print \"The max dispersion =%0.2e ns/km**2/nm\"%( d)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ex:5.17 Pg: 208" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The intermodel dispersion =68.49 ns/km\n" ] } ], "source": [ "from __future__ import division\n", "n1=1.46## core refractive index\n", "NA=0.2## numerical aperture\n", "L=1.5*10**3## length in m\n", "c=3*10**8## the spee of light in m/s\n", "dt=(L*NA**2)/(2*c*n1)##intermodel dispersion in ns/km\n", "print \"The intermodel dispersion =%0.2f ns/km\"%( dt*10**9)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ex:3.18 Pg: 209" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The intermodel pulse width broadening =1.28 ns/km\n", "\n", " pulse broadening due to material dispersion =2.25 ns/km\n", "\n", " The combine pulse broadening =2.59 ns/km\n", "\n", " The actual BLP =142.22 MHz.km\n" ] } ], "source": [ "from math import sqrt\n", "from __future__ import division\n", "BLP=250*10**6## bandwidth length product in Hz\n", "tr=0.32/BLP## intermodel pulse width broadening\n", "md=75## material dispersion in ps/nm.km\n", "tm=2.25##pulse broadening due to material dispersion in ns/km\n", "tc=sqrt((tr*10**9)**2+tm**2)## combine pulse broadening in ns/km\n", "Ba=0.32/tm*10**9## actual BLP in Hz.km\n", "Bac=Ba/10**6## actual BLP in MHz.km\n", "print \"The intermodel pulse width broadening =%0.2f ns/km\"%( tr*10**9)#\n", "print \"\\n pulse broadening due to material dispersion =%0.2f ns/km\"%( tm)#\n", "print \"\\n The combine pulse broadening =%0.2f ns/km\"%( tc)#\n", "print \"\\n The actual BLP =%0.2f MHz.km\"%( Bac)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ex:5.19 Pg: 209" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The chromatic/material dispersion =0.24 ns\n" ] } ], "source": [ "from __future__ import division\n", "L=40## length in m\n", "Ny=.75## in ps/nm\n", "dy=8## spectral width in nm\n", "t_mat=L*Ny*dy## chromatic/material dispersion in ps\n", "t_mat1=t_mat/1000## chromatic/material dispersion in ns\n", "print \"The chromatic/material dispersion =%0.2f ns\"%( t_mat1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ex:5.20 Pg: 210" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The received pulse width =3.44 ns\n", "\n", " The max bit rate =58.07 mbps\n" ] } ], "source": [ "from math import sqrt\n", "from __future__ import division\n", "y=1.3## operating wavelength in um\n", "md=2.80## material dispersion in ns\n", "wd=0.50## waveguide dispersion in ns\n", "wt=0.60## width of transmitted pulse in ns\n", "td=sqrt(md**2+wd**2)## total dispersion in ns\n", "dt=wt+td## received pulse width in ns\n", "br=1/(5*dt*10**-9)## max bit rate bit/sec\n", "Br=br/10**6## max bit rate in mbps\n", "print \"The received pulse width =%0.2f ns\"%( dt)#\n", "print \"\\n The max bit rate =%0.2f mbps\"%( Br)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ex:5.21 Pg: 210" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The received pulse width =3.29 ns\n", "\n", " The max bit rate =60.85 mbps\n" ] } ], "source": [ "from math import sqrt\n", "from __future__ import division\n", "y=0.85## operating wavelength in um\n", "md=2.75## material dispersion in ns\n", "wd=0.45## waveguide dispersion in ns\n", "wt=0.50## width of transmitted pulse in ns\n", "td=sqrt(md**2+wd**2)## total dispersion in ns\n", "dt=wt+td## received pulse width in ns\n", "br=1/(5*dt*10**-9)## max bit rate bit/sec\n", "Br=br/10**6## max bit rate in mbps\n", "print \"The received pulse width =%0.2f ns\"%( dt)#\n", "print \"\\n The max bit rate =%0.2f mbps\"%( Br)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ex:5.22 Pg: 211" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The max dispersion =187 ns\n" ] } ], "source": [ "from __future__ import division\n", "n1=1.46## core refractive index\n", "df=0.025#\n", "L=1500## length in meter\n", "c=3*10**8## the speed of ligth in m/s\n", "md=(n1*L*df)/(c*(1-df))## max dispersion in sec\n", "Md=md*10**9## max dispersion in ns\n", "print \"The max dispersion =%d ns\"%( Md)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ex:5.23 Pg: 212" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The max dispersion =53 ns\n" ] } ], "source": [ "from __future__ import division\n", "n1=1.5## core refractive index\n", "L=1000## length in meter\n", "NA=0.22## numerical aperture\n", "dl=(NA/n1)**2/2#\n", "c=3*10**8## the speed of ligth in m/s\n", "dt=(L*n1*dl)/c##intermodel dispersion in sec\n", "dT=dt*10**9##intermodel dispersion in ns\n", "print \"The max dispersion =%d ns\"%( dT)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ex:5.24 Pg: 212" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The max dispersion =9 ns\n", "\n", " The max dispersion =3.83 ns\n", "\n", " The max dispersion =9.78 ns\n", "\n", " answer in the textbook is wrong\n" ] } ], "source": [ "from math import sqrt\n", "from __future__ import division\n", "w=30## line width in nm\n", "L=1.5## length in km\n", "d1=6## in ns/km\n", "d2=85## in ps/km/nm\n", "d3=d2/1000## in ns/km/nm\n", "dt=d1*L## intermodel dispersion in ns\n", "dt1=w*d3*L## intramodel dispersion in ns\n", "dT=sqrt(dt**2+dt1**2)## total dispersion in ns\n", "print \"The max dispersion =%d ns\"%( dt)#\n", "print \"\\n The max dispersion =%0.2f ns\"%( dt1)#\n", "print \"\\n The max dispersion =%0.2f ns\"%( dT)#\n", "print \"\\n answer in the textbook is wrong\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ex:5.25 Pg: 213" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The intermodel dispersion =52.70 ns\n" ] } ], "source": [ "from __future__ import division\n", "n1=1.55## core refractive index\n", "n2=1.48## cladding refractive index\n", "l=150##fiber length in m\n", "c=3*10**8##the speed of light in m/s\n", "dl=(n1**2-n2**2)/(2*n1)#\n", "dL=0.068#\n", "dt=(l*n1*dL)/(c)## intermodel dispersion in s\n", "dT=dt*10**9## intermodel dispersion in ns\n", "print \"The intermodel dispersion =%0.2f ns\"%( dT)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ex:5.29 Pg: 214" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The intermodel dispersion per km =94.67 ns/km\n" ] } ], "source": [ "from __future__ import division\n", "n1=1.42## core refractive index\n", "dl=0.02#\n", "c=3*10**8##the speed of light in m/s\n", "dt=(n1*dl)/c## intermodel disersion in sec/m\n", "dt1=dt*1000## intermodel disersion in sec/km\n", "dt2=dt1*10**9## intermodel disersion in ns/km\n", "print \"The intermodel dispersion per km =%0.2f ns/km\"%( dt2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ex:5.28 Pg: 214" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The pulse spreading =634.57 ns\n" ] } ], "source": [ "from __future__ import division\n", "y=900## operating wavelength in nm\n", "yo=1343## wavelength in nm\n", "so=0.095## in ps/nm**2-km\n", "L=150## in km\n", "dy=50##in nm\n", "Dy=(so*y/4)*(1-(yo/y)**4)## inps/nm-km\n", "Dy1=Dy*(-1)## do not consider -ve sign\n", "dt=Dy1*L*dy## pulse spreading in ps\n", "dt1=dt/1000## pulse spreading in ns\n", "print \"The pulse spreading =%0.2f ns\"%( dt1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ex:5.29 Pg: 215" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The pulse spreading =2.14 ps\n" ] } ], "source": [ "from __future__ import division\n", "n1=1.48## core refractive index\n", "y=900## operating wavelength in nm\n", "yo=1343## wavelength in nm\n", "so=0.095## in ps/nm**2-km\n", "L=1.5## in km\n", "dy=50##in nm\n", "dl=0.002#\n", "c=3*10**8## the speed of ligth in m/s\n", "Dm=(so*y/4)*(1-(yo/y)**4)## inps/nm-km\n", "Dm1=Dm*(-1)## do not consider -ve sign\n", "Vd=0.26#\n", "Dw=((n1*dl)/(c*y*10**-9))*(Vd)#\n", "DW=Dw*10**6## in ps/nm-km\n", "dt=DW*L*dy## pulse spreading in ps\n", "dt1=dt/100## pulse spreading in ns\n", "print \"The pulse spreading =%0.2f ps\"%( dt1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ex:5.30 Pg: 215" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The value of wo =5.20 um\n", "\n", " The value of wp =5.13 um\n", "\n", " The value of wo1 =6.23 um\n", "\n", " The value of wp1 =5.10 um\n" ] } ], "source": [ "from math import sqrt\n", "from __future__ import division\n", "a=4.1*10**-6## core radius in um\n", "dl=0.0036#\n", "y1=1.310*10**-6## operating wavelength in um\n", "y2=1.550*10**-6## operating wavelength in um\n", "n1=1.4677## core refrative index at y=1.310\n", "n2=1.4682## core refrative index at y=1.550\n", "v1=(2*3.14*a*n1*sqrt(2*dl))/y1## normalised frequency at y=1.310\n", "v2=(2*3.14*a*n2*sqrt(2*dl))/y2## normalised frequency at y=1.550\n", "wo=a*(0.65+(1.619/v1**1.5)+2.879/v1**3)#\n", "wp=wo-a*(0.016+1.567/v1**7)#\n", "wo1=a*(0.65+(1.619/v2**1.5)+2.879/v2**3)#\n", "wp1=wo-a*(0.016+1.567/v2**7)#\n", "print \"The value of wo =%0.2f um\"%( wo*10**6)#\n", "print \"\\n The value of wp =%0.2f um\"%( wp*10**6)#\n", "print \"\\n The value of wo1 =%0.2f um\"%( wo1*10**6)#\n", "print \"\\n The value of wp1 =%0.2f um\"%( wp1*10**6)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ex:5.31 Pg: 215" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The max core radius =4.83 um\n", "\n", " The max core radius =48.31 um\n", "\n", " The beat length =1.30 m\n", "\n", " The beat length =13.00 cm\n", "\n", " Hence, range of beat length# 13cm-1.3m\n" ] } ], "source": [ "from __future__ import division\n", "y=1.30*10**-6## operating wavelength in m\n", "dn1=10**-6#\n", "dn2=10**-5#\n", "db1=(dn1*2*3.14)/y## in per m\n", "db2=(dn2*2*3.14)/y## in per m\n", "Lp1=(2*3.14)/(db1)## beat length in m\n", "Lp2=(2*3.14)/(db2)## beat length in m\n", "print \"The max core radius =%0.2f um\"%( db1)#\n", "print \"\\n The max core radius =%0.2f um\"%( db2)#\n", "print \"\\n The beat length =%0.2f m\"%( Lp1)#\n", "print \"\\n The beat length =%0.2f cm\"%( Lp2*100)#\n", "print \"\\n Hence, range of beat length# 13cm-1.3m\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ex:5.32 Pg: 216" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The wavelength dispersion =-2.52 ps n/m/km\n" ] } ], "source": [ "from math import sqrt\n", "from __future__ import division\n", "n1=1.48## core refractive index\n", "dl=0.0027#\n", "a=4.4*10**-6## radius in m\n", "y=1.32*10**-6## operating wavelength in m\n", "n2=n1*(1-dl)#\n", "c=3*10**8## the speed of ligth in m/s\n", "v=(2*3.14*a*n1*sqrt(2*dl))/y#\n", "VD=0.080+0.549*(2.834-v)**2#\n", "DW=(-1)*(n2*dl*VD)/(c*y)## wavelength dispersion in s /um/m\n", "Dw=DW*10**6## wavelength dispersion in ps /nm/km\n", "print \"The wavelength dispersion =%0.2f ps n/m/km\"%( Dw)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exa:5.33 Pg: 216" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The core radius =2.75 um\n" ] } ], "source": [ "from math import sqrt,pi\n", "from __future__ import division\n", "n1=1.48## core refractive index\n", "dl=0.01## refractive index difference\n", "c=3*10**8## the speed of light in m/s\n", "y=1.55## wavelength in um\n", "DM=7## in ps/nm-km\n", "DW=(-1)*DM## in ps/nm-km\n", "X=-10**12*(n1*dl)/(c*y)## in ps/nm/km\n", "Z=(DW/X)-0.08## \n", "V=2.834-sqrt(Z/0.549)#\n", "a=(V*y)/(2*pi*n1*sqrt(2*dl))## core radius in um\n", "print \"The core radius =%0.2f um\"%( a)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.9" } }, "nbformat": 4, "nbformat_minor": 0 }