diff options
Diffstat (limited to 'Fiber_Optics_Communication_by_H._Kolimbiris')
16 files changed, 6571 insertions, 0 deletions
diff --git a/Fiber_Optics_Communication_by_H._Kolimbiris/README.txt b/Fiber_Optics_Communication_by_H._Kolimbiris/README.txt new file mode 100755 index 00000000..3832614f --- /dev/null +++ b/Fiber_Optics_Communication_by_H._Kolimbiris/README.txt @@ -0,0 +1,10 @@ +Contributed By: sanket khair +Course: others +College/Institute/Organization: Tondvalkar Mahavidyalaya +Department/Designation: Arts +Book Title: Fiber Optics Communication +Author: H. Kolimbiris +Publisher: Pearson Education, New Delhi +Year of publication: 2001 +Isbn: 9788131715888 +Edition: 1
\ No newline at end of file diff --git a/Fiber_Optics_Communication_by_H._Kolimbiris/chapter10_1.ipynb b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter10_1.ipynb new file mode 100755 index 00000000..48dede08 --- /dev/null +++ b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter10_1.ipynb @@ -0,0 +1,122 @@ +{ + "metadata": { + "celltoolbar": "Raw Cell Format", + "name": "", + "signature": "sha256:bca789cc7fd2ad14c612bcaec239833585e5ad7586678b40e30cb722f114286f" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 10: Optical Modulation" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.1,Page number 354" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Vpi=1; #Assumed 1 because we can not use a variable on RHS \n", + "#Vpi is Violtage swing\n", + "A=0.25; #chirping\n", + "#V1=(AV1p+Vp)/2\n", + "V1=(A*Vpi+Vpi)/2;\n", + "print\" V1=\",V1,\"Vpi\"; \n", + "V2=V1-Vpi;\n", + "print\" V2=\",V2,\"Vpi\";\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " V1= 0.625 Vpi\n", + " V2= -0.375 Vpi\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.2,Page number 354" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Vpi=1; #Assumed 1 because we can not use a variable on RHS\n", + "#Vpi is Violtage swing\n", + "\n", + "print\"for alpha=0.3\";\n", + "A=0.3; #chirping\n", + "\n", + "#V1=(AV1p+Vp)/2\n", + "V1=(A*Vpi+Vpi)/2;\n", + "print\" V1=\",V1,\"Vpi\"; \n", + "V2=V1-Vpi;\n", + "print\" V2=\",V2,\"Vpi\";\n", + "\n", + "print\"for alpha=0.8\";\n", + "A=0.8; #chirping\n", + "#V1=(AV1p+Vp)/2\n", + "V1x=(A*Vpi+Vpi)/2;\n", + "print\" V1=\",V1x,\"Vpi\"; \n", + "V2x=V1x-Vpi;\n", + "print\" V2=\",V2x,\"Vpi\";\n", + "\n", + "print\" Biasing range is\",V1,\"Vpi <= V1 <=\",V1x,\"Vpi\"; \n", + "print\" Biasing range is\",V2,\"Vpi <= V2 <=\",V2x,\"Vpi\"; \n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "for alpha=0.3\n", + " V1= 0.65 Vpi\n", + " V2= -0.35 Vpi\n", + "for alpha=0.8\n", + " V1= 0.9 Vpi\n", + " V2= -0.1 Vpi\n", + " Biasing range is 0.65 Vpi <= V1 <= 0.9 Vpi\n", + " Biasing range is -0.35 Vpi <= V2 <= -0.1 Vpi\n" + ] + } + ], + "prompt_number": 2 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Fiber_Optics_Communication_by_H._Kolimbiris/chapter11_1.ipynb b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter11_1.ipynb new file mode 100755 index 00000000..f8a54d63 --- /dev/null +++ b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter11_1.ipynb @@ -0,0 +1,143 @@ +{ + "metadata": { + "celltoolbar": "Raw Cell Format", + "name": "", + "signature": "sha256:21e4ae5382ea70f09382be8b52555f5fbc8f74fe04eda894a464606ba56a00a7" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 11: Multiplexing" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.1,Page number 386" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "q=4.9*10**-18; #in m/W.GHz raman gain slope\n", + "f=100; #in GHz\n", + "A=50*10**-6; #cross sectional area in micro meter square\n", + "P0=3.5; #in mW\n", + "Le=10*10**3;\n", + "G=q*f*10**6/2/A;\n", + "N=20;\n", + "print\"G =\",\"{0:.3e}\".format(G);\n", + "CT=N*(N-1)*(P0*10**-3*G*Le)/2;\n", + "print\"CT(L) =\",round(CT,3);\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "G = 4.900e-06\n", + "CT(L) = 0.033\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.2,Page number 410" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "K0=2*math.pi*625; #in MHz/V\n", + "Ip=0.6; #in mA\n", + "N=64; \n", + "w=2.44; #in Mhz\n", + "Z=5;\n", + "Vout=5; #in V\n", + "C=(4*K0*10**6*Ip*10**-3*Z)/(2*math.pi*N*w*w*10**12);\n", + "print\"The value of capacitance is\",round(C*10**9,4),\"nF\";\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The value of capacitance is 19.6835 nF\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.3,Page number 410" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "K0=2*math.pi*625; #in MHz/V\n", + "Ip=0.35; #in mA\n", + "N=64; \n", + "w=2.44; #in MHz\n", + "Z=5;\n", + "Vout=4; #in V\n", + "C=22; #in nF\n", + "Z=math.sqrt((2*math.pi*N*w**2*C)/(4*Ip*K0*0.25));\n", + "print\"Zeta is\",round(Z,4);\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Zeta is 6.1904\n" + ] + } + ], + "prompt_number": 8 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Fiber_Optics_Communication_by_H._Kolimbiris/chapter12_1.ipynb b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter12_1.ipynb new file mode 100755 index 00000000..43b64692 --- /dev/null +++ b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter12_1.ipynb @@ -0,0 +1,2095 @@ +{ + "metadata": { + "celltoolbar": "Raw Cell Format", + "name": "", + "signature": "sha256:03bffc5718fcd6defcb7667288d869c25c0041319549754d2fa9939094b7e52f" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 12: Optical Systems" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.1,Page number 431" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Pt=10.; #in microW\n", + "Pr=1.; #in microW\n", + "PtdBm=10*math.log10(Pt*10**-6/10**-3) #in dBm\n", + "print\"Transmitter Power =\",round(PtdBm,4),\"dBm\";\n", + "PrdBm=10*math.log10(Pr*10**-6/10**-3) #in dBm\n", + "print\"Receiver Power =\",round(PrdBm,4),\"dBm\";\n", + "Pm=PtdBm-PrdBm;\n", + "print\"Power margin=\",round(Pm,4),\"dBm\"; #misprint in book" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Transmitter Power = -20.0 dBm\n", + "Receiver Power = -30.0 dBm\n", + "Power margin= 10.0 dBm\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.2,Page number 431" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Pt=25.; #in microW\n", + "Prd=15.; #in dBm\n", + "Ptd=10*math.log10(Pt*10**-6/10**-3) #in dBm\n", + "print\"Transmitter Power =\",round(Ptd,4),\"dBm\";\n", + "Pm=Ptd-Prd;\n", + "print\"Power margin=\",round(Pm,4),\"dBm\";" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Transmitter Power = -16.0206 dBm\n", + "Power margin= -31.0206 dBm\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.3,Page number 432" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Pt1=-18; #in dBm for 50/125 micron fiber\n", + "Pt2=-10; #in dBm for 100/125 micron fiber\n", + "Pd=Pt1-Pt2;\n", + "print\" Additional Power =\",round(Pd,4),\"dBm\";" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Additional Power = -8.0 dBm\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.4,Page number 432" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Plb=10; #in dBm for 50/125 micron fiber\n", + "Ps=3; #in dBm for safety margin\n", + "Prs=-30; #in dBm for receiver sensivity\n", + "Pt=Plb+Ps+Prs;\n", + "print\"Link power budget =\",round(Pt,4),\"dBm\";\n", + "Ptw=10**(Pt/10.)*1000;\n", + "print\"Transmitter Power =\",round(Ptw,4),\"microW\";" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Link power budget = -17.0 dBm\n", + "Transmitter Power = 19.9526 microW\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.5,Page number 433" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Is=0.5; #in A/W\n", + "Ir=1.5; #in microA\n", + "Xw=Ir/Is;\n", + "print\"Electrical power required by PIN diode is =\",round(Xw,4),\"microW\";\n", + "Pxw=10*math.log10(Xw/10**3);\n", + "print\"Therefore, Electrical power required by PIN diode is =\",round(Pxw,4),\"dBm\";\n", + "\n", + "Ps=3; #in dB for safety margin\n", + "Tp=5; #in dB\n", + "Pt=Tp+Ps+Pxw;\n", + "print\"Total Power Required =\",round(Pt,4),\"dBm\";" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Electrical power required by PIN diode is = 3.0 microW\n", + "Therefore, Electrical power required by PIN diode is = -25.2288 dBm\n", + "Total Power Required = -17.2288 dBm\n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.6,Page number 442" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "fb=1.25; #in Gb/s\n", + "D=17; #in ps/nm.km\n", + "dL=0.5; #in nm\n", + "Lmax=1/fb/10**9/dL/10**-9/D/10**-12*10**-9;\n", + "print\"Maximum Link span,Lmax =\",round(Lmax,4),\"km\";\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum Link span,Lmax = 94.1176 km\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.7,Page number 442" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "fb=2.5; #in Gb/s\n", + "Lmax=50.; #in km\n", + "dL=0.4; #in nm\n", + "D=1./fb/10**9/dL/10**-9/Lmax/10**-12*10**-9;\n", + "print\"Maximum allowable dispersion,D =\",round(D,4),\"ps/nm-km\";\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum allowable dispersion,D = 20.0 ps/nm-km\n" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.8,Page number 443" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Lmax=60.; #in km\n", + "D=17.; #in ps/nm.km\n", + "dL=0.5; #in nm\n", + "fb=1/Lmax/10**9/dL/10**-9/D/10**-12*10**-9;\n", + "print\"Maximum system bit rate,fb =\",round(fb,4),\"Gb/s\";\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum system bit rate,fb = 1.9608 Gb/s\n" + ] + } + ], + "prompt_number": 17 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.9,Page number 443" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "c1=4; #channel1\n", + "c2=8; #channel2\n", + "c3=16; #channel3\n", + "fb=2.5; #in Gb/s\n", + "Lmax1=6.1*10**3/(c1*fb)**2;\n", + "print\"Maximum Link span for\",c1,\"channel, Lmax =\",Lmax1,\"km\";\n", + "Lmax2=6.1*10**3/(c2*fb)**2;\n", + "print\"Maximum Link span for\",c2,\"channel, Lmax =\",Lmax2,\"km\";\n", + "Lmax3=6.1*10**3/(c3*fb)**2;\n", + "print\"Maximum Link span for\",c3,\"channel, Lmax =\",Lmax3,\"km\";\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum Link span for 4 channel, Lmax = 61.0 km\n", + "Maximum Link span for 8 channel, Lmax = 15.25 km\n", + "Maximum Link span for 16 channel, Lmax = 3.8125 km\n" + ] + } + ], + "prompt_number": 18 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.10,Page number 444" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "L=200; #in km\n", + "dL=1550; #in nm\n", + "R=10; #in Gb/s\n", + "Cd=17; #in ps/nm-km\n", + "w=0.1; #Assused bandwidth\n", + "Cd200=Cd*L;\n", + "print\"Dispersion by 200km ofc =\",\"{0:.1e}\".format(Cd200),\"ps/nm\";\n", + "TCd=w*Cd200;\n", + "print\"total chromatic dispersion =\",\"{0:.1e}\".format(TCd),\"ps\";" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Dispersion by 200km ofc = 3.4e+03 ps/nm\n", + "total chromatic dispersion = 3.4e+02 ps\n" + ] + } + ], + "prompt_number": 20 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.11,Page number 480" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "L=1.5; #in km\n", + "Ls=L/3; #in km\n", + "BwF=600; #in MHz\n", + "fb=1; #in Gbps\n", + "Bdlaser=0.71*BwF*L**-0.7*Ls**-0.25;\n", + "print\"Laser bandwidth is\",round(Bdlaser,4),\"MHz\"; \n", + "mD=0.85*(fb*10**3/Bdlaser)**2;\n", + "print\"Mean dispersion penalty is\",round(mD,4),\"dB\"; " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Laser bandwidth is 381.4198 MHz\n", + "Mean dispersion penalty is 5.8427 dB\n" + ] + } + ], + "prompt_number": 21 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.12,Page number 481" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "E=0.182; #from table 12-11 for 2dB dispersion penalty\n", + "fb=622; #in Mb/s\n", + "dl=4; #in nm\n", + "ofdisp=3; #in ps/km-nm\n", + "Dmax=E/(10**-6*fb*dl);\n", + "print\"Dmax is\",round(Dmax,4),\"ps/nm\"; \n", + "Lmax=Dmax/ofdisp;\n", + "print\"Maximum link distance is\",round(Lmax,4),\"km\"; " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Dmax is 73.1511 ps/nm\n", + "Maximum link distance is 24.3837 km\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.13,Page number 481" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "E=0.115; #from table 12-11 for 2dB dispersion penalty\n", + "fb=622; #in Mb/s\n", + "dl=4; #in nm\n", + "ofdisp=3; #in ps/km-nm\n", + "Dmax=E/(10**-6*fb*dl);\n", + "print\"Dmax is\",round(Dmax,4),\"ps/nm\"; \n", + "Lmax=Dmax/ofdisp;\n", + "print\"Maximum link distance is\",round(Lmax,4),\"km\"; " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Dmax is 46.2219 ps/nm\n", + "Maximum link distance is 15.4073 km\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.14,Page number 481" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "mc=0.4; #in dB\n", + "sc=0.0; #in dB\n", + "dmax=2.8; #in dB\n", + "mt=-4.9; #in dBm\n", + "st=0.5; #in dBm\n", + "mr=-38.1; #in dBm\n", + "sr=0.48; #in dBm\n", + "mco=0.35; #in dB\n", + "sco=0.20; #in dB\n", + "ms=0.2; #in dB\n", + "ss=0.1; #in dB\n", + "E=0.182; #from table 12-11 for 2dB dispersion penalty\n", + "fb=156; #in Mb/s\n", + "dl=4; #in nm\n", + "ofdisp=2.8; #in ps/nm-km\n", + "Nco=7;\n", + "mD=2;\n", + "sD=0.1;\n", + "sH=2;\n", + "sCR=0.25;\n", + "Ns=4;\n", + "mH=0;\n", + "mCR=0.5;\n", + "L=50;\n", + "Ls=10;\n", + "Dmax=E/(10**-6*fb*dl);\n", + "print\"Dmax is\",round(Dmax,4),\"ps/nm\"; \n", + "Lmax=Dmax/ofdisp;\n", + "print\"Maximum link distance is\",round(Lmax,4),\"km\"; \n", + "mM=mt-mr-(mc*L+mco*Nco+ms*Ns+mD+mH+mCR);\n", + "print\"Mean link margin is\",round(mM,4),\"dB\"; \n", + "sM=math.sqrt(st**2+sr**2+sc**2*L*Ls+sco**2*Nco+sD**2*sH**2+sCR**2);\n", + "print\"Sigma link margin is\",round(sM,4),\"dB\"; \n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Dmax is 291.6667 ps/nm\n", + "Maximum link distance is 104.1667 km\n", + "Mean link margin is 7.45 dB\n", + "Sigma link margin is 0.9289 dB\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.15,Page number 483" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "E=0.115; \n", + "fb=622; #in Mb/s\n", + "dl=4; #in nm\n", + "mt=0.1; #in dBm\n", + "mr=-31.5; #in dBm\n", + "mc=0.41; #in dB\n", + "L=25;\n", + "mco=0.12; #in dB\n", + "Nco=2;\n", + "ms=0.15; #in dB\n", + "Ns=4;\n", + "mD=1;\n", + "mH=0;\n", + "mCR=0;\n", + "sc=0.0; #in dB\n", + "st=-0.15; #in dBm\n", + "sr=0.3; #in dBm\n", + "sco=0.08; #in dB\n", + "ss=0.1; #in dB\n", + "ofdisp=2.8; #in ps/nm-km\n", + "sD=2;\n", + "sH=0;\n", + "sCR=0.0;\n", + "Ls=12;\n", + "\n", + "Dmax=E/(10**-6*fb*dl);\n", + "print\"Dmax is\",round(Dmax,4),\"ps/nm\"; \n", + "Lmax=Dmax/ofdisp;\n", + "print\"Maximum link distance is\",round(Lmax,4),\"km\"; #in book 4 is misprint for solving \n", + "mM=mt-mr-(mc*L+mco*Nco+ms*Ns+mD+mH+mCR);\n", + "print\"Mean link margin is\",round(mM,4),\"dB\"; #wrong in book\n", + "L=60;\n", + "Ls=12; \n", + "sM=math.sqrt(st**2+sr**2+sc**2*L*Ls+sco**2*Nco+ss**2*Ns+sD**2*sH**2+sCR**2);\n", + "print\"Sigma link margin is\",round(sM,4),\"dB\"; \n", + "spm=mM-2*sM-1;\n", + "print\"System power margin is\",round(spm,4),\"dB\"; #answer is slighty difeerent due to mM=19.5" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Dmax is 46.2219 ps/nm\n", + "Maximum link distance is 16.5078 km\n", + "Mean link margin is 19.51 dB\n", + "Sigma link margin is 0.4066 dB\n", + "System power margin is 17.6969 dB\n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.16,Page number 484" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "E=0.115; \n", + "fb=1062; #in Mb/s\n", + "dl=6; #in nm\n", + "mt=-8; #in dBm\n", + "mr=28.7; #in dBm\n", + "mc=0.4; #in dB\n", + "L=5;\n", + "mco=0.12; #in dB\n", + "Nco=8;\n", + "ms=0.2; #in dB\n", + "Ns=4;\n", + "mD=1;\n", + "mH=0;\n", + "mCR=1;\n", + "sc=0.0; #in dB\n", + "st=0.6; #in dBm\n", + "sr=0.75; #in dBm\n", + "sco=0.08; #in dB\n", + "ss=0.1; #in dB\n", + "ofdisp=2.8; #in ps/nm-km\n", + "sD=2;\n", + "sH=0;\n", + "sCR=0.25;\n", + "Ls=12;\n", + "\n", + "Dmax=round(E/(10**-6*fb*dl)); #taking to nearest integer in ps/nm\n", + "print\"Dmax is\",round(Dmax,4),\"ps/nm\"; \n", + "Lmax=Dmax/ofdisp;\n", + "print\"Maximum link distance is\",round(Lmax,4),\"km\"; \n", + "mM=mt+mr-(mc*L+mco*Nco+ms*Ns+mD+mH+mCR);\n", + "print\"Mean link margin is\",round(mM,4),\"dB\";\n", + "L=60;\n", + "Ls=12; \n", + "sM=math.sqrt(st**2+sr**2+sc**2*L*Ls+sco**2*Nco+ss**2*Ns+sD**2*sH**2+sCR**2);\n", + "print\"Sigma link margin is\",round(sM,4),\"dB\"; \n", + "mM=round(mM*10)/10; #talking only to 1 decimal place and rounding of other values\n", + "spm=mM-2*sM-1;\n", + "print\"mM-2*sM =\",mM-2*sM;\n", + "print\"System power margin is\",round(spm,4),\"dB\"; #answer is slighty diferent due to m\\sM=1.03" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Dmax is 18.0 ps/nm\n", + "Maximum link distance is 6.4286 km\n", + "Mean link margin is 14.94 dB\n", + "Sigma link margin is 1.0374 dB\n", + "mM-2*sM = 12.8251988047\n", + "System power margin is 11.8252 dB\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.17,Page number 486" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Ncso=50;\n", + "a=3.6*10**-3;\n", + "m=0.05;\n", + "CSO=10*math.log10(Ncso*(a*m)**2);\n", + "print\"CSO distortion for 50 channel optical system =\",round(CSO,4),\"dB\"; " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "CSO distortion for 50 channel optical system = -57.9048 dB\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.18,Page number 486" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "CSO=-59.8; #in dB\n", + "y=10**(CSO/10);\n", + "print\"AM modulation depth (m) = \",\"{0:.3e}\".format(y);\n", + "asq=3.6*10**-3;\n", + "Ncso=50;\n", + "msq=(y/Ncso/asq/asq);\n", + "print\"m^2 =\",\"{0:.3e}\".format(msq);\n", + "print\"Decrease of AM modulation depth decrease the CSO distortion by =\",round(math.sqrt(msq)*100,1),\"percent\";\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "AM modulation depth (m) = 1.047e-06\n", + "m^2 = 1.616e-03\n", + "Decrease of AM modulation depth decrease the CSO distortion by = 4.0 percent\n" + ] + } + ], + "prompt_number": 14 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.19,Page number 486" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Ncto=50;\n", + "b=1.07*10**-2;\n", + "m=0.05;\n", + "CTO=10*math.log10(Ncto*(1.5*b*m)**2);\n", + "print\"CTO distortion for 50 channel optical system =\",round(CTO,4),\"dB\"; \n", + "#Answer in the book is misprinted\n", + "#The solution in the book is calculated without multipication of Ncto" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "CTO distortion for 50 channel optical system = -44.9214 dB\n" + ] + } + ], + "prompt_number": 15 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.20,Page number 487" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Ncso=80;\n", + "a=2.43*10**-3;\n", + "b=4.65*10**-3;\n", + "m=0.05;\n", + "\n", + "#Part (i)\n", + "CSO=10*math.log10(Ncso*(a*m)**2);\n", + "print\"CSO distortion for 50 channel optical system for m = 5 percent CSOdB =\",round(CSO,4),\"dB\"; \n", + "\n", + "#Part (ii)\n", + "CTO=10*log10(Ncso*(1.5*b*m)**2);\n", + "print\"CTO distortion for 50 channel optical system for m = 5 percent CTOdB =\",round(CTO,4),\"dB\";\n", + "\n", + "#Part (iii)\n", + "m=0.03;\n", + "\n", + "CSO=10*log10(Ncso*(a*m)**2); \n", + "# Value of a in the book is considered 2.4 instead of 2.43\n", + "print\"CSO distortion for 50 channel optical system for m = 3 percent CSOdB =\",round(CSO,4),\"dB\"; \n", + "\n", + "#Part (iv)\n", + "CTO=10*math.log10(Ncso*(1.5*b*m)**2);\n", + "print\"CTO distortion for 50 channel optical system for m = 3 percent CTOdB =\",round(CTO,4),\"dB\";" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "CSO distortion for 50 channel optical system for m = 5 percent CSOdB = -59.2776 dB\n", + "CTO distortion for 50 channel optical system for m = 5 percent CTOdB = -50.1188 dB\n", + "CSO distortion for 50 channel optical system for m = 3 percent CSOdB = -63.7145 dB\n", + "CTO distortion for 50 channel optical system for m = 3 percent CTOdB = -54.5558 dB\n" + ] + } + ], + "prompt_number": 18 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.21,Page number 487" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "RIN=-150; #in dB\n", + "B=4*10**6;\n", + "m=0.04;\n", + "CNR=10*math.log10(m**2/(2*10**-15*B));\n", + "print\" CNR =\",round(CNR,4),\"dB\";" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " CNR = 53.0103 dB\n" + ] + } + ], + "prompt_number": 19 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.22,Page number 488" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "CNR=50; #in dB\n", + "Bch=4*10**6;\n", + "m=0.03;\n", + "RIN=m**2/2/Bch/10**(CNR/10)\n", + "print\"RIN =\",\"{0:.3e}\".format(RIN);\n", + "#Miscalculated answer in the book\n", + "RINdB=10*log10(RIN);\n", + "print\"RIN in Db is\",round(RINdB,4);\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "RIN = 1.125e-15\n", + "RIN in Db is -149.4885\n" + ] + } + ], + "prompt_number": 21 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.23,Page number 490" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Ipd=0.15; #in mA\n", + "n=0.75;\n", + "e=1.6*10**-19; #electron charge\n", + "hv=1.55*10**-19;\n", + "Pin=hv*Ipd/n/e;\n", + "print\"Pin =\",round(Pin,4),\"mW\"; #Result\n", + "#answer in book is misprint" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Pin = 0.1937 mW\n" + ] + } + ], + "prompt_number": 22 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.24,Page number 492" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "OBR=-40; #in dB\n", + "#y=Pref/Pin\n", + "y=10**(OBR/10.);\n", + "print\" Prefl =\",round(y*100,4),\"percent Pin\";\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Prefl = 0.01 percent Pin\n" + ] + } + ], + "prompt_number": 23 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.25,Page number 493" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "R=800; #in V/W\n", + "Pin=1.5; #in mW\n", + "m=0.04;\n", + "Voutp=R*Pin*m;\n", + "print\"Vout(peak) =\",Voutp,\"mV\";\n", + "Vavg=Voutp/math.sqrt(2);\n", + "print\"Vavg =\",round(Vavg,4),\"mV\";\n", + "#in dB\n", + "Vavgd=20*math.log10(Vavg*10**-3);\n", + "print\"Vavg(in dBmV) =\",round(Vavgd,4);" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Vout(peak) = 48.0 mV\n", + "Vavg = 33.9411 mV\n", + "Vavg(in dBmV) = -29.3855\n" + ] + } + ], + "prompt_number": 25 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.26,Page number 494" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Voutp=20; #in dB\n", + "Pin=1.2; #in mW\n", + "m=0.035;\n", + "Vavg=10**(Voutp/20); #in \n", + "R=Vavg*math.sqrt(2)/Pin/m;\n", + "print\"R =\",round(R,4),\"V/W\";" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "R = 336.7175 V/W\n" + ] + } + ], + "prompt_number": 27 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.27,Page number 494" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Voutp=28.; #in dB\n", + "Pin=1; #in mW\n", + "R=800; #in V/W\n", + "Vavg=10**(Voutp/20); #in \n", + "m=Vavg*math.sqrt(2)/Pin/R;\n", + "print\"The modulation depth ,m =\",round(m*100,4),\"percent\";" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The modulation depth ,m = 4.4404 percent\n" + ] + } + ], + "prompt_number": 29 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.28,Page number 495" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Ipd=1.2; #in mA\n", + "m=0.04; \n", + "RINd=-160.; #in dB/Hz\n", + "e=1.6*10**-19; \n", + "nth=8; #in pA/Hz\n", + "BW=4; #in MHz\n", + "Rin=10**(RINd/10); #in \n", + "\n", + "CNR=(0.5*(m*Ipd*10**-3)**2)/((2*e*Ipd*10**-3)+(Rin*Ipd*10**-3)**2+((nth*10**-12)**2)*BW/10**6);\n", + "print\"Value of CNR=\",\"{0:.3e}\".format(CNR);\n", + "CNRdB=10*math.log10(CNR)\n", + "print\"Value of CNR in dB=\",round(CNRdB,4),\"dB\"\n", + "#Answer in the book is misprinted or wrong calculation performed in the book\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Value of CNR= 3.000e+12\n", + "Value of CNR in dB= 124.7712 dB\n" + ] + } + ], + "prompt_number": 32 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.29,Page number 509" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "L1=40; #in km\n", + "L2=100; #in km\n", + "A=0.2; #in dB/Km\n", + "TFA1=A*L1;\n", + "\n", + "print\"Total fibre span attenuation\",round(TFA1,4),\"dB\";\n", + "TFA2=A*L2;\n", + "print\"Total fibre span attenuation\",round(TFA2,4),\"dB\";\n", + "nsd=TFA2-TFA1;\n", + "print\"Noise spectral density =\",round(nsd,4),\"dB\";\n", + "nsd_abs=10**(nsd/10)\n", + "print\"Absolute value of noise spectral density =\",round(nsd_abs,4),\"dB\";" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Total fibre span attenuation 8.0 dB\n", + "Total fibre span attenuation 20.0 dB\n", + "Noise spectral density = 12.0 dB\n", + "Absolute value of noise spectral density = 15.8489 dB\n" + ] + } + ], + "prompt_number": 33 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.30,Page number 510" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "P1=2.75; #in mW\n", + "NFd=5; #in dB\n", + "bw=5; #in GHz\n", + "G=10; #in dB\n", + "hv=1.6*10**-19; #photon energy in J\n", + "N=1; #no of amplifiers\n", + "NF=10**(NFd/10.); #amplifier noise figure\n", + "SNR=10*math.log10(P1*10**-3/(G*hv*bw*10**9*N*NF)); #signal to nois eratio\n", + "print\"Spectral Noise density =\",round(SNR,4),\"dB\";\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Spectral Noise density = 50.3624 dB\n" + ] + } + ], + "prompt_number": 35 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.31,Page number 510" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "SNRdB=40; #in dB\n", + "NFd=6; #in dB\n", + "bw=4; #in GHz\n", + "Gd=8; #in dB\n", + "hv=1.6*10**-19; #photon energy in J\n", + "N=8; #no of amplifiers\n", + "SNR=10**(SNRdB/10.);\n", + "NF=10**(NFd/10.); #amplifier noise figure\n", + "G=10**(Gd/10.); #amplifer gain\n", + "P1=10*(SNR/10.)*(G*hv*bw*10**9*N*NF)/10**-3; #optical power launched into fibre\n", + "print\"Optical power required , Pl =\",round(P1,4),\"mW \";" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Optical power required , Pl = 1.2861 mW \n" + ] + } + ], + "prompt_number": 36 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.32,Page number 518" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "l=1550; #wavelength in nm\n", + "fb=10; #system bit rate Gb/s\n", + "Df=17; #fiber dispersion in ps/nm-km\n", + "L=10**5/Df/fb**2; #fiber length in km \n", + "print\"Transmission length is\",round(L,4),\"km\";\n", + "fb2=2.5; #system bit rate Gb/s\n", + "print\"for fb=2.5 Gb/s\"\n", + "L2=10**5/Df/fb2**2; #fiber length in km \n", + "print\"Transmission length is\",round(L2,4),\"km\"; #answer misprint in book\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Transmission length is 58.0 km\n", + "for fb=2.5 Gb/s\n", + "Transmission length is 941.12 km\n" + ] + } + ], + "prompt_number": 37 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.33,Page number 518" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "lembda=1550; #wavelength in nm\n", + "Df=17; #fiber dispersion in ps/nm-km\n", + "L=80 #fiber length in km \n", + "fb=math.sqrt(10**5/Df/L)\n", + "print\"Maximum bit rate fb =\",round(fb,4),\"Mb/s\";\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum bit rate fb = 8.544 Mb/s\n" + ] + } + ], + "prompt_number": 38 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.34,Page number 530" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "D=0.2; #dispersion constant in ps/nm/km\n", + "Tfwhm=18; #ps\n", + "Zs=0.25*Tfwhm**2/D; #Characteristic length\n", + "print\" Zs =\",Zs,\"km\"; #answer in book is miscalculated\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Zs = 405.0 km\n" + ] + } + ], + "prompt_number": 40 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.35,Page number 530" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "lembda=1550; #wavelength in nm\n", + "c=3*10**5; #speed of light in km/s\n", + "Zs=600; #in km\n", + "Tfwhm=20; #in ps\n", + "D=1/1.763**2*(2*math.pi*c*Tfwhm**2/(lembda**2*Zs)); #dispersion constant\n", + "print\"dispersion constant, D =\",round(D,4),\"ps/nm/km\"; \n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "dispersion constant, D = 0.1683 ps/nm/km\n" + ] + } + ], + "prompt_number": 42 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.36,Page number 530" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "l=1557; #wavelength in nm\n", + "c=3*10**5; #speed of light in km/s\n", + "Zs=550; #in km\n", + "D=0.25; #in ps/nm/km\n", + "Tfwhm=math.sqrt(1.763**2*l**2*D*Zs/(2*math.pi*c)); #Soliton pulse width \n", + "print\"Tfwhm =\",round(Tfwhm,3),\"ps\"; " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Tfwhm = 23.445 ps\n" + ] + } + ], + "prompt_number": 47 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.37,Page number 531" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Aeff=55; #in sq micrometer\n", + "l=1557; #wavelength in nm\n", + "c=3*10**5; #speed of light in km/s\n", + "n2=2.6*10**-16; #in cm**2/W\n", + "D=0.20; #Dispersion constant in ps/nm/km\n", + "Tfwhm=30; #in ps\n", + "Zs=(2*math.pi*c*Tfwhm**2/l**2/D)/(1.763)**2 ; #charecteristic length \n", + "print\" Zs =\",round(Zs,4),\"km\"; \n", + "Ps=(Aeff*10**-12*l*10**-9)/(2*math.pi*n2*10**-4*Zs*10**3); #Peak pulse power\n", + "#Miscalculation in the book\n", + "print\" Ps =\",round(Ps*1000,4),\"mW\"; " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Zs = 1125.7236 km\n", + " Ps = 0.4657 mW\n" + ] + } + ], + "prompt_number": 48 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.38,Page number 533" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Z=10; #in mm\n", + "Tfwhm=22; #in ps\n", + "D=0.5; #ps/nm/km\n", + "Aeff=55; #in microm^2\n", + "A=0.05; #in km^-1\n", + "nsp=1.5; #spontaneous emission \n", + "F=2; #amplifier noise\n", + "s=3.6*10**3*nsp*F*A*D*Z**3/(Aeff*Tfwhm);\n", + "print\" sigma =\",round(s,4),\"ps\"; \n", + "#answer in book is misprint\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " sigma = 223.1405 ps\n" + ] + } + ], + "prompt_number": 49 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.39,Page number 533" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Q1=4; #quality factor\n", + "Q2=6; #quality factor\n", + "BER1=(2*math.pi*(Q1**2+2))**-0.5*math.e**(-Q1*Q1/2); \n", + "BER2=(2*math.pi*(Q2**2+2))**-0.5*math.e**(-Q2*Q2/2);\n", + "print\"For Q=4 ,BER =\",\"{0:.3e}\".format(BER1); \n", + "print\"For Q=6 ,BER =\",\"{0:.3e}\".format(BER2); \n", + "#Answer second is misprinted in the book" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "For Q=4 ,BER = 3.154e-05\n", + "For Q=6 ,BER = 9.856e-10\n" + ] + } + ], + "prompt_number": 52 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.40,Page number 534" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "D=0.5; #Dispersion constant ps/nm/km\n", + "Ts=22; #Pulse width in ps\n", + "fb=10; #system transmission rate in Gb/s\n", + "Z1=1; #System total length Mm\n", + "Z2=10; #System total length Mm\n", + "sa1=8.6*D*D*Z1*Z1*math.sqrt(fb-0.99)/22/2; #standard deviation based on accoustic effect\n", + "sa2=8.6*D*D*Z2*Z2*math.sqrt(fb-0.99)/22/2; #standard deviation based on accoustic effect\n", + "print\"For Z=1000km ,sigma acoustic =\",round(sa1,4),\"ps\"; \n", + "print\"For Z=10000km ,sigma acoustic =\",round(sa2,4),\"ps \"; " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "For Z=1000km ,sigma acoustic = 0.1467 ps\n", + "For Z=10000km ,sigma acoustic = 14.6672 ps \n" + ] + } + ], + "prompt_number": 50 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.41,Page number 535" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "D=0.45; #dispersion coefficient in ps/nm/km\n", + "Ts=22; #Pulse width in ps\n", + "l=0.5; #length in nm\n", + "Lcollision=2*Ts/l/D; #collision length in km\n", + "print\"Lcollision =\",round(Lcollision,4),\"km\"; \n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Lcollision = 195.5556 km\n" + ] + } + ], + "prompt_number": 54 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.42,Page number 537" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "f=70; #Maximum frequencyshift in Ghz\n", + "Ts=22; #Pulse width in ps\n", + "CS=1.783*f*10**9*Ts*10**-12; #half channel seperation \n", + "print\"The half channel seperation\",round(CS,4);\n", + "\n", + "df=0.105/f/10**9/Ts/Ts/10**-24; #maximum frequency shift\n", + "print\"The maximum frequency shift\",round(df/10**9,4),\"GHz\";\n", + "\n", + "dt=0.1786/f/10**9/f/10**9/Ts/10**-12; #time displacement\n", + "print\"The time displacement\",round(dt*10**12,4),\"ps\";\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The half channel seperation 2.7458\n", + "The maximum frequency shift 3.0992 GHz\n", + "The time displacement 1.6568 ps\n" + ] + } + ], + "prompt_number": 56 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.43,Page number 538" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "M=1.; \n", + "N=1.; #no of collision \n", + "S1=4.; #soliton colllision \n", + "S2=5.; #soliton colllision \n", + "Nc=S1*S1/4*(M*S1/2-M+N); #minimum no of collision\n", + "print\"Ncollision for S=4,is\",Nc;\n", + "Nc2=(S2*S2-1)/4*(M*S2/2-M+N); #minimum no of collision\n", + "print\"Ncollision for S=5,is\",Nc2;" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Ncollision for S=4,is 8.0\n", + "Ncollision for S=5,is 15.0\n" + ] + } + ], + "prompt_number": 58 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.44,Page number 539" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "S=4.;\n", + "n=5;\n", + "print\"Maximum number of solition Collisions\";\n", + "for M in range(1,n+1):\n", + " N=M;\n", + " Nc=S*(M*S*S/3.+S*(N/2.-M)-N/2.+2*M/3.); #minimum no of collision\n", + " print\" M=\",M,\" N=\",N,\" S=\",S,\"is\",Nc;" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum number of solition Collisions\n", + " M= 1 N= 1 S= 4.0 is 14.0\n", + " M= 2 N= 2 S= 4.0 is 28.0\n", + " M= 3 N= 3 S= 4.0 is 42.0\n", + " M= 4 N= 4 S= 4.0 is 56.0\n", + " M= 5 N= 5 S= 4.0 is 70.0\n" + ] + } + ], + "prompt_number": 64 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.45,Page number 539" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "M=1; #number of solition Collisions\n", + "N=1; # number of solition Collisions\n", + "x=2; \n", + "y=1./2;\n", + "p=3;\n", + "p2=4;\n", + "Tb=100; #ps\n", + "l=1; #difference in wavelength in nm \n", + "D=7*10**-2; #ps/nm**2*km\n", + "Zr=y*y*(Tb/l/l/D); #regeration spacing in km\n", + "print\" Zr =\",Zr,\"km\";\n", + "P=(p-1)*N+(p-2)*(p-1)*M/2.;\n", + "print\" P(\",p,\") =\",P; #result number of Collisions\n", + "P2=(p2-1)*N+(p2-2)*(p2-1)*M/2.; \n", + "print\" P(\",p2,\") =\",P2; #result number of Collisions" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Zr = 357.142857143 km\n", + " P( 3 ) = 3.0\n", + " P( 4 ) = 6.0\n" + ] + } + ], + "prompt_number": 82 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.46,Page number 540" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Tb=100; #bit period in ps\n", + "dZ=0.4; #in ps/nm/km\n", + "Zr=150; #Modulator spacing in km\n", + "Ta=Tb/(dZ*Zr); #channel spacing in nm\n", + "print\"Channel spacing\",round(Ta,4),\"nm\"; " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Channel spacing 1.6667 nm\n" + ] + } + ], + "prompt_number": 80 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.47,Page number 540" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Zr=200; #Modulator spacing in km\n", + "D=0.6; #in ps/nm/km\n", + "l=2; #in nm\n", + "Tb=l*(Zr*D); #bit period in ps\n", + "print\"Bit period Tb =\",Tb,\"ps\";" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Bit period Tb = 240.0 ps\n" + ] + } + ], + "prompt_number": 78 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.48,Page number 540" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "D=0.5; #ps/nm-km\n", + "Tb=80; #bit period in ps\n", + "l=1.5; #in nm\n", + "Zr=Tb/(D*l); #Modulator spacing in km\n", + "print\" Maximum modulator spacing Zr =\",round(Zr,4),\"km\";\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Maximum modulator spacing Zr = 106.6667 km\n" + ] + } + ], + "prompt_number": 76 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.49,Page number 541" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Zd=100; #in km\n", + "Do=0.07; #in ps/nm**2\n", + "D1=-0.3; #in ps/nm**2\n", + "Ldsf=(Zd*Do)/(Do-D1); #length of dispersion compensation fiber in km\n", + "print\"Length of Dispersion compensation fiber, Ldsf =\",round(Ldsf,4),\"km\";" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Length of Dispersion compensation fiber, Ldsf = 18.9189 km\n" + ] + } + ], + "prompt_number": 73 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.50,Page number 542" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "m=3;\n", + "n=1;\n", + "Tb=100; #ps\n", + "l=1; #nm\n", + "D=0.07; #ps/nm**2*km\n", + "lmn=1; #nm\n", + "lmo=2; #nm\n", + "Do=0.1; #ps/nm-km\n", + "Lc=4*Tb/(5*D*lmn*(lmn+2*lmo)); #Collision length in km\n", + "print\"Collision length without dispersion slope compensation =\",round(Lc,4),\"km\";\n", + "Lc2=2*Tb/(5*Do*lmn); #Collision length in km\n", + "print\"Collision length with dispersion slope compensation =\",Lc2,\"km\";" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Collision length without dispersion slope compensation = 228.5714 km\n", + "Collision length with dispersion slope compensation = 400.0 km\n" + ] + } + ], + "prompt_number": 70 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.51,Page number 542" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Zr=200; #in km\n", + "S=4;\n", + "Ltot1=2*Zr*(S-1); #total solition collion length in km\n", + "print\"Total solition Collisions length With DSC ,Ltotal =\",round(Ltot1,4),\"km\";\n", + "Ltot2=(2./5)*Zr*(S-1); #total solition collion length in km\n", + "print\"Total solition Collisions length With non-DSC ,Ltotal =\",round(Ltot2,4),\"km\";\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Total solition Collisions length With DSC ,Ltotal = 1200.0 km\n", + "Total solition Collisions length With non-DSC ,Ltotal = 240.0 km\n" + ] + } + ], + "prompt_number": 1 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Fiber_Optics_Communication_by_H._Kolimbiris/chapter13_1.ipynb b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter13_1.ipynb new file mode 100755 index 00000000..91064c2e --- /dev/null +++ b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter13_1.ipynb @@ -0,0 +1,215 @@ +{ + "metadata": { + "celltoolbar": "Raw Cell Format", + "name": "", + "signature": "sha256:e28be4b4750fe93970ef31bb773db3c88335b5f5785ee33c9c521af385d7bc8c" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 13: Networks" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 13.1,Page number 568" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Vcc=5; #in V\n", + "Vf=1.5; #in V\n", + "If=60; #in mA\n", + "B=3.97;\n", + "N=3;\n", + "R9=(Vcc-Vf)*(B+1)/If/10**-3;\n", + "print\"R9 =\",round(R9,4),\"ohm\";\n", + "R7=R9/2/B-3/N;\n", + "print\"R7 =\",round(R7,4),\"ohm\";\n", + "R8=R9/2/B;\n", + "print\"R8 =\",round(R8,4),\"ohm\";\n", + "C4=2*10**-9/R8;\n", + "print\"C4 =\",round(C4*10**12,4),\"pF\";\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "R9 = 289.9167 ohm\n", + "R7 = 35.5134 ohm\n", + "R8 = 36.5134 ohm\n", + "C4 = 54.7744 pF\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 13.2,Page number 569" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Vu3=1.24; #in V\n", + "Vbeq3=0.7; #in V\n", + "Vbeq4=0.7; #in V\n", + "R5=17.5; #in Ohm\n", + "R6=17.5; #in Ohm\n", + "Voh=5; #in V\n", + "Vol=0; #in V\n", + "\n", + "If=(Vu3-Vbeq3)/R5+(Vu3-Vbeq4)/R6;\n", + "print\"If=\",round(If*1000,4),\"mA\";\n", + "\n", + "R3=(Voh-Vol)/If;\n", + "print\"R3=\",round(R3,4),\"ohm\";\n", + "\n", + "C4=2*10**-9/R3;\n", + "print\"C4=\",round(C4*10**12,4),\"pF\";\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "If= 61.7143 mA\n", + "R3= 81.0185 ohm\n", + "C4= 24.6857 pF\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 13.2,Page number 581" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "##\"Page number 581 again Example 13-2 (numbering mistake)\";\n", + "import math\n", + "\n", + "#given\n", + "\n", + "Er=4.9;\n", + "h=5; #in mils\n", + "w=10; #in mils\n", + "t=0.5; #in mils\n", + "\n", + "Z=60.0/math.sqrt(0.475*Er+0.67)*log(4*h/0.67/(0.8*w+t));\n", + "print\"Z =\",round(Z,4),\"ohm\";\n", + "\n", + "tpd=1.017*sqrt(0.475*Er+0.67);\n", + "print\"tpd =\",round(tpd,4),\"ns/ft\";\n", + "\n", + "Tpd=tpd*1000/12; #converted into ps/in\n", + "print\"tpd =\",round(Tpd,4),\"ps/in\";\n", + "\n", + "Co=Tpd/Z;\n", + "print\"Co =\",round(Co,4),\"pF/in\";\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Page number 581 again Example 13-2 (numbering mistake)\n", + "Z = 43.5322 ohm\n", + "tpd = 1.7608 ns/ft\n", + "tpd = 146.7301 ps/in\n", + "Co = 3.3706 pF/in\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 13.3,Page number 583" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Er=4.7;\n", + "b=10; #in mils\n", + "w=4; #in mils\n", + "t=0.5; #in mils\n", + "\n", + "Z=60/math.sqrt(Er)*log(4*b/0.67/math.pi/(0.8*w+t));\n", + "print\" Z =\",round(Z,4),\"ohm\";\n", + "\n", + "tpd=1.017*sqrt(Er);\n", + "print\" tpd =\",round(tpd,4),\"ns/ft\";\n", + "\n", + "Tpd=tpd*1000/12; #converted into ps/in\n", + "print\" Also,tpd =\",round(Tpd,4),\"ps/in\";\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Z = 45.286 ohm\n", + " tpd = 2.2048 ns/ft\n", + " Also,tpd = 183.7336 ps/in\n" + ] + } + ], + "prompt_number": 10 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Fiber_Optics_Communication_by_H._Kolimbiris/chapter1_1.ipynb b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter1_1.ipynb new file mode 100755 index 00000000..a02d1494 --- /dev/null +++ b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter1_1.ipynb @@ -0,0 +1,799 @@ +{ + "metadata": { + "celltoolbar": "Raw Cell Format", + "name": "", + "signature": "sha256:0fda5ad610d37dd806c4c513ae5112b4ea24471ff454c480ace9533d3079b418" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 1: Elements of Optics And Quantum Physics" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 1.1,Page number 5" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Given\n", + "\n", + "print\"(i) t1=d/c\";\n", + "print\"(ii) t2=[(d-5)/c]+[5/v2]\";\n", + "print\" v2=c/n2\";\n", + "print\" t2=(d+2.5)/c\";\n", + "print\"(iii)delta_t=t2-t1=(d+2.5-d)/c\";\n", + "c=3*10**8; #Speed of light in m/s\n", + "delta_t=2.5*10**-2/c; #converted 2.5 cm into meters\n", + "print\"The time difference\",\"{0:.3e}\".format(delta_t),\"s\" ;\n", + "print\"Arrival time difference of two monochromatic beams is\",delta_t*10**12,\"ps\";\n", + "# Answer misprinted in the book\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) t1=d/c\n", + "(ii) t2=[(d-5)/c]+[5/v2]\n", + " v2=c/n2\n", + " t2=(d+2.5)/c\n", + "(iii)delta_t=t2-t1=(d+2.5-d)/c\n", + "The time difference 8.333e-11 s\n", + "Arrival time difference of two monochromatic beams is 83.3333333333 ps\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 1.2,Page number 5" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given \n", + "\n", + "#Applying Snell's law\n", + "a=1*math.sin(428)/1.333; #a=sin(w2)\n", + "print\"Angle of refraction is\",round(math.degrees(math.asin(a)),3),\"degree\";\n", + "\n", + "c=3*10**8; #speed of light in m/s\n", + "n2=1.333; #refractive index of 2nd medium\n", + "v2=c/n2; #velocity in second medium in m/s\n", + "n1=1; #refractive index of 1st medium\n", + "l1=620; #in nm wavelength\n", + "\n", + "print\"Velocity of optical ray through medium second\",\"{0:.3e}\".format(v2),\"m/s\";\n", + "\n", + "l2= (n1*l1)/n2; #wavelength in 2nd medium in nm\n", + "print\"Wavelenght of optical ray through medium second\",round(l2,4),\"nm\"; #Result\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Angle of refraction is 30.512 degree\n", + "Velocity of optical ray through medium second 2.251e+08 m/s\n", + "Wavelenght of optical ray through medium second 465.1163 nm\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 1.3,Page number 5" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given \n", + "\n", + "n1=1; #refractive index of air\n", + "n2=1.56; #refractive index of medium\n", + "w1=60; #in deg C\n", + "#using snell's law\n", + "a= n1*sin(w1*math.pi/180)/n2; #a=sin(w1)\n", + "w2=math.degrees(math.asin(a)); #in degree\n", + "print\"Angle of refraction is\",round(w2,4),\"degree\";\n", + "B=w1-w2; #in degree\n", + "print\"Angle of deviation is\",round(B,4),\"degree\";\n", + "# The answer doesn't match because of priting errorsin calculation as sin(608)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Angle of refraction is 33.7207 degree\n", + "Angle of deviation is 26.2793 degree\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 1.4,Page number 6" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given \n", + "\n", + "print\"Solution (i)\";\n", + "w=5/12.5; #tan(w)=5/12.5;\n", + "print\"The value of tan(w2) is\",w;\n", + "w2=math.atan(w)*180/math.pi;\n", + "\n", + "print\"The value of w2 is\",round(w2,4),\"degree\";\n", + "print\"The value of sin(w2) is\",round(math.sin(w2*math.pi/180),4);\n", + "\n", + "print\"Solution (ii)\";\n", + "#Applying snell's law\n", + "n1=1.05;\n", + "n2=1.5;\n", + "w1=(n2*sin(w2*math.pi/180))/n1; #a=sin(w1)\n", + "print\"The value of sin(w1) is\",round(w1,4);\n", + "print\"The value of w1 is\",round(math.degrees(math.asin(w1)),4),\"degree\";\n", + "#value of w1\n", + "#tan(w1)=(p-x)12.5;\n", + "k=0.62*12.5;\n", + "d=1.05*((12.5)**2+(k)**2)**0.5 +1.5*(12.5**2+5**2)**0.5; #d=1.05[(h1)^2+(k)^2]^0.5 +n2(h2**2+x**2)^0.5;\n", + "print\"The optical distance is\",round(d,4),\"cm\";\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Solution (i)\n", + "The value of tan(w2) is 0.4\n", + "The value of w2 is 21.8014 degree\n", + "The value of sin(w2) is 0.3714\n", + "Solution (ii)\n", + "The value of sin(w1) is 0.5306\n", + "The value of w1 is 32.0432 degree\n", + "The optical distance is 35.6373 cm\n" + ] + } + ], + "prompt_number": 22 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 1.5,Page number 11" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given \n", + "\n", + "c=3*10**8;\n", + "print\"Solution (i)\";\n", + "ri=1.5; #refractive index\n", + "u=830; # in nm\n", + "l=u/ri; #in nm\n", + "print\"Wavelength is\",round(l,4),\"nm\\n\";\n", + "\n", + "print\"Solution (ii)\";\n", + "l=round(l); # rounding to nearest integer\n", + "f=c/(l*10**-9)*10**-12; #in THz\n", + "print\"frequency is\",round(f,4),\"THz\\n\";\n", + "\n", + "print\"Solution (iii)\";\n", + "f=round(f); #rounding to nearest integer\n", + "v=l*10**-9*f*10**12; #in m/s\n", + "print\"phase velocity is\",\"{0:.3e}\".format(v),\"m/s\";\n", + "\n", + "#answer is getting rounding off due to larger calculation\n", + "\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Solution (i)\n", + "Wavelength is 553.3333 nm\n", + "\n", + "Solution (ii)\n", + "frequency is 542.4955 THz\n", + "\n", + "Solution (iii)\n", + "phase velocity is 2.997e+08 m/s\n" + ] + } + ], + "prompt_number": 24 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 1.6,Page number 12" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given \n", + "\n", + "print\"Solution (i)\";\n", + "l=720; #wavelength in nm\n", + "n=1.5; #refractive index\n", + "lm=l/n;\n", + "print\"Wavelenth is\",lm,\"nm\"; #result\n", + "\n", + "print\"Solution (ii)\";\n", + "c=3*10**8; #in m/s speed of light\n", + "u=c/n;\n", + "print\"Velocity is\",\"{0:.3e}\".format(u),\"m/s\"; #result\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Solution (i)\n", + "Wavelenth is 480.0 nm\n", + "Solution (ii)\n", + "Velocity is 2.000e+08 m/s\n" + ] + } + ], + "prompt_number": 26 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 1.7,Page number 12" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given \n", + "\n", + "print\"Solution (i)\";\n", + "c=3*10**8; #in m/s speed of light\n", + "l=640; #in nm\n", + "u=2.2*10**8; #in m/s\n", + "lm=u*l/c; #wavelenth in medium\n", + "print\"The wavelength is\",round(lm,4),\"nm\"; #The answer in the book is misprinted\n", + "\n", + "print\"Solution (ii)\";\n", + "n=l/lm; #refractive index\n", + "print\"Refractive Index is\",round(n,4); #The answer in the book is misprinted\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Solution (i)\n", + "The wavelength is 469.3333 nm\n", + "Solution (ii)\n", + "Refractive Index is 1.3636\n" + ] + } + ], + "prompt_number": 29 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 1.8,Page number 12" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given \n", + "\n", + "#k=aa+as=6.3;\n", + "#Given values from research\n", + "k=6.3; #combined attenuation due to absorption and scattering\n", + "d=25; #in cm\n", + "print\"Solution (ii)\";\n", + "#Io/Ii=exp(-(ao+ai)*d); d in m\n", + "j=math.e**(-(k)*d/100); #Io/Ii ratio\n", + "print\"Io is\",round(j,4),\"of Ii\"; #result" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Solution (ii)\n", + "Io is 0.207 of Ii\n" + ] + } + ], + "prompt_number": 30 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 1.9,Page number 13" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given \n", + "\n", + "# Given formula Io/Ii=exp(-(ao+ai)*d);\n", + "# k=aa+as=63.1;\n", + "# Io/Ii=1.5\n", + "d=log(0.15)/-63.1; #length of tube\n", + "print\"Length of tube, d =\",round(d*100,4),\"cm\"; #Result\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Length of tube, d = 3.0065 cm\n" + ] + } + ], + "prompt_number": 32 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 1.10,Page number 26" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "#p=m/{m+[2*n/(1-n)^2]^2};\n", + "\n", + "m=5; #no. of reflective plates\n", + "n=1.33; #refractive indices\n", + "p=m/(m+(2*n/(1-(n)**2))**2); #degree of polarisation\n", + "print\"The degree of polarisation is\",round(p,1);\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The degree of polarisation is 0.3\n" + ] + } + ], + "prompt_number": 35 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 1.11,Page number 26" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "#m= p*{m+[2*n/(1-n)^2]^2};\n", + "\n", + "n=1.5; #refractive indices\n", + "p=0.45; #degree of polarisation\n", + "m=(p*(2*n/(1-n**2))**2)/(1-p);\n", + "print\"Thus it will require\",round(m,4),\"reflective plate to achive a degree of polarization equal to 0.45\"; \n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Thus it will require 4.7127 reflective plate to achive a degree of polarization equal to 0.45\n" + ] + } + ], + "prompt_number": 41 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 1.12,Page number 27" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "#I1/I0=cos(w)^2\n", + "#k=I1/I0;\n", + "\n", + "w=30; #angle bw polarizer and analyser in degee\n", + "k=math.cos(w*math.pi/180)**2;\n", + "print\"The ratio of optical ray intensity ,I1/I0=\",k; #Result\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The ratio of optical ray intensity ,I1/I0= 0.75\n" + ] + } + ], + "prompt_number": 43 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 1.13,Page number 27" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given data\n", + "\n", + "#I1/I0=cos(w)^2\n", + "#Given I1/I0=0.55\n", + "\n", + "k=math.sqrt(0.55); #from above formulae\n", + "\n", + "print\"The angle bw polarizer and analyser , w is\",round(math.degrees(math.acos(k)),4),\"degree\";\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The angle bw polarizer and analyser , w is 42.1304 degree\n" + ] + } + ], + "prompt_number": 48 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 1.14,Page number 29" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given \n", + "\n", + "print\"Solution (i)\";\n", + "ne=1.4; #refractive index\n", + "no=1.25; #refractive index\n", + "c=3*10**8; #in m/s\n", + "T=2*10**-5; #in m\n", + "l=740; #in nm\n", + "t=(ne-no)*T/c; #time difference\n", + "print\"Time difference, t is\",t*10**12,\"ps\";\n", + "print\"Solution (ii)\";\n", + "le=l/ne; \n", + "lo=l/no;\n", + "fi=2*math.pi*T*(1/le-1/lo)*10**9;\n", + "print\"Phase difference is\",round(fi,4),\"rad\"; \n", + "# Answer misprinted in book" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Solution (i)\n", + "Time difference, t is 0.01 ps\n", + "Solution (ii)\n", + "Phase difference is 25.4724 rad\n" + ] + } + ], + "prompt_number": 51 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 1.15,Page number 31" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given \n", + "\n", + "#E=h*v=h*c/l;\n", + "\n", + "E=3; #In KeV\n", + "#1eV=1.6*10^-19\n", + "h=6.63*10**-34; #plank constant in J/s\n", + "c=3*10**8; # speed of light in m/s\n", + "l=h*c/(E*10**3*1.6*10**-19); #wavelength in nm\n", + "print\"wavelength of a electromagnetic radiation is\",round(l*10**9,4),\"nm\";\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "wavelength of a electromagnetic radiation is 0.4144 nm\n" + ] + } + ], + "prompt_number": 53 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 1.16,Page number 31" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "print\"Solution (i)\";\n", + "l=670 #in nm\n", + "h=6.63*10**-34; #plank constant in J/s\n", + "c=3*10**17 #speed of light in nm/sec\n", + "Ek=0.75 #In eV\n", + "phi=(h*c/l)/(1.6*10**-19) -Ek;\n", + "phi=round(phi*10)/10; #round to 1 decimal point\n", + "print\"Characteristic of material =\",phi,\"eV\";\n", + "\n", + "print\"Solution (ii)\";\n", + "fc=phi*1.6*10**-19/h*10**-12; #frequency in THz#result\n", + "fc=round(fc);\n", + "print\"Cuttoff frequency is =\",fc,\"THz\";\n", + "lc=c/(fc*10**12); #in nm\n", + "print\"Cuttoff wavelength is =\",round(lc,4),\"nm\";\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Solution (i)\n", + "Characteristic of material = 1.1 eV\n", + "Solution (ii)\n", + "Cuttoff frequency is = 265.0 THz\n", + "Cuttoff wavelength is = 1132.0755 nm\n" + ] + } + ], + "prompt_number": 62 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 1.17,Page number 31" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "print\"Solution (i)\";\n", + "l=0.045; #wavelength in nm\n", + "h=6.63*10**-34; #planks constant in J/s\n", + "c=3*10**8; #speed of light in m/s\n", + "E=h*c/l/10**-9; #energy of photon in eV\n", + "print\"E =\",\"{0:.3e}\".format(E),\"J\";\n", + "\n", + "E1=E/(1.6*10**-19); # energy in joule\n", + "print\"E =\",\"{0:.3e}\".format(E1),\"eV\";\n", + " \n", + "e=1.6*10**-19; # charge of electron\n", + "\n", + "print\"Solution (ii)\";\n", + "V=E/e;\n", + "print\"Required voltage is =\",V/1000,\"KV\";\n", + "\n", + "#Value of wavelenght in problem is .45 but in the solution is .045 \n", + "#the value considered above is .045\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Solution (i)\n", + "E = 4.420e-15 J\n", + "E = 2.762e+04 eV\n", + "Solution (ii)\n", + "Required voltage is = 27.625 KV\n" + ] + } + ], + "prompt_number": 59 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 1.18,Page number 36" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "print\"Solution (i)\";\n", + "x=620 # difference in particle momentum In nm\n", + "h=6.63*10**-34 # planks constant In J/s\n", + "#p=h/(4*pi*x);\n", + "#m*v=h/(4*pi*x);\n", + "m=9.11*10**-31 #mass of electron in kg \n", + "v=h /(4*math.pi* x *10**-9*m); #electron velocity\n", + "print\"The uncertanity in electron velocity is\",round(v,4),\"m/s\";\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Solution (i)\n", + "The uncertanity in electron velocity is 93.41 m/s\n" + ] + } + ], + "prompt_number": 61 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Fiber_Optics_Communication_by_H._Kolimbiris/chapter2_1.ipynb b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter2_1.ipynb new file mode 100755 index 00000000..82a94301 --- /dev/null +++ b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter2_1.ipynb @@ -0,0 +1,418 @@ +{ + "metadata": { + "celltoolbar": "Raw Cell Format", + "name": "", + "signature": "sha256:f5d955431773596849dab1900f3dadd3740eea7cc2816449e90ee1d7309c3fc7" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 2: Fundamental of Semiconductor Theory" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.1,Page number 43" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "n=1;\n", + "Ne=2*n**2;\n", + "print\"Maximum number of electron in 1st shell is \",Ne; #Result\n", + "n2=2; #shell no\n", + "Ne2=2*n2**2; #shell no\n", + "print\"Maximum number of electron in 2nd shell is \",Ne2; #Result\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum number of electron in 1st shell is 2\n", + "Maximum number of electron in 2nd shell is 8\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.2,Page number 45" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "#Given for silicon for temp 0-400K\n", + "Eg0_Si=1.17; #in eV\n", + "A=4.73*10**-4; #in eV/K\n", + "B=636;\n", + "for i in range(1,9):\n", + " T=50*i; #degree/Kelvin\n", + " Eg_Si=Eg0_Si-(A*T**2)/(B+T);\n", + " print\"Band gap energy of silicon at \",T,\" K is \",round(Eg_Si,3),\"eV \"; #result\n", + "\n", + "#Given for Germanium for temp 0-400K\n", + "print\"\\n\"\n", + "Eg0_Ge=0.7437; #in eV\n", + "A_Ge=4.774*10**-4; #in eV/K\n", + "B_Ge=235;\n", + "for i in range(1,9):\n", + " T=50*i; #degree/Kelvin\n", + " Eg_Ge=Eg0_Ge-(A_Ge*T**2)/(B_Ge+T);\n", + " print\"Band gap energy of germanium at \",T,\" K is \",round(Eg_Ge,3),\"eV \"; #result\n", + "\n", + "\n", + "#Given for GaAs for temp 0-400K\n", + "print\"\\n\"\n", + "Eg0_Ga=1.519; #in eV\n", + "A_Ga=5.405*10**-4; #in eV/K\n", + "B_Ga=204;\n", + "for i in range(1,9):\n", + " T=50*i; #degree/Kelvin\n", + " Eg_Ga=Eg0_Ga-(A_Ga*T**2)/(B_Ga+T);\n", + " print\"Band gap energy of GaAs at \",T ,\"K is \",round(Eg_Ga,3),\"eV\"; #result\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Band gap energy of silicon at 50 K is 1.168 eV \n", + "Band gap energy of silicon at 100 K is 1.164 eV \n", + "Band gap energy of silicon at 150 K is 1.156 eV \n", + "Band gap energy of silicon at 200 K is 1.147 eV \n", + "Band gap energy of silicon at 250 K is 1.137 eV \n", + "Band gap energy of silicon at 300 K is 1.125 eV \n", + "Band gap energy of silicon at 350 K is 1.111 eV \n", + "Band gap energy of silicon at 400 K is 1.097 eV \n", + "\n", + "\n", + "Band gap energy of germanium at 50 K is 0.74 eV \n", + "Band gap energy of germanium at 100 K is 0.729 eV \n", + "Band gap energy of germanium at 150 K is 0.716 eV \n", + "Band gap energy of germanium at 200 K is 0.7 eV \n", + "Band gap energy of germanium at 250 K is 0.682 eV \n", + "Band gap energy of germanium at 300 K is 0.663 eV \n", + "Band gap energy of germanium at 350 K is 0.644 eV \n", + "Band gap energy of germanium at 400 K is 0.623 eV \n", + "\n", + "\n", + "Band gap energy of GaAs at 50 K is 1.514 eV\n", + "Band gap energy of GaAs at 100 K is 1.501 eV\n", + "Band gap energy of GaAs at 150 K is 1.485 eV\n", + "Band gap energy of GaAs at 200 K is 1.465 eV\n", + "Band gap energy of GaAs at 250 K is 1.445 eV\n", + "Band gap energy of GaAs at 300 K is 1.422 eV\n", + "Band gap energy of GaAs at 350 K is 1.399 eV\n", + "Band gap energy of GaAs at 400 K is 1.376 eV\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.3,Page number 52" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "l=10*10**-3; #in m\n", + "w=2*10**-3; #in m\n", + "h=2*10**-3; #in m\n", + "V=12; #in V\n", + "u_n=0.14; #in m*m/V*s\n", + "u_p=0.05; #in m*m/V*s\n", + "q_n=1.6*10**-19; #in Columbs\n", + "q_p=1.6*10**-19; #in Columbs\n", + "p_i=2.4*10**19; #in columbs\n", + "n_i=2.4*10**19; #in columbs\n", + "E=V/l;\n", + "v_n=E*u_n;\n", + "v_p=E*u_p;\n", + "J_n=n_i*q_n*v_n;\n", + "J_p=p_i*q_p*v_p;\n", + "J=J_n+J_p;\n", + "print\"Electron velocity :vn is \",v_n,\"m/s\"; #result\n", + "print\"Hole velocity :vp is \",v_p/1000,\"km/s\"; #result\n", + "print\"Current density : Jn \",J,\"A/m^2\"; #result\n", + "A=88*10**-6;\n", + "I_T=J*A;\n", + "print\"Total current :I_T is\",round(I_T*1000,4),\"mA\"; #result\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Electron velocity :vn is 168.0 m/s\n", + "Hole velocity :vp is 0.06 km/s\n", + "Current density : Jn 875.52 A/m^2\n", + "Total current :I_T is 77.0458 mA\n" + ] + } + ], + "prompt_number": 14 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.4,Page number 53" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "n_i=2*10**17; #electron/m*m*m\n", + "p=5.7*10**20; #holes/m*m*m\n", + "u_n=0.14; #in m*m/V*s\n", + "u_p=0.05; #in m*m/V*s\n", + "q_n=1.6*10**-19; #in Columbs\n", + "q_p=1.6*10**-19; #in Columbs\n", + "n=(n_i)**2/p;\n", + "print\"Electron :n is \",\"{0:.3e}\".format(n),\"electrons \"; #result\n", + "n=7*10**13\n", + "P=(n*u_n*q_n)+(p*u_p*q_p);\n", + "print\"Conductivity :P is \",round(P,4),\"S/m \"; #result\n", + "# answer misprinted\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Electron :n is 7.018e+13 electrons \n", + "Conductivity :P is 4.56 S/m \n" + ] + } + ], + "prompt_number": 17 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.5,Page number 55" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "NA=10**22; #acceptors/m*m*m\n", + "ND=1.2*10**21; #donors/m*m*m\n", + "T=298; #in Kelvin\n", + "k=1.38*10**-23; #Boltzman Constant in J/K\n", + "q=1.6*10**-19; #charge of electron in C\n", + "Vt=k*T/q; #thermal voltage in V\n", + "print\" VT is \",Vt*1000,\"mV\"; #result\n", + "n_i=2.4*10**17; #carrier/m**3 for silicon \n", + "VB=Vt*log(NA*ND/n_i**2); #barrier voltage in V\n", + "print\" Barrier Voltage of Silicon VB is \",round(VB*1000,4),\"mV\"; #result\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " VT is 25.7025 mV\n", + " Barrier Voltage of Silicon VB is 492.3224 mV\n" + ] + } + ], + "prompt_number": 19 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.6,Page number 56" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Is=0.12; #in pAmp\n", + "V=0.6; #in V\n", + "T=293; #in Kelvin\n", + "k=1.38*10**-23; #Boltzmann's Constant in J/K\n", + "q=1.6*10**-19; # charge of electron in C\n", + "Vt=k*T/q; #thermal voltage\n", + "print\"VT(20 deg Cel) is \",round(Vt,4),\"V\"; #result in book is misprint\n", + "T1=373; #in Kelvin\n", + "n=1.25;\n", + "Vt1=k*T1/q; #thermal voltage\n", + "print\"VT(100 deg Cel) is \",round(Vt1,4),\"V\";\n", + "I=Is*(math.e**(V/(n*Vt1))-1); #forward biasing current in mircoA\n", + "print\"I(100 deg Cel) is \",round(I/10**6,4),\"microampere\"; #result\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "VT(20 deg Cel) is 0.0253 V\n", + "VT(100 deg Cel) is 0.0322 V\n", + "I(100 deg Cel) is 0.3622 microampere\n" + ] + } + ], + "prompt_number": 22 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.7,Page number 56" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Is=100; #in nAmp \n", + "Ts=100; #in Kelvin\n", + "I_s=Is*10**-9*2**(Ts/10); #I_s will be in nm \n", + "print\" I(100 deg Cel) is \",I_s*10**6,\"microampere\"; #converted to microA from nm\n", + "# wrong calculation in the book\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " I(100 deg Cel) is 102.4 microampere\n" + ] + } + ], + "prompt_number": 23 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.8,Page number 59" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Br_Si=1.79*10**-15; #Recombination coefficient for Si\n", + "Br_Ge=5.25*10**-14; #Recombination coefficient for Ge\n", + "Br_GeAs=7.21*10**-10; #Recombination coefficient for GeAs\n", + "Br_InAs=8.5*10**-11; #Recombination coefficient for InAs\n", + "P_N=2*10**20; #per cubic cm\n", + "\n", + "T_Ge=1/Br_Ge/P_N; #radiative minority carrier lifetime\n", + "print\"T_Ge is \",round(T_Ge/10**-6,4),\"micro-s\"; #result\n", + "\n", + "T_Si=1/Br_Si/P_N; #radiative minority carrier lifetime\n", + "print\"T_Si is \",round(T_Si/10**-6,4),\"micro-s\"; #result\n", + "\n", + "T_InAs=1/Br_InAs/P_N; #radiative minority carrier lifetime\n", + "print\"T_InAs is \",round(T_InAs/10**-12,4),\"ps\"; #result\n", + "\n", + "T_GeAs=1/Br_GeAs/P_N; #radiative minority carrier lifetime\n", + "print\"T_GeAs is \",round(T_GeAs/10**-12,4),\"ps\"; #result\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "T_Ge is 0.0952 micro-s\n", + "T_Si is 2.7933 micro-s\n", + "T_InAs is 58.8235 ps\n", + "T_GeAs is 6.9348 ps\n" + ] + } + ], + "prompt_number": 25 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Fiber_Optics_Communication_by_H._Kolimbiris/chapter3_1.ipynb b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter3_1.ipynb new file mode 100755 index 00000000..f5cf6216 --- /dev/null +++ b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter3_1.ipynb @@ -0,0 +1,351 @@ +{ + "metadata": { + "celltoolbar": "Raw Cell Format", + "name": "", + "signature": "sha256:7de1eb2fd64e83d84c3bac45fdde67bd6a1d3072bc4eaad0b7177ada2889ebc7" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 3: Optical Sources" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.1,Page number 67" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Pin=1; #microW\n", + "W=15; #in degree\n", + "NA=math.sin(W*math.pi/180);\n", + "NAA=0.26; #NA=0.2588190 which is rounded off\n", + "C_c=(NAA)**2;\n", + "print\"Coupling coefficient is \",C_c;\n", + "Pf=C_c*Pin;\n", + "print\"Power coupled into fiber \",Pf*1000,\"nW\\n\";\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Coupling coefficient is 0.0676\n", + "Power coupled into fiber 67.6 nW\n", + "\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.2,Page number 67" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "n=0.02; #in percentage\n", + "W=20; #in degree\n", + "Vf=1.5; #in Volts\n", + "If=20; #in mAmps\n", + "Pin=If*Vf;\n", + "print\"Power coupled into fiber ,Pin = \",Pin,\"mW\";\n", + "\n", + "Po=n*Pin;\n", + "print\"Output Power of the optical source is \",Po,\"mW\";\n", + "\n", + "#from nc=20 degree\n", + "C_c=(math.sin(W*math.pi/180))**2;\n", + "Pf=C_c*Po\n", + "print\"Optical power coupled into fibre is ,Pf = \",round(Pf*1000,4),\"microW\";\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Power coupled into fiber ,Pin = 30.0 mW\n", + "Output Power of the optical source is 0.6 mW\n", + "Optical power coupled into fibre is ,Pf = 70.1867 microW\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.3,Page number 68" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "tr=10; #in nsec\n", + "BW=0.35/tr/10**-9;\n", + "print\" Maximum operating bandwidth is \",BW/10**6,\"MHz\\n\"; #divided by 10**6 to convert answer in MHz\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Maximum operating bandwidth is 35.0 MHz\n", + "\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.4,Page number 70" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "T=1; #Air\n", + "NA=0.3;\n", + "n0=1;\n", + "#x=y;\n", + "print\"for step index :A=infinite\";\n", + "#for infinite alpha\n", + "#nc=T*(NA/n0)^2*(x/y)^2*(A/(A+2))\n", + "nc=T*(NA/n0)**2*(1)**2*1; # A/(A+2)=1 for A=infinite\n", + "\n", + "print\"Coupling Coefficient,nc = \",nc*100,\"percent\";\n", + "\n", + "print\"for graded index :A=2\";\n", + "A=2;\n", + "#n_c=(T*(NA/n0)^2*(A+(1-(y/x)^2))/(A+2))\n", + "n_c=(T*(NA/n0)**2*(A+(1-(1)**2))/(A+2)) #x/y=1\n", + "print\"Coupling Coefficient,nc = \",n_c*100,\"percent\";\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "for step index :A=infinite\n", + "Coupling Coefficient,nc = 9.0 percent\n", + "for graded index :A=2\n", + "Coupling Coefficient,nc = 4.5 percent\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.5,Page number 71" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "T=1; #Air\n", + "NA=0.3;\n", + "n0=1;\n", + "A=2;\n", + "#y=0.75x;\n", + "print\"for step index :\";\n", + "#for infinite alpha\n", + "#nc=T*(NA/n0)^2*(x/y)^2*(A/(A+2))\n", + "nc=T*(NA/n0)**2*(1/0.75)**2*A/(A+2); #y/x=0.75\n", + "print\"Coupling Coefficient,nc = \",nc*100,\"percent\";\n", + "\n", + "print\"for graded index :A=2\";\n", + "A=2;\n", + "#n_c=(T*(NA/n0)^2*(A+(1-(y/x)^2))/(A+2))\n", + "n_c=(T*(NA/n0)**2*(A+(1-(0.75)**2))/(A+2)) #y/x=0.75\n", + "print\"Coupling Coefficient,nc = \",round(n_c*100,4),\"percent\";\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "for step index :\n", + "Coupling Coefficient,nc = 8.0 percent\n", + "for graded index :A=2\n", + "Coupling Coefficient,nc = 5.4844 percent\n" + ] + } + ], + "prompt_number": 15 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.6,Page number 72" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "#calculate Tf\n", + "If=85; #in mAmps\n", + "Vf=2.5; #in Volts\n", + "Ta=25; #in deg C\n", + "\n", + "#calculate Tj\n", + "W=150; #in C/W for hermetric led\n", + "Pd=If*Vf;\n", + "Tj=Ta+W*Pd/1000;\n", + "print\"Value of Tj is \",Tj,\"deg C\";\n", + "\n", + "TF=8.01*10**12*math.e**-(8111/(Tj+273));\n", + "print\"Value of TF is \",round(TF,4),\"deg C\";\n", + "\n", + "#calculate RF\n", + "BF=6.5*10**-4; #from table\n", + "QF=0.5; #from table\n", + "EF=1; #from table\n", + "RF=BF*TF*EF*QF*1/10**6;\n", + "print\"Value of RF\",\"{0:.3e}\".format(RF);\n", + "print\"Value of MTBF is \",\"{0:.3e}\".format(1/RF),\"hours\";\n", + "\n", + "#Answer in book is misprint in last line" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Value of Tj is 56.875 deg C\n", + "Value of TF is 167.9406 deg C\n", + "Value of RF 5.458e-08\n", + "Value of MTBF is 1.832e+07 hours\n" + ] + } + ], + "prompt_number": 20 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.7,Page number 74" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "#calculate Tf\n", + "If=120; #in mAmps\n", + "Vf=1.8; #in Volts\n", + "Ta=80; #in deg C\n", + "#calculate Tj\n", + "W=150; #in C/W for hermetric led\n", + "Pd=0.5*If*Vf;\n", + "Tj=75+W*Pd/1000;\n", + "print\"Value of Tj is \",Tj,\"degree cel\";\n", + "TF=8.01*10**12 *math.e**-(8111/(Tj+273));\n", + "print\"Value of TF is \",round(TF,4);\n", + "#calculate RF\n", + "BF=6.5*10**-4; #from table\n", + "QF=0.2; #from table\n", + "EF=0.75; #from table\n", + "RF=BF*TF*EF*QF*1/10**6;\n", + "print\"Value of RF is \",\"{0:.3e}\".format(RF);\n", + "print\"Value of MTBF is \",\"{0:.3e}\".format(1/RF),\"hours\";\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Value of Tj is 91.2 degree cel\n", + "Value of TF is 1704.4223\n", + "Value of RF is 1.662e-07\n", + "Value of MTBF is 6.018e+06 hours\n" + ] + } + ], + "prompt_number": 25 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Fiber_Optics_Communication_by_H._Kolimbiris/chapter4_1.ipynb b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter4_1.ipynb new file mode 100755 index 00000000..a2733d07 --- /dev/null +++ b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter4_1.ipynb @@ -0,0 +1,150 @@ +{ + "metadata": { + "celltoolbar": "Raw Cell Format", + "name": "", + "signature": "sha256:f9d07e6c589e609afd4c8688d217cbc506c0bab4bc60489a3937d03591d8cbc1" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 4: Optical Detectors" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 4.1,Page number 99" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Tn=5; #in micrometer\n", + "Vs=10**7; #in m/s\n", + "tr=Tn*10**-6/Vs;\n", + "print\"Response time\",tr/10**-12,\"ps\";\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Response time 0.5 ps\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 4.2,Page number 106" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "\n", + "Pd=1.15; #in mW\n", + "\n", + "TA=25; #in deg C\n", + "theta_JA=200; #in C/W for hermetric led\n", + "TJ=TA+theta_JA*Pd/10**3;\n", + "TF=8.01*10**12 *math.e**-(8111/(TJ+273));\n", + "print\"Value of TJ is\" ,round(TJ,4), \"deg C\";\n", + "print\"Value of TF is\" ,round(TF,4), \"deg C\";\n", + "\n", + "BF=1.1*10**-3; #from table\n", + "QF=0.5; #from table\n", + "EF=1; #from table\n", + "RF=BF*TF*EF*QF*1/10**6;\n", + "print\"Value of RF\",\"{0:.3e}\".format(RF);\n", + "print\"Value of MTBF is \",\"{0:.3e}\".format(1/RF),\"hours\";" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Value of TJ is 25.23 deg C\n", + "Value of TF is 12.3614 deg C\n", + "Value of RF 6.799e-09\n", + "Value of MTBF is 1.471e+08 hours\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 4.3,Page number 114" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "R1=0.7;\n", + "R2=0.99;\n", + "ad=0.1;\n", + "\n", + "Ld=1-R1*R2*math.e**-(2*ad);\n", + "print\"Decay Loss \",round(Ld,4);\n", + "trt=40; #fs\n", + "tph=trt/Ld;\n", + "print\"Photon lifetime \",round(tph,4),\"fs\";\n", + "BW=1/tph;\n", + "print\"Bandwidth\",round(BW*1000,4) ,\"Thz\"; #Answer in Thz \n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Decay Loss 0.4326\n", + "Photon lifetime 92.46 fs\n", + "Bandwidth 10.8155 Thz\n" + ] + } + ], + "prompt_number": 13 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Fiber_Optics_Communication_by_H._Kolimbiris/chapter5_1.ipynb b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter5_1.ipynb new file mode 100755 index 00000000..dccdb2b0 --- /dev/null +++ b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter5_1.ipynb @@ -0,0 +1,93 @@ +{ + "metadata": { + "celltoolbar": "Raw Cell Format", + "name": "", + "signature": "sha256:1e4d0cb1e6af5f2ee5a73d38df1e61042145299577d4ca71b8e33e3c54289d1b" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 5: Optical Amplifiers" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.1,Page number 128" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Vrms=0.3; #in V\n", + "CF=0.75; #in V/mW\n", + "Pi=Vrms/CF; \n", + "print\" input power \",round(Pi,4),\"mW\";" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " input power 0.4 mW\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.2,Page number 131" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Di=155; #in Mb/s\n", + "sl=10**-3*Di*10**6; #in bitstream\n", + "#PRBS=2**x-1=sl;\n", + "x=log(sl+1)/log(2); #equation is made to pick value of x\n", + "print\" PRBS =(2^\",int(x),\")-1\";\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " PRBS =(2^ 17 )-1\n" + ] + } + ], + "prompt_number": 9 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Fiber_Optics_Communication_by_H._Kolimbiris/chapter6_1.ipynb b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter6_1.ipynb new file mode 100755 index 00000000..1ec82776 --- /dev/null +++ b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter6_1.ipynb @@ -0,0 +1,855 @@ +{ + "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": {} + } + ] +}
\ No newline at end of file diff --git a/Fiber_Optics_Communication_by_H._Kolimbiris/chapter7_1.ipynb b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter7_1.ipynb new file mode 100755 index 00000000..3f1a375f --- /dev/null +++ b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter7_1.ipynb @@ -0,0 +1,145 @@ +{ + "metadata": { + "celltoolbar": "Raw Cell Format", + "name": "", + "signature": "sha256:43cf13b531fcbbf3e0bcc8a424eeecc0242f15398c3e29eba296dbb99947d4d8" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 7: Optical Receivers" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.1,Page number 203" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Trec=54; #in ns\n", + "Ttrans=40.0; #in ns\n", + "Pwd=(Trec-Ttrans)/Ttrans*100;\n", + "\n", + "print\"PWD=\",Pwd,\"percent\";\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "PWD= 35.0 percent\n" + ] + } + ], + "prompt_number": 20 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.2,Page number 214" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "#Vc=Vdin-Vdinq\n", + "Vc=5; #in mV Vdin-Vdinq=Vc\n", + "Irset =1.8*10**-3*(Vc*10**-3); #in A\n", + "print\"Irset\",Irset*10**6,\"microA\";\n", + "Vs=1.5; #Voltage at signal level below Vcc in V\n", + "Radj=Vs/Irset; #in Ohm\n", + "print\"Radj\",round(Radj*10**-3,4),\"kohm\";" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Irset 9.0 microA\n", + "Radj 166.6667 kohm\n" + ] + } + ], + "prompt_number": 23 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.3,Page number 223" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Rl=50; #in Ohm\n", + "Ro=100; #in Ohm\n", + "Vos=450; #in mV\n", + "Vref=(Rl+Ro)/Rl*Vos/2;\n", + "\n", + "print\"Vref= \",Vref,\"mV\";\n", + "\n", + "Vee=3.3; #in V\n", + "R1=500; #in Ohm\n", + "R2=16000.0; #in Ohm\n", + "\n", + "#Rref=(Vee/Vref/10**3-1)*R1/(1-(R1/R2*(Vee/Vref/10**3-1)))\n", + "Rref=(((Vee/Vref)/(10**-3)-1)*R1)/((1-(R1/R2)*((Vee/Vref)/(10**-3)-1)));\n", + "print\"Rref= \",round(Rref,4),\"ohm\";\n", + "print\"Approx. Rref= \",round(Rref*10**-3,4),\"kohm\";\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Vref= 675 mV\n", + "Rref= 2213.4387 ohm\n", + "Approx. Rref= 2.2134 kohm\n" + ] + } + ], + "prompt_number": 24 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Fiber_Optics_Communication_by_H._Kolimbiris/chapter9_1.ipynb b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter9_1.ipynb new file mode 100755 index 00000000..d242f3c9 --- /dev/null +++ b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter9_1.ipynb @@ -0,0 +1,1175 @@ +{ + "metadata": { + "celltoolbar": "Raw Cell Format", + "name": "", + "signature": "sha256:203945c2a904a6f0edf3cdf28ac6e63e0d37dadb3a95128dce91cd424eb43420" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 9: Optical Fibers" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.1,Page number 296" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "n2=1.35; #refractive index\n", + "n1=1.4; #refractive index\n", + "Wo=math.degrees(math.asin(n2/n1)); #in radians\n", + "print\"Critical Angle,Wo =\",round(Wo,4),\"degree\";\n", + "NA=sqrt(n1**2-n2**2);\n", + "print\"Numerical Aperture,NA =\",round(NA,4);\n", + "Wa=math.degrees(math.asin(NA)); #in radians\n", + "print\"Angle of acceptance,Wa =\",round(Wa,4),\"degree\";" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Critical Angle,Wo = 74.6411 degree\n", + "Numerical Aperture,NA = 0.3708\n", + "Angle of acceptance,Wa = 21.7656 degree\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.2,Page number 300" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Po=8; #in mW\n", + "Pi=50.; #in mW\n", + "l=15; #in km\n", + "TA=-10*math.log10(Po/Pi);\n", + "print\"Total fibre Attenuation,L =\",round(TA,4),\"dB/\",l,\"km\";\n", + "Alpha=TA/l; \n", + "print\"Alpha is =\",round(Alpha,4),\"dB/km\";" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Total fibre Attenuation,L = 7.9588 dB/ 15 km\n", + "Alpha is = 0.5306 dB/km\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.3,Page number 300" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Po=10.; #in mW\n", + "Pi=150; #in mW\n", + "Alpha=0.8; #in dB/km\n", + "TA=-10*math.log10(Po/Pi);\n", + "print\" Total fibre Attenuation,L =\",round(TA,4),\"dB\";\n", + "l=TA/Alpha;\n", + "print\" maximum length is,l =\",round(l,4),\"km\";\n", + "\n", + "#Round off Variations appear" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Total fibre Attenuation,L = 11.7609 dB\n", + " maximum length is,l = 14.7011 km\n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.4,Page number 302" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "B=92*10**-12; #in m**2/N\n", + "Tf=1550; #in K\n", + "n=1.46; #refractive index\n", + "p=0.29;\n", + "K=1.38*10**-23; #in J/K\n", + "l=1; #in km\n", + "L1=630; #in nm\n", + "L2=1330; #in nm\n", + "L3=1550; #in nm\n", + "print\"Rayleight scattering coefficient\";\n", + "Y1=8*math.pi**3*n**8*p**2*B*K*Tf/3/(L1*10**-9)**4;\n", + "Y2=8*math.pi**3*n**8*p**2*B*K*Tf/3/(L2*10**-9)**4;\n", + "Y3=8*math.pi**3*n**8*p**2*B*K*Tf/3/(L3*10**-9)**4; \n", + "print\"for L1= 630nm, is\",\"{0:.3e}\".format(Y1);\n", + "print\"for L2= 1330nm, is\",\"{0:.3e}\".format(Y2);\n", + "print\"for L3= 1550nm, is\",\"{0:.3e}\".format(Y3);\n", + "#Misprinted answer\n", + "\n", + "print\"Rayleight scattering attenuation factor\";\n", + "Fr1=math.e**-(Y1*l*10**3);\n", + "Fr2=math.e**-(Y2*l*10**3);\n", + "Fr3=math.e**-(Y3*l*10**3);\n", + "print\"for Y1= 0.00179 is\",round(Fr1,4);\n", + "print\"for Y2= 0.00009 is\",round(Fr2,4);\n", + "print\"for Y3= 0.0000182 is\",round(Fr3,4);\n", + "\n", + "\n", + "print\"Rayleight scattering attenuation\";\n", + "Ar1=10*math.log10(Fr1**-1);\n", + "Ar2=10*math.log10(Fr2**-1);\n", + "Ar3=10*math.log10(Fr3**-1);\n", + "print\"for Ar1= 0.17 is\",round(Ar1,4),\"dB/km\";\n", + "print\"for Ar2= 0.91 is\",round(Ar2,4),\"dB/km\";\n", + "print\"for Ar3= 0.98 is\",round(Ar3,4),\"dB/km\";\n", + "#For L3 answers in book are misprinted" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Rayleight scattering coefficient\n", + "for L1= 630nm, is 1.793e-03\n", + "for L2= 1330nm, is 9.029e-05\n", + "for L3= 1550nm, is 4.895e-05\n", + "Rayleight scattering attenuation factor\n", + "for Y1= 0.00179 is 0.1664\n", + "for Y2= 0.00009 is 0.9137\n", + "for Y3= 0.0000182 is 0.9522\n", + "Rayleight scattering attenuation\n", + "for Ar1= 0.17 is 7.7886 dB/km\n", + "for Ar2= 0.91 is 0.3921 dB/km\n", + "for Ar3= 0.98 is 0.2126 dB/km\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.5,Page number 304" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "L=850; #in nm\n", + "L1=0.850; #converted L in micrometer for using in given formula\n", + "A=0.5; #in dB/km\n", + "d=5; #in micrometer\n", + "Bw=1; #in Gz\n", + "Po=4.4*10**-3*A*Bw*L1**2*d**2;\n", + "print\"Po(Th) =\",round(Po,4),\"W\";\n", + "print\"Therefore,Po(Th) =\",round(Po*1000,4),\"mW\";" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Po(Th) = 0.0397 W\n", + "Therefore,Po(Th) = 39.7375 mW\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.6,Page number 304" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "L=1330; #in nm\n", + "L1=1.330; #converted L in micrometer for using in given formula\n", + "A=0.5; #in dB/km\n", + "d=5; #in micrometer\n", + "Bw=1; #in Gz\n", + "Po=4.4*10**-3*A*Bw*L1**2*d**2;\n", + "print\"Po(Th) =\",round(Po,4),\"W\";\n", + "print\"Therefore,Po(Th) =\",round(Po*1000,4),\"mW\";" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Po(Th) = 0.0973 W\n", + "Therefore,Po(Th) = 97.2895 mW\n" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.7,Page number 304" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "L=1550; #in nm\n", + "L1=1.550; #converted L in micrometer for using in given formula\n", + "A=0.5; #in dB/km\n", + "d=5; #in micrometer\n", + "Bw=1; #in Gz\n", + "Po=4.4*10**-3*A*Bw*L1**2*d**2;\n", + "print\"Po(Th) =\",round(Po,4),\"W\";\n", + "print\"Therefore,Po(Th) =\",round(Po*1000,4),\"mW\";" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Po(Th) = 0.1321 W\n", + "Therefore,Po(Th) = 132.1375 mW\n" + ] + } + ], + "prompt_number": 14 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.8,Page number 304" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "L=850; #in nm\n", + "L1=0.850; #converted L in micrometer for using in given formula\n", + "A=0.5; #in dB/km\n", + "d=8; #in micrometer\n", + "Bw=1; #in Gz\n", + "Po=4.4*10**-3*A*Bw*L1**2*d**2;\n", + "print\"Po(Th) =\",round(Po,4),\"W\";\n", + "print\"Therefore,Po(Th) =\",round(Po*1000,4),\"mW\";" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Po(Th) = 0.1017 W\n", + "Therefore,Po(Th) = 101.728 mW\n" + ] + } + ], + "prompt_number": 17 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.9,Page number 304" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "L=850; #in nm\n", + "L1=0.850; #converted L in micrometer for using in given formula\n", + "A=0.5; #in dB/km\n", + "d=10; #in micrometer\n", + "Bw=1; #in Gz\n", + "Po=4.4*10**-3*A*Bw*L1**2*d**2;\n", + "print\"Po(Th) =\",round(Po,4),\"W\";\n", + "print\"Therefore,Po(Th) =\",round(Po*1000,4),\"mW\";" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Po(Th) = 0.159 W\n", + "Therefore,Po(Th) = 158.95 mW\n" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.10,Page number 305" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "L=850.; #in nm\n", + "L1=L/1000; #converted L in micrometer for using in given formula\n", + "A=0.4; #in dB/km\n", + "d=5; #in micrometer\n", + "Po=5.9*10**-2*A*L1*d**2;\n", + "print\"Po(Th) =\",round(Po,4),\"W\";\n", + "print\"Therefore,Po(Th) =\",round(Po*1000,4),\"mW\";" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Po(Th) = 0.5015 W\n", + "Therefore,Po(Th) = 501.5 mW\n" + ] + } + ], + "prompt_number": 18 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.11,Page number 305" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "L=1330.; #in nm\n", + "L1=L/1000; #converted L in micrometer for using in given formula\n", + "A=0.4; #in dB/km\n", + "d=5; #in micrometer\n", + "Po=5.9*10**-2*A*L1*d**2;\n", + "print\"Po(Th) =\",round(Po,4),\"W\";\n", + "print\"Therefore,Po(Th) =\",round(Po*1000,4),\"mW\"; #unit in book is wrong\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Po(Th) = 0.7847 W\n", + "Therefore,Po(Th) = 784.7 mW\n" + ] + } + ], + "prompt_number": 21 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.12,Page number 305" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "L=1550.; #in nm\n", + "L1=L/1000; #converted L in micrometer for using in given formula\n", + "A=0.4; #in dB/km\n", + "d=5; #in micrometer\n", + "Po=5.9*10**-2*A*L1*d**2;\n", + "print\"Po(Th) =\",round(Po,4),\"W\";\n", + "print\"Therefore,Po(Th) =\",round(Po*1000,4),\"mW\"; #unit in book is wrong" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Po(Th) = 0.9145 W\n", + "Therefore,Po(Th) = 914.5 mW\n" + ] + } + ], + "prompt_number": 20 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.13,Page number 310" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "R=25; #in nm\n", + "R1=25*10**-6; #in m\n", + "L=1000; #in nm\n", + "L1=10**-6; #in m\n", + "NA=0.2; \n", + "V=2*math.pi/L1*R1*NA;\n", + "print\"Normalised frequency(V) =\",round(V,4);\n", + "y=2.; #for parabolic\n", + "Mmax=y/(y+2)*(V**2)/2;\n", + "print\"Maximum number of modes is equal to =\",round(Mmax,4); #answer mistake in book\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Normalised frequency(V) = 31.4159\n", + "Maximum number of modes is equal to = 246.7401\n" + ] + } + ], + "prompt_number": 24 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.14,Page number 313" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Tp=0.25; #in microsec\n", + "fB=0.529/Tp/10**-6; #channel bitrate\n", + "fBw=fB; #channel bandwidth = channel bitrate when zero ISI and RZ input data is modulated\n", + "print\"Maximum operating bandwidth =\",round(fBw*10**-6,4),\"MHz\";\n", + "L=50; #in km\n", + "D=Tp*10**-6/L; #Dispersion\n", + "print\"Dispersion =\",round(D*10**9,4),\"ns/km\";\n", + "fBwL=fBw*10**-6*L; #bandwidth length product\n", + "print\"Bandwidth length product(fBw*L) =\",round(fBwL,4),\"MHz/km\";" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum operating bandwidth = 2.116 MHz\n", + "Dispersion = 5.0 ns/km\n", + "Bandwidth length product(fBw*L) = 105.8 MHz/km\n" + ] + } + ], + "prompt_number": 26 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.15,Page number 314" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Tp=2; #in microsec\n", + "fB=0.529/Tp/10**-6; #channel bit rate\n", + "fBw=fB; #channel bandwidth = channel bitrate when zero ISI and RZ input data is modulated\n", + "print\"Maximum operating bandwidth =\",round(fBw*10**-6,4),\"MHz\";\n", + "L=50; #in km\n", + "D=Tp*10**-6/L; #Dispersion\n", + "print\"Dispersion =\",round(D*10**9,4),\"ns/km\"; #unit in book is wrong\n", + "fBwL=fBw*10**-6*L; #bandwidth length product\n", + "print\"Bandwidth length product(fBw*L) =\",round(fBwL,4),\"MHz/km\";" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum operating bandwidth = 0.2645 MHz\n", + "Dispersion = 40.0 ns/km\n", + "Bandwidth length product(fBw*L) = 13.225 MHz/km\n" + ] + } + ], + "prompt_number": 27 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.16,Page number 314" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Tp=5; #in microsec\n", + "fB=0.529/Tp/10**-6; #channel bitrate\n", + "fBw=fB; #channel bandwidth = channel bitrate when zero ISI and RZ input data is modulated\n", + "print\"Maximum operating bandwidth =\",round(fBw*10**-6,4),\"MHz\";\n", + "L=50; #in km\n", + "D=Tp*10**-6/L; #Dispersion\n", + "print\"Dispersion =\",round(D*10**6,4),\"micro s/km\";\n", + "fBwL=fBw*10**-6*L; #bandwidth length product\n", + "print\"Bandwidth length product(fBw*L) =\",round(fBwL,4),\"MHz/km\";" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum operating bandwidth = 0.1058 MHz\n", + "Dispersion = 0.1 micro s/km\n", + "Bandwidth length product(fBw*L) = 5.29 MHz/km\n" + ] + } + ], + "prompt_number": 29 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.17,Page number 315" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Slw=25; #in nm\n", + "L=850; #in nm given\n", + "c=3*10**5; #in km/s\n", + "ofmd=0.02; #optical fiber material dispersion\n", + "Mdp=1./L/c*ofmd; #answer mismatch due to differnt value chosen for calculation\n", + "print\"Material Dispersion parameter Mdp =\",round(Mdp*10**12,4),\"ps/nm.km\";\n", + "l=1; #in km\n", + "dmd=Slw*l*Mdp; #pulse chirping\n", + "print\"pulse chirping dmd =\",round(dmd*10**9,4),\"ns/km\";\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Material Dispersion parameter Mdp = 78.4314 ps/nm.km\n", + "pulse chirping dmd = 1.9608 ns/km\n" + ] + } + ], + "prompt_number": 31 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.18,Page number 315" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Slw=2; #in nm\n", + "L=850; #in nm given\n", + "c=3*10**5; #in km/s\n", + "ofmd=0.02; #optical fiber material dispersion\n", + "Mdp=1./L/c*ofmd; #answer mismatch due to differnt value chosen for calculation\n", + "print\"Material Dispersion parameter Mdp =\",round(Mdp*10**12,4),\"ps/nm.km\";\n", + "l=1; #in km\n", + "dmd=Slw*l*Mdp; #pulse chirping\n", + "print\"pulse chirping dmd =\",round(dmd*10**9,4),\"ns/km\";\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Material Dispersion parameter Mdp = 78.4314 ps/nm.km\n", + "pulse chirping dmd = 0.1569 ns/km\n" + ] + } + ], + "prompt_number": 32 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.19,Page number 325" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "fb1=2.5; #in Gb/s\n", + "D1=20; #in ps/nm.km\n", + "D2=5; #in ps/nm.km\n", + "fb2=D1/D2*fb1; \n", + "print\" fb2 =\",fb2,\"Gb/s\";\n", + "#Values of D1 and D2 are conflicted in question ,however solution is correct " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " fb2 = 10.0 Gb/s\n" + ] + } + ], + "prompt_number": 34 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.20,Page number 325" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "fb1=2.5; #in Gb/s\n", + "DV1=100; #in GHz\n", + "DV2=50; #in GHz\n", + "fb2=DV1/DV2*fb1;\n", + "print\" fb2 =\",fb2,\"Gb/s\";" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " fb2 = 5.0 Gb/s\n" + ] + } + ], + "prompt_number": 35 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.21,Page number 332" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "L=400; #in km\n", + "dAV=4; #in ps/km\n", + "dTL=L*dAV; #total chromatic dispersion\n", + "print\"dTL =\",round(dTL,4),\"ps/nm.km\";" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "dTL = 1600.0 ps/nm.km\n" + ] + } + ], + "prompt_number": 36 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.22,Page number 335" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "no=1; #refractive index\n", + "n1=1.35; #refractive index\n", + "Po=((n1-no)/(n1+no))**2; #fresnal reflection\n", + "print\" Po(refl)=\",round(Po,4);\n", + "Lrefl=-10*math.log10(1-Po); #attenuation loss\n", + "print\"L(refl)=\",round(Lrefl,4),\"dB\";" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Po(refl)= 0.0222\n", + "L(refl)= 0.0974 dB\n" + ] + } + ], + "prompt_number": 39 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.23,Page number 335" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "no=1; #refractive index\n", + "n1=1.55; #refractive index\n", + "Po=((n1-no)/(n1+no))**2; #fresnal reflection\n", + "print\"Fresnel reflective coefficient,Po(refl)=\",round(Po,4);\n", + "Lrefl=-10*log10(1-Po); #attenuation loss\n", + "print\"Attenuation based on Fresnel reflective coefficient,L(refl)=\",round(Lrefl,4),\"dB\";\n", + "Ltot=5*Lrefl;\n", + "print\"Total link attenuation on Fresnel reflections,Ltotal =\",round(Ltot,4),\"dB\";" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Fresnel reflective coefficient,Po(refl)= 0.0465\n", + "Attenuation based on Fresnel reflective coefficient,L(refl)= 0.2069 dB\n", + "Total link attenuation on Fresnel reflections,Ltotal = 1.0344 dB\n" + ] + } + ], + "prompt_number": 40 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.24,Page number 336" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "n1=1;\n", + "n2=1.5;\n", + "a=25.; #in micrometer\n", + "y=3.; #in micrometer\n", + "Csim=16*(n1/n2)**2/math.pi/(1+(n1/n2))**4*(2*math.acos(y/2/a)-(y/a)*(1-(y/2/a)**2)**0.5); \n", + "\n", + "#lateral coupling coefficient\n", + "a=2*math.acos(y/2/a)-(y/a)*math.sqrt(1-(y/2./a)**2);\n", + "b=16*(n1/n2)**2/math.pi/(1+(n1/n2))**4;\n", + "print\"Lateral coupling coefficient,Csim=\",round(Csim,4);\n", + "Lsim=-10*math.log10(1-Csim);\n", + "print\"Insertion Loss,Lsim=\",round(Lsim,4),\"dB\";\n", + "#Answer wrong in book" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Lateral coupling coefficient,Csim= 0.8512\n", + "Insertion Loss,Lsim= 8.2751 dB\n" + ] + } + ], + "prompt_number": 57 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.25,Page number 337" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Alpha=2.;\n", + "a=25.; #in micrometer\n", + "y=2.; #in micrometer\n", + "Cgim=2/math.pi*(y/a)*(Alpha+2)/(Alpha+1); #lateral coupling coefficient\n", + "print\" Csim=\",round(Cgim,4);\n", + "Lgim=-10*math.log10(1-Cgim); #insertion loss\n", + "print\" Insertion Loss,Lgim=\",round(Lgim,4),\"dB\";" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Csim= 0.0679\n", + " Insertion Loss,Lgim= 0.3054 dB\n" + ] + } + ], + "prompt_number": 49 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.26,Page number 339" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "n1=1.5; #refractive index\n", + "n2=1.5; #refractive index\n", + "W=2.5; #in degree\n", + "NA1=0.3;\n", + "NA2=0.4;\n", + "Csim1=16*(n1/n2)**2/(1+(n1/n2)**4)*(1-n2*W/(180*NA1)); #angular coupling coefficient\n", + "#Answer wrong in book\n", + "print\"Csim=\",round(Csim1,4);\n", + "Lsim1=-10*math.log10(Csim1);\n", + "print\"Insertion Loss,Lsim=\",round(Lsim1,4),\"dB\";\n", + "Csim2=16*(n1/n2)**2/(1+(n1/n2)**4)*(1-n2*W/(180*NA2)); #angular coupling coefficient\n", + "#Answer wrong in book\n", + "print\"Csim=\",round(Csim2,4);\n", + "Lsim2=-10*math.log10(Csim2);\n", + "print\"Insertion Loss,Lsim=\",round(Lsim2,4),\"dB\";" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Csim= 7.4444\n", + "Insertion Loss,Lsim= -8.7183 dB\n", + "Csim= 7.5833\n", + "Insertion Loss,Lsim= -8.7986 dB\n" + ] + } + ], + "prompt_number": 52 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.27,Page number 340" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "a=4; #in micrometer\n", + "V=2.4;\n", + "aw=1; #in degree\n", + "NA1=0.2;\n", + "n1=1.45; #refractive index\n", + "y=1; #in micrometer\n", + "omega=a*(0.65+1.62*V**-1.5+2.88*V**-6)/math.sqrt(2);\n", + "print\"Normalised spot view (w)=\",round(omega,4),\"micrometer\";\n", + "Lsml=2.17*(y/omega)**2;\n", + "print\"Insertion loss due to lateral,Lsm=\",round(Lsml,4),\"dB\"; #answer is wrong in book \n", + "Lsmg=2.17*(aw*math.pi/180*omega*n1*V/a/NA1)**2;\n", + "print\"Insertion loss due to angular,Lsm=\",round(Lsmg,4),\"dB\";\n", + "\n", + "print\"Total Insertion loss,Lsmtotal=\",round(Lsml+Lsmg,4),\"dB\";" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Normalised spot view (w)= 3.1135 micrometer\n", + "Insertion loss due to lateral,Lsm= 0.2239 dB\n", + "Insertion loss due to angular,Lsm= 0.1213 dB\n", + "Total Insertion loss,Lsmtotal= 0.3451 dB\n" + ] + } + ], + "prompt_number": 53 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.28,Page number 340" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "a1=4.5; #in micrometer\n", + "a2=4; #in micrometer\n", + "V=2.1;\n", + "aw=1; #in degree\n", + "NA=0.2;\n", + "n1=1.45;\n", + "y=1; #in micrometer\n", + "w1=a1*(0.65+1.62*V**-0.5+2.88*V**-6)/math.sqrt(2); #insertion loss\n", + "print\"Wo1=\",round(w1,4);\n", + "w2=a2*(0.65+1.62*V**-0.5+2.88*V**-6)/math.sqrt(2); #insertion loss\n", + "print\"Wo2=\",round(w2,4);\n", + "Lintr=-10*math.log10(4*((w1/w2+w2/w1)**-2)); #toatl insertion loss at joint\n", + "print\"Lintr=\",round(Lintr,4),\"dB\"; #Answer wrong in book\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Wo1= 5.7323\n", + "Wo2= 5.0954\n", + "Lintr= 0.0601 dB\n" + ] + } + ], + "prompt_number": 56 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Fiber_Optics_Communication_by_H._Kolimbiris/screenshots/1.PNG b/Fiber_Optics_Communication_by_H._Kolimbiris/screenshots/1.PNG Binary files differnew file mode 100755 index 00000000..1d7cb200 --- /dev/null +++ b/Fiber_Optics_Communication_by_H._Kolimbiris/screenshots/1.PNG diff --git a/Fiber_Optics_Communication_by_H._Kolimbiris/screenshots/2.PNG b/Fiber_Optics_Communication_by_H._Kolimbiris/screenshots/2.PNG Binary files differnew file mode 100755 index 00000000..4f853ee8 --- /dev/null +++ b/Fiber_Optics_Communication_by_H._Kolimbiris/screenshots/2.PNG diff --git a/Fiber_Optics_Communication_by_H._Kolimbiris/screenshots/3.PNG b/Fiber_Optics_Communication_by_H._Kolimbiris/screenshots/3.PNG Binary files differnew file mode 100755 index 00000000..b1ba3975 --- /dev/null +++ b/Fiber_Optics_Communication_by_H._Kolimbiris/screenshots/3.PNG |