summaryrefslogtreecommitdiff
path: root/Fiber_Optics_Communication_by_H_Kolimbiris/6-Optical_Transmittor.ipynb
diff options
context:
space:
mode:
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.ipynb699
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
+}