{

 "metadata": {

  "name": "",

  "signature": "sha256:e29ad753b5f2886d343bb74ecb0ecc91fcb2a9898826cbfcabd7e953e57d2f63"

 },

 "nbformat": 3,

 "nbformat_minor": 0,

 "worksheets": [

  {

   "cells": [

    {

     "cell_type": "heading",

     "level": 1,

     "metadata": {},

     "source": [

      "Chapter04: Optical Detectors and Receivers"

     ]

    },

    {

     "cell_type": "heading",

     "level": 2,

     "metadata": {},

     "source": [

      "Ex4.1.1:Pg-4.5"

     ]

    },

    {

     "cell_type": "code",

     "collapsed": false,

     "input": [

      "#Given\n",

      "Eg= 1.1 \n",

      "lamda_c = 1.24/Eg \n",

      "print \"The cut off wavelength in um= \",round(lamda_c,2) \n",

      "\n",

      "Eg_ger =0.67 \n",

      "lamda_ger= 1.24/Eg_ger \n",

      "print \" \\nThe cut off wavelength for Germanium in um= \",round(lamda_ger,2) \n"

     ],

     "language": "python",

     "metadata": {},

     "outputs": [

      {

       "output_type": "stream",

       "stream": "stdout",

       "text": [

        "The cut off wavelength in um=  1.13\n",

        " \n",

        "The cut off wavelength for Germanium in um=  1.85\n"

       ]

      }

     ],

     "prompt_number": 3

    },

    {

     "cell_type": "heading",

     "level": 2,

     "metadata": {},

     "source": [

      "Ex4.1.2:Pg-4.5"

     ]

    },

    {

     "cell_type": "code",

     "collapsed": false,

     "input": [

      "#Given \n",

      "Eg = 1.43 \n",

      "lamda = 1.24/Eg \n",

      "lamda=lamda*1000   # converting in nm\n",

      "print \"The cut off wavelength in nm =\",round(lamda,2) \n"

     ],

     "language": "python",

     "metadata": {},

     "outputs": [

      {

       "output_type": "stream",

       "stream": "stdout",

       "text": [

        "The cut off wavelength in nm = 867.13\n"

       ]

      }

     ],

     "prompt_number": 6

    },

    {

     "cell_type": "heading",

     "level": 2,

     "metadata": {},

     "source": [

      "Ex4.1.3:Pg-4.5"

     ]

    },

    {

     "cell_type": "code",

     "collapsed": false,

     "input": [

      "#Given\n",

      "P = 6*10**6 \n",

      "Eh_pair= 5.4*10**6 \n",

      "n= Eh_pair/P*100 \n",

      "print \" The quantum efficiency in % = \",n \n"

     ],

     "language": "python",

     "metadata": {},

     "outputs": [

      {

       "output_type": "stream",

       "stream": "stdout",

       "text": [

        " The quantum efficiency in % =  90.0\n"

       ]

      }

     ],

     "prompt_number": 8

    },

    {

     "cell_type": "heading",

     "level": 2,

     "metadata": {},

     "source": [

      "Ex4.1.4:Pg-4.6"

     ]

    },

    {

     "cell_type": "code",

     "collapsed": false,

     "input": [

      "#Given\n",

      "R= 0.65 \n",

      "P0= 10*10**-6 \n",

      "Ip= R*P0 \n",

      "Ip=Ip*10**6   # convertinf in uA...\n",

      "print \" The generated photocurrent in uA = \",Ip \n"

     ],

     "language": "python",

     "metadata": {},

     "outputs": [

      {

       "output_type": "stream",

       "stream": "stdout",

       "text": [

        " The generated photocurrent in uA =  6.5\n"

       ]

      }

     ],

     "prompt_number": 9

    },

    {

     "cell_type": "heading",

     "level": 2,

     "metadata": {},

     "source": [

      "Ex4.1.5:Pg-4.6"

     ]

    },

    {

     "cell_type": "code",

     "collapsed": false,

     "input": [

      "#Given\n",

      "\n",

      "Ec= 1.2*10**11 \n",

      "P= 3*10**11 \n",

      "lamda = 0.85*10**-6 \n",

      "n= Ec/P*100 \n",

      "print \"The efficiency in % =\",n \n",

      "\n",

      "q= 1.602*10**-19 \n",

      "h= 6.625*10**-34 \n",

      "c= 3*10**8 \n",

      "n= n/100 \n",

      "R= n*q*lamda/(h*c) \n",

      "print \" \\n\\nThe Responsivity of the photodiode in A/W=\",round(R ,4)\n"

     ],

     "language": "python",

     "metadata": {},

     "outputs": [

      {

       "output_type": "stream",

       "stream": "stdout",

       "text": [

        "The efficiency in % = 40.0\n",

        " \n",

        "\n",

        "The Responsivity of the photodiode in A/W= 0.2741\n"

       ]

      }

     ],

     "prompt_number": 12

    },

    {

     "cell_type": "heading",

     "level": 2,

     "metadata": {},

     "source": [

      "Ex4.1.6:Pg-4.7"

     ]

    },

    {

     "cell_type": "code",

     "collapsed": false,

     "input": [

      "#Given\n",

      "\n",

      "n= 0.65 \n",

      "E= 1.5*10**-19 \n",

      "Ip= 2.5*10**-6 \n",

      "h= 6.625*10**-34 \n",

      "c= 3*10**8 \n",

      "lamda= h*c/E \n",

      "lamda=lamda*10**6   # converting in um for displaying...\n",

      "print \"The wavelength in um =\",lamda \n",

      "lamda=lamda*10**-6 \n",

      "q= 1.602*10**-19 \n",

      "R= n*q*lamda/(h*c) \n",

      "print \"\\nThe Responsivity in A/W =\",R \n",

      "Pin= Ip/R \n",

      "Pin=Pin*10**6  #  converting in uW for displaying/..\n",

      "print \" \\nThe incidnt power in uW= \",round(Pin,1) \n"

     ],

     "language": "python",

     "metadata": {},

     "outputs": [

      {

       "output_type": "stream",

       "stream": "stdout",

       "text": [

        "The wavelength in um = 1.325\n",

        "\n",

        "The Responsivity in A/W = 0.6942\n",

        " \n",

        "The incidnt power in uW=  3.6\n"

       ]

      }

     ],

     "prompt_number": 5

    },

    {

     "cell_type": "heading",

     "level": 2,

     "metadata": {},

     "source": [

      "Ex4.1.7:Pg-4.8"

     ]

    },

    {

     "cell_type": "code",

     "collapsed": false,

     "input": [

      "#Given\n",

      "Iin= 1 \n",

      "lamda= 1550*10**-9 \n",

      "q= 1.602*10**-19 \n",

      "h= 6.625*10**-34 \n",

      "c= 3*10**8 \n",

      "n=0.65 \n",

      "Ip=n*q*lamda*Iin/(h*c) \n",

      "Ip=Ip*1000   # converting in mA for displaying...\n",

      "print \" The average photon current in mA= \",int(Ip)\n"

     ],

     "language": "python",

     "metadata": {},

     "outputs": [

      {

       "output_type": "stream",

       "stream": "stdout",

       "text": [

        " The average photon current in mA=  812\n"

       ]

      }

     ],

     "prompt_number": 7

    },

    {

     "cell_type": "heading",

     "level": 2,

     "metadata": {},

     "source": [

      "Ex4.1.8:Pg-4.9"

     ]

    },

    {

     "cell_type": "code",

     "collapsed": false,

     "input": [

      "#Given\n",

      "\n",

      "n= 0.70 \n",

      "Ip= 4*10**-6 \n",

      "e= 1.602*10**-19 \n",

      "h= 6.625*10**-34 \n",

      "c= 3*10**8 \n",

      "E= 1.5*10**-19\n",

      "lamda = h*c/E \n",

      "lamda=lamda*10**6   # converting um for displaying...\n",

      "print \"The wavelength in um =\",round(lamda,3) \n",

      "R= n*e/E \n",

      "Po= Ip/R \n",

      "Po=Po*10**6   # converting um for displaying...\n",

      "print \" \\nIncident optical Power in uW =\",round(Po,2) \n"

     ],

     "language": "python",

     "metadata": {},

     "outputs": [

      {

       "output_type": "stream",

       "stream": "stdout",

       "text": [

        "The wavelength in um = 1.325\n",

        " \n",

        "Incident optical Power in uW = 5.35\n"

       ]

      }

     ],

     "prompt_number": 14

    },

    {

     "cell_type": "heading",

     "level": 2,

     "metadata": {},

     "source": [

      "Ex4.2.1:Pg-4.14"

     ]

    },

    {

     "cell_type": "code",

     "collapsed": false,

     "input": [

      "#Given\n",

      "import math\n",

      "Ct= 7*10.0**-12\n",

      "Rt= 50*1*10.0**6/(50+(1*10**6))\n",

      "B= 1/(2*math.pi*Rt*Ct)\n",

      "B=B*10**-6  #converting in mHz for displaying...\n",

      "print \"The bandwidth of photodetector in MHz =\",round(B,2)"

     ],

     "language": "python",

     "metadata": {},

     "outputs": [

      {

       "output_type": "stream",

       "stream": "stdout",

       "text": [

        "The bandwidth of photodetector in MHz = 454.75\n"

       ]

      }

     ],

     "prompt_number": 43

    },

    {

     "cell_type": "heading",

     "level": 2,

     "metadata": {},

     "source": [

      "Ex4.2.2:Pg-4.15"

     ]

    },

    {

     "cell_type": "code",

     "collapsed": false,

     "input": [

      "#Given\n",

      "import math\n",

      "W= 25*10**-6 \n",

      "Vd= 3*10**4 \n",

      "Bm= Vd/(2*math.pi*W) \n",

      "RT= 1/Bm \n",

      "RT=RT*10**9    # converting ns for displaying...\n",

      "print \" The maximum response time in ns =\",round(RT,2) "

     ],

     "language": "python",

     "metadata": {},

     "outputs": [

      {

       "output_type": "stream",

       "stream": "stdout",

       "text": [

        " The maximum response time in ns = 5.24\n"

       ]

      }

     ],

     "prompt_number": 45

    },

    {

     "cell_type": "heading",

     "level": 2,

     "metadata": {},

     "source": [

      "\n",

      "Ex4.2.3:Pg-4.15"

     ]

    },

    {

     "cell_type": "code",

     "collapsed": false,

     "input": [

      "#Given\n",

      "e= 1.602*10**-19 \n",

      "h= 6.625*10**-34 \n",

      "v= 3*10**8 \n",

      "n=0.65 \n",

      "I= 10*10**-6 \n",

      "lamda= 900*10**-9 \n",

      "R= n*e*lamda/(h*v) \n",

      "Po= 0.5*10**-6 \n",

      "Ip= Po*R \n",

      "M= I/Ip \n",

      "print \" The multiplication factor =\",round(M,2) \n"

     ],

     "language": "python",

     "metadata": {},

     "outputs": [

      {

       "output_type": "stream",

       "stream": "stdout",

       "text": [

        " The multiplication factor = 42.41\n"

       ]

      }

     ],

     "prompt_number": 48

    },

    {

     "cell_type": "heading",

     "level": 2,

     "metadata": {},

     "source": [

      "Ex4.3.1:Pg-4.18"

     ]

    },

    {

     "cell_type": "code",

     "collapsed": false,

     "input": [

      "#Given\n",

      "n=0.65 \n",

      "lamda = 900*10**-9 \n",

      "Pin= 0.5*10**-6 \n",

      "Im= 10*10**-6 \n",

      "q= 1.602*10**-19 \n",

      "h= 6.625*10**-34 \n",

      "c= 3*10**8 \n",

      "R= n*q*lamda/(h*c) \n",

      "Ip= R*Pin \n",

      "M= Im/Ip \n",

      "print \" The multiplication factor =\",round(M,2)\n",

      "print \"\\n***NOTE-Answer wrong in textbook...\""

     ],

     "language": "python",

     "metadata": {},

     "outputs": [

      {

       "output_type": "stream",

       "stream": "stdout",

       "text": [

        " The multiplication factor = 42.41\n",

        "\n",

        "***NOTE-Answer wrong in textbook...\n"

       ]

      }

     ],

     "prompt_number": 51

    },

    {

     "cell_type": "heading",

     "level": 2,

     "metadata": {},

     "source": [

      "Ex4.6.1:Pg-4.34"

     ]

    },

    {

     "cell_type": "code",

     "collapsed": false,

     "input": [

      "#Given\n",

      "import math\n",

      "lamda = 1300*10**-9 \n",

      "Id= 4*10**-9 \n",

      "n=0.9 \n",

      "Rl= 1000 \n",

      "Pincident= 300*10**-9 \n",

      "BW= 20*10**6 \n",

      "q= 1.602*10**-19 \n",

      "h= 6.625*10**-34 \n",

      "v= 3*10**8 \n",

      "Iq= math.sqrt((q*Pincident*n*lamda)/(h*v)) \n",

      "Iq= math.sqrt(Iq) \n",

      "Iq=Iq*100   # converting in proper format for displaying...\n",

      "print \"Mean square quantum noise current in Amp*10^11 =\",round(Iq,2)\n",

      "I_dark= 2*q*BW*Id \n",

      "I_dark=I_dark*10**19  # converting in proper format for displaying...\n",

      "print \" \\nMean square dark current in Amp*10^-19 =\",round(I_dark,3) \n",

      "k= 1.38*10**-23 \n",

      "T= 25+273 \n",

      "It= 4*k*T*BW/Rl \n",

      "It=It*10**16  # converting in proper format for displaying...\n",

      "print \" \\nMean square thermal nise current in Amp*10^-16 =\",round(It,2)"

     ],

     "language": "python",

     "metadata": {},

     "outputs": [

      {

       "output_type": "stream",

       "stream": "stdout",

       "text": [

        "Mean square quantum noise current in Amp*10^11 = 2.31\n",

        " \n",

        "Mean square dark current in Amp*10^-19 = 0.256\n",

        " \n",

        "Mean square thermal nise current in Amp*10^-16 = 3.29\n"

       ]

      }

     ],

     "prompt_number": 61

    },

    {

     "cell_type": "heading",

     "level": 2,

     "metadata": {},

     "source": [

      "Ex4.8.1:Pg-4.39"

     ]

    },

    {

     "cell_type": "code",

     "collapsed": false,

     "input": [

      "#Given\n",

      "\n",

      "lamda = 850*10**-9 # meters\n",

      "BER= 1*10**-9 \n",

      "N_bar = 9*log(10) \n",

      "h= 6.625*10**-34 # joules-sec\n",

      "v= 3*10**8 # meters/sec\n",

      "n= 0.65 #  assumption\n",

      "E=N_bar*h*v/(n*lamda) \n",

      "E=E*10**18 # /converting in proper format for displaying...\n",

      "print \" The Energy received in Joules*10^-18 =\",round(E,2)\n"

     ],

     "language": "python",

     "metadata": {},

     "outputs": [

      {

       "output_type": "stream",

       "stream": "stdout",

       "text": [

        " The Energy received in Joules*10^-18 = 7.45\n"

       ]

      }

     ],

     "prompt_number": 64

    },

    {

     "cell_type": "heading",

     "level": 2,

     "metadata": {},

     "source": [

      "Ex4.8.2:Pg-4.39"

     ]

    },

    {

     "cell_type": "code",

     "collapsed": false,

     "input": [

      "#Given\n",

      "lamda = 850*10**-9 \n",

      "BER = 1*10**-9 \n",

      "BT=10*10**6 \n",

      "h= 6.625*10**-34 \n",

      "c= 3*10**8 \n",

      "Ps= 36*h*c*BT/lamda \n",

      "Ps=Ps*10**12  # /converting in proper format for displaying...\n",

      "print \"The minimum incidental optical power required id in pW =\",round(Ps,2) \n"

     ],

     "language": "python",

     "metadata": {},

     "outputs": [

      {

       "output_type": "stream",

       "stream": "stdout",

       "text": [

        "The minimum incidental optical power required id in pW = 84.18\n"

       ]

      }

     ],

     "prompt_number": 67

    },

    {

     "cell_type": "heading",

     "level": 2,

     "metadata": {},

     "source": [

      "Ex4.8.3:Pg-4.40"

     ]

    },

    {

     "cell_type": "code",

     "collapsed": false,

     "input": [

      "#Given\n",

      "import math\n",

      "C= 5*10**-12 \n",

      "B =50*10**6 \n",

      "Ip= 1*10**-7 \n",

      "e= 1.602*10**-19 \n",

      "k= 1.38*10**-23 \n",

      "T= 18+273 \n",

      "M= 1 \n",

      "Rl= 1/(2*math.pi*C*B) \n",

      "S_N= Ip**2/((2*e*B*Ip)+(4*k*T*B/Rl)) \n",

      "S_N = 10*math.log10(S_N)   # in db\n",

      "print \" The S/N ratio in dB =\",round(S_N,2) \n",

      "M=41.54 \n",

      "S_N_new= (M**2*Ip**2)/((2*e*B*Ip*M**2.3)+(4*k*T*B/Rl)) \n",

      "S_N_new = 10*math.log10(S_N_new)   # in db\n",

      "print \" \\n\\nThe new S/N ratio in dB =\",round(S_N_new,2)\n",

      "print \" \\n\\nImprovement over M=1 in dB =\",round(S_N_new-S_N,1) \n"

     ],

     "language": "python",

     "metadata": {},

     "outputs": [

      {

       "output_type": "stream",

       "stream": "stdout",

       "text": [

        " The S/N ratio in dB = 8.99\n",

        " \n",

        "\n",

        "The new S/N ratio in dB = 32.49\n",

        " \n",

        "\n",

        "Improvement over M=1 in dB = 23.5\n"

       ]

      }

     ],

     "prompt_number": 70

    }

   ],

   "metadata": {}

  }

 ]

}