{ "metadata": { "celltoolbar": "Raw Cell Format", "name": "", "signature": "sha256:c5e698deaafe161660080eef1dfbc8ac0784ee1d8559414601680128905b4f30" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Chapter 6: Optical Transmittor" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 6.1,Page number 139" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math\n", "\n", "#Given\n", "\n", "Tj=125; #in degree celsius\n", "Tamp=60; #n degree celsius\n", "Pt=1.8; #in W\n", "RthJ_a =34; #in k/w(Assumption)\n", "Rth=(Tj-Tamp)/Pt;\n", "print\"Rth =\",round(Rth,4),\"K/W\";\n", "if Rth>RthJ_a:\n", " print\"No Heat sink is required\";\n", "else:\n", " print\"Yes,Heat sink is required\"; \n", " \n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Rth = 36.1111 K/W\n", "No Heat sink is required\n" ] } ], "prompt_number": 2 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 6.2,Page number 140" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math\n", "\n", "#Given\n", "\n", "Tj=120; #in degree celsius\n", "Tamp=80; #in degree celsius\n", "Pt=2.1; #in W \n", "RthJ_a =34; #in k/w(Assumption)\n", "Rth=(Tj-Tamp)/Pt;\n", "print\"Rth =\",round(Rth,4),\"K/W\";\n", "if Rth>RthJ_a:\n", " print\"No Heat sink is required\";\n", "else:\n", " print\"Yes,Heat sink is required\";" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Rth = 19.0476 K/W\n", "Yes,Heat sink is required\n" ] } ], "prompt_number": 5 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 6.3,Page number 140" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math\n", "\n", "#given\n", "\n", "#data insufficient\n", "Rth=17.70; # Rth assumed minimum\n", "Rthc_H=0.65; #k/w\n", "Rthj_a=33.0; #k/w\n", "Rthj_c=3; #k/w\n", "RthH_a=1/(1/Rth-1/Rthj_a)-Rthj_c-Rthc_H;\n", "print\"RthH-a <=\",round(RthH_a,4),\"K/W\";" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "RthH-a <= 34.5265 K/W\n" ] } ], "prompt_number": 8 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 6.4,Page number 148" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math\n", "\n", "#given\n", "\n", "Vcc=5; #in volt\n", "Icc=24; #in mA\n", "Vset=0.65; #in volt\n", "Vf=1.5; #in volt\n", "IMOD=15; #in mA\n", "TA=25; #in degree celsius\n", "Pdynamic=(Vcc-Vf-Vset)*Icc;\n", "print\"Power dissipation under dynamic condition\",Pdynamic,\"mW\";\n", "Pstatic=(Vcc*Icc);\n", "print\"power dissipation under static condition\",Pstatic,\"mW\";\n", "PD=Pdynamic+Pstatic;\n", "print\"total power dissipation\",PD,\"mW\";\n", "#Tj=TA+PD*wj_a;\n", "TA=25; #in degree cel\n", "wj_a=84; #degree cel/w\n", "PD=188.4; #mW\n", "Tj=TA+PD*10**-3*wj_a;\n", "print\"Temp. of junction temp\",Tj,\"degree C\";\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Power dissipation under dynamic condition 68.4 mW\n", "power dissipation under static condition 120 mW\n", "total power dissipation 188.4 mW\n", "Temp. of junction temp 40.8256 degree C\n" ] } ], "prompt_number": 9 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 6.5,Page number 150" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math\n", "\n", "#given\n", "\n", "Ifon=120.0; #in mA\n", "Vcc=5; #in V\n", "Vfon=2; #in V\n", "R3=(Vcc-Vfon)/Ifon/10**-3 +3.2*(Vcc-Vfon-1.4)/Ifon/10**-3;\n", "print\" R3=\",round(R3,4),\"ohm\";\n", "\n", "R0=(R3-32)/3.2;\n", "print\" R0=\",round(R0,4),\"ohm\";\n", "\n", "R1=(R0+10)/2;\n", "print\" R1=\",round(R1,1),\"ohm\";\n", "R2=R1-10;\n", "print\" R2=\",round(R2,1),\"ohm\";\n", "C1=2*10**-9/R1;\n", "print\" C1=\",round(C1*10**12,4),\"pF\"; \n", "\n", "#answer in book is approximately written\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " R3= 67.6667 ohm\n", " R0= 11.1458 ohm\n", " R1= 10.6 ohm\n", " R2= 0.6 ohm\n", " C1= 189.1626 pF\n" ] } ], "prompt_number": 5 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 6.6,Page number 155" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math\n", "\n", "#given\n", "\n", "Impd1=250; #in microA\n", "Impd0=25; #in microA\n", "Iref=(1./16)*Impd1*10**-6;\n", "print\" Reference current is\",Iref*10**6,\"microA\";\n", "Rref=1.5/Iref;\n", "print\" External bias resistor value Rref1 is\",Rref/1000,\"kohm\";\n", "\n", "Rref1=24.0/Impd1/10**-6;\n", "print\" Also,Rref1=24/Impd \\n External bias resistor value is\",Rref1/1000,\"kohm\";\n", "Irefz=(1./4)*Impd0;\n", "print\" Ref0 current is\",Irefz,\"microA\";\n", "Rrefz=1.5/Irefz/10**-6;\n", "print\" External bias resistor value Rrefz is\",Rrefz/1000,\"kohm\";\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " Reference current is 15.625 microA\n", " External bias resistor value Rref1 is 96.0 kohm\n", " Also,Rref1=24/Impd \n", " External bias resistor value is 96.0 kohm\n", " Ref0 current is 6.25 microA\n", " External bias resistor value Rrefz is 240.0 kohm\n" ] } ], "prompt_number": 7 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 6.7,Page number 157" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math\n", "\n", "#given\n", "\n", "R=400; #in mA\n", "nEO=25; #in mW\n", "n_laser=nEO*10**-3*R*10**-3;\n", "print\"n_laser =\",n_laser;\n", "Tone=(40*10**-12)*(80*10**3)/n_laser;\n", "print\"Tone =\",Tone*10**6,\"micros\";\n", "BWone=1./(2*math.pi*Tone);\n", "print\"BWone =\",round(BWone,4),\"Hz \";\n", "Tzero=(40*10**-12)*80*10**3/n_laser;\n", "BWzero=1.0/2/math.pi/Tzero; #Hz\n", "print\"BWzero =\",round(BWzero,4),\"Hz\";\n", "\n", "#answer misprinted\n", "\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "n_laser = 0.01\n", "Tone = 320.0 micros\n", "BWone = 497.3592 Hz \n", "BWzero = 497.3592 Hz\n" ] } ], "prompt_number": 13 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 6.8,Page number 159" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math\n", "\n", "#given\n", "\n", "iol =5; #in mA\n", "ioh=80; #bias current in mA\n", "ralarmH=(1.5*1500)/ioh/10**-3;\n", "print\" Alarm resistor RalarmH is\",ralarmH/1000,\"kOhm\";\n", "ralarmL=(1.5*300)/iol/10**-3;\n", "print\" Alarm resistor RalarmL is\",ralarmL/1000,\"kOhm\";\n", "ialarmh=80*10**-3;\n", "ialarmH=ioh*10**-3/1500;\n", "print\" Alarm current IalarmH is\",round(ialarmH*10**6,4),\"microA\"; #unit of anwer misprinted in book\n", "ialarml=5*10**-3;\n", "ialarmL=iol*10**-3/300;\n", "print\" Alarm current IalarmL is\",round(ialarmL*10**6,4),\"microA\";\n", "\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " Alarm resistor RalarmH is 28.125 kOhm\n", " Alarm resistor RalarmL is 90.0 kOhm\n", " Alarm current IalarmH is 53.3333 microA\n", " Alarm current IalarmL is 16.6667 microA\n" ] } ], "prompt_number": 4 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 6.9,Page number 160" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math\n", "\n", "#given\n", "\n", "Ibias=15.; #in mA assumption\n", "Ild=35.; #in mA\n", "Rld=50.; #in ohm\n", "Ildi=100.; #in mA\n", "Ilde=50.; #in mA\n", "Imod=(Ildi+Ilde)/Ildi*35; #mA\n", "print\"Total modulation current is \\nImod=\",round(Imod,4),\"mA\";\n", "Ildq=1.2/100*10**3; #in mA \n", "print\"The current complementary output is Ildq=\",round(Ildq,4),\"mA\";\n", "Vld=-1.2-Rld*(Ibias+Ild)*10**-3; #optical high\n", "print\"The laser voltage for optical high is Vld=\",round(Vld,4),\"V\";\n", "Vld=-1.2-Rld*(Ibias)*10**-3; #optical dark\n", "print\"The laser voltage for optical dark is Vld=\",round(Vld,4),\"V\";\n", "Vldq=-Ild*10**-3*Rld;\n", "print\"The laser voltage at complimentary o/p is Vldq=\",round(Vldq,4),\"V\";\n", "Rchock=5; #in Ohm\n", "Vchock=-Rchock*Ibias*10**-3;\n", "print\"Vchock=\",round(Vchock,4),\"V\";\n", "Vbias=0.5*(-3.7+Vld)+Vchock;\n", "print\"Vbias=\",round(Vbias,4),\"V\";\n", "\n", "#(i) Pdvee1\n", "Pdvcc=5*2.5; #in mW\n", "print\"Pdvcc=\",round(Pdvcc,4),\"mW\";\n", "Pdvee1=4.5*80; #in mW\n", "print\"Pdvee1=\",round(Pdvee1,4),\"mW\";\n", "\n", "#(ii) Pdvee2\n", "Pdvee2=6*160; #in mW\n", "print\"Pdvee2=\",Pdvee2,\"mW\";\n", "\n", "#(iii) PdLD\n", "PdLD=0.5*(3.75*50); #in mW\n", "print\"PdLD=\",round(PdLD,4),\"mW\";\n", "\n", "#(iv) PdLQ\n", "PdLDQ=0.5*abs(Vld)*50; #in mW\n", "print\"PdLDQ=\",round(PdLDQ,4),\"mW\";\n", "\n", "#(v) PdLDQ\n", "Pdbias=abs(Vbias)*Ibias; #in mW\n", "print\"Pdbias=\",round(Pdbias,4),\"mW\";\n", "\n", "#PT\n", "PT=Pdvcc+Pdvee1+Pdvee2-(PdLD+PdLDQ+Pdbias);\n", "print\"Total power dissipation (PT)=\",round(PT,4),\"mW\";\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Total modulation current is \n", "Imod= 52.5 mA\n", "The current complementary output is Ildq= 12.0 mA\n", "The laser voltage for optical high is Vld= -3.7 V\n", "The laser voltage for optical dark is Vld= -1.95 V\n", "The laser voltage at complimentary o/p is Vldq= -1.75 V\n", "Vchock= -0.075 V\n", "Vbias= -2.9 V\n", "Pdvcc= 12.5 mW\n", "Pdvee1= 360.0 mW\n", "Pdvee2= 960 mW\n", "PdLD= 93.75 mW\n", "PdLDQ= 48.75 mW\n", "Pdbias= 43.5 mW\n", "Total power dissipation (PT)= 1146.5 mW\n" ] } ], "prompt_number": 6 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 6.10,Page number 161" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math\n", "\n", "#given\n", "\n", "vcc=-5; #in v\n", "imod=35; #in mA\n", "ibias=18; #in mA\n", "vbias=-2; #in v\n", "vout=2; #in v\n", "tj=30; #degree cel\n", "icc=140; #in mA\n", "Pt=(-vcc*icc*10**-3)+(-vcc-vout)*imod*10**-3+(-vcc+vbias)*ibias*10**-3;\n", "print\"Pt=\",Pt*1000,\"mW\";\n", "Tj=30; #in degree\n", "Tj_a=Tj*Pt;\n", "Tcase=125-Tj_a; #in degree\n", "print\"Tcase(max)=\",Tcase,\"degree Cel\";" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Pt= 859.0 mW\n", "Tcase(max)= 99.23 degree Cel\n" ] } ], "prompt_number": 8 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 6.11,Page number 174" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math\n", "\n", "#given\n", "\n", "z11=49.95; #in ohm\n", "z12=0.15; #in ohm\n", "z21=0.15; #in ohm\n", "z22=49.95; #in ohm\n", "zdiff=2*(z11-z12);\n", "print\"Zdiff=\",zdiff,\"ohm\"; #answer misprinted\n", "zcm=z11+z12;\n", "print\"Zcm=\",zcm,\"ohm\";\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Zdiff= 99.6 ohm\n", "Zcm= 50.1 ohm\n" ] } ], "prompt_number": 11 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 6.12,Page number 174" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math\n", "\n", "#given\n", "\n", "z11=65.4; #in ohm\n", "z12=8.2; #in ohm\n", "z21=8.2; #in ohm\n", "z22=65.4; #in ohm\n", "zdiff=2*(z11-z12);\n", "print\" Zdiff=\",zdiff,\"ohm\"; \n", "zcm=z11+z12;\n", "print\" Zcm=\",zcm,\"ohm\";\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " Zdiff= 114.4 ohm\n", " Zcm= 73.6 ohm\n" ] } ], "prompt_number": 12 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 6.13,Page number 181" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math\n", "\n", "#given\n", "\n", "dV=50; #in mV\n", "di=3; #in Amp\n", "Lcable=15; #in nH\n", "fL=dV*10**-3/di/2/math.pi/Lcable/10**-9;\n", "print\"fLcable =\",round(fL/1000,4),\"kHz\";\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "fLcable = 176.8388 kHz\n" ] } ], "prompt_number": 14 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 6.14,Page number 181" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math\n", "\n", "#given\n", "\n", "dV=50; #in mV\n", "di=4; #in Amp\n", "fL=120; #in kHz\n", "Lcable=dV*10**-3/di/2/math.pi/fL/10**3;\n", "print\"The maximum allowed parasitic cable inductance (Lcable) must not exceed\",round(Lcable*10**9,4),\"nH\";\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The maximum allowed parasitic cable inductance (Lcable) must not exceed 16.5786 nH\n" ] } ], "prompt_number": 17 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 6.15,Page number 182" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math\n", "\n", "#given\n", "\n", "dV=40; #in mV\n", "di=2.5; #in Amp\n", "Lbypas=0.5; #in nH\n", "fL=dV*10**-3/di/2/math.pi/Lbypas/10**-9;\n", "print\"fHnoise =\",round(fL/10**6,4),\"MHz\";\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "fHnoise = 5.093 MHz\n" ] } ], "prompt_number": 19 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 6.16,Page number 182" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math\n", "\n", "#given\n", "\n", "dV=50; #in mV\n", "di=2.5; #in Amp\n", "Cbypas=220; #in microF\n", "fL=di/(dV*10**-3*2*math.pi*Cbypas*10**-6);\n", "print\"fLnoise =\",round(fL/1000,4),\"kHz\"; #Result\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "fLnoise = 36.1716 kHz\n" ] } ], "prompt_number": 21 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 6.17,Page number 182" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math\n", "\n", "#given\n", "\n", "dV=50; #in mV\n", "di=4; #in Amp\n", "Cbypas=200; #in microF\n", "Lbypas=0.2; #in nH\n", "fL=di/(dV*10**-3*2*math.pi*Cbypas*10**-6);\n", "print\"fLnoise =\",round(fL/1000,4),\"kHz\"; #Result misprinted\n", "fH=dV*10**-3/di/2/math.pi/Lbypas/10**-9;\n", "print\"fHnoise =\",round(fH/10**6,4),\"MHz \"; \n", "Bw=fH-fL;\n", "print\"Bwnoise =\",round(Bw/10**6,4),\"MHZ\"; #Result miscalculated\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "fLnoise = 63.662 kHz\n", "fHnoise = 9.9472 MHz \n", "Bwnoise = 9.8835 MHZ\n" ] } ], "prompt_number": 23 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 6.18,Page number 184" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math\n", "\n", "#given\n", "\n", "dV=40; #in mV\n", "di=3; #in Amp\n", "LT=0.05; #in nH\n", "fH=dV*10**-3/di/2/math.pi/LT/10**-9;\n", "print\"fCdecoupling(high) =\",round(fH/10**6,4),\"MHz\"; #Result" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "fCdecoupling(high) = 42.4413 MHz\n" ] } ], "prompt_number": 25 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 6.19,Page number 184" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math\n", "\n", "#given\n", "\n", "dV=45; #in mV\n", "di=2.5; #in Amp\n", "CT=2.2; #in microF\n", "LT=0.05; #in nH\n", "fCL=di/(dV*10**-3*2*math.pi*CT*10**-6);\n", "print\"fLnoise =\",round(fCL/10**6,4),\"MHz\"; #Result \n", "fCH=42.3; #in MHz taken from last question i.e. 6.18 \n", "print\"\",round(fCL/10**6,4),\"MHz <=B.W.noise <=\",round(fCH,4),\"MHZ\"; #Result\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "fLnoise = 4.0191 MHz\n", " 4.0191 MHz <=B.W.noise <= 42.3 MHZ\n" ] } ], "prompt_number": 29 } ], "metadata": {} } ] }