diff options
Diffstat (limited to 'Fiber_Optics_Communication_by_H_Kolimbiris/6-Optical_Transmittor.ipynb')
-rw-r--r-- | Fiber_Optics_Communication_by_H_Kolimbiris/6-Optical_Transmittor.ipynb | 699 |
1 files changed, 699 insertions, 0 deletions
diff --git a/Fiber_Optics_Communication_by_H_Kolimbiris/6-Optical_Transmittor.ipynb b/Fiber_Optics_Communication_by_H_Kolimbiris/6-Optical_Transmittor.ipynb new file mode 100644 index 0000000..2d8aa9c --- /dev/null +++ b/Fiber_Optics_Communication_by_H_Kolimbiris/6-Optical_Transmittor.ipynb @@ -0,0 +1,699 @@ +{ +"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 +} |