{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Chapter 6: Optical Transmittor" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 6.10: find_maximum_power_dissipation.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "\n", "//chapter 6\n", "//page no161\n", "//exa 6_10\n", "//given\n", "clear;\n", "clc;\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", "printf('Pt= %0.0f mW',Pt*1000);\n", "Tj=30;//in degree\n", "Tj_a=Tj*Pt;\n", "Tcase=125-Tj_a;//in degree\n", "printf('\n Tcase(max)= %0.0f degree Cel',Tcase);" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 6.11: Calculate_differential_and_common_mode_impedance.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "//chapter 6\n", "//page no-174\n", "//Ex6_11\n", "//given\n", "clear;clc;\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", "printf('\n Zdiff= %0.1f ohm',zdiff); //answer misprinted\n", "zcm=z11+z12;\n", "printf('\n Zcm= %0.1f ohm',zcm);" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 6.12: Compute_differential_mode_and_common_mode_impedance.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "//chapter 6\n", "//page no174\n", "//Ex6_11\n", "//given\n", "clear;clc;\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", "printf('\n Zdiff= %0.1f ohm',zdiff); \n", "zcm=z11+z12;\n", "printf('\n Zcm= %0.1f ohm',zcm);\n", "" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 6.13: Compute_intermediate_frequency.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "//chapter 6\n", "//page no181\n", "//Ex6_13\n", "//given\n", "clear;clc;\n", "dV=50; //in mV\n", "di=3; //in Amp\n", "Lcable=15; //in nH\n", "fL=dV*10^-3/di/2/%pi/Lcable/10^-9;\n", "printf('fLcable = %0.0f kHz',fL/1000);" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 6.14: Allowed_parasitic_cable_inductance.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "//chapter 6\n", "//page no181\n", "//Ex6_14\n", "//given\n", "clear;clc;\n", "dV=50; //in mV\n", "di=4; //in Amp\n", "fL=120; //in kHz\n", "Lcable=dV*10^-3/di/2/%pi/fL/10^3;\n", "printf('\n The maximum allowed parasitic cable inductance (Lcable) must not exceed %0.1f nH',Lcable*10^9);" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 6.15: Calculate_high_frequency_component.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "//chapter 6\n", "//page no182\n", "//Ex6_15\n", "//given\n", "clear;\n", "clc;\n", "dV=40; //in mV\n", "di=2.5; //in Amp\n", "Lbypas=0.5; //in nH\n", "fL=dV*10^-3/di/2/%pi/Lbypas/10^-9;\n", "printf('fHnoise = %0.1f MHz',fL/10^6);" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 6.16: compute_low_frequency_component.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "//chapter 6\n", "//page no182\n", "//Ex6_16\n", "//given\n", "clear;\n", "clc;\n", "dV=50; //in mV\n", "di=2.5; //in Amp\n", "Cbypas=220; //in microF\n", "fL=di/(dV*10^-3*2*%pi*Cbypas*10^-6);\n", "printf('fLnoise = %0.0f kHz',fL/1000); //Result" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 6.17: Calculate_noise_bandwidth.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "//chapter 6\n", "//page no182\n", "//Ex6_17\n", "//given\n", "clear;\n", "clc;\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*%pi*Cbypas*10^-6);\n", "printf('\n fLnoise = %0.0f kHz\n ',fL/1000); //Result misprinted\n", "fH=dV*10^-3/di/2/%pi/Lbypas/10^-9;\n", "printf('\n fHnoise = %0.0f MHz\n ',fH/10^6); \n", "Bw=fH-fL;\n", "printf('\n Bwnoise = %0.2f MHZ',Bw/10^6); //Result miscalculated" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 6.18: Calculate_effective_hight_frequency_component.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "//chapter 6\n", "//page no184\n", "//Ex6_18\n", "//given\n", "clear;\n", "clc;\n", "dV=40; //in mV\n", "di=3; //in Amp\n", "LT=0.05; //in nH\n", "fH=dV*10^-3/di/2/%pi/LT/10^-9;\n", "printf('\n fCdecoupling(high) = %0.1f MHz\n ',fH/10^6); //Result" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 6.19: Calculate_the_effective_low_frequency_component.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "//chapter 6\n", "//page no184\n", "//Ex6_19\n", "//given\n", "clear;\n", "clc;\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*%pi*CT*10^-6);\n", "printf('\n fLnoise = %0.0f MHz\n ',fCL/10^6); //Result \n", "fCH=42.3; //in MHz taken from last question i.e. 6.18\n", "printf('\n fHnoise (from last question i.e. 6.18)= %0.1f MHz\n ',fCH); \n", "printf('\n %0.0fMHz <= B.W.noise <= %0.2fMHZ',fCL/10^6,fCH); //Result" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 6.1: Determine_whether_heat_sink_or_not.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "//Chapter 6\n", "//page no 139\n", "//Given\n", "clear;\n", "clc;\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", "printf('\n Rth = %0.0f K/W',Rth);\n", "if Rth>RthJ_a then\n", " printf('\n No Heat sink is required');\n", "else\n", " printf('\n Yes,Heat sink is required');\n", "end ; \n", " " ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 6.2: determine_whether_or_not_heat_sink.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "//Chapter 6\n", "//page no 140\n", "//Given\n", "\n", "clear;\n", "clc;\n", "Tj=120;//in degree celsius\n", "Tamp=80;//n degree celsius\n", "Pt=2.1;//in W \n", "RthJ_a =34; //in k/w(Assumption)\n", "Rth=(Tj-Tamp)/Pt;\n", "printf('Rth = %0.0f K/W',Rth);\n", "if Rth>RthJ_a then\n", " printf('\n No Heat sink is required');\n", "else\n", " printf('\n Yes,Heat sink is required');\n", "end ; \n", "" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 6.3: Determine_wheather_heat_sink.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "//chapter6\n", "//page no 140\n", "//example 6-3\n", "//given\n", "clear;\n", "clc;\n", "//data insufficient\n", "Rth=17.70; // Rth assumed minimum\n", "Rthc_H=0.65; //k/w\n", "Rthj_a=33; //k/w\n", "Rthj_c=3; //k/w\n", "RthH_a=1/(1/Rth-1/Rthj_a)-Rthj_c-Rthc_H;\n", "printf('RthH-a <= %0.1f K/W',RthH_a);\n", "//disp(RthH_a,'heat sink thermal resistance');" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 6.4: Find_Junction_Temperature.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "//chapter6\n", "//page no 148\n", "//example 6-4\n", "//given\n", "clear;clc;\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", "disp('mW',Pdynamic,'Power dissipation under dynamic condition')\n", "Pstatic=(Vcc*Icc);\n", "disp('mW',Pstatic,'power dissipation under static condition')\n", "PD=Pdynamic+Pstatic;\n", "disp('mW',PD,'total power dissipation')\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", "printf('\n Temp. of junction temp %0.0f degree C',Tj)\n", "" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 6.5: calculate_value_of_r1_r2_r3_and_c1.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "//chapter 6\n", "//page no150\n", "//exa 6_5Ex6_5\n", "//given\n", "clc;\n", "clear;\n", "Ifon=120; //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", "printf('\n R3= %0.0f ohm',R3);\n", "R0=(R3-32)/3.2;\n", "printf('\n R0= %0.0f ohm',R0);\n", "R1=(R0+10)/2;\n", "printf('\n R1= %0.0f ohm',R1);\n", "R2=R1-10;\n", "printf('\n R2= %0.0f ohm',R2);\n", "C1=2*10^-9/R1;\n", "printf('\n C1= %0.0f pF',C1*10^12); //answer in book is approximately written" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 6.6: Compute_required_reference_current.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "\n", "//chapter 6\n", "//page no155\n", "//Ex6_6\n", "//given\n", "clear;\n", "clc;\n", "Impd1=250; //in microA\n", "Impd0=25; //in microA\n", "Iref=(1/16)*Impd1*10^-6;\n", "printf('\n Reference current is %0.3f microA',Iref*10^6)\n", "Rref=1.5/Iref;\n", "printf('\n External bias resistor value Rref1is %0.0f kohm',Rref/1000)\n", "//or\n", "Rref1=24/Impd1/10^-6;\n", "printf('\n Also,Rref1=24/Impd \n External bias resistor value is %0.0f kohm',Rref1/1000)\n", "Irefz=(1/4)*Impd0;\n", "printf('\n Ref0 current is %0.2f microA',Irefz)\n", "Rrefz=1.5/Irefz/10^-6;\n", "printf('\n External bias resistor value Rrefz is %0.0f kohm',Rrefz/1000)" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 6.7: Find_bandwidth_for_optical_one_and_zero.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "//chapter 6\n", "//page no157\n", "//Ex 6_7\n", "//given\n", "clear;\n", "clc;\n", "R=400; //in mA\n", "nEO=25; //in mW\n", "nlaser=nEO*10^-3*R*10^-3;\n", "printf('\n nlaser = %0.2f ',nlaser);\n", " Tone=(40*10^-12)*(80*10^3)/nlaser;\n", "printf('\n Tone = %0.0f micros ',Tone*10^6);\n", " BWone=1/(2*%pi*Tone);\n", "printf('\n BWone = %0.0f Hz ',BWone);\n", "Tzero=(40*10^-12)*80*10^3/nlaser;\n", "BWzero=1/2/%pi/Tzero; //Hz\n", "printf('\n BWzero = %0.0f Hz ',BWzero);\n", "//answer misprinted" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 6.8: compute_external_resistance_and_alarm_current.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "//chapter 6\n", "//page no159\n", "//exa 6_8\n", "//given\n", "clear;clc;\n", "iol =5; //in mA\n", "ioh=80; //bias current in mA\n", "ralarmH=(1.5*1500)/ioh/10^-3;\n", "printf('\n Alarm resistor RalarmH is %0.0f kOhm',ralarmH/1000);\n", "ralarmL=(1.5*300)/iol/10^-3;\n", "printf('\n Alarm resistor RalarmL is %0.0f kOhm',ralarmL/1000);\n", "ialarmh=80*10^-3;\n", "ialarmH=ioh*10^-3/1500;\n", "printf('\n Alarm current IalarmH is %0.0f microA',ialarmH*10^6); //unit of anwer misprinted in book\n", "ialarml=5*10^-3;\n", "ialarmL=iol*10^-3/300;\n", "printf('\n Alarm current IalarmL is %0.0f microA',ialarmL*10^6);\n", "\n", "" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 6.9: Total_power_dissipatio.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "//chapter 6\n", "//page no160\n", "//exa 6_9\n", "//given\n", "clear;clc;\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", "printf('Total modulation current is \nImod=%.2f mA\n',Imod);\n", "Ildq=1.2/100*10^3; //in mA \n", "printf('The current complementary output is \nIldq=%.1f mA\n',Ildq);\n", "Vld=-1.2-Rld*(Ibias+Ild)*10^-3; //optical high\n", "printf('The laser voltage for optical high is \nVld=%.2f V\n',Vld);\n", "Vld=-1.2-Rld*(Ibias)*10^-3; //optical dark\n", "printf('The laser voltage for optical dark is \nVld=%.2f V\n',Vld);\n", "Vldq=-Ild*10^-3*Rld;\n", "printf('The laser voltage at complimentary o/p is \nVldq=%.2f V\n',Vldq);\n", "Rchock=5; //in Ohm\n", "Vchock=-Rchock*Ibias*10^-3;\n", "printf('\nVchock=%.3f V\n',Vchock);\n", "Vbias=0.5*(-3.7+Vld)+Vchock;\n", "printf('\nVbias=%.1f V\n',Vbias);\n", "\n", "//(i) Pdvee1\n", "Pdvcc=5*2.5; //in mW\n", "printf('\nPdvcc=%.1f mW\n',Pdvcc);\n", "Pdvee1=4.5*80; //in mW\n", "printf('\nPdvee1=%.0f mW\n',Pdvee1);\n", "//(ii) Pdvee2\n", "Pdvee2=6*160; //in mW\n", "printf('\nPdvee2=%.0f mW\n',Pdvee2);\n", "//(iii) PdLD\n", "PdLD=0.5*(3.75*50); //in mW\n", "printf('\nPdLD=%.2f mW\n',PdLD);\n", "//(iv) PdLQ\n", "PdLDQ=0.5*abs(Vld)*50; //in mW\n", "printf('\nPdLDQ=%.2f mW\n',PdLDQ);\n", "//(v) PdLDQ\n", "Pdbias=abs(Vbias)*Ibias; //in mW\n", "printf('\nPdbias=%.1f mW\n',Pdbias);\n", "//PT\n", "PT=Pdvcc+Pdvee1+Pdvee2-[PdLD+PdLDQ+Pdbias];\n", "printf('\nTotal power dissipation (PT)=%.1f mW\n',PT);" ] } ], "metadata": { "kernelspec": { "display_name": "Scilab", "language": "scilab", "name": "scilab" }, "language_info": { "file_extension": ".sce", "help_links": [ { "text": "MetaKernel Magics", "url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md" } ], "mimetype": "text/x-octave", "name": "scilab", "version": "0.7.1" } }, "nbformat": 4, "nbformat_minor": 0 }