{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Chapter 9: Link Designs and Optical Amplifiers" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 9.16_1: Find_amplifier_gain_and_minimum_pump_power_required.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 9.16.1 page 9.53\n", "\n", "clc;\n", "clear;\n", "\n", "Pin=2;\n", "Pout=27;\n", "\n", "gain_db= Pout-Pin;\n", "gain= 10^(Pout/10)/10^(Pin/10);\n", "min_pow = 10^(Pout/10) - 10^(Pin/10);\n", "\n", "printf('\nGain in dB is %d dB.\nGain is %.2f.\nMinimum pump power is %.1f mW.',gain_db,gain,min_pow);\n", "\n", "//answer in the book for gain is 317, deviation of 0.77 and for minimum pump power it is 499.4, deviation of 0.2" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 9.20_1: Maximum_input_and_output_power.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 9.20.1 page 9.65\n", "\n", "clc;\n", "clear;\n", "\n", "gain_db=25;\n", "lamdaP=980d-9;\n", "lamdaS=1550d-9;\n", "Pp=40d-3;\n", "\n", "gain=10^(gain_db/10); //computing gain\n", "Pin=(lamdaP/lamdaS)*Pp/(gain-1); //computing maximum input power\n", "Pout=Pin+(lamdaP/lamdaS)*Pp; //computing maximum output power\n", "Pout_db=10*log10(Pout/10^-3); //computing maximum output power in dB\n", "Pin=Pin*10^6;\n", "printf('\nGain is %.2f.\nMaximum input power is %.2f microWatt.\nMaximum output power is %.2f dbm.',gain,Pin,Pout_db);\n", "printf('\n\nNOTE - calculation error in max input power instead of G-1, G-100 is taken.');\n", "\n", "//answer in the book for Max output power is 14.03 dBm, deviation of 0.01\n", "//calculation error in max input power instead of G-1, G-100 is taken, answer given is 116 microWatt" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 9.4_1: Find_safty_margin.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 9.4.1 page 9.11\n", "\n", "clc;\n", "clear;\n", "\n", "output=13; //laser output\n", "sensitivity=-31; //APD sensitivity\n", "coupling_loss=0.5;\n", "L=80; //length in km\n", "sl=0.1; //loss correspond to one splice in dB\n", "fl=0.35; //fiber loss in dB/km\n", "noise=1.5;\n", "\n", "allowed_loss=output-sensitivity;\n", "splices_loss=(L-1)*sl;\n", "fiber_loss=L*fl;\n", "margin=allowed_loss-(splices_loss+fiber_loss+coupling_loss+noise);\n", "\n", "printf('\nFinal margin is %.1f dB.',margin);" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 9.4_2: Determine_safety_margin.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 9.4.2 page 9.12\n", "\n", "clc;\n", "clear;\n", "\n", "output=3; //laser output\n", "sensitivity=-54; //APD sensitivity\n", "coupling_loss=17.5;\n", "L=6; //length in km\n", "sl=1.1; //loss correspond to one splice in dB\n", "n=3; //number of splices\n", "fl=5; //fiber loss in dB/km\n", "connector_loss=0.8;\n", "\n", "allowed_loss=output-sensitivity;\n", "splices_loss=n*sl;\n", "fiber_loss=L*fl;\n", "margin=allowed_loss-(splices_loss+fiber_loss+coupling_loss+connector_loss);\n", "\n", "printf('\nFinal margin is %.1f dB.',margin);" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 9.4_3: Determine_safety_margin.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 9.4.3 page 9.13\n", "\n", "clc;\n", "clear;\n", "\n", "output=-10; //laser output\n", "sensitivity=-41; //APD sensitivity\n", "L=7; //length in km\n", "sl=0.5; //loss correspond to one splice in dB\n", "fl=2.6; //fiber loss in dB/km\n", "connector_loss=1.5;\n", "saftey_margin=6;\n", "\n", "allowed_loss=output-sensitivity;\n", "splices_loss=(L-1)*sl;\n", "fiber_loss=L*fl;\n", "margin=allowed_loss-(splices_loss+fiber_loss+connector_loss+saftey_margin);\n", "\n", "printf('\nFinal margin is %.1f dB.',margin);" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 9.4_4: Determine_safety_margin_and_link_length.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 9.4.4 page 9.14\n", "\n", "clc;\n", "clear;\n", "\n", "output=-10; //laser output\n", "sensitivity=-25; //APD sensitivity\n", "L=2; //length in km\n", "sl=0.7; //loss correspond to one splice in dB\n", "fl=3.5; //fiber loss in dB/km\n", "connector_loss=1.6;\n", "saftey_margin=4;\n", "\n", "allowed_loss=output-sensitivity;\n", "splices_loss=L*sl;\n", "fiber_loss=L*fl;\n", "margin=allowed_loss-(splices_loss+fiber_loss+connector_loss+saftey_margin);\n", "\n", "printf('\nFinal margin is %.1f dB.',margin);\n", "\n", "printf('\n\nIf laser launches a optical power of 0 dBm then,\n');\n", "\n", "output=0; //laser output\n", "sensitivity=-25; //APD sensitivity\n", "saftey_margin=7;\n", "allowed_loss=output-sensitivity;\n", "length_fiber= (allowed_loss-(splices_loss+connector_loss+saftey_margin))/fl;\n", "increase=length_fiber-L;\n", "printf('\nIncrease in the fiber length is %.2f km.',increase);\n", "\n", "//answer in the book is 2.28, deviation of 0.01" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 9.4_5: Determine_link_length.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 9.4.5 page 9.16\n", "\n", "clc;\n", "clear;\n", "\n", "output=22; //laser output\n", "sensitivity=-35; //APD sensitivity\n", "sl=0.05; //loss correspond to one splice in dB\n", "fl=0.4; //fiber loss in dB/km\n", "connector_loss=2;\n", "saftey_margin=6;\n", "penalties=1.5\n", "allowed_loss=output-sensitivity;\n", "Length = (allowed_loss-(connector_loss+penalties+saftey_margin))/(sl+fl);\n", "Length=floor(Length);\n", "printf('\nLink length is %d km.',Length);" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 9.6_1: Find_maximum_bit_rate.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 9.6.1 page 9.19\n", "\n", "clc;\n", "clear;\n", "\n", "L=10;\n", "ts=10;\n", "tD=8;\n", "tmod=L*6;\n", "tt=L*2;\n", "\n", "Tsys=1.1*sqrt(ts^2+tmod^2+tt^2+tD^2);\n", "Bt=0.7/Tsys;\n", "Bt=Bt*10^3;\n", "printf('Maximum bit rate for link using NRZ data format is %.2f Mbits/sec.',Bt);\n", "printf('\nNOTE - calculation error in the book');\n", "\n", "//calculation error in the book\n", "//answer given in the book is 10.3mbits/sec.(incorrect)\n", "" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 9.6_2: Estimate_maximum_bit_rate.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 9.6.2 page 9.20\n", "\n", "clc;\n", "clear;\n", "\n", "L=8;\n", "ts=8;\n", "tD=6;\n", "tmod=L*1;\n", "tt=L*5;\n", "\n", "Tsys=sqrt(ts^2+tmod^2+tt^2+tD^2);\n", "Bt=0.7/Tsys;\n", "Bt=Bt*10^3;\n", "printf('\nMaximum bit rate for link using NRZ data format is %.2f Mbits/sec.\nMaximum bit rate for link using RZ data format is %.2f Mbits/sec.',Bt,Bt/2);" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 9.6_3: Determine_whether_or_not_combination_of_component_gives_an_adequate_response.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 9.6.3 page 9.21\n", "\n", "clc;\n", "clear;\n", "\n", "L=5;\n", "ts=10;\n", "tD=3;\n", "tmod=L*2;\n", "tt=L*9;\n", "\n", "Tsys=sqrt(ts^2+tmod^2+tt^2+tD^2);\n", "Bt=0.7/Tsys;\n", "Bt=Bt*10^3;\n", "printf('\nMaximum bit rate for link using NRZ data format is %.1f Mbits/sec.',Bt);\n", "printf('\nThis is equivalent to a 3 dB optical bandwidth of %.1f MHz, hence the desired required bandwidth 6 MHz which will be supported',Bt/2);\n", "" ] } ], "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 }