{
 "metadata": {
  "name": "",
  "signature": "sha256:aab26783619c45961eca2004893b5ed3a4fe23aa4a44df9efa3d63c5d1ff3388"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "heading",
     "level": 1,
     "metadata": {},
     "source": [
      "12: Holography and Fibre Optics"
     ]
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example number 12.1, Page number 271"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "\n",
      "#importing modules\n",
      "import math\n",
      "from __future__ import division\n",
      "\n",
      "#Variable declaration\n",
      "n1 = 1.43;    #Refractive index of fibre core\n",
      "n2 = 1.4;     #Refractive index of fibre cladding\n",
      "\n",
      "#Calculation\n",
      "#As sin (alpha_c) = n2/n1, solving for alpha_c\n",
      "alpha_c = math.asin(n2/n1);     #Critical angle for optical fibre(rad)\n",
      "alpha_c = alpha_c*57.2957795;     #Critical angle for optical fibre(degrees)\n",
      "alpha_c = math.ceil(alpha_c*10**3)/10**3;     #rounding off the value of alpha_c to 3 decimals\n",
      "#AS cos(theta_c) = n2/n1, solving for theta_c\n",
      "theta_c = math.acos(n2/n1);    #Critical propagation angle for optical fibre(rad)\n",
      "theta_c = theta_c*57.2957795;     #Critical propagation angle for optical fibre(degrees)\n",
      "theta_c = math.ceil(theta_c*10**2)/10**2;     #rounding off the value of theta_c to 2 decimals\n",
      "NA = math.sqrt(n1**2 - n2**2);     #Numerical aperture for optical fibre\n",
      "NA = math.ceil(NA*10**3)/10**3;     #rounding off the value of NA to 3 decimals\n",
      "\n",
      "#Result\n",
      "print \"The critical angle for optical fibre is\",alpha_c, \"degrees\"\n",
      "print \"The critical propagation angle for optical fibre is\",theta_c, \"degrees\"\n",
      "print \"Numerical aperture for optical fibre is\",NA\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The critical angle for optical fibre is 78.244 degrees\n",
        "The critical propagation angle for optical fibre is 11.76 degrees\n",
        "Numerical aperture for optical fibre is 0.292\n"
       ]
      }
     ],
     "prompt_number": 1
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example number 12.2, Page number 271"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "#importing modules\n",
      "import math\n",
      "from __future__ import division\n",
      "\n",
      "#Variable declaration\n",
      "n1 = 1.45;    #Refractive index of fibre core\n",
      "n2 = 1.4;     #Refractive index of fibre cladding\n",
      "\n",
      "#Calculation\n",
      "NA = math.sqrt(n1**2 - n2**2);     #Numerical aperture for optical fibre\n",
      "NA = math.ceil(NA*10**4)/10**4;     #rounding off the value of NA to 4 decimals\n",
      "#As sin(theta_a) = sqrt(n1^2 - n2^2), solving for theta_a\n",
      "theta_a = math.asin(math.sqrt(n1**2 - n2**2));     #Half of acceptance angle of optical fibre(rad)\n",
      "theta_a = theta_a*57.2957795;     #Half of acceptance angle of optical fibre(degrees)\n",
      "theta_accp = 2*theta_a;     #Acceptance angle of optical fibre(degrees)\n",
      "theta_accp = math.ceil(theta_accp*10**2)/10**2;     #rounding off the value of theta_accp to 2 decimals\n",
      "Delta = (n1 - n2)/n1;       #Relative refractive index difference\n",
      "Delta = math.ceil(Delta*10**4)/10**4;     #rounding off the value of Delta to 4 decimals\n",
      "\n",
      "#Result\n",
      "print \"Numerical aperture for optical fibre is\", NA\n",
      "print \"The acceptance angle of optical fibre is\",theta_accp, \"degrees\"\n",
      "print \"Relative refractive index difference is\", Delta\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Numerical aperture for optical fibre is 0.3775\n",
        "The acceptance angle of optical fibre is 44.36 degrees\n",
        "Relative refractive index difference is 0.0345\n"
       ]
      }
     ],
     "prompt_number": 2
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example number 12.3, Page number 271"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "\n",
      "#importing modules\n",
      "import math\n",
      "from __future__ import division\n",
      "\n",
      "#Variable declaration\n",
      "n1 = 1.55;     #Refractive index of fibre core\n",
      "n2 = 1.53;     #Refractive index of fibre cladding\n",
      "n0 = 1.3;      #Refractive index of medium\n",
      "\n",
      "#Calculation\n",
      "NA = math.sqrt(n1**2 - n2**2);     #Numerical aperture for optical fibre\n",
      "NA = math.ceil(NA*10**4)/10**4;     #rounding off the value of NA to 4 decimals\n",
      "#n0*sin(theta_a) = sqrt(n1^2 - n2^2) = NA, solving for theta_a\n",
      "theta_a = math.asin(math.sqrt(n1**2 - n2**2)/n0);     #Half of acceptance angle of optical fibre(rad)\n",
      "theta_a = theta_a*57.2957795;    #Half of acceptance angle of optical fibre(degrees)\n",
      "theta_accp = 2*theta_a;     #Acceptance angle of optical fibre(degrees)\n",
      "\n",
      "#Result\n",
      "print \"Numerical aperture for step index fibre is\",NA\n",
      "print \"The acceptance angle of step index fibre is\",int(theta_accp), \"degrees\"\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Numerical aperture for step index fibre is 0.2482\n",
        "The acceptance angle of step index fibre is 22 degrees\n"
       ]
      }
     ],
     "prompt_number": 5
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example number 12.4, Page number 271 Theoritical proof"
     ]
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example number 12.5, Page number 272"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "\n",
      "#importing modules\n",
      "import math\n",
      "from __future__ import division\n",
      "\n",
      "#Variable declaration\n",
      "alpha = 2;      #Power loss through optical fibre(dB/km)\n",
      "P_in = 500;     #Poer input of optical fibre(micro-watt)\n",
      "z = 10;        #Length of the optical fibre(km)\n",
      "\n",
      "#Calculation\n",
      "#As alpha = 10/z*log10(P_in/P_out), solving for P_out\n",
      "P_out = P_in/10**(alpha*z/10);      #Output power in fibre optic communication(micro-Watt)\n",
      "\n",
      "#Result\n",
      "print \"The output power in fibre optic communication is\",P_out, \"micro-Watt\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The output power in fibre optic communication is 5.0 micro-Watt\n"
       ]
      }
     ],
     "prompt_number": 6
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [],
     "language": "python",
     "metadata": {},
     "outputs": []
    }
   ],
   "metadata": {}
  }
 ]
}