{

 "metadata": {

  "name": "",

  "signature": "sha256:b4a79f107959b9c220fb0fbffb78f81a806979a06263be16ca010cadce8d4a27"

 },

 "nbformat": 3,

 "nbformat_minor": 0,

 "worksheets": [

  {

   "cells": [

    {

     "cell_type": "heading",

     "level": 1,

     "metadata": {},

     "source": [

      "Chapter05: Design Considerations in Optical Links"

     ]

    },

    {

     "cell_type": "heading",

     "level": 2,

     "metadata": {},

     "source": [

      "Ex5.3.1:Pg-5.7"

     ]

    },

    {

     "cell_type": "code",

     "collapsed": false,

     "input": [

      "#Given\n",

      "\n",

      "B= 15*10**-6 \n",

      "L= 4 \n",

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

      "Ls= 0.5 \n",

      "Lc= 1.5 \n",

      "alpha= 6 \n",

      "Pm= 8 \n",

      "Pt= 2*Lc +(alpha*L)+(Pm) \n",

      "print \" The actual loss in fibre in dB =\",int(Pt) \n",

      "Pmax = -10-(-50) \n",

      "print \" \\nThe maximum allowable system loss in dBm = \",Pmax "

     ],

     "language": "python",

     "metadata": {},

     "outputs": [

      {

       "output_type": "stream",

       "stream": "stdout",

       "text": [

        " The actual loss in fibre in dB = 35\n",

        " \n",

        "The maximum allowable system loss in dBm =  40\n"

       ]

      }

     ],

     "prompt_number": 5

    },

    {

     "cell_type": "heading",

     "level": 2,

     "metadata": {},

     "source": [

      "Ex5.3.2:Pg-5.8"

     ]

    },

    {

     "cell_type": "code",

     "collapsed": false,

     "input": [

      "#Given\n",

      "import math\n",

      "Ps= 0.1 \n",

      "alpha = 6 \n",

      "L= 0.5 \n",

      "Ps = 10*math.log10(Ps) \n",

      "NA= 0.25 \n",

      "Lcoupling= -10*math.log10(NA**2) \n",

      "Lf= alpha*L \n",

      "lc= 2*2 \n",

      "Pm= 4 \n",

      "Pout = Ps-(Lcoupling+Lf+lc+Pm) \n",

      "print \" The actual power output in dBm = \",int(Pout) \n",

      "Pmin = -35 \n",

      "print \" Minimum input power required in dBm= \",Pmin \n",

      "print \" As Pmin > Pout, system will perform adequately over the system operating life.\" \n"

     ],

     "language": "python",

     "metadata": {},

     "outputs": [

      {

       "output_type": "stream",

       "stream": "stdout",

       "text": [

        " The actual power output in dBm =  -33\n",

        " Minimum input power required in dBm=  -35\n",

        " As Pmin > Pout, system will perform adequately over the system operating life.\n"

       ]

      }

     ],

     "prompt_number": 8

    },

    {

     "cell_type": "heading",

     "level": 2,

     "metadata": {},

     "source": [

      "Ex5.3.3:Pg-5.8"

     ]

    },

    {

     "cell_type": "code",

     "collapsed": false,

     "input": [

      "#Given\n",

      "\n",

      "Ps= 5 \n",

      "Lcoupling = 3 \n",

      "Lc= 2 \n",

      "L_splicing = 50*0.1 \n",

      "F_atten  = 25 \n",

      "L_total = Lcoupling+Lc+L_splicing+F_atten \n",

      "P_avail = Ps-L_total \n",

      "sensitivity = -40 \n",

      "loss_margin = -sensitivity-(-P_avail) \n",

      "print \" The loss margin of the system in dBm= -\",loss_margin \n",

      "sensitivity_fet = -32 \n",

      "loss_margin_fet=-sensitivity_fet-(-P_avail) \n",

      "print \"The loss marging for the FET receiver in dBm= -\",loss_margin_fet \n"

     ],

     "language": "python",

     "metadata": {},

     "outputs": [

      {

       "output_type": "stream",

       "stream": "stdout",

       "text": [

        " The loss margin of the system in dBm= - 10.0\n",

        "The loss marging for the FET receiver in dBm= - 2.0\n"

       ]

      }

     ],

     "prompt_number": 10

    },

    {

     "cell_type": "heading",

     "level": 2,

     "metadata": {},

     "source": [

      "Ex5.3.4:Pg-5.9"

     ]

    },

    {

     "cell_type": "code",

     "collapsed": false,

     "input": [

      "#Given\n",

      "LED_output = 3 \n",

      "PIN_sensitivity = -54 \n",

      "allowed_loss= LED_output -(-PIN_sensitivity) \n",

      "Lcoupling = 17.5 \n",

      "cable_atten = 30 \n",

      "power_margin_coupling= 39.5 \n",

      "power_margin_splice=6.2 \n",

      "power_margin_cable=9.5 \n",

      "final_margin= power_margin_coupling+power_margin_splice+power_margin_cable \n",

      "print \" The safety margin in dB =\",final_margin\n",

      " # Answer in book is wrong...\n",

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

     ],

     "language": "python",

     "metadata": {},

     "outputs": [

      {

       "output_type": "stream",

       "stream": "stdout",

       "text": [

        " The safety margin in dB = 55.2\n",

        " \n",

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

       ]

      }

     ],

     "prompt_number": 12

    },

    {

     "cell_type": "heading",

     "level": 2,

     "metadata": {},

     "source": [

      "Ex5.3.5:Pg-5.10"

     ]

    },

    {

     "cell_type": "code",

     "collapsed": false,

     "input": [

      "#Given\n",

      "\n",

      "optical_power=-10 \n",

      "receiver_sensitivity=-41 \n",

      "total_margin= optical_power-receiver_sensitivity \n",

      "cable_loss= 7*2.6 \n",

      "splice_loss= 6*0.5 \n",

      "connector_loss= 1*1.5 \n",

      "safety_margin= 6 \n",

      "total_loss= cable_loss+splice_loss+connector_loss+safety_margin \n",

      "excess_power_margin= total_margin-total_loss \n",

      "print \" The system is viable and provides excess power margin in dB=\",excess_power_margin \n"

     ],

     "language": "python",

     "metadata": {},

     "outputs": [

      {

       "output_type": "stream",

       "stream": "stdout",

       "text": [

        " The system is viable and provides excess power margin in dB= 2.3\n"

       ]

      }

     ],

     "prompt_number": 14

    },

    {

     "cell_type": "heading",

     "level": 2,

     "metadata": {},

     "source": [

      "Ex5.4.1:Pg-5.13"

     ]

    },

    {

     "cell_type": "code",

     "collapsed": false,

     "input": [

      "#Given\n",

      "import math\n",

      "Ttx= 15 \n",

      "Tmat=21 \n",

      "Tmod= 3.9 \n",

      "BW= 25.0 \n",

      "Trx= 350.0/BW \n",

      "\n",

      "Tsys = math.sqrt(Ttx**2+Tmat**2+Tmod**2+Trx**2) \n",

      "print \" The system rise time in ns.= \",round(Tsys,2) \n"

     ],

     "language": "python",

     "metadata": {},

     "outputs": [

      {

       "output_type": "stream",

       "stream": "stdout",

       "text": [

        " The system rise time in ns.=  29.62\n"

       ]

      }

     ],

     "prompt_number": 16

    },

    {

     "cell_type": "heading",

     "level": 2,

     "metadata": {},

     "source": [

      "Ex5.4.2:Pg-5.14"

     ]

    },

    {

     "cell_type": "code",

     "collapsed": false,

     "input": [

      "#Given\n",

      "import math\n",

      "\n",

      "Ttrans = 1.75*10**-9 \n",

      "Tled = 3.50*10**-9 \n",

      "Tcable=3.89*10**-9 \n",

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

      "Trec= 1.94*10**-9 \n",

      "Tsys= math.sqrt(Ttrans**2+Tled**2+Tcable**2+Tpin**2+Trec**2) \n",

      "Tsys=Tsys*10**9  # converting in ns for dislaying...\n",

      "print \" The system rise time in ns= \",round(Tsys,2)\n",

      "Tsys=Tsys*10**-9 \n",

      "BW= 0.35/Tsys \n",

      "BW=BW/1000000.0  # converting in MHz for dislaying...\n",

      "print \" \\nThe system bandwidth in MHz =\",round(BW,2)\n"

     ],

     "language": "python",

     "metadata": {},

     "outputs": [

      {

       "output_type": "stream",

       "stream": "stdout",

       "text": [

        " The system rise time in ns=  5.93\n",

        " \n",

        "The system bandwidth in MHz = 58.99\n"

       ]

      }

     ],

     "prompt_number": 19

    },

    {

     "cell_type": "heading",

     "level": 2,

     "metadata": {},

     "source": [

      "Ex5.4.3:Pg-5.14"

     ]

    },

    {

     "cell_type": "code",

     "collapsed": false,

     "input": [

      "#Given\n",

      "import math\n",

      "Ttx= 8*10**-9 \n",

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

      "Tmodal=5*10**-9 \n",

      "Trr= 6*10**-9 \n",

      "Tsys= math.sqrt(Ttx**2+(8*Tintra)**2+(8*Tmodal)**2+Trr**2) \n",

      "\n",

      "BWnrz= 0.7/Tsys \n",

      "BWnrz=BWnrz/1000000  # converting in ns for dislaying...\n",

      "BWrz=0.35/Tsys \n",

      "BWrz=BWrz/1000000  # converting in ns for dislaying...\n",

      "print \" Maximum bit rate for NRZ format in Mb/sec= \",round(BWnrz,2)\n",

      "print \" \\nMaximum bit rate for RZ format in Mb/sec= \",round(BWrz,2) \n"

     ],

     "language": "python",

     "metadata": {},

     "outputs": [

      {

       "output_type": "stream",

       "stream": "stdout",

       "text": [

        " Maximum bit rate for NRZ format in Mb/sec=  16.67\n",

        " \n",

        "Maximum bit rate for RZ format in Mb/sec=  8.33\n"

       ]

      }

     ],

     "prompt_number": 21

    },

    {

     "cell_type": "heading",

     "level": 2,

     "metadata": {},

     "source": [

      "Ex5.4.4:Pg-5.15"

     ]

    },

    {

     "cell_type": "code",

     "collapsed": false,

     "input": [

      "#Given\n",

      "import math\n",

      "Ts= 10*10**-9 \n",

      "Tn=9*10**-9 \n",

      "Tc=2*10**-9 \n",

      "Td=3*10**-9 \n",

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

      "Tsyst= 1.1*math.sqrt(Ts**2+(5*Tn)**2+(5*Tc)**2+Td**2) \n",

      "Tsyst=Tsyst*10**9  # converting in ns for displying...\n",

      "Tsyst_max = 0.35/BW \n",

      "Tsyst_max=Tsyst_max*10**9  # converting in ns for displying...\n",

      "print \" Rise system of the system in ns= \",round(Tsyst,2)\n",

      "print \" \\nMaximum Rise system of the system in ns= \",round(Tsyst_max,2)\n",

      "print \" \\nSpecified components give a system rise time which is adequate for the bandwidth and distance requirements of the optical fibre link.\" \n"

     ],

     "language": "python",

     "metadata": {},

     "outputs": [

      {

       "output_type": "stream",

       "stream": "stdout",

       "text": [

        " Rise system of the system in ns=  51.99\n",

        " \n",

        "Maximum Rise system of the system in ns=  58.33\n",

        " \n",

        "Specified components give a system rise time which is adequate for the bandwidth and distance requirements of the optical fibre link.\n"

       ]

      }

     ],

     "prompt_number": 24

    },

    {

     "cell_type": "heading",

     "level": 2,

     "metadata": {},

     "source": [

      "Ex5.5.1:Pg-5.18"

     ]

    },

    {

     "cell_type": "code",

     "collapsed": false,

     "input": [

      "#Given\n",

      "\n",

      "del_t_1 = 10*100*10**-9 \n",

      "Bt_nrz_1 = 0.7/(del_t_1*1000000) \n",

      "Bt_rz_1 = 0.35/(del_t_1*1000000) \n",

      "print \"First case.\"\n",

      "print \" \\nBit rate for nrz in Mb/sec= \",Bt_nrz_1 \n",

      "print \" \\nBit rate for rz in Mb/sec= \",Bt_rz_1 \n",

      "del_t_2 = 20*1000*10**-9 \n",

      "Bt_nrz_2 = 0.7/(del_t_2*1000000) \n",

      "Bt_rz_2 = 0.35/(del_t_2*1000000) \n",

      "print \" \\n\\nSecond case\" \n",

      "print \" \\nBit rate for nrz in Mb/sec= \",Bt_nrz_2 \n",

      "print \" \\nBit rate for rz  in Mb/sec= \",Bt_rz_2 \n",

      "del_t_3 = 2*2000*10**-9 \n",

      "Bt_nrz_3 = 0.7/(del_t_3*1000) \n",

      "Bt_rz_3 = 0.35/(del_t_3*1000) \n",

      "print \" \\n\\nThird case\" \n",

      "print \" \\nBit rate for nrz in BITS/sec= \",int(Bt_nrz_3) \n",

      "print \" \\nBit rate for rz  in BITS/sec= \",Bt_rz_3 \n"

     ],

     "language": "python",

     "metadata": {},

     "outputs": [

      {

       "output_type": "stream",

       "stream": "stdout",

       "text": [

        "First case.\n",

        " \n",

        "Bit rate for nrz in Mb/sec=  0.7\n",

        " \n",

        "Bit rate for rz in Mb/sec=  0.35\n",

        " \n",

        "\n",

        "Second case\n",

        " \n",

        "Bit rate for nrz in Mb/sec=  0.035\n",

        " \n",

        "Bit rate for rz  in Mb/sec=  0.0175\n",

        " \n",

        "\n",

        "Third case\n",

        " \n",

        "Bit rate for nrz in BITS/sec=  174\n",

        " \n",

        "Bit rate for rz  in BITS/sec=  87.5\n"

       ]

      }

     ],

     "prompt_number": 31

    }

   ],

   "metadata": {}

  }

 ]

}