summaryrefslogtreecommitdiff
path: root/Optical_Fiber_Communication_by_V._S._Bagad/Chapter1.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'Optical_Fiber_Communication_by_V._S._Bagad/Chapter1.ipynb')
-rwxr-xr-xOptical_Fiber_Communication_by_V._S._Bagad/Chapter1.ipynb1240
1 files changed, 1240 insertions, 0 deletions
diff --git a/Optical_Fiber_Communication_by_V._S._Bagad/Chapter1.ipynb b/Optical_Fiber_Communication_by_V._S._Bagad/Chapter1.ipynb
new file mode 100755
index 00000000..ec323da9
--- /dev/null
+++ b/Optical_Fiber_Communication_by_V._S._Bagad/Chapter1.ipynb
@@ -0,0 +1,1240 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:742c44cb267900361b88ee7b473acd2b1b40f32a4db7e15db6918955b1159df0"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter01:Fiber Optics Communications System"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Ex1.7.1:Pg-1.14"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "import math\n",
+ "n1= 1.5 # for glass\n",
+ "n2= 1.33 # for water\n",
+ "phi1= (math.pi/6) # phi1 is the angel of incidence\n",
+ " # According to Snell's law...\n",
+ " # n1*sin(phi1)= n2*sin(phi2) \n",
+ "sinphi2= (n1/n2)*math.sin(phi1) # phi2 is the angle of refraction..\n",
+ "phi2 = math.asin(sinphi2)\n",
+ "temp= math.degrees(phi2)\n",
+ "print \" The angel of refraction in degrees =\",round(temp,2) \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The angel of refraction in degrees = 34.33\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex1.7.2:Pg-1.14"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Given\n",
+ "import math\n",
+ "n1= 1.50 # RI of glass..\n",
+ "n2 = 1.0 # RI of air...\n",
+ " # According to Snell's law...\n",
+ " # n1*sin(phi1)= n2*sin(phi2) \n",
+ " # From definition of critical angel phi2 = 90 degrees and phi1 will be critical angel\n",
+ "t1=(n2/n1)*math.sin(math.pi/2)\n",
+ "phiC=math.asin(t1)\n",
+ "temp= math.degrees(phiC)\n",
+ "print \" The Critical angel in degrees =\",round(temp,2) \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The Critical angel in degrees = 41.81\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex1.7.3:Pg-1.15"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " # Given\n",
+ " # To find RI of glass\n",
+ " # To find the critical angle for glass...\n",
+ " \n",
+ "phi1 = 33 # Angle of incidence..\n",
+ "phi2 = 90 # Angle of refraction..\n",
+ "n2= 1.0 \n",
+ "\n",
+ "n1 = round(sin(math.radians(phi2))/sin(math.radians(phi1)),3) \n",
+ "print \" The Refractive Index is =\",n1 \n",
+ "\n",
+ "#phiC = math.asin((n2/n1)*math.sin(90)) \n",
+ "phiC=math.asin(0.54)\n",
+ "print \" \\n\\nThe Critical angel in degrees =\",round(math.degrees(phiC),2)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The Refractive Index is = 1.836\n",
+ " \n",
+ "\n",
+ "The Critical angel in degrees = 32.68\n"
+ ]
+ }
+ ],
+ "prompt_number": 81
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex1.7.4:Pg-1.15"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " # Given\n",
+ "import math\n",
+ " \n",
+ "n1= 1.5 # TheRi of medium 1\n",
+ "n2= 1.36 # the RI of medium 2\n",
+ "phi1= 30 # The angle of incidence\n",
+ " # According to Snell's law...\n",
+ " # n1*sin(phi1)= n2*sin(phi2) \n",
+ "phi2 = math.asin((n1/n2)*math.sin(math.radians(phi1))) \n",
+ "print \" The angel of refraction is in degrees from normal = \",round(math.degrees(phi2),2)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The angel of refraction is in degrees from normal = 33.47\n"
+ ]
+ }
+ ],
+ "prompt_number": 91
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex1.7.5:Pg-1.16"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Given\n",
+ "import math\n",
+ " \n",
+ "n1 = 3.6 # RI of GaAs..\n",
+ "n2 = 3.4 # RI of AlGaAs..\n",
+ "phi1 = 80 # Angle of Incidence..\n",
+ " # According to Snell's law...\n",
+ " # n1*sin(phi1)= n2*sin(phi2) \n",
+ " # At critical angle phi2 = 90...\n",
+ "phiC = math.asin((n2/n1)*sin(math.radians(90)) )\n",
+ "print \" The Critical angel in degrees =\",round(math.degrees(phiC),2) \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The Critical angel in degrees = 70.81\n"
+ ]
+ }
+ ],
+ "prompt_number": 97
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex1.9.1:Pg-1.22"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Given\n",
+ "import math \n",
+ "\n",
+ "n1= 1.5 # RI of medium 1\n",
+ "n2 =1.45 # RI of medium 2\n",
+ "\n",
+ "delt= (n1-n2)/n1 \n",
+ "NA = n1*(math.sqrt(2*delt)) \n",
+ "print \" The Numerical aperture =\",round(NA,2)\n",
+ "phiA = math.asin(NA) \n",
+ "print \" \\n\\nThe Acceptance angel in degrees =\",round(math.degrees(phiA),2) \n",
+ "\n",
+ "phiC = math.asin(n2/n1) \n",
+ "print \" \\n\\nThe Critical angel in degrees =\",round(degrees(phiC),2)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The Numerical aperture = 0.39\n",
+ " \n",
+ "\n",
+ "The Acceptance angel in degrees = 22.79\n",
+ " \n",
+ "\n",
+ "The Critical angel in degrees = 75.16\n"
+ ]
+ }
+ ],
+ "prompt_number": 100
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex1.9.2:Pg-1.23"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Given\n",
+ "import math\n",
+ "\n",
+ "n1= 1.5 # RI of core\n",
+ "n2 = 1.48 # RI of cladding..\n",
+ "\n",
+ "NA = math.sqrt((n1**2)-(n2**2)) \n",
+ "print \" The Numerical Aperture =\",round(NA,2) \n",
+ "\n",
+ "phiA = math.asin(NA) \n",
+ "print \" \\n\\nThe Critical angel =\",round(math.degrees(phiA),2) \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The Numerical Aperture = 0.24\n",
+ " \n",
+ "\n",
+ "The Critical angel = 14.13\n"
+ ]
+ }
+ ],
+ "prompt_number": 101
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex1.9.3:Pg-1.23"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Given\n",
+ "import math \n",
+ " \n",
+ "\n",
+ "NA = 0.35 # Numerical Aperture\n",
+ "delt = 0.01 \n",
+ " # NA= n1*(math.sqrt(2*delt) n1 is RI of core\n",
+ "n1 = 0.35/(math.sqrt(2*delt)) \n",
+ "print \"The RI of core =\",round(n1,4) \n",
+ "\n",
+ " # Numerical Aperture is also given by \n",
+ " # NA = math.sqrt(n1**2 - n2**2) # n2 is RI of cladding\n",
+ "n2 = math.sqrt((n1**2-NA**2)) \n",
+ "print \" \\n\\nThe RI of Cladding =\",round(n2,3) \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The RI of core = 2.4749\n",
+ " \n",
+ "\n",
+ "The RI of Cladding = 2.45\n"
+ ]
+ }
+ ],
+ "prompt_number": 104
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex1.9.4:Pg-1.24"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Given\n",
+ "import math\n",
+ "\n",
+ "Vc = 2.01*10**8 # velocity of light in core in m/sec...\n",
+ "phiC= 80.0 # Critical angle in degrees...\n",
+ "\n",
+ " # RI of Core (n1) is given by (Velocity of light in air/ velocity of light in air)...\n",
+ "n1= 3*10**8/Vc \n",
+ " # From critical angle and the value of n1 we calculate n2...\n",
+ "n2 = sin(math.radians(phiC))*n1 # RI of cladding...\n",
+ "NA = math.sqrt(n1**2-n2**2) \n",
+ "print \" The Numerical Aperture =\",round(NA,2) \n",
+ "phiA = math.asin(NA) # Acceptance angle...\n",
+ "print \" \\n\\nThe Acceptance angel in degrees =\",round(math.degrees(phiA),2) \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The Numerical Aperture = 0.26\n",
+ " \n",
+ "\n",
+ "The Acceptance angel in degrees = 15.02\n"
+ ]
+ }
+ ],
+ "prompt_number": 106
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex1.9.5:Pg-1.25"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Given\n",
+ "import math\n",
+ "n1 = 1.4 # RI of Core..\n",
+ "n2 = 1.35 # RI of Cladding\n",
+ "\n",
+ "phiC = math.asin(n2/n1) # Critical angle..\n",
+ "print \" The Critical angel in degrees =\",round(math.degrees(phiC),2) \n",
+ "\n",
+ "NA = math.sqrt(n1**2-n2**2) # numerical Aperture...\n",
+ "print \" \\n\\nThe Numerical Aperture is =\",round(NA,2) \n",
+ "\n",
+ "phiA = math.asin(NA) # Acceptance angle... \n",
+ "print \" \\n\\nThe Acceptance angel in degrees =\",round(math.degrees(phiA),2) \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The Critical angel in degrees = 74.64\n",
+ " \n",
+ "\n",
+ "The Numerical Aperture is = 0.37\n",
+ " \n",
+ "\n",
+ "The Acceptance angel in degrees = 21.77\n"
+ ]
+ }
+ ],
+ "prompt_number": 107
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex1.9.6:Pg-1.25"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Given\n",
+ "import math\n",
+ "n1 = 1.48 # RI of core..\n",
+ "n2 = 1.46 # RI of Cladding..\n",
+ "\n",
+ "NA = math.sqrt(n1**2-n2**2) # Numerical Aperture..\n",
+ "print \" The Numerical Aperture is =\",round(NA,3) \n",
+ "\n",
+ "theta = math.pi*NA**2 # The entrance angle theta..\n",
+ "print \" \\n\\nThe Entrance angel in degrees =\",round(theta,3) \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The Numerical Aperture is = 0.242\n",
+ " \n",
+ "\n",
+ "The Entrance angel in degrees = 0.185\n"
+ ]
+ }
+ ],
+ "prompt_number": 110
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex1.9.7:Pg-1.26"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Given\n",
+ "import math \n",
+ "\n",
+ "delt = 0.007 # relative refractive index difference \n",
+ "n1 = 1.45 # RI of core...\n",
+ "NA = n1* math.sqrt((2*delt)) \n",
+ "print \" The Numerical Aperture is =\",round(NA,4) \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The Numerical Aperture is = 0.1716\n"
+ ]
+ }
+ ],
+ "prompt_number": 112
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex1.9.8:Pg-1.26"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " # Given\n",
+ "import math\n",
+ "\n",
+ "phiA = 8 # accepatance angle in degrees...\n",
+ "n1 =1.52 # RI of core...\n",
+ "\n",
+ "NA = sin(math.radians(phiA)) # Numerical Aperture...\n",
+ "\n",
+ "delt = NA**2/(2*(n1**2)) # Relative RI difference...\n",
+ "print \" The relative refractive index difference =\",round(delt,5) \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The relative refractive index difference = 0.00419\n"
+ ]
+ }
+ ],
+ "prompt_number": 114
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Ex1.9.9:Pg-1.27"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Given\n",
+ "import math\n",
+ "delt = 0.01 # relative RI difference..\n",
+ "n1 = 1.48 # RI of core...\n",
+ "\n",
+ "NA = n1*(math.sqrt(2*delt)) # Numerical Aperture..\n",
+ "print \" The Numerical Aperture =\",round(NA,3) \n",
+ "\n",
+ "theta = math.pi*NA**2 # Solid Acceptance angle...\n",
+ "print \" \\n\\nThe Solid Acceptance angel in degrees =\",round(theta,4) \n",
+ "\n",
+ "n2 = (1-delt)*n1 \n",
+ "phiC = math.asin(n2/n1) # Critical Angle...\n",
+ "print \" \\n\\nThe Critical angel in degrees =\",round(math.degrees(phiC),2) \n",
+ "print \" \\n\\nCritical angle wrong due to rounding off errors in trignometric functions..\\n Actual value is 90.98 in book.\" \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The Numerical Aperture = 0.209\n",
+ " \n",
+ "\n",
+ "The Solid Acceptance angel in degrees = 0.1376\n",
+ " \n",
+ "\n",
+ "The Critical angel in degrees = 81.89\n",
+ " \n",
+ "\n",
+ "Critical angle wrong due to rounding off errors in trignometric functions..\n",
+ " Actual value is 90.98 in book.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex1.14.1:Pg-1.41"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Given\n",
+ "import math\n",
+ "d = 50*10**-6 # diameter of fibre...\n",
+ "n1 = 1.48 # RI of core..\n",
+ "n2 = 1.46 # RI of cladding..\n",
+ "lamda = 0.82*10**-6 # wavelength of light..\n",
+ "\n",
+ "NA = math.sqrt(n1**2-n2**2) # Numerical Aperture..\n",
+ "Vn= math.pi*d*NA/lamda # normalised frequency...\n",
+ "M = Vn**2/2 # number of modes...\n",
+ "print \" The number of modes in the fibre are =\",int(M) \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The number of modes in the fibre are = 1078\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex1.14.2:Pg-1.42"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Given\n",
+ "import math\n",
+ " \n",
+ " \n",
+ "V = 26.6 # Normalised frequency..\n",
+ "lamda = 1300*10**-9 # wavelenght of operation\n",
+ "a = 25*10**-6 # radius of fibre.\n",
+ "NA = V*lamda/(2*math.pi*a) # Numerical Aperture..\n",
+ "print \" The Numerical Aperture =\",round(NA,3) \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The Numerical Aperture = 0.22\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex1.14.3:Pg-1.43"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Given\n",
+ "import math\n",
+ " \n",
+ "a = 40*10**-6 # radius of core...\n",
+ "delt = 0.015 # relative RI difference..\n",
+ "lamda= 0.85*10**-6 # wavelength of operation..\n",
+ "n1=1.48 # RI of core..\n",
+ "\n",
+ "NA = n1*math.sqrt(2*delt) # Numerical Aperture..\n",
+ "print \" The Numerical Aperture =\", round(NA,4) \n",
+ "V = 2*math.pi*a*NA/lamda # normalised frequency\n",
+ "print \" \\n\\nThe Normalised frequency =\",round(V,2) \n",
+ "\n",
+ "M = V**2/2 # number of modes..\n",
+ "print \" \\n\\nThe number of modes in the fibre are =\",int(M) \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The Numerical Aperture = 0.2563\n",
+ " \n",
+ "\n",
+ "The Normalised frequency = 75.8\n",
+ " \n",
+ "\n",
+ "The number of modes in the fibre are = 2872\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex1.14.4:Pg-1.43"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Given\n",
+ "import math\n",
+ "\n",
+ "NA = 0.20 # Numerical Aperture..\n",
+ "M = 1000 # number of modes..\n",
+ "lamda = 850*10**-9 # wavelength of operation..\n",
+ "\n",
+ "a = math.sqrt(M*2*lamda**2/(math.pi**2*NA**2)) # radius of core..\n",
+ "a=a*10**6 # converting in um for displaying...\n",
+ "print \" The radius of the core in um =\",round(a,2) \n",
+ "a=a*10**-6 \n",
+ "M1= ((math.pi*a*NA/(1320*10**-9))**2)/2\n",
+ "print \" \\n\\nThe number of modes in the fibre at 1320um =\",int(M1) \n",
+ "print \" \\n\\n***The number of modes in the fibre at 1320um is calculated wrongly in book\" \n",
+ "M2= ((math.pi*a*NA/(1550*10**-9))**2)/2\n",
+ "print \" \\n\\nThe number of modes in the fibre at 1550um =\",int(M2) \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The radius of the core in um = 60.5\n",
+ " \n",
+ "\n",
+ "The number of modes in the fibre at 1320um = 414\n",
+ " \n",
+ "\n",
+ "***The number of modes in the fibre at 1320um is calculated wrongly in book\n",
+ " \n",
+ "\n",
+ "The number of modes in the fibre at 1550um = 300\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex1.14.5:Pg-1.44"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Given\n",
+ "import math\n",
+ " \n",
+ "NA = 0.2 # Numerical Aperture..\n",
+ "n2= 1.59 # RI of cladding..\n",
+ "n0= 1.33 # RI of water..\n",
+ "lamda = 1300*10**-9 # wavelength..\n",
+ "a = 25*10**-6 # radius of core..\n",
+ "n1 = math.sqrt(NA**2+n2**2) # RI of core..\n",
+ "phiA= math.asin(math.sqrt(n1**2-n2**2)/n0) # Acceptance angle..\n",
+ "print \" The Acceptance angle is =\",round(math.degrees(phiA),2) \n",
+ "\n",
+ "phiC= math.asin(n2/n1) # Critical angle..\n",
+ "print \" \\n\\nThe critical angle is =\",round(math.degrees(phiC),2) \n",
+ "V = 2*math.pi*a*NA/lamda # normalisd frequency\n",
+ "M= V**2/2 # number of modes\n",
+ "print \" \\n\\nThe number of modes in the fibre are =\",int(M) \n",
+ "\n",
+ "print \" \\n\\n***The value of the angle differ from the book because of round off errors.\" \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The Acceptance angle is = 8.65\n",
+ " \n",
+ "\n",
+ "The critical angle is = 82.83\n",
+ " \n",
+ "\n",
+ "The number of modes in the fibre are = 292\n",
+ " \n",
+ "\n",
+ "***The value of the angle differ from the book because of round off errors.\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex1.14.6:Pg-1.46"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Given\n",
+ "import math\n",
+ "\n",
+ "V= 26.6 # Normalised frequency..\n",
+ "lamda= 1300*10**-9 # wavelength of operation..\n",
+ "a= 25*10**-6 # radius of core..\n",
+ "\n",
+ "NA = V*lamda/(2*math.pi*a) # Numerical Aperture..\n",
+ "print \" The Numerical Aperture =\",round(NA,2) \n",
+ "theta = math.pi*NA**2 # solid Acceptance Angle..\n",
+ "print \" \\n\\nThe solid acceptance angle in radians =\",round(theta,3) \n",
+ "\n",
+ "M= V**2/2 # number of modes..\n",
+ "print \" \\n\\nThe number of modes in the fibre =\",round(M,2) \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The Numerical Aperture = 0.22\n",
+ " \n",
+ "\n",
+ "The solid acceptance angle in radians = 0.152\n",
+ " \n",
+ "\n",
+ "The number of modes in the fibre = 353.78\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex1.14.7:Pg-1.47"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Given\n",
+ "import math \n",
+ "\n",
+ "n1= 1.49 # RI of core.\n",
+ "n2=1.47 # RI of cladding..\n",
+ "a= 2 # radius of core in um..\n",
+ "NA= math.sqrt(n1**2-n2**2) # Numerical Aperture..\n",
+ " # The maximum V number for single mode operation is 2.4...\n",
+ "V= 2.4 # Normalised frequency..\n",
+ "\n",
+ "lamda = 2*math.pi*a*NA/V # Cutoff wavelength...\n",
+ "print \" The cutoff wavelength in um =\",round(lamda,2) \n",
+ "\n",
+ "\n",
+ "lamda1 = 1.310 # Givenn cutoff wavelength in um..\n",
+ "d= V*lamda1/(math.pi*NA) # core diameter..\n",
+ "print \" \\n\\nThe core diameter in um =\",round(d,2) \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The cutoff wavelength in um = 1.27\n",
+ " \n",
+ "\n",
+ "The core diameter in um = 4.11\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex1.14.8:Pg-1.47"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " # Given\n",
+ "import math\n",
+ " \n",
+ "n1= 1.48 # RI of core..\n",
+ "a= 4.5 # core radius in um..\n",
+ "delt= 0.0025 # Relative RI difference..\n",
+ "V= 2.405 # For step index fibre..\n",
+ "lamda= (2*math.pi*a*n1*math.sqrt(2*delt))/V # cutoff wavelength..\n",
+ "print \" The cutoff wavelength in um =\",round(lamda,2) \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The cutoff wavelength in um = 1.23\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex1.14.9:Pg-1.48"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Given\n",
+ "import math \n",
+ " \n",
+ "lamda= 0.82*10**-6 # wavelength ofoperation.\n",
+ "a= 2.5*10**-6 # Radius of core..\n",
+ "n1= 1.48 # RI of core..\n",
+ "n2= 1.46 # RI of cladding\n",
+ "NA= math.sqrt(n1**2-n2**2) # Numerical Aperture..\n",
+ "V= 2*math.pi*a*NA/lamda # Normalisd frequency..\n",
+ "print \" The normalised frequency =\",round(V,3) \n",
+ "M= V**2/2 # The number of modes..\n",
+ "print \" \\n\\nThe number of modes in the fibre are =\",round(M,2) \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The normalised frequency = 4.645\n",
+ " \n",
+ "\n",
+ "The number of modes in the fibre are = 10.79\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex1.14.10:Pg-1.49"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " # Given\n",
+ "import math\n",
+ " \n",
+ "delt= 0.01 # Relative RI difference..\n",
+ "n1= 1.5 \n",
+ "M= 1100 # Number of modes...\n",
+ "lamda= 1.3 # wavelength of operation in um..\n",
+ "V= math.sqrt(2*M) # Normalised frequency...\n",
+ "d= V*lamda/(math.pi*n1*math.sqrt(2*delt)) # diameter of core..\n",
+ "print \" The diameter of the core in um =\",round(d,2) \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The diameter of the core in um = 91.5\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex1.14.11:Pg-1.50"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Given\n",
+ "import math\n",
+ "n1= 1.5 # RI of core..\n",
+ "n2= 1.38 # RI of cladding..\n",
+ "a= 25*10**-6 # radius of core..\n",
+ "lamda= 1300*10**-9 # wavelength of operation...\n",
+ "NA= math.sqrt(n1**2-n2**2) # Numerical Aperture..\n",
+ "print \" The Numerical Aperture of the given fibre =\",round(NA,4) \n",
+ "V= 2*math.pi*a*NA/lamda # Normalised frequency..\n",
+ "print \" \\n\\nThe normalised frequency =\",round(V,2) \n",
+ "theta= math.asin(NA) # Solid acceptance anglr..\n",
+ "print \" \\n\\nThe Solid acceptance angle in degrees =\",int(math.degrees(theta)) \n",
+ "M= V**2/2 # Number of modes..\n",
+ "print \" \\n\\nThe number of modes in the fibre are =\",int(M) \n",
+ "print \" \\n\\n***Number of modes wrongly calculated in the book..\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The Numerical Aperture of the given fibre = 0.5879\n",
+ " \n",
+ "\n",
+ "The normalised frequency = 71.03\n",
+ " \n",
+ "\n",
+ "The Solid acceptance angle in degrees = 36\n",
+ " \n",
+ "\n",
+ "The number of modes in the fibre are = 2522\n",
+ " \n",
+ "\n",
+ "***Number of modes wrongly calculated in the book..\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex1.14.12:Pg-1.51"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Given\n",
+ "import math\n",
+ "\n",
+ "lamda= 850*10**-9 # wavelength of operation.\n",
+ "a= 25*10**-6 # Radius of core\n",
+ "n1= 1.48 # RI of Core...\n",
+ "n2= 1.46 # RI of cladding..\n",
+ "\n",
+ "NA= math.sqrt(n1**2-n2**2) # Numerical Aperture\n",
+ "\n",
+ "V= 2*math.pi*a*NA/lamda # Normalised frequency..\n",
+ "print \" The normalised frequency =\",round(V,2) \n",
+ "\n",
+ "lamda1= 1320*10**-9 # wavelength changed...\n",
+ "V1= 2*math.pi*a*NA/lamda1 # Normalised frequency at new wavelength..\n",
+ "\n",
+ "M= V1**2/2 # Number of modes at new wavelength..\n",
+ "print \" \\n\\nThe number of modes in the fibre at 1320um =\",int(M) \n",
+ "lamda2= 1550*10**-9 # wavelength 2...\n",
+ "V2= 2*math.pi*a*NA/lamda2 # New normalised frequency..\n",
+ "M1= V2**2/2 # number of modes..\n",
+ "print \" \\n\\nThe number of modes in the fibre at 1550um =\",int(M1 )\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The normalised frequency = 44.81\n",
+ " \n",
+ "\n",
+ "The number of modes in the fibre at 1320um = 416\n",
+ " \n",
+ "\n",
+ "The number of modes in the fibre at 1550um = 301\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex1.15.1:Pg-1.56"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Given\n",
+ "import math\n",
+ " \n",
+ "n1= 1.48 # RI of core..\n",
+ "delt= 0.015 # relative RI differencr..\n",
+ "lamda= 0.85 # wavelength of operation..\n",
+ "V= 2.4 # for single mode of operation..\n",
+ "\n",
+ "a= V*lamda/(2*math.pi*n1*math.sqrt(2*delt)) # radius of core..\n",
+ "print \" The raduis of core in um =\",round(a,2) \n",
+ "print \" \\n\\nThe maximum possible core diameter in um =\",round(2*a,2) \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The raduis of core in um = 1.27\n",
+ " \n",
+ "\n",
+ "The maximum possible core diameter in um = 2.53\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex1.15.2:Pg-1.56"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " # Given\n",
+ "import math\n",
+ " \n",
+ "n1= 1.5 # RI of core..\n",
+ "delt= 0.01 # Relative RI difference...\n",
+ "lamda= 1.3 # Wavelength of operation...\n",
+ "V= 2.4*math.sqrt(2) # Maximum value of V for GRIN...\n",
+ "a= V*lamda/(2*math.pi*n1*math.sqrt(2*delt)) # radius of core..\n",
+ "print \" The radius of core in um =\",round(a,2) \n",
+ "print \" \\n\\nThe maximum possible core diameter in um =\",round(2*a,2) \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The radius of core in um = 3.31\n",
+ " \n",
+ "\n",
+ "The maximum possible core diameter in um = 6.62\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex1.15.3:Pg-1.56"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Given\n",
+ "import math\n",
+ "\n",
+ "n1= 1.46 # RI of core..\n",
+ "a = 4.5 # radius of core in um..\n",
+ "delt= 0.0025 # relative RI difference..\n",
+ "V= 2.405 # Normalisd frequency for single mode..\n",
+ "lamda= 2*math.pi*a*n1*math.sqrt(2*delt)/V # cutoff wavelength...\n",
+ "print \" The cut off wavelength for the given fibre in um =\",round(lamda,3) \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The cut off wavelength for the given fibre in um = 1.214\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file