summaryrefslogtreecommitdiff
path: root/Optical_Fiber_Communication_by_V._S._Bagad/Chapter5.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'Optical_Fiber_Communication_by_V._S._Bagad/Chapter5.ipynb')
-rwxr-xr-xOptical_Fiber_Communication_by_V._S._Bagad/Chapter5.ipynb458
1 files changed, 458 insertions, 0 deletions
diff --git a/Optical_Fiber_Communication_by_V._S._Bagad/Chapter5.ipynb b/Optical_Fiber_Communication_by_V._S._Bagad/Chapter5.ipynb
new file mode 100755
index 00000000..3915a0b4
--- /dev/null
+++ b/Optical_Fiber_Communication_by_V._S._Bagad/Chapter5.ipynb
@@ -0,0 +1,458 @@
+{
+ "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": {}
+ }
+ ]
+} \ No newline at end of file