{

 "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": {}

  }

 ]

}