summaryrefslogtreecommitdiff
path: root/Optical_Fiber_Communication_System_by_Dr._M.K._Raina/chap3.ipynb
diff options
context:
space:
mode:
authorTrupti Kini2016-05-08 23:30:29 +0600
committerTrupti Kini2016-05-08 23:30:29 +0600
commit7262656f9b42f6e2cf6313c7bb6d96ff0db4a2f8 (patch)
tree9f6786d3263760b1c0c5af6dd9a6dbdcc6e99aba /Optical_Fiber_Communication_System_by_Dr._M.K._Raina/chap3.ipynb
parent004c6da6287fbcb9e7935acbd40b37b88c5bd6f8 (diff)
downloadPython-Textbook-Companions-7262656f9b42f6e2cf6313c7bb6d96ff0db4a2f8.tar.gz
Python-Textbook-Companions-7262656f9b42f6e2cf6313c7bb6d96ff0db4a2f8.tar.bz2
Python-Textbook-Companions-7262656f9b42f6e2cf6313c7bb6d96ff0db4a2f8.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/chap3.ipynb')
-rw-r--r--Optical_Fiber_Communication_System_by_Dr._M.K._Raina/chap3.ipynb1165
1 files changed, 1165 insertions, 0 deletions
diff --git a/Optical_Fiber_Communication_System_by_Dr._M.K._Raina/chap3.ipynb b/Optical_Fiber_Communication_System_by_Dr._M.K._Raina/chap3.ipynb
new file mode 100644
index 00000000..82ba5ae8
--- /dev/null
+++ b/Optical_Fiber_Communication_System_by_Dr._M.K._Raina/chap3.ipynb
@@ -0,0 +1,1165 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Ch-3 : Modes and Rays"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex:3.1 Pg: 84"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "core radius=37.90 micrometer\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "from __future__ import division\n",
+ "n1=1.50## core refractive index\n",
+ "n2=1.48## cladding refractive index\n",
+ "y=1.3*10**-6#\n",
+ "m=1000## the no. of models\n",
+ "v=sqrt(2*m)#\n",
+ "a=(v*y)/(2*pi*(sqrt(n1**2-n2**2)))*10**6## core radius in micrometer\n",
+ "print \"core radius=%0.2f micrometer\"%(a)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex:3.2 Pg: 84"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "numerical aperture=0.09\n",
+ "\n",
+ " core radius=5.23 micrometer\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "from __future__ import division\n",
+ "n1=1.505## core refractive index\n",
+ "n2=1.502## cladding refractive index\n",
+ "n_m=sqrt(n1**2-n2**2)## numerical aperture\n",
+ "y=1.3*10**-6#\n",
+ "v=2.4#\n",
+ "a=(v*y)/(2*pi*(sqrt(n1**2-n2**2)))*10**6## core radius in micrometer\n",
+ "print \"numerical aperture=%0.2f\"%(n_m)#\n",
+ "print \"\\n core radius=%0.2f micrometer\"%(a)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex:3.3 Pg: 85"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "propagation constant=7.22 rad/um\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "from __future__ import division\n",
+ "n1=1.5## core refractive index\n",
+ "dl=0.01##index difference\n",
+ "m=0## for the dominant mode\n",
+ "v=0## for the dominant mode\n",
+ "y=1.3## in micrometer\n",
+ "a=5## radius in micrometer\n",
+ "k=(2*pi)/y#\n",
+ "b=k**2*n1**2-(2*k*n1*sqrt(2*dl))/a#\n",
+ "B=sqrt(b)## propagation constant in rad/um\n",
+ "print \"propagation constant=%0.2f rad/um\"%(B)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex:3.5 Pg: 85"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "total no. of models allowed=8\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi,ceil\n",
+ "from __future__ import division\n",
+ "n1=3.6## core refractive index\n",
+ "n2=3.3## cladding refractive index\n",
+ "d=2.0## thickness in um\n",
+ "y=0.8## wavelength in um\n",
+ "m=(2*d*sqrt(n1**2-n2**2))/y## total no. of models allowed\n",
+ "M=ceil(m)## total no. of models allowed\n",
+ "print \"total no. of models allowed=%d\"%(M)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex:3.6 Pg: 86"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "normalised frequency=75.80\n",
+ "\n",
+ " the total no. of guided modess =2873\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi,ceil\n",
+ "from __future__ import division\n",
+ "n1=1.48## core refractive index\n",
+ "a=40*(10**-6)## core radius in meter\n",
+ "dl=0.015## index difference\n",
+ "y=0.85*(10**-6)## wavelength in um\n",
+ "v=(2*pi*a*n1*sqrt(2*dl))/y## normalised frequency\n",
+ "M=v**2/2#\n",
+ "m=ceil(M)## the total no. of guided modes\n",
+ "print \"normalised frequency=%0.2f\"%(v)#\n",
+ "print \"\\n the total no. of guided modess =%d\"%(m)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ " ## Ex:3.7 Pg: 87"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "cladding refractive index=1.44\n",
+ "\n",
+ " normalised frequency=56.08\n",
+ "\n",
+ " the total no. of guided modess =1572\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "from __future__ import division\n",
+ "n1=1.46## core refractive index\n",
+ "dl=0.015## index difference\n",
+ "a=30*(10**-6)## core radius in meter\n",
+ "y=0.85*(10**-6)## wavelength in um\n",
+ "n2=n1-(n1*dl)## cladding refractive index\n",
+ "v=(2*pi*a*n1*sqrt(2*dl))/y## normalised frequency\n",
+ "M=v**2/2## the total no. of guided modes\n",
+ "print \"cladding refractive index=%0.2f\"%(n2)#\n",
+ "print \"\\n normalised frequency=%0.2f\"%(v)#\n",
+ "print \"\\n the total no. of guided modess =%d\"%(M)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex:3.8 Pg: 87"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "normalised frequency=46.90\n",
+ "\n",
+ " the diameter of the fiber core =91.50 um\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "from __future__ import division\n",
+ "n1=1.5## core refractive index\n",
+ "dl=0.01## index difference\n",
+ "M=1100## the total no. of guided modes\n",
+ "y=1.3*(10**-6)## wavelength in um\n",
+ "v=sqrt(2*M)## normalised frequency\n",
+ "a=(v*y)/(2*pi*n1*sqrt(2*dl))*10**6## core radius in meter\n",
+ "print \"normalised frequency=%0.2f\"%(v)#\n",
+ "print \"\\n the diameter of the fiber core =%0.2f um\"%(2*a)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ " ## Ex:3.9 Pg: 87"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "normalised frequency=60.32\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "from __future__ import division\n",
+ "n1=1.45## core refractive index\n",
+ "n_m=0.16## numerical aperture\n",
+ "a=30*10**-6## core radius in micrometer\n",
+ "y=0.5*(10**-6)## wavelength in um\n",
+ "v=(2*pi*a*n_m)/y## normalised frequency\n",
+ "print \"normalised frequency=%0.2f\"%(v)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex:3.10 Pg: 88"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "the max thickness=0.61 um\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "from __future__ import division\n",
+ "n1=3.6## core refractive index\n",
+ "n2=3.56## cladding refractive index\n",
+ "y=0.85*(10**-6)## wavelength in um\n",
+ "m=1#\n",
+ "n=0#\n",
+ "v_c=2.405## for planner guide\n",
+ "a=(v_c*y)/(2*pi*sqrt(n1**2-n2**2))## core radius in micrometer\n",
+ "print \"the max thickness=%0.2f um\"%(a*10**6)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex:3.11 Pg: 88"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "the core diameter=92 um\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import pi,sqrt,ceil\n",
+ "from __future__ import division\n",
+ "n1=1.5 #core refractive index\n",
+ "y=1.3*(10**-6) #wavelength in um\n",
+ "M=1100 #total no. of models\n",
+ "dl=0.01 #index difference\n",
+ "v=sqrt(2*M) #\n",
+ "V=ceil(v) #\n",
+ "a=(V*y)/(2*pi*n1*sqrt(2*dl))*10**6 #core radius in micrometer\n",
+ "a1=ceil(a) #core radius in micrometer\n",
+ "print \"the core diameter=%d um\"%(2*a1) "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex:3.12 Pg: 89"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The max core diameter in meter=3.66 um\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "from __future__ import division\n",
+ "n1=1.45## core refractive index\n",
+ "dl=0.015## index difference\n",
+ "y=0.85*(10**-6)## wavelength in meter\n",
+ "v=2.4*(1+(2/2))**(0.5)## Max normalised frequency\n",
+ "a=(v*y)/(2*pi*n1*(2*dl)**(0.5))## Max core radius in m\n",
+ "d=2*a## The max core diameter in meter\n",
+ "print \"The max core diameter in meter=%0.2f um\"%( d*10**6)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex:3.13 Pg: 89"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The number of modes=10.11\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "from __future__ import division\n",
+ "n1=1.48## core refractive index\n",
+ "n2=1.46## cladding refractive index\n",
+ "a=2.5## radius in um\n",
+ "y=0.85## wavelength in um\n",
+ "dl=(n1-n2)/n1## index difference\n",
+ "v=(2*pi*a*n1*(2*dl)**(0.5))/y## the normaised frequency\n",
+ "M=(v*v)/2## number of modes\n",
+ "print \"The number of modes=%0.2f\"%( M)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex:3.14 Pg: 90"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The number of modes=0.22\n",
+ "\n",
+ " The number of modes=0.15\n",
+ "\n",
+ " answer in textbook is wrong\n",
+ "\n",
+ " The number of modes=353.78\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "from __future__ import division\n",
+ "a=25## radius in um\n",
+ "y=1.3## wavelength in um\n",
+ "v=26.6## the normaised frequency\n",
+ "NA=(v*y)/(2*pi*a)## Numerical aperture\n",
+ "a_c=pi*(NA)**2#\n",
+ "M=(v*v)/2#\n",
+ "print \"The number of modes=%0.2f\"%( NA)#\n",
+ "print \"\\n The number of modes=%0.2f\"%( a_c)#\n",
+ "print \"\\n answer in textbook is wrong\"#\n",
+ "print \"\\n The number of modes=%0.2f\"%( M)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex:3.15 Pg: 90"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The cut off wavelength =1.27 um\n",
+ "\n",
+ " The min core radius =2.05 um\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "n1=1.49## core refractive index\n",
+ "n2=1.47## cladding refractive index\n",
+ "a=2## radius in um\n",
+ "dl=(n1-n2)/n1## index difference\n",
+ "v_c=2.405#\n",
+ "y_c=(2*3.14*a*n1*(2*dl)**(0.5))/v_c## cut off wavelength in um\n",
+ "Y=1.31## wavelength in um\n",
+ "A=(v_c*Y)/(2*3.14*n1*(2*dl)**(0.5))## min core radius in um\n",
+ "print \"The cut off wavelength =%0.2f um\"%( y_c)#\n",
+ "print \"\\n The min core radius =%0.2f um\"%( A)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex:3.16 Pg: 91"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The normalised frequency =47.12\n",
+ "\n",
+ " The mode volume =554 guided modes\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "from __future__ import division\n",
+ "a=25## radius in um\n",
+ "NA=0.3## Numerical aperture\n",
+ "y=1## wavelength in um\n",
+ "v=(2*pi*a*NA)/y## the normalised frequency\n",
+ "V=47.1## the normalised frequency\n",
+ "M=(V*V)/4## The mode volume\n",
+ "print \"The normalised frequency =%0.2f\"%( v)#\n",
+ "print \"\\n The mode volume =%d guided modes\"%( M)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex:3.17 Pg: 91"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The cut off wavelength =1.21 um\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "n1=1.46## core refractive index\n",
+ "a=4.5## radius in um\n",
+ "dl=0.0025## relative index difference\n",
+ "v_c=2.405#\n",
+ "y_c=(2*3.14*a*n1*(2*dl)**(0.5))/v_c## cut off wavelength in um\n",
+ "print \"The cut off wavelength =%0.2f um\"%( y_c)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex:3.18 Pg: 92"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The cut of numbers =91.83\n",
+ "\n",
+ " The number of modes =4216.48\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "from __future__ import division\n",
+ "n1=1.5## core refractive index\n",
+ "n2=1.45## cladding refractive index\n",
+ "a=50## radius in um\n",
+ "y=1.3## operating wavelength in um\n",
+ "NA=sqrt(n1**2-n2**2)## numerical aperture\n",
+ "N_A=0.38#\n",
+ "v=(2*pi*a*N_A)/y## cut of numbers\n",
+ "M=v**2/2## number of modes\n",
+ "print \"The cut of numbers =%0.2f\"%( v)#\n",
+ "print \"\\n The number of modes =%0.2f\"%( M)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex:3.19 Pg: 92"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The max core radius =1.91 um\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "from __future__ import division\n",
+ "n1=1.53## core refractive index\n",
+ "n2=1.5## cladding refractive index\n",
+ "y=1.5## operating wavelength in um\n",
+ "NA=sqrt(n1**2-n2**2)## numerical aperture\n",
+ "a=(2.405*y)/(2*3.14*NA)## max radius in um\n",
+ "print \"The max core radius =%0.2f um\"%( a)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex:3.20 Pg: 92"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The v-number =67.35\n",
+ "\n",
+ " The number of modes =2267.87\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "from __future__ import division\n",
+ "a=25## max radius in um\n",
+ "y=0.8## operating wavelength in um\n",
+ "NA=0.343## numerical aperture\n",
+ "v=(2*pi*a*NA)/y## v-number\n",
+ "M=v**2/2##number of modes\n",
+ "print \"The v-number =%0.2f\"%( v)#\n",
+ "print \"\\n The number of modes =%0.2f\"%( M)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex:3.21 Pg: 93"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The core radius =40.84 um\n",
+ "\n",
+ " The cladding refractive index =1.45\n",
+ "\n",
+ " answer in textbook is wrong\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "from __future__ import division\n",
+ "n1=1.5## core refractive index\n",
+ "NA=0.38## numerical aperture\n",
+ "v=75## v-number\n",
+ "y=1.3## operating wavelength in um\n",
+ "a=(v*y)/(2*pi*NA)## core radius in um\n",
+ "n2=sqrt(n1**2-NA**2)## cladding refractive index\n",
+ "print \"The core radius =%0.2f um\"%( a)#\n",
+ "print \"\\n The cladding refractive index =%0.2f\"%( n2)#\n",
+ "print \"\\n answer in textbook is wrong\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex:3.22 Pg: 94"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The divergence angle =0.15 degree\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "from __future__ import division\n",
+ "y=1.2## operating wavelength in um\n",
+ "w=5## spot size in um\n",
+ "x=(2*y)/(pi*w)## the divergence angle in degree\n",
+ "print \"The divergence angle =%0.2f degree\"%( x)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex:3.23 Pg: 94"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The cut off wavelength =1.21 um\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "from __future__ import division\n",
+ "n1=1.46## core refractive index\n",
+ "a=4.5## core radius in um\n",
+ "dl=0.0025## relative index difference\n",
+ "NA=n1*(sqrt(2*dl))## numerical aperture\n",
+ "v=2.405#\n",
+ "y=(2*pi*a*NA)/(v)## cut off wavelength in um\n",
+ "print \"The cut off wavelength =%0.2f um\"%( y)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex:3.24 Pg: 94"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The number of modes at 870 nm =726.14 um\n",
+ "\n",
+ " The number of modes =244.27 um\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "from __future__ import division\n",
+ "n1=1.5## core refractive index\n",
+ "n2=1.47## cladding refractive index\n",
+ "y1=0.87## operating wavelength in um\n",
+ "y2=1.5## operating wavelength in um\n",
+ "a=25## max radius in um\n",
+ "NA=sqrt(n1**2-n2**2)## numerical aperture\n",
+ "v1=(2*pi*a*NA)/y1#\n",
+ "v2=(2*pi*a*NA)/y2#\n",
+ "al=2## parabolic index profile for GRIN\n",
+ "M1=(al/(al+2))*(v1**2/2)## number of modes\n",
+ "M2=(al/(al+2))*(v2**2/2)## number of modes\n",
+ "print \"The number of modes at 870 nm =%0.2f um\"%( M1)#\n",
+ "print \"\\n The number of modes =%0.2f um\"%( M2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex:3.25 Pg: 95"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The numerical aperture =0.34 um\n",
+ "\n",
+ " The max core radius =0.94 um\n",
+ "\n",
+ " The spot size =2.27 um\n",
+ "\n",
+ " The divergence angle =0.22 degree\n",
+ "\n",
+ " The spot size at 50 meter =5.97 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "from __future__ import division\n",
+ "n1=1.5## core refractive index\n",
+ "n2=1.46## cladding refractive index\n",
+ "v=2.4## cut off parameter\n",
+ "y=0.85## operating wavelength in um\n",
+ "NA=sqrt(n1**2-n2**2)## numerical aperture\n",
+ "a=(v*y)/(2*3.14*NA)## max radius in um\n",
+ "w=v*a## spot size\n",
+ "x=(2*y)/(3.4*w)## divergence angle in degree\n",
+ "d=50## distance in meter\n",
+ "w_s=(y*d)/(pi*w)## spot size at 50 meter\n",
+ "print \"The numerical aperture =%0.2f um\"%( NA)#\n",
+ "print \"\\n The max core radius =%0.2f um\"%( a)#\n",
+ "print \"\\n The spot size =%0.2f um\"%( w)#\n",
+ "print \"\\n The divergence angle =%0.2f degree\"%( x)#\n",
+ "print \"\\n The spot size at 50 meter =%0.2f m\"%( w_s)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex:3.26 Pg: 95"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The max diameter=3.05 um\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "from __future__ import division\n",
+ "n1=1.53## core refractive index\n",
+ "n2=1.50## cladding refractive index\n",
+ "y=1.2## wavelength in um\n",
+ "v=2.405#\n",
+ "a=(v*y)/(2*3.14*(sqrt(n1**2-n2**2)))## core radius in micrometer\n",
+ "print \"The max diameter=%0.2f um\"%(2*a)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex:3.27 Pg: 95"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The largest core radius =2.91 um\n",
+ "\n",
+ " The fractional refractive index=1.46\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "from __future__ import division\n",
+ "n1=1.47## core refractive index\n",
+ "n2=1.46## cladding refractive index\n",
+ "y=1.3## wavelength in um\n",
+ "dl=(n1-n2)/n1## fractional refractive index diff\n",
+ "NA=sqrt(n1**2-n2**2)#\n",
+ "v=2.405#\n",
+ "a=(v*y)/(2*3.14*(sqrt(n1**2-n2**2)))## largest core radius in micrometer\n",
+ "n_eff=n1-(NA/(2*3.14*(a/y)))## fractional refractive index\n",
+ "print \"The largest core radius =%0.2f um\"%( a)#\n",
+ "print \"\\n The fractional refractive index=%0.2f\"%(n_eff)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex:3.28 Pg: 95"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 30,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The cut off parameter =45.09\n",
+ "\n",
+ " The number of modes =1016\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "from __future__ import division\n",
+ "n1=1.50## core refractive index\n",
+ "n2=1.48## cladding refractive index\n",
+ "NA=sqrt(n1**2-n2**2)## numerical aperture\n",
+ "a=25## core radius in um\n",
+ "y=0.85## wavelength in um\n",
+ "v=(2*3.14*a*NA)/y## cut off parameter\n",
+ "M=v**2/2## number of modes\n",
+ "print \"The cut off parameter =%0.2f\"%( v)#\n",
+ "print \"\\n The number of modes =%d\"%(M)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex:3.29 Pg: 96"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 31,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The max value of D =0.00\n",
+ "\n",
+ " The cladding refractive index =1.50\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "n1=1.50## core refractive index\n",
+ "a=25## core radius in um\n",
+ "y=1.5## wavelength in um\n",
+ "v=2.405#\n",
+ "NA=(v*y)/(2*3.14*a)## numerical aperture\n",
+ "D=(NA/n1)**2/(2)## max value of D\n",
+ "n2=n1-(D*n1)## cladding refractive index\n",
+ "print \"The max value of D =%0.2f\"%(D)#\n",
+ "print \"\\n The cladding refractive index =%0.2f\"%(n2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex:3.30 Pg: 96"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 32,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The max value of D =0.03\n",
+ "\n",
+ " The critical angle =76.87 degree\n",
+ "\n",
+ " The acceptance angle =40.56 degree\n",
+ "\n",
+ " The solid acceptance angle =0.38 degree\n",
+ "\n",
+ " The numerical aperture =0.35\n",
+ "\n",
+ " The normalise v-number =113.04\n",
+ "\n",
+ " The number of guided modes =6389\n",
+ "\n",
+ " The reduction in modes =6310\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi,asin\n",
+ "from __future__ import division\n",
+ "n1=1.52## core refractive index\n",
+ "n2=1.48## cladding refractive index\n",
+ "a=45## core radius in um\n",
+ "y=0.85## wavelength in um\n",
+ "dl=(n1-n2)/n1## relative refractive index\n",
+ "x=(asin(n2/n1))*(180/3.14)## critical angle in degree\n",
+ "NA=sqrt(n1**2-n2**2)## numerical aperture\n",
+ "a_c=(asin(NA))*(180/3.14)## acceptance angle in degree\n",
+ "a_s=3.14*(n1**2-n2**2)## solid acceptance angle\n",
+ "v=(2*3.14*a*0.34)/y## normalise v-number\n",
+ "M=v**2/2## number of guided modes\n",
+ "a1=5## for single mode step fiber\n",
+ "v1=(2*3.14*a1*0.34)/y#\n",
+ "M1=v1**2/2#\n",
+ "R=M-M1## reduction in modes\n",
+ "print \"The max value of D =%0.2f\"%(dl)#\n",
+ "print \"\\n The critical angle =%0.2f degree\"%(x)#\n",
+ "print \"\\n The acceptance angle =%0.2f degree\"%(2*a_c)#\n",
+ "print \"\\n The solid acceptance angle =%0.2f degree\"%(a_s)#\n",
+ "print \"\\n The numerical aperture =%0.2f\"%(NA)#\n",
+ "print \"\\n The normalise v-number =%0.2f\"%(v)#\n",
+ "print \"\\n The number of guided modes =%d\"%(M)#\n",
+ "print \"\\n The reduction in modes =%d\"%(R)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex:3.31 Pg: 97"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 33,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The normalised frequency =28.26\n",
+ "\n",
+ " The number of modes =399\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "n1=1.46## core refractive index\n",
+ "a=45/2## max radius in um\n",
+ "y=0.85## operating wavelength in um\n",
+ "NA=0.17## numerical aperture\n",
+ "v=(2*3.14*a*NA)/y##normalised frequency\n",
+ "M=v**2/2## number of modes\n",
+ "print \"The normalised frequency =%0.2f\"%( v)#\n",
+ "print \"\\n The number of modes =%d\"%( M)"
+ ]
+ }
+ ],
+ "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
+}