diff options
author | Trupti Kini | 2016-05-08 23:30:29 +0600 |
---|---|---|
committer | Trupti Kini | 2016-05-08 23:30:29 +0600 |
commit | 319b3ab10ce7ba40b7854a5630f317e318f3721b (patch) | |
tree | 18e365c95a9401c576eb4029c00eeee1c8f29387 /Optical_Fiber_Communication_System_by_Dr._M.K._Raina/chap5.ipynb | |
parent | cf1d6e42383334d18a21bc297720bf52fca2f488 (diff) | |
download | Python-Textbook-Companions-319b3ab10ce7ba40b7854a5630f317e318f3721b.tar.gz Python-Textbook-Companions-319b3ab10ce7ba40b7854a5630f317e318f3721b.tar.bz2 Python-Textbook-Companions-319b3ab10ce7ba40b7854a5630f317e318f3721b.zip |
Added(A)/Deleted(D) following books
A Optical_Fiber_Communication_System_by_Dr._M.K._Raina/chap10.ipynb
A Optical_Fiber_Communication_System_by_Dr._M.K._Raina/chap2.ipynb
A Optical_Fiber_Communication_System_by_Dr._M.K._Raina/chap3.ipynb
A Optical_Fiber_Communication_System_by_Dr._M.K._Raina/chap4.ipynb
A Optical_Fiber_Communication_System_by_Dr._M.K._Raina/chap5.ipynb
A Optical_Fiber_Communication_System_by_Dr._M.K._Raina/chap6.ipynb
A Optical_Fiber_Communication_System_by_Dr._M.K._Raina/chap7.ipynb
A Optical_Fiber_Communication_System_by_Dr._M.K._Raina/chap8.ipynb
A Optical_Fiber_Communication_System_by_Dr._M.K._Raina/chap9.ipynb
A Optical_Fiber_Communication_System_by_Dr._M.K._Raina/screenshots/Sc1.png
A Optical_Fiber_Communication_System_by_Dr._M.K._Raina/screenshots/sc2.png
A Optical_Fiber_Communication_System_by_Dr._M.K._Raina/screenshots/sc3.png
Diffstat (limited to 'Optical_Fiber_Communication_System_by_Dr._M.K._Raina/chap5.ipynb')
-rw-r--r-- | Optical_Fiber_Communication_System_by_Dr._M.K._Raina/chap5.ipynb | 1271 |
1 files changed, 1271 insertions, 0 deletions
diff --git a/Optical_Fiber_Communication_System_by_Dr._M.K._Raina/chap5.ipynb b/Optical_Fiber_Communication_System_by_Dr._M.K._Raina/chap5.ipynb new file mode 100644 index 00000000..e743d136 --- /dev/null +++ b/Optical_Fiber_Communication_System_by_Dr._M.K._Raina/chap5.ipynb @@ -0,0 +1,1271 @@ +{ + "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 +} |