From d36fc3b8f88cc3108ffff6151e376b619b9abb01 Mon Sep 17 00:00:00 2001 From: kinitrupti Date: Fri, 12 May 2017 18:40:35 +0530 Subject: Revised list of TBCs --- Optical_Fiber_Communication/Chapter10.ipynb | 487 --------- Optical_Fiber_Communication/Chapter2.ipynb | 721 ------------- Optical_Fiber_Communication/Chapter3.ipynb | 1352 ------------------------ Optical_Fiber_Communication/Chapter4.ipynb | 887 ---------------- Optical_Fiber_Communication/Chapter5.ipynb | 1476 --------------------------- Optical_Fiber_Communication/Chapter6.ipynb | 104 -- Optical_Fiber_Communication/Chapter7.ipynb | 933 ----------------- Optical_Fiber_Communication/Chapter8.ipynb | 1192 --------------------- Optical_Fiber_Communication/Chapter9.ipynb | 1146 --------------------- 9 files changed, 8298 deletions(-) delete mode 100755 Optical_Fiber_Communication/Chapter10.ipynb delete mode 100755 Optical_Fiber_Communication/Chapter2.ipynb delete mode 100755 Optical_Fiber_Communication/Chapter3.ipynb delete mode 100755 Optical_Fiber_Communication/Chapter4.ipynb delete mode 100755 Optical_Fiber_Communication/Chapter5.ipynb delete mode 100755 Optical_Fiber_Communication/Chapter6.ipynb delete mode 100755 Optical_Fiber_Communication/Chapter7.ipynb delete mode 100755 Optical_Fiber_Communication/Chapter8.ipynb delete mode 100755 Optical_Fiber_Communication/Chapter9.ipynb (limited to 'Optical_Fiber_Communication') diff --git a/Optical_Fiber_Communication/Chapter10.ipynb b/Optical_Fiber_Communication/Chapter10.ipynb deleted file mode 100755 index 22b4a658..00000000 --- a/Optical_Fiber_Communication/Chapter10.ipynb +++ /dev/null @@ -1,487 +0,0 @@ -{ - "metadata": { - "name": "", - "signature": "sha256:cf07634df992def504a143e6666719b95350cb053657de1ded2573417a8b0796" - }, - "nbformat": 3, - "nbformat_minor": 0, - "worksheets": [ - { - "cells": [ - { - "cell_type": "heading", - "level": 1, - "metadata": {}, - "source": [ - "Chapter 10 : Optical Fiber System-II" - ] - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 1: PgNo-505" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "r=30.8*math.pow(10,-12) # electro optice coefficient in m/V\n", - "L=3*math.pow(10,-2) # length in m\n", - "y=1.3*math.pow(10,-6) # wavelength in m\n", - "n=2.1\n", - "d=30*math.pow(10,-6) # distance between the electrodes in m\n", - "V=(y*d)/(math.pow(n,3)*r*L) # voltage required to have a pi radian phase change in volt\n", - "\n", - "# Results\n", - "print ('%s %.3f %s' %(\" The voltage required to have a pi radian phase change = \",V,\"volt\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The voltage required to have a pi radian phase change = 4.558 volt\n" - ] - } - ], - "prompt_number": 1 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 2: PgNo-511" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "#Variable initialisation\n", - "a_fc=4 #fider cable loss in dB/km\n", - "aj=0.7 #splice loss in db/km\n", - "L=5 # length in km\n", - "a_cr1=4 # connector losses\n", - "a_cr2=3.5 # connector losses\n", - "CL=(a_fc+aj)*L+(a_cr1+a_cr2) # total channel loss in dB\n", - "\n", - "# Results\n", - "print ('%s %.f %s' %(\" The total channel loss = \",CL,\"dB\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The total channel loss = 31 dB\n" - ] - } - ], - "prompt_number": 2 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 3: PgNo-517" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# variable initialisation\n", - "p=0.5*math.pow(10,-9) # pulse broadening in s/km\n", - "L=12 # length in km\n", - "\n", - "# calculations\n", - "Pt=p*math.sqrt(L) # with mode coupling, the total rms broadening in s\n", - "BT=20*math.pow(10,6)\n", - "DL=2*pow((2*Pt*BT*math.sqrt(2)),4) # dispersion equalization penalty in dB\n", - "Pt1=p*L # without mode coupling, the total rms broadening in s\n", - "DL1=2*math.pow((2*Pt1*BT*math.sqrt(2)),4) # without mode coupling, equalization penalty in dB\n", - "DL2=2*math.pow((2*Pt1*150*math.pow(10,6)*math.sqrt(2)),4) # without mode coupling,dispersion equalization penalty with 125 Mb/s\n", - "DL3=2*math.pow((2*Pt*125*math.pow(10,6)*math.sqrt(2)),4) # with mode coupling,dispersion equalization penalty with 125 Mb/s\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" With mode coupling, the total rms broadening = \",Pt*pow(10,9),\"ns\"))\n", - "print ('%s %.2f %s' %(\"\\n The dispersion equalization penalty = \",DL*pow(10,4),\"dB\"))\n", - "print ('%s %.f %s' %(\"\\n without mode coupling, the total rms broadening = \",Pt1*pow(10,9),\"dB\"))\n", - "print ('%s %.3f %s' %(\"\\n without mode coupling, equalization penalty = \",DL1,\"dB\"))\n", - "print ('%s %.2f %s' %(\"\\n without mode coupling,dispersion equalization penalty with 125 Mb/s = \",DL2,\"dB\"))\n", - "print ('%s %.2f %s' %(\"\\n with mode coupling,dispersion equalization penalty with 125 Mb/s = \",DL3,\"dB\"))\n", - "print (\"\\n The answer is wrong in the textbook\")" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " With mode coupling, the total rms broadening = 1.73 ns\n", - "\n", - " The dispersion equalization penalty = 1.84 dB\n", - "\n", - " without mode coupling, the total rms broadening = 6 dB\n", - "\n", - " without mode coupling, equalization penalty = 0.027 dB\n", - "\n", - " without mode coupling,dispersion equalization penalty with 125 Mb/s = 83.98 dB\n", - "\n", - " with mode coupling,dispersion equalization penalty with 125 Mb/s = 0.28 dB\n", - "\n", - " The answer is wrong in the textbook\n" - ] - } - ], - "prompt_number": 3 - }, - { - "cell_type": "heading", - "level": 1, - "metadata": {}, - "source": [ - "Example 4: PgNo-522" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "Pi=-2.5 # mean optical power launched into the fiber in dBm\n", - "Po=-45 # mean output optical power available at the receiver in dBm\n", - "a_fc=0.35 # fider cable loss in dB/km\n", - "aj=0.1 # splice loss in db/km\n", - "a_cr=1 # connector losses\n", - "Ma=6 # safety margin in dB\n", - "L=(Pi-Po-a_cr-Ma)/(a_fc+aj) # length in km when system operating at 25 Mbps\n", - "Po1=-35 # mean output optical power available at the receiver in dBm\n", - "L1=(Pi-Po1-a_cr-Ma)/(a_fc+aj) # length in km when system operating at 350 Mbps\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The length when system operating at 25 Mbps = \",L,\"km\"))\n", - "print ('%s %.2f %s' %(\"\\n The length when system operating at 350 Mbps = \",L1,\"km\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The length when system operating at 25 Mbps = 78.89 km\n", - "\n", - " The length when system operating at 350 Mbps = 56.67 km\n" - ] - } - ], - "prompt_number": 4 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 5: PgNo-526" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# variable initialisation\n", - "Tx=-80 # transmitter output in dBm\n", - "Rx=-40 # receiver sensitivity in dBm\n", - "sm=32 # system margin in dB\n", - "L=10 # in km\n", - "fl=2*L # fider loss in dB\n", - "cl=1 # detector coupling loss in dB\n", - "tl=0.4*8 # total splicing loss in dB\n", - "ae=5 # angle effects & future splice in dB\n", - "ta=29.2 # total attenuation in dB\n", - "Ep=2.8 # excess power margin in dB\n", - "\n", - "# Results\n", - "print ('%s %.1f %s' %(\" The fider loss = \",fl,\"dB\"))\n", - "print ('%s %.2f %s' %(\"\\n The total splicing loss = \",tl,\"dB\"))\n", - "print ('%s %.1f %s' %(\"\\n The fangle effects & future splice = \",ae,\"dB\"))\n", - "print ('%s %.2f %s' %(\"\\n The total attenuation = \",ta,\"dB\"))\n", - "print ('%s %.1f %s' %(\"\\n The excess power margin = \",Ep,\"dB\"))\n", - "print (\"\\n Hence the system can operate with small excess power margin \")" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The fider loss = 20.0 dB\n", - "\n", - " The total splicing loss = 3.20 dB\n", - "\n", - " The fangle effects & future splice = 5.0 dB\n", - "\n", - " The total attenuation = 29.20 dB\n", - "\n", - " The excess power margin = 2.8 dB\n", - "\n", - " Hence the system can operate with small excess power margin \n" - ] - } - ], - "prompt_number": 5 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 6: PgNo-529" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# variable initialisation\n", - "Lc=1 # connector loss in db\n", - "Ls=5 # star coupler insertion loss in dB\n", - "af=2 # fider loss in dB\n", - "Ps=-14 # transmitted power in dBm\n", - "Pr=-49 # receiver sensitivity in dBm\n", - "sm=6 # system margin in dB\n", - "N=16.0\n", - "L=(Ps-Pr-Ls-4*Lc-(10*math.log(N))/math.log(10)-sm)/(2*af) # max transmission length in km when transmission star coupler is used\n", - "N1=32\n", - "L1=(Ps-Pr-Ls-4*Lc-(10*math.log(N1))/math.log(10)-sm)/(2*af) # max transmission length in km when reflection star coupler is used\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The max transmission length when transmission star coupler is used = \",L,\"km\"))\n", - "print ('%s %.2f %s' %(\"\\n The max transmission length when reflection star coupler is used = \",L1,\"km\"))\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The max transmission length when transmission star coupler is used = 1.99 km\n", - "\n", - " The max transmission length when reflection star coupler is used = 1.24 km\n" - ] - } - ], - "prompt_number": 6 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 7: PgNo-531" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# variable declaration\n", - "y=860*math.pow(10,-9) # wavelength in m\n", - "L=5000 # length in m\n", - "X=0.024\n", - "dy=20*math.pow(10,-9) # spectral width in m\n", - "dts=6*math.pow(10,-9) # silica optical link rise time in s\n", - "dtr=8*math.pow(10,-9) # detector rise in s\n", - "c=3*math.pow(10,8)# speed of light in m/s\n", - "dtm=-(L*dy*X)/(c*y) # material dispersion delay time in s\n", - "id=2.5*math.pow(10,-12) # intermodel dispersion in s/m\n", - "dti=id*L # intermodel dispersion delay time\n", - "dtsy=math.sqrt(math.pow(dts,2)+math.pow(dtr,2)+math.pow(dtm,2)+math.pow(dti,2)) # system rise time in s\n", - "Br_max=0.7/dtsy # max bit rate for NRZ coding in bit/s\n", - "Br_max1=0.35/dtsy # max bit rate for RZ coding in bit/s\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The system rise time = \",dtsy*pow(10,9),\"ns\"))\n", - "print ('%s %.2f %s' %(\"\\n The max bit rate for NRZ coding = \",Br_max/pow(10,6),\"Mbit/s\"))\n", - "print ('%s %.2f %s' %(\"\\n The max bit rate for RZ coding = \",Br_max1/pow(10,6),\"Mbit/s\"))\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The system rise time = 18.51 ns\n", - "\n", - " The max bit rate for NRZ coding = 37.81 Mbit/s\n", - "\n", - " The max bit rate for RZ coding = 18.90 Mbit/s\n" - ] - } - ], - "prompt_number": 7 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 8: PgNo-533" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "#variable declaration\n", - "Br=50*math.pow(10,6) # data rate in b/s\n", - "c=3*math.pow(10,8) # speed of light in m/s\n", - "n1=1.47\n", - "dl=0.02\n", - "n12=n1*dl # the difference b/w n1 and n2\n", - "L_si=(0.35*c)/(n12*Br) # transmission distance for Si fiber\n", - "L_GI=(2.8*c*math.pow(n1,2))/(2*n1*n12*Br) # transmission distance for GRIN fiber\n", - "\n", - "# Results\n", - "print ('%s %.3f %s' %(\" The transmission distance for Si fiber = \",L_si,\"m\"))\n", - "print ('%s %.f %s' %(\"\\n The transmission distance for GRIN fiber = \",L_GI,\"m\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The transmission distance for Si fiber = 71.429 m\n", - "\n", - " The transmission distance for GRIN fiber = 420 m\n" - ] - } - ], - "prompt_number": 8 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 9: PgNo-537" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Initialisation of variables\n", - "Br=20*math.pow(10,6) # data rate in b/s\n", - "c=3*math.pow(10,8)# speed of light in m/s\n", - "y=86*math.pow(10,-9)# wavelength in m\n", - "dy=30*math.pow(10,-9) # spectral width in m\n", - "X=0.024\n", - "Tb=1/Br\n", - "Lmax=(0.35*Tb*c*y)/(dy*X)# material dispersion limited transmission distance for RZ coding in m\n", - "\n", - "# Results\n", - "print ('%s %.3f %s' %(\" The material dispersion limited transmission distance = \",Lmax,\"m\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The material dispersion limited transmission distance = 627.083 m\n" - ] - } - ], - "prompt_number": 9 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 10: PgNo-543" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# variable declaration\n", - "y=860*math.pow(10,-9) # wavelength in m\n", - "c=3*math.pow(10,8) # speed of light in m/s\n", - "n1=1.47 \n", - "dl=0.02 \n", - "n12=n1*dl # the difference b/w n1 and n2\n", - "La=1/1000.0 # loss a in dB/m\n", - "Pr=-65 # receiver power in dB\n", - "Pt=-5 #transmitted power in dB\n", - "dy=30*math.pow(10,-9) # line width in m\n", - "X=0.024\n", - "Lmax=(0.35*c*y)/(dy*X) # material dispersion limited distance for RZ coding in m\n", - "L_GI=(1.4*c*n1)/(n12)# model dispersion limited distance for RZ coding in m\n", - "L_At=(Pt-Pr)/(La) # attenuation limited distance for RZ coding in m\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The material dispersion limited distance = \",Lmax/pow(10,10),\"*10^10*1/Br m\"))\n", - "print ('%s %.1f %s' %(\"\\n The model dispersion limited distance = \",L_GI/pow(10,10),\"*10^10*1/Br m\"))\n", - "print ('%s %.f %s' %(\"\\n The attenuation limited distance = \",L_At/pow(10,3),\"-20log(Br) km\"))\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The material dispersion limited distance = 12.54 *10^10*1/Br m\n", - "\n", - " The model dispersion limited distance = 2.1 *10^10*1/Br m\n", - "\n", - " The attenuation limited distance = 60 -20log(Br) km\n" - ] - } - ], - "prompt_number": 10 - } - ], - "metadata": {} - } - ] -} \ No newline at end of file diff --git a/Optical_Fiber_Communication/Chapter2.ipynb b/Optical_Fiber_Communication/Chapter2.ipynb deleted file mode 100755 index 32f1c5a2..00000000 --- a/Optical_Fiber_Communication/Chapter2.ipynb +++ /dev/null @@ -1,721 +0,0 @@ -{ - "metadata": { - "name": "", - "signature": "sha256:ab3713dc22f25eef68710ebd9039d7fba92418b0de95b0ba48c70d6376545f8e" - }, - "nbformat": 3, - "nbformat_minor": 0, - "worksheets": [ - { - "cells": [ - { - "cell_type": "heading", - "level": 1, - "metadata": {}, - "source": [ - "Chapter 2- Optical Fiber" - ] - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 1: PgNo- 18" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "n1=1.55 # core refractive index\n", - "n2=1.50 #cladding refractive index\n", - "\n", - "# Calculations\n", - "x=math.asin(n2/n1) #Critical angle in radians\n", - "x1=x*180/math.pi #Critical angle in degree\n", - "n_a=math.sqrt(math.pow(n1,2)-math.pow(n2,2)) # Numerical aperture\n", - "x_a=math.asin(n_a)*180/math.pi\n", - "x_a1=math.ceil(x_a) # Acceptance angle in Degree\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" Critical angle in degree= \", x1,\"degree\"))\n", - "print ('%s %.2f ' %(\"\\n Numerical aperture= \",n_a))\n", - "print ('%s %.1f %s' %(\"\\n Acceptance angle in degree= \",x_a1,\"degree\"))\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " Critical angle in degree= 75.41 degree\n", - "\n", - " Numerical aperture= 0.39 \n", - "\n", - " Acceptance angle in degree= 23.0 degree\n" - ] - } - ], - "prompt_number": 3 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 2:PgNo-21" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "# Variable declaration\n", - "\n", - "c=3*math.pow(10,8) #speed of light in m/s\n", - "v=2*math.pow(10,8) # in m/s\n", - "# calculations\n", - "n1=c/v\n", - "x=75 # in degree\n", - "n2=n1*math.sin((x*math.pi/180))\n", - "n_2=1.44\n", - "n_a=math.sqrt(math.pow(n1,2)-math.pow(n_2,2)) # numerical aperture\n", - "\n", - "# Results\n", - "print ('%s %.2f' %(\" Numerical aperture = \",n_a))\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " Numerical aperture = 0.42\n" - ] - } - ], - "prompt_number": 4 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 3:PgNo-25" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math \n", - "\n", - "# Variable declaration\n", - "n1=1.50 # core refractive index\n", - "n2=1.47 # cladding refractive index\n", - "\n", - "# Calculations\n", - "dl=(n1-n2)/n1\n", - "n_a=n1*(math.sqrt(2*dl))# numerical aperture\n", - "x_a=(math.asin(n_a))*180/math.pi #acceptance angle in degree\n", - "\n", - "# Results\n", - "print ('%s %.2f' %(\" Numerical aperture = \",n_a))\n", - "print ('%s %.2f %s' %(\"\\n Acceptance angle in degree = \",x_a,\"degree\"))\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " Numerical aperture = 0.30\n", - "\n", - " Acceptance angle in degree = 17.46 degree\n" - ] - } - ], - "prompt_number": 5 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 4:PgNo-27" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "n1=1.50 # core refractive index\n", - "n2=1.45 # cladding refractive index\n", - "\n", - "# Calculations\n", - "dl=(n1-n2)/n1\n", - "n_a=n1*(math.sqrt(2*dl)) # numerical aperture\n", - "x_a=(math.asin(n_a))*180/math.pi # acceptance angle in degree\n", - "x_c=(math.asin(n2/n1))*180/math.pi # critical angle in degree\n", - "\n", - "# Results\n", - "print ('%s %.2f' %(\" Numerical aperture = \",n_a))\n", - "print ('%s %.2f %s' %(\"\\n acceptance angle in degree = \",x_a,\"degree\"))\n", - "print ('%s %.2f %s' %(\"\\n critical angle in degree = \",x_c,\"degree\"))\n", - "\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " Numerical aperture = 0.39\n", - "\n", - " acceptance angle in degree = 22.79 degree\n", - "\n", - " critical angle in degree = 75.16 degree\n" - ] - } - ], - "prompt_number": 6 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 5:PgNo- 32" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "dl=0.012\n", - "n_a=0.22 # numerical aperture\n", - "\n", - "# Calculations\n", - "n1=n_a/(math.sqrt(2*dl)) # core refractive index\n", - "n2=n1-(dl*n1)# cladding refractive index\n", - "\n", - "# Results\n", - "print ('%s %.2f' %(\" core refractive index = \",n1))\n", - "print ('%s %.2f' %(\"\\n cladding refractive index = \",n2))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " core refractive index = 1.42\n", - "\n", - " cladding refractive index = 1.40\n" - ] - } - ], - "prompt_number": 7 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 6:PgNo-34" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "dl=0.012\n", - "n_a=0.22 # numerical aperture\n", - "\n", - "# Calculations\n", - "n1=n_a/(math.sqrt(2*dl)) # core refractive index\n", - "n2=n1-(dl*n1)# cladding refractive index\n", - "\n", - "# Results\n", - "print ('%s %.2f' %(\" core refractive index = \",n1))\n", - "print ('%s %.2f' %(\"\\n cladding refractive index = \",n2))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " core refractive index = 1.42\n", - "\n", - " cladding refractive index = 1.40\n" - ] - } - ], - "prompt_number": 8 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 7:PgNo-37" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "n2=1.59 # cladding refractive index\n", - "n_a=0.2 # numerical aperture\n", - "n_1=1.60 # core refractive index\n", - "n_o=1.33\n", - "\n", - "# Calculations\n", - "n1=math.sqrt(math.pow(n2,2)+math.pow(n_a,2)) # core refractive index\n", - "A=(math.sqrt(math.pow(n_1,2)-math.pow(n2,2)))/n_o\n", - "x_a=(math.asin(A))*180/math.pi # acceptance angle in degree\n", - "x_c=(math.asin(n2/n1))*180/math.pi #critical angle in degree\n", - "y=1300*math.pow(10,(-9)) # in meter\n", - "a=25*math.pow(10,(-6)) # in meter\n", - "v=(2*math.pi*a*n_a)/y\n", - "V=math.floor(v)\n", - "M=math.pow(V,2)/2 # number of modes transmitted\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" acceptance angle in degree = \",x_a,\"degree\"))\n", - "print ('%s %.2f %s' %(\"\\n critical angle in degree = \",x_c,\"degree\"))\n", - "print ('%s %d' %(\"\\n number of modes transmitted = \",M))\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " acceptance angle in degree = 7.72 degree\n", - "\n", - " critical angle in degree = 82.83 degree\n", - "\n", - " number of modes transmitted = 288\n" - ] - } - ], - "prompt_number": 9 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 8:PgNo-42" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "n1=1.50 # core refractive index\n", - "n2=1.47 # cladding refractive index\n", - "\n", - "# Calculations\n", - "dl=(n1-n2)/n1\n", - "n_a=n1*(math.sqrt(2*dl)) # numerical aperture\n", - "x_e=(math.asin(n_a))*180/math.pi # the maximum entrance angle in degree\n", - "\n", - "# Results\n", - "print ('%s %.1f' %(\" Numerical aperture = \",n_a))\n", - "print ('%s %.2f %s' %(\"\\n The maximum entrance angle in degree = \",x_e,\"degree\"))\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " Numerical aperture = 0.3\n", - "\n", - " The maximum entrance angle in degree = 17.46 degree\n" - ] - } - ], - "prompt_number": 10 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 9:PgNo-47" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "n1=1.44 # core refractive index\n", - "dl=0.02\n", - "\n", - "# Calculations\n", - "n_a=n1*math.sqrt(2*dl)\n", - "n_a=n1*(math.sqrt(2*dl)) # numerical aperture\n", - "x_a=(math.asin(n_a))*180/math.pi # acceptance angle in degree\n", - "\n", - "# Results\n", - "print \" Numerical aperture = \",n_a\n", - "print ('%s %.2f %s'%(\"\\n acceptance angle in degree = \",x_a,\"degree\"))\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " Numerical aperture = 0.288\n", - "\n", - " acceptance angle in degree = 16.74 degree\n" - ] - } - ], - "prompt_number": 11 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 10:PgNo-53" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "n1=1.50 # core refractive index\n", - "n2=(99.0/100.0)*1.50 # cladding refractive index\n", - "\n", - "# Calculations\n", - "x_c=math.asin(n2/n1)*(180/math.pi) # critical angle in degree\n", - "n_m=math.sqrt(math.pow(n1,2)-math.pow(n2,2)) # numerical aperture\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" critical angle = \",x_c,\"degree\"))\n", - "print ('%s %.2f' %(\"\\n numerical aperture = \",n_m))\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " critical angle = 81.89 degree\n", - "\n", - " numerical aperture = 0.21\n" - ] - } - ], - "prompt_number": 12 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 11: PgNo-58" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "n1=1.50 # core refractive index\n", - "n2=1.45 # cladding refractive index\n", - "\n", - "# Calculations\n", - "n_m=math.sqrt(math.pow(n1,2)-math.pow(n2,2)) # numerical aperture\n", - "dl=(n1-n2)/n1 # fractional difference\n", - "\n", - "# Results\n", - "print ('%s %.2f' %(\" numerical aperture = \",n_m))\n", - "print ('%s %.2f' %(\"\\n fractional difference = \",dl))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " numerical aperture = 0.38\n", - "\n", - " fractional difference = 0.03\n" - ] - } - ], - "prompt_number": 13 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 12: PgNo-65" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "n1=1.46 # core refractive index\n", - "n2=1.45 # cladding refractive index\n", - "\n", - "# Calculations\n", - "x_c=(math.asin(n2/n1))*180/math.pi # critical angle in degree\n", - "n_m=math.sqrt(math.pow(n1,2)-math.pow(n2,2)) # numerical aperture\n", - "x_a=(math.asin(n_m))*180/math.pi # acceptance angle in degree\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" critical angle = \",x_c,\"degree\"))\n", - "print ('%s %.2f %s' %(\"\\n acceptance angle = \",x_a,\"degree\"))\n", - "print ('%s %.2f' %(\"\\n numerical aperture = \",n_m))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " critical angle = 83.29 degree\n", - "\n", - " acceptance angle = 9.82 degree\n", - "\n", - " numerical aperture = 0.17\n" - ] - } - ], - "prompt_number": 14 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 13: PgNo-67" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "# Variable declaration\n", - "n_m=0.204 #numerical aperture\n", - "dl=0.01 # index difference\n", - "\n", - "# Calculations\n", - "n1=n_m/(math.sqrt(2*dl)) # core refractive index\n", - "n2=n1*(1-dl) # cladding refractive index\n", - "\n", - "# Results\n", - "print ('%s %.2f' %(\" core refractive index = \",n1))\n", - "print ('%s %.2f' %(\"\\n cladding refractive index = \",n2))\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " core refractive index = 1.44\n", - "\n", - " cladding refractive index = 1.43\n" - ] - } - ], - "prompt_number": 15 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 14: PgNo-71" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "# Variable declaration\n", - "\n", - "n1=1.46 #core refractive index\n", - "dl=0.01 # index difference\n", - "\n", - "# Calculations\n", - "n_2=n1-(n1*dl) # cladding refractive index\n", - "x_c=(math.asin(n_2/n1))*180/math.pi #critical angle in degree\n", - "n_m=math.sqrt(math.pow(n1,2)-math.pow(n_2,2)) # numerical aperture\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" critical angle = \",x_c,\"degree\"))\n", - "print ('%s %.2f' %(\"\\n numerical aperture = \",n_m))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " critical angle = 81.89 degree\n", - "\n", - " numerical aperture = 0.21\n" - ] - } - ], - "prompt_number": 16 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 15: PgNo-76" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "# Variable declaration\n", - "n1=1.50 # core refractive index\n", - "n2=1.45 # cladding refractive index\n", - "\n", - "# Calculations\n", - "x_c=(math.asin(n2/n1))*180/math.pi # critical angle in degree\n", - "n_m=math.sqrt(math.pow(n1,2)-math.pow(n2,2)) # numerical aperture\n", - "x_a=(math.asin(n_m))*180/math.pi # acceptance angle in degree\n", - "n_c=math.pow((n_m),2)*100 # percentage of light\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" critical angle= \",x_c,\"degree\"))\n", - "print ('%s %.2f %s' %(\"\\n acceptance angle= \",x_a,\"degree\"))\n", - "print ('%s %.2f' %(\"\\n numerical aperture= \",n_m))\n", - "print ('%s %.2f %s'%(\"\\n percentage of light= \",n_c,\"%\"))\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " critical angle= 75.16 degree\n", - "\n", - " acceptance angle= 22.59 degree\n", - "\n", - " numerical aperture= 0.38\n", - "\n", - " percentage of light= 14.75 %\n" - ] - } - ], - "prompt_number": 17 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 16: PgNo-81" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "n1=1.50 # core refractive index\n", - "dl=0.01 # index difference\n", - "\n", - "# Calculations\n", - "n_m=n1*(math.sqrt(2*dl)) # numerical aperture\n", - "x_a=math.pi*math.pow((n_m),2) # acceptance angle in radian\n", - "n2_1=(1-dl) # the ratio of n2 to n1\n", - "x_c=(math.asin(n2_1))*180/math.pi # critical angle in degree\n", - "\n", - "# Results\n", - "print ('%s %.2f'%(\" numerical aperture= \",n_m))\n", - "print ('%s %.2f %s' %(\"\\n acceptance angle= \",x_a,\"radian\"))\n", - "print ('%s %.2f %s'%(\"\\n critical angle= \",x_c,\"degree\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " numerical aperture= 0.21\n", - "\n", - " acceptance angle= 0.14 radian\n", - "\n", - " critical angle= 81.89 degree\n" - ] - } - ], - "prompt_number": 18 - } - ], - "metadata": {} - } - ] -} \ No newline at end of file diff --git a/Optical_Fiber_Communication/Chapter3.ipynb b/Optical_Fiber_Communication/Chapter3.ipynb deleted file mode 100755 index 4ff5c94e..00000000 --- a/Optical_Fiber_Communication/Chapter3.ipynb +++ /dev/null @@ -1,1352 +0,0 @@ -{ - "metadata": { - "name": "", - "signature": "sha256:2b710cf5b5be9f51b281cf20f926c177245f0b5c79ffccf88ed3e06dd1ffcbfa" - }, - "nbformat": 3, - "nbformat_minor": 0, - "worksheets": [ - { - "cells": [ - { - "cell_type": "heading", - "level": 1, - "metadata": {}, - "source": [ - "Chapter 3- Optical Fiber Fabrication" - ] - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example1: PgNo-83" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# variable declaration\n", - "n1=1.50 # core refractive index\n", - "n2=1.48 # cladding refractive index\n", - "y=1.3*math.pow(10,(-6))\n", - "m=1000 # the no. of models\n", - "\n", - "# Calculations\n", - "v=math.sqrt(2*m)\n", - "a=(v*y)/(2*math.pi*(math.sqrt(pow(n1,2)-math.pow(n2,2)))*math.pow(10,6)) # core radius in micrometer\n", - "\n", - "# Results\n", - "print ('%s %.2e %s' %(\" core radius= \",a ,\"micrometer\"))\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " core radius= 3.79e-11 micrometer\n" - ] - } - ], - "prompt_number": 1 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example2: PgNo-83" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "n1=1.505 # core refractive index\n", - "n2=1.502 # cladding refractive index\n", - "\n", - "# Calculations\n", - "n_m=math.sqrt(math.pow(n1,2)-math.pow(n2,2)) # numerical aperture\n", - "y=1.3*math.pow(10,(-6))\n", - "v=2.4\n", - "a=(v*y)/(2*math.pi*(math.sqrt(math.pow(n1,2)-math.pow(n2,2))))*math.pow(10,6)# core radius in micrometer\n", - "\n", - "# Results\n", - "print ('%s %.2f'%(\" numerical aperture= \",n_m))\n", - "print ('%s %.3f %s' %(\"\\n core radius= \",a,\"micrometer\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " numerical aperture= 0.09\n", - "\n", - " core radius= 5.228 micrometer\n" - ] - } - ], - "prompt_number": 2 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example3: PgNo-84" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "# Variable declaration\n", - "\n", - "n1=1.5 # core refractive index\n", - "dl=0.01 # index difference\n", - "m=0 # for the dominant mode\n", - "v=0 # for the dominant mode\n", - "y=1.3 # in micrometer\n", - "a=5.0 # radius in micrometer\n", - "\n", - "# Calculations\n", - "k=(2*math.pi)/y\n", - "b=math.pow(k,2)*math.pow(n1,2)-(2*k*n1*math.sqrt(2*dl))/a\n", - "B=math.sqrt(b) # propagation constant in rad/um\n", - "\n", - "# Results\n", - "print ('%s %.3f %s' %(\" propagation constant= \",B,\"rad/um\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " propagation constant= 7.221 rad/um\n" - ] - } - ], - "prompt_number": 3 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example4: PgNo-86" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "# Printing the results\n", - "b=1/2 # propagtion constant\n", - "print (\" normalised propagtion constant\")\n", - "print (\"\\n B=(pow((b/k),2)-pow(n2,2))/(pow(n1,2)-pow(n2,2))\")\n", - "print (\"\\n thus when b=1/2\")\n", - "print (\"\\n B=k*sqrt(pow(n2,2)+b*(pow(n1,2)-pow(n2,2))\")\n", - "print (\"\\n B=k*sqrt(pow(n1,2)-pow(n2,2)/2)\")\n", - "print (\"\\n which gives its rms value\")" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " normalised propagtion constant\n", - "\n", - " B=(pow((b/k),2)-pow(n2,2))/(pow(n1,2)-pow(n2,2))\n", - "\n", - " thus when b=1/2\n", - "\n", - " B=k*sqrt(pow(n2,2)+b*(pow(n1,2)-pow(n2,2))\n", - "\n", - " B=k*sqrt(pow(n1,2)-pow(n2,2)/2)\n", - "\n", - " which gives its rms value\n" - ] - } - ], - "prompt_number": 4 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example5: PgNo-87" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "n1=3.6 #core refractive index\n", - "n2=3.3 # cladding refractive index\n", - "d=2.0 # thickness in um\n", - "y=0.8 # wavelength in um\n", - "\n", - "# Calculations\n", - "m=(2*d*math.sqrt(math.pow(n1,2)-math.pow(n2,2))/y) # total no. of models allowed\n", - "M=math.ceil(m) # total no. of models allowed\n", - "\n", - "print \" Total no. of models allowed= \",int(M)" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " Total no. of models allowed= 8\n" - ] - } - ], - "prompt_number": 5 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example6: PgNo-88" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Initialisation of variables\n", - "n1=1.48 # core refractive index\n", - "a=40*(math.pow(10,-6)) #core radius in meter\n", - "dl=0.015 # index difference\n", - "y=0.85*(math.pow(10,-6)) # wavelength in um\n", - "\n", - "# Calculations\n", - "v=(2*math.pi*a*n1*math.sqrt(2*dl))/y # normalised frequency\n", - "M=math.pow(v,2)/2\n", - "m=math.ceil(M) # the total no. of guided modes\n", - "\n", - "# Results\n", - "print ('%s %.2f' %(\" normalised frequency= \",v))\n", - "print \"\\n The total no. of guided modess = \",int(m)" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " normalised frequency= 75.80\n", - "\n", - " The total no. of guided modess = 2873\n" - ] - } - ], - "prompt_number": 6 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example7: PgNo-89" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Initialisation of variables\n", - "n1=1.46 # core refractive index\n", - "dl=0.015 # index difference\n", - "a=30*(math.pow(10,-6))# core radius in meter\n", - "y=0.85*(math.pow(10,-6)) #wavelength in um\n", - "\n", - "# calcualtions\n", - "n2=n1-(n1*dl)# cladding refractive index\n", - "v=(2*math.pi*a*n1*math.sqrt(2*dl))/y # normalised frequency\n", - "M=math.pow(v,2)/2 # the total no. of guided modes\n", - "\n", - "# Results\n", - "print ('%s %.2f' %(\" Cladding refractive index= \",n2))\n", - "print ('%s %.3f'%(\"\\n Normalised frequency= \",v))\n", - "print \"\\n The total no. of guided modes = \",int(M)" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " Cladding refractive index= 1.44\n", - "\n", - " Normalised frequency= 56.078\n", - "\n", - " The total no. of guided modes = 1572\n" - ] - } - ], - "prompt_number": 7 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example8: PgNo-91" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Initialisation of variables\n", - "n1=1.5 # core refractive index\n", - "dl=0.01 # index difference\n", - "M=1100 # the total no. of guided modes\n", - "y=1.3*(math.pow(10,-6)) # wavelength in um\n", - "v=math.sqrt(2*M)# normalised frequency\n", - "\n", - "# Calculations\n", - "a=(v*y)/(2*math.pi*n1*math.sqrt(2*dl))*math.pow(10,6) #core radius in meter\n", - "\n", - "# Results\n", - "print ('%s %.2f' %(\" Normalised frequency= \",v))\n", - "print ('%s %.2f %s' %(\"\\n The diameter of the fiber core = \",2*a,\"um\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " Normalised frequency= 46.90\n", - "\n", - " The diameter of the fiber core = 91.50 um\n" - ] - } - ], - "prompt_number": 8 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example9: PgNo-91" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Initialisation of variables\n", - "n1=1.45 # core refractive index\n", - "n_m=0.16 # numerical aperture\n", - "\n", - "# Calculations\n", - "a=30*math.pow(10,-6) # core radius in micrometer\n", - "y=0.5*(math.pow(10,-6)) # wavelength in um\n", - "v=(2*math.pi*a*n_m)/y #normalised frequency\n", - "\n", - "# Results\n", - "print ('%s %.2f' %(\" Normalised frequency= \",v))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " Normalised frequency= 60.32\n" - ] - } - ], - "prompt_number": 9 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example10: PgNo-93" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Initialisation of variables\n", - "n1=3.6 # core refractive index\n", - "n2=3.56 # cladding refractive index\n", - "y=0.85*(math.pow(10,-6))# wavelength in um\n", - "m=1\n", - "n=0\n", - "v_c=2.405 # for planner guide\n", - "\n", - "# Calculations\n", - "a=(v_c*y)/(2*math.pi*math.sqrt(math.pow(n1,2)-math.pow(n2,2)))# core radius in micrometer\n", - "\n", - "print ('%s %.2f %s' %(\"The max thickness= \",a*pow(10,6),\"um\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "The max thickness= 0.61 um\n" - ] - } - ], - "prompt_number": 10 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example11: PgNo-94" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# variable declaration\n", - "n1=1.5 #core refractive index\n", - "y=1.3*(math.pow(10,-6)) # wavelength in um\n", - "M=1100 # total no. of models\n", - "dl=0.01 # index difference\n", - "\n", - "# Calculations\n", - "v=math.sqrt(2*M)\n", - "V=math.ceil(v)\n", - "a=(V*y)/(2*math.pi*n1*math.sqrt(2*dl))*math.pow(10,6) # core radius in micrometer\n", - "a1=math.ceil(a)# core radius in micrometer\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\"The core diameter= \",2*a1,\"um\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "The core diameter= 92.00 um\n" - ] - } - ], - "prompt_number": 11 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example12: PgNo-96" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Initialisation of variables\n", - "n1=1.45 # core refractive index\n", - "dl=0.015 # index difference\n", - "\n", - "# Calculations\n", - "y=0.85*(math.pow(10,-6)) # wavelength in meter\n", - "v=2.4*math.pow((1+(2/2)),(0.5))# Max normalised frequency\n", - "a=(v*y)/(2*math.pi*n1*math.pow((2*dl),(0.5))) # Max core radius in m\n", - "d=2*a # The max core diameter in meter\n", - "\n", - "# Results\n", - "print ('%s %.3f %s'%(\" The max core diameter in meter= \",d*pow(10,6),\"um\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The max core diameter in meter= 3.657 um\n" - ] - } - ], - "prompt_number": 12 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example13: PgNo-98" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable Initialisation\n", - "n1=1.48 #core refractive index\n", - "n2=1.46 # cladding refractive index\n", - "a=2.5 # radius in um\n", - "y=0.85 # wavelength in um\n", - "dl=(n1-n2)/n1 # index difference\n", - "v=(2*math.pi*a*n1*math.pow((2*dl),(0.5)))/y #the normaised frequency\n", - "M=(v*v)/2 # number of modes\n", - "print \" The number of modes= \",int(M)\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The number of modes= 10\n" - ] - } - ], - "prompt_number": 13 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example14: PgNo-101" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Initialisation of variables\n", - "a=25 # radius in um\n", - "y=1.3 # wavelength in um\n", - "v=26.6 # the normaised frequency\n", - "NA=(v*y)/(2*math.pi*a) #Numerical aperture\n", - "a_c=math.pi*math.pow((NA),2)\n", - "M=(v*v)/2\n", - "\n", - "# Results\n", - "print ('%s %.3f' %(\" The number of modes= \", NA))\n", - "print ('%s %.3f' %(\"\\n The number of modes= \", a_c))\n", - "print (\"\\n Answer in textbook is wrong\")\n", - "print \"\\n The number of modes= \",int(M)" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The number of modes= 0.220\n", - "\n", - " The number of modes= 0.152\n", - "\n", - " Answer in textbook is wrong\n", - "\n", - " The number of modes= 353\n" - ] - } - ], - "prompt_number": 14 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example15: PgNo-103" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Declaration of variables\n", - "n1=1.49 # core refractive index\n", - "n2=1.47 # cladding refractive index\n", - "a=2 # radius in um\n", - "dl=(n1-n2)/n1 # index difference\n", - "v_c=2.405\n", - "\n", - "# calculations\n", - "y_c=(2*math.pi*a*n1*math.pow((2*dl),(0.5)))/v_c # cut off wavelength in um\n", - "Y=1.31 # wavelength in um\n", - "A=(v_c*Y)/(2*math.pi*n1*math.pow((2*dl),(0.5))) # min core radius in um\n", - "\n", - "# Results\n", - "print ('%s %.3f %s' %(\" The cut off wavelength = \",y_c,\"um\"))\n", - "print ('%s %.3f %s' %(\"\\n The min core radius = \",A,\"um\"))\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The cut off wavelength = 1.276 um\n", - "\n", - " The min core radius = 2.054 um\n" - ] - } - ], - "prompt_number": 15 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example16: PgNo-105" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Initialisation of variables\n", - "a=25 # radius in um\n", - "NA=0.3 # Numerical aperture\n", - "y=1 # wavelength in um\n", - "v=(2*math.pi*a*NA)/y # the normalised frequency\n", - "V=47.1 # the normalised frequency\n", - "M=(V*V)/4 # The mode volume\n", - "\n", - "# Results\n", - "print ('%s %.2f' %(\" The normalised frequency = \",v))\n", - "print \"\\n The mode volume = \",int(M),\"guided modes\"" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The normalised frequency = 47.12\n", - "\n", - " The mode volume = 554 guided modes\n" - ] - } - ], - "prompt_number": 16 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example17: PgNo-107" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# variable declaration\n", - "n1=1.46 # core refractive index\n", - "a=4.5 # radius in um\n", - "dl=0.0025 # relative index difference\n", - "v_c=2.405\n", - "\n", - "# calculations\n", - "y_c=(2*math.pi*a*n1*math.pow((2*dl),(0.5)))/v_c # cut off wavelength in um\n", - "\n", - "print ('%s %.3f %s' %(\" The cut off wavelength = \",y_c,\"um\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The cut off wavelength = 1.214 um\n" - ] - } - ], - "prompt_number": 17 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example18: PgNo-109" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Initialisation of variables\n", - "n1=1.5 #core refractive index\n", - "n2=1.45 # cladding refractive index\n", - "a=50 # radius in um\n", - "y=1.3 #operating wavelength in um\n", - "\n", - "# calculations\n", - "NA=math.sqrt(math.pow(n1,2)-math.pow(n2,2)) # numerical aperture\n", - "N_A=0.38 \n", - "v=(2*math.pi*a*N_A)/y # cut of numbers\n", - "M=math.pow(v,2)/2 # number of modes\n", - "\n", - "print ('%s %.2f'%(\" The cut of numbers = \",v))\n", - "print \"\\n The number of modes = \",int(M)\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The cut of numbers = 91.83\n", - "\n", - " The number of modes = 4216\n" - ] - } - ], - "prompt_number": 18 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example19: PgNo-111" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "n1=1.53 # core refractive index\n", - "n2=1.5 # cladding refractive index\n", - "y=1.5 # operating wavelength in um\n", - "\n", - "# calculation\n", - "NA=math.sqrt(math.pow(n1,2)-math.pow(n2,2)) # numerical aperture\n", - "a=(2.405*y)/(2*math.pi*NA)# max radius in um\n", - "\n", - "print ('%s %.2f %s' %(\" The max core radius = \",a,\"um\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The max core radius = 1.90 um\n" - ] - } - ], - "prompt_number": 19 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example20: PgNo-112" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# variable declaration\n", - "a=25 # max radius in um\n", - "y=0.8 # operating wavelength in um\n", - "NA=0.343 # numerical aperture\n", - "v=(2*math.pi*a*NA)/y # v-number\n", - "M=math.pow(v,2)/2 #number of modes\n", - "\n", - "print ('%s %.6f' %(\" The v-number = \",v))\n", - "print \"\\n The number of modes = \",int(M)" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The v-number = 67.347893\n", - "\n", - " The number of modes = 2267\n" - ] - } - ], - "prompt_number": 20 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example21: PgNo-114" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Initialisation of variables\n", - "n1=1.5 #core refractive index\n", - "NA=0.38 # numerical aperture\n", - "v=75 # v-number\n", - "y=1.3 # operating wavelength in um\n", - "a=(v*y)/(2*math.pi*NA) # core radius in um\n", - "n2=math.sqrt(math.pow(n1,2)-math.pow(NA,2))# cladding refractive index\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The core radius = \",a,\"um\"))\n", - "print ('%s %.2f' %(\"\\n The cladding refractive index = \", n2))\n", - "print (\"\\n answer in textbook is wrong \")" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The core radius = 40.84 um\n", - "\n", - " The cladding refractive index = 1.45\n", - "\n", - " answer in textbook is wrong \n" - ] - } - ], - "prompt_number": 21 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example22: PgNo-117" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "#Initialisation of variables\n", - "y=1.2 # operating wavelength in um\n", - "w=5 # spot size in um\n", - "x=(2*y)/(math.pi*w) # the divergence angle in degree\n", - "\n", - "# results\n", - "print ('%s %.3f %s' %(\" The divergence angle = \",x,\"degree\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The divergence angle = 0.153 degree\n" - ] - } - ], - "prompt_number": 22 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example23: PgNo-119" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Initialisation of variables\n", - "n1=1.46 # core refractive index\n", - "a=4.5 # core radius in um\n", - "dl=0.0025 # relative index difference\n", - "NA=n1*(math.sqrt(2*dl)) # numerical aperture\n", - "v=2.405\n", - "y=(2*math.pi*a*NA)/(v) # cut off wavelength in um\n", - "\n", - "print ('%s %.3f %s' %(\" The cut off wavelength = \",y,\"um\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The cut off wavelength = 1.214 um\n" - ] - } - ], - "prompt_number": 23 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example24: PgNo-121" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# variable declaration\n", - "n1=1.5 # core refractive index\n", - "n2=1.47 # cladding refractive index\n", - "y1=0.87 # operating wavelength in um\n", - "y2=1.5 # operating wavelength in um\n", - "a=25.0 # max radius in um\n", - "\n", - "# Calculations\n", - "NA=math.sqrt(math.pow(n1,2)-math.pow(n2,2)) # numerical aperture\n", - "v1=(2*math.pi*a*NA)/y1\n", - "v2=(2*math.pi*a*NA)/y2\n", - "al=2.0 # parabolic index profile for GRIN\n", - "M1=(al/(al+2))*(math.pow(v1,2)/2)# number of modes\n", - "M2=(al/(al+2))*(math.pow(v2,2)/2)# number of modes\n", - "\n", - "# Results\n", - "print \" The number of modes at 870 nm = \",int(M1),\"um\"\n", - "print \"\\n The number of modes = \",int(M2),\"um\"\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The number of modes at 870 nm = 726 um\n", - "\n", - " The number of modes = 244 um\n" - ] - } - ], - "prompt_number": 24 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example25: PgNo-122" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Initialisation of variables\n", - "n1=1.5 # core refractive index\n", - "n2=1.46 # cladding refractive index\n", - "v=2.4 # cut off parameter\n", - "y=0.85 # operating wavelength in um\n", - "\n", - "# Calculations\n", - "NA=math.sqrt(math.pow(n1,2)-math.pow(n2,2)) # numerical aperture\n", - "a=(v*y)/(2*math.pi*NA)# max radius in um\n", - "w=v*a # spot size\n", - "x=(2*y)/(3.4*w) # divergence angle in degree\n", - "d=50 # distance in meter\n", - "w_s=(y*d)/(math.pi*w) # spot size at 50 meter\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The numerical aperture = \",NA,\"um\"))\n", - "print ('%s %.2f %s' %(\"\\n The max core radius = \",a,\"um\"))\n", - "print ('%s %.2f %s' %(\"\\n The spot size = \",w,\"um\"))\n", - "print ('%s %.3f %s' %(\"\\n The divergence angle = \",x,\"degree\"))\n", - "print ('%s %.2f %s' %(\"\\n The spot size at 50 meter = \",w_s,\"m\"))\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The numerical aperture = 0.34 um\n", - "\n", - " The max core radius = 0.94 um\n", - "\n", - " The spot size = 2.26 um\n", - "\n", - " The divergence angle = 0.221 degree\n", - "\n", - " The spot size at 50 meter = 5.97 m\n" - ] - } - ], - "prompt_number": 25 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example26: PgNo-124" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Initialisation of variables\n", - "n1=1.53 # core refractive index\n", - "n2=1.50 # cladding refractive index\n", - "y=1.2 # wavelength in um\n", - "v=2.405\n", - "a=(v*y)/(2*math.pi*(math.sqrt(math.pow(n1,2)-math.pow(n2,2)))) #core radius in micrometer\n", - "\n", - "print ('%s %.3f %s' %(\" The max diameter= \",2*a,\"um\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The max diameter= 3.047 um\n" - ] - } - ], - "prompt_number": 26 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example27: PgNo-127" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "# Initialisation of variables\n", - "n1=1.47 # core refractive index\n", - "n2=1.46 # cladding refractive index\n", - "y=1.3 # wavelength in um\n", - "dl=(n1-n2)/n1 # fractional refractive index diff\n", - "\n", - "# calculations\n", - "NA=math.sqrt(math.pow(n1,2)-math.pow(n2,2))\n", - "v=2.405\n", - "a=(v*y)/(2*math.pi*(math.sqrt(math.pow(n1,2)-math.pow(n2,2))))# largest core radius in micrometer\n", - "n_eff=n1-(NA/(2*math.pi*(a/y))) # fractional refractive index\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The largest core radius = \",a,\"um\"))\n", - "print ('%s %.2f' %(\"\\n The fractional refractive index= \",n_eff))\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The largest core radius = 2.91 um\n", - "\n", - " The fractional refractive index= 1.46\n" - ] - } - ], - "prompt_number": 27 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example28: PgNo-130" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# initialisation of variables\n", - "n1=1.50 # core refractive index\n", - "n2=1.48 # cladding refractive index\n", - "NA=math.sqrt(math.pow(n1,2)-math.pow(n2,2)) # numerical aperture\n", - "a=25 # core radius in um\n", - "y=0.85 # wavelength in um\n", - "v=(2*math.pi*a*NA)/y #cut off parameter\n", - "M=math.pow(v,2)/2 # number of modes\n", - "\n", - "# Results\n", - "print ('%s %.3f' %(\" The cut off parameter = \",v))\n", - "print \"\\n The number of modes = \",int(M)" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The cut off parameter = 45.115\n", - "\n", - " The number of modes = 1017\n" - ] - } - ], - "prompt_number": 28 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example29: PgNo-132" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# initialisation of variables\n", - "n1=1.50 # core refractive index\n", - "a=25 # core radius in um\n", - "y=1.5 # wavelength in um\n", - "v=2.405\n", - "\n", - "# Calculations\n", - "NA=(v*y)/(2*math.pi*a) # numerical aperture\n", - "D=math.pow((NA/n1),2)/(2) # max value of D\n", - "n2=n1-(D*n1) # cladding refractive index\n", - "\n", - "# Results\n", - "print ('%s %.6f' %(\" The max value of D = \",D))\n", - "print ('%s %.2f' %(\"\\n The cladding refractive index = \",n2))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The max value of D = 0.000117\n", - "\n", - " The cladding refractive index = 1.50\n" - ] - } - ], - "prompt_number": 29 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example30: PgNo-133" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "# variable declaration\n", - "n1=1.52 #core refractive index\n", - "n2=1.48 #cladding refractive index\n", - "a=45 # core radius in um\n", - "y=0.85 # wavelength in um\n", - "\n", - "# Calculations\n", - "dl=(n1-n2)/n1 # relative refractive index\n", - "x=(math.asin(n2/n1))*(180/math.pi) # critical angle in degree\n", - "NA=math.sqrt(math.pow(n1,2)-math.pow(n2,2)) #numerical aperture\n", - "a_c=(math.asin(NA))*(180/math.pi) #acceptance angle in degree\n", - "a_s=math.pi*(math.pow(n1,2)-math.pow(n2,2))# solid acceptance angle\n", - "v=(2*math.pi*a*0.34)/y # normalise v-number\n", - "M=math.pow(v,2)/2 # number of guided modes\n", - "a1=5 # for single mode step fiber\n", - "v1=(2*math.pi*a1*0.34)/y\n", - "M1=math.pow(v1,2)/2\n", - "R=int(M)-int(M1)# reduction in modes\n", - "\n", - "# Results\n", - "print ('%s %.4f' %(\" The max value of D = \",dl))\n", - "print ('%s %.2f %s' %(\"\\n The critical angle = \",x,\"degree\"))\n", - "print ('%s %.2f %s' %(\"\\n The acceptance angle = \",2*a_c,\"degree\"))\n", - "print ('%s %.2f %s' %(\"\\n The solid acceptance angle = \",a_s,\"degree\"))\n", - "print ('%s %.2f ' %(\"\\n The numerical aperture = \",NA))\n", - "print ('%s %.2f ' %(\"\\n The normalise v-number = \",v))\n", - "print \"\\n The number of guided modes = \",int(M)\n", - "print \"\\n The reduction in modes = \",R\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The max value of D = 0.0263\n", - "\n", - " The critical angle = 76.83 degree\n", - "\n", - " The acceptance angle = 40.54 degree\n", - "\n", - " The solid acceptance angle = 0.38 degree\n", - "\n", - " The numerical aperture = 0.35 \n", - "\n", - " The normalise v-number = 113.10 \n", - "\n", - " The number of guided modes = 6395\n", - "\n", - " The reduction in modes = 6317\n" - ] - } - ], - "prompt_number": 30 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example31: PgNo-135" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "# Initialisation of variables\n", - "\n", - "n1=1.46 #core refractive index\n", - "a=45/2 #max radius in um\n", - "y=0.85 # operating wavelength in um\n", - "NA=0.17 # numerical aperture\n", - "v=(2*math.pi*a*NA)/y #normalised frequency\n", - "M=math.pow(v,2)/2 # number of modes\n", - "\n", - "# Results\n", - "print ('%s %.2f' %(\" The normalised frequency = \",v))\n", - "print \"\\n The number of modes = \",int(M)\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The normalised frequency = 27.65\n", - "\n", - " The number of modes = 382\n" - ] - } - ], - "prompt_number": 31 - } - ], - "metadata": {} - } - ] -} \ No newline at end of file diff --git a/Optical_Fiber_Communication/Chapter4.ipynb b/Optical_Fiber_Communication/Chapter4.ipynb deleted file mode 100755 index 5cb4e7c2..00000000 --- a/Optical_Fiber_Communication/Chapter4.ipynb +++ /dev/null @@ -1,887 +0,0 @@ -{ - "metadata": { - "name": "", - "signature": "sha256:7b1c137849cf93f7c696bb48d79752abb9cdb5dcbbc9af1acedb41baab1b64d4" - }, - "nbformat": 3, - "nbformat_minor": 0, - "worksheets": [ - { - "cells": [ - { - "cell_type": "heading", - "level": 1, - "metadata": {}, - "source": [ - "Chapter 4: Transmission Characteristics of Optical Fibers" - ] - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 1: PgNo-138" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "Pi=100*math.pow(10,-6) # mean optical power in watt\n", - "Po=2*math.pow(10,-6) # output mean power in watt\n", - "L=6 # length in km\n", - "L1=8 # length in km\n", - "asp=10*math.log(Pi/Po)/math.log(10) # signal attenuation in dB\n", - "as1=asp/L # signal attenuation per km\n", - "Li=as1*L1 # Loss incurred along 8 km\n", - "Ls=7 # Loss due to splice in dB\n", - "as2=Li+Ls #overall signal attenuation in dB\n", - "As2=29.4 #aprox. overall signal attenuation in dB\n", - "Pio=math.pow(10,(As2/10)) #i/p o/p power ratio\n", - "\n", - "#Results\n", - "print ('%s %.2f %s' %(\" The signal attenuation = \",asp,\"dB\"))\n", - "print ('%s %.2f %s' %(\"\\n The signal attenuation per km = \",as1,\"dB/km\"))\n", - "print ('%s %.2f %s' %(\"\\n The trgth = \",Li,\"km\"))\n", - "print ('%s %.2f %s' %(\"\\n The overall signal attenuation = \",as2,\"dB\"))\n", - "print ('%s %.2f' %(\"\\n The i/p o/p power ratio = \", Pio))\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The signal attenuation = 16.99 dB\n", - "\n", - " The signal attenuation per km = 2.83 dB/km\n", - "\n", - " The trgth = 22.65 km\n", - "\n", - " The overall signal attenuation = 29.65 dB\n", - "\n", - " The i/p o/p power ratio = 870.96\n" - ] - } - ], - "prompt_number": 1 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 2: PgNo-142" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "Pi=1.5*math.pow(10,-3) # mean optical power in watt\n", - "Po=2*math.pow(10,-6) # output mean power in watt\n", - "a=0.5 # dB/km\n", - "L=(10*math.log(Pi/Po)/math.log(10))/a # max possible link Length in km\n", - "\n", - "print ('%s %.3f %s' %(\" The max possible link Length = \",L,\"km\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The max possible link Length = 57.501 km\n" - ] - } - ], - "prompt_number": 2 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 3: PgNo-147" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable Declaration\n", - "n=1.46 # core refractive index\n", - "p=0.286 # photoelastic coeff\n", - "b=7*math.pow(10,-11) # isothermal compressibility\n", - "k=1.381*math.pow(10,-23) # boltzmann's constant\n", - "tf=1400 # fictive temperature in k\n", - "y1=0.85*math.pow(10,-6) # wavelength in m\n", - "\n", - "# Calculations\n", - "yr=((8*math.pow(math.pi,3)*math.pow(n,8)*math.pow(p,2)*(b*k*tf)))/(3*math.pow(y1,4))\n", - "akm=pow(math.e,(-yr*math.pow(10,3)))\n", - "at=10*math.log(1/akm)/math.log(10)# attenuation at y=0.85 um\n", - "y2=1.55*math.pow(10,-6) # wavelength in m\n", - "yr1=((8*math.pow(math.pi,3)*math.pow(n,8)*math.pow(p,2)*(b*k*tf)))/(3*math.pow(y2,4))\n", - "akm1=math.pow(math.e,(-yr1*math.pow(10,3)))\n", - "at1=10*math.log(1/akm1)/math.log(10)# attenuation at y=1.55 um\n", - "y3=1.30*math.pow(10,-6) # wavelength in m\n", - "yr2=((8*math.pow(math.pi,3)*math.pow(n,8)*math.pow(p,2)*(b*k*tf)))/(3*math.pow(y3,4))\n", - "akm2=math.pow(math.e,(-yr2*math.pow(10,3)))\n", - "at2=10*math.log(1/akm2)/math.log(10)# attenuation at y=1.30 um\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The Loss of an optical fiber = \",at,\"dB/km\"))\n", - "print ('%s %.2f %s' %(\"\\n The Loss of an optical fiber = \",at1,\"dB/km\"))\n", - "print ('%s %.2f %s' %(\"\\n The Loss of an optical fiber = \",at2,\"dB/km\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The Loss of an optical fiber = 1.57 dB/km\n", - "\n", - " The Loss of an optical fiber = 0.14 dB/km\n", - "\n", - " The Loss of an optical fiber = 0.29 dB/km\n" - ] - } - ], - "prompt_number": 3 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 4: PgNo-149" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "d=6 # core diameter in m\n", - "y=1.55 # wavelength in m\n", - "a=0.5 # attenuation in dB/km\n", - "v=0.4\n", - "Pb=4.4*math.pow(10,-3)*math.pow(d,2)*math.pow(y,2)*a*v # threshold power for SBS\n", - "Pr=5.9*math.pow(10,-2)*math.pow(d,2)*y*a # threshold power for SRS\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The threshold power for SBS = \",Pb*pow(10,3),\"mw\"))\n", - "print ('%s %.2f %s' %(\"\\n The threshold power for SRS = \",Pr,\"W\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The threshold power for SBS = 76.11 mw\n", - "\n", - " The threshold power for SRS = 1.65 W\n" - ] - } - ], - "prompt_number": 4 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 5: PgNo-153" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "n1=1.46 # core refractive index\n", - "dl=0.03 # relative refractive index difference\n", - "y=0.85*math.pow(10,-6) #operating wavelength in m\n", - "a=4*math.pow(10,-6) # core radous in m\n", - "\n", - "# Calculations\n", - "n2=math.sqrt(math.pow(n1,2)-2*dl*math.pow(n1,2)) #cladding refractive index\n", - "Rc=(3*math.pow(n1,2)*y)/(4*math.pi*math.pow((math.pow(n1,2)-math.pow(n2,2)),1.5)) # critical radius of curvature for multimode fiber\n", - "Dl=0.003 # relative refractive index difference\n", - "N2=math.sqrt(math.pow(n1,2)-2*Dl*math.pow(n1,2))\n", - "yc=math.pow(2*math.pi*a*n1*(2*Dl),0.5)/2.405 # cut off wavelength in m\n", - "y1=1.55*math.pow(10,-6) # operating wavelength in m\n", - "Rcs=(20*y1*math.pow((2.748-0.996*(y1/yc)),-3))/math.pow((0.005),1.5) # critical radius of curvature for a single mode fiber\n", - "\n", - "# Results\n", - "print '%s %.4f %s' %(\" The critical radius of curvature for multimode fiber = \",Rc*math.pow(10,6),\"um\")\n", - "print '%s %.4f %s' %(\"\\n The critical radius of curvature for a single mode fiber = \",Rcs*math.pow(10,3),\"um\")\n", - "print \"\\nThe answer is wrong in the textbook for single mode fiber\"" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The critical radius of curvature for multimode fiber = 9.4569 um\n", - "\n", - " The critical radius of curvature for a single mode fiber = 4.2620 um\n", - "\n", - "The answer is wrong in the textbook for single mode fiber\n" - ] - } - ], - "prompt_number": 5 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 6: PgNo-157" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# variable declaration\n", - "x=2.0 # index profile\n", - "dl=0.0126 #index difference\n", - "a=(85.0/2.0)*math.pow(10,-6) # core radius\n", - "R=2.0*math.pow(10,-3) # curve of radius\n", - "n1=1.45 # core refractive index\n", - "k=6.28\n", - "\n", - "# Calculations\n", - "y=850.0*math.pow(10,-9) # wavelength in m\n", - "A=(x+2)/(2*x*dl)\n", - "B=(2*a/R)\n", - "C=math.pow((3*y/(2*k*R*n1)),(2.0/3.0))\n", - "D=B+C\n", - "E=A*D\n", - "F=1-E\n", - "Lm=-10*math.log(-F)/math.log(10) # macrobend loss in dB\n", - "print ('%s %.2f %s' %(\" The macrobend loss = \",Lm,\"dB\"))\n", - "print (\"\\n The answer is wrong in the textbook \")" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The macrobend loss = -3.99 dB\n", - "\n", - " The answer is wrong in the textbook \n" - ] - } - ], - "prompt_number": 6 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 7: PgNO-160" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "Pi=15 # optical power in uw\n", - "Po=7 # ouput power in uw\n", - "L=0.15 # length in km\n", - "Ls=(10*math.log(Pi/Po)/math.log(10))/L # Loss of an optical fiber in dB\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The Loss of an optical fiber = \",Ls,\"dB\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The Loss of an optical fiber = 20.07 dB\n" - ] - } - ], - "prompt_number": 7 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 8: PgNo-163" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "Pi=200*math.pow(10,-6) # average optical power in watt\n", - "Po=5*math.pow(10,-6) # average output power in watt\n", - "L=20 # in km\n", - "L1=12 # in km\n", - "ns=5 # number of attenuation\n", - "a=0.9 # attenuation in dB\n", - "\n", - "# Calculations\n", - "sa=10*math.log(Pi/Po)/math.log(10) # signal attenuation\n", - "sp=sa/L # signal attenuation per km\n", - "sn=sp*L1 # signal attenuation for 12 km\n", - "sn1=ns*a # attenuation in dB\n", - "sn2=sn+sn1 # overall signal attenuation in dB\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The signal attenuation per km = \",sp,\"dB/km\"))\n", - "print ('%s %.2f %s' %(\"\\n The overall signal attenuation= \",sn2,\"dB \"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The signal attenuation per km = 0.80 dB/km\n", - "\n", - " The overall signal attenuation= 14.11 dB \n" - ] - } - ], - "prompt_number": 8 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 9: PgNo-166" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "Pi=100*math.pow(10,-6) # average optical power in watt\n", - "Po=4*math.pow(10,-6) # average output power in watt\n", - "L=6 # in km\n", - "L1=10 # in km\n", - "\n", - "# Calculations\n", - "sa=10*math.log(Pi/Po)/math.log(10) # signal attenuation\n", - "sp=sa/L # signal attenuation per km\n", - "sn=sp*L1 # signal attenuation for 12 km\n", - "sn1=sn+9 # overall signal attenuation in dB\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The signal attenuation= \",sa,\"dB\"))\n", - "print ('%s %.2f %s' %(\"\\n The signal attenuation per km = \",sp,\"dB/km\"))\n", - "print ('%s %.2f %s' %(\"\\n The overall signal attenuation= \",sn1,\"dB\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The signal attenuation= 13.98 dB\n", - "\n", - " The signal attenuation per km = 2.33 dB/km\n", - "\n", - " The overall signal attenuation= 32.30 dB\n" - ] - } - ], - "prompt_number": 9 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 10: PgNo-167" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# variable initialisation\n", - "Pi=20*math.pow(10,-6) #average optical power in watt\n", - "Po=7.5*math.pow(10,-6) # average output power in watt\n", - "sl=10*math.log(Pi/Po)/math.log(10) # signal Loss in dB\n", - "L=15 #in km\n", - "L1=30 # in km\n", - "ns=29 # number of attenuation\n", - "sp=sl/L # signal Loss per km\n", - "sn=sp*L1 # signal attenuation for 30 km\n", - "sn1=sn+ns # overall signal attenuation in dB\n", - "i_o=math.pow(10,(sn1/20)) # input output power ratio\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The signal Loss = \",sl,\"dB\"))\n", - "print ('%s %.2f %s' %(\"\\n The signal Loss per km= \",sp,\"dB/km\"))\n", - "print ('%s %.2f %s' %(\"\\n The overall signal attenuation= \",sn1,\"dB\"))\n", - "print ('%s %.2f' %(\"\\n The input output power ratio= \",i_o))\n", - "\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The signal Loss = 4.26 dB\n", - "\n", - " The signal Loss per km= 0.28 dB/km\n", - "\n", - " The overall signal attenuation= 37.52 dB\n", - "\n", - " The input output power ratio= 75.16\n" - ] - } - ], - "prompt_number": 10 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 11: PgNo-171" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "Tf=1400 # temperature in k\n", - "Bc=7*math.pow(10,-11) # in m^2/N\n", - "n=1.38\n", - "P=0.29 # Photoelastic coefficient\n", - "y=0.9*math.pow(10,-6) # wavelength in m\n", - "K=1.38*math.pow(10,-23) # boltzman's constant\n", - "\n", - "# Calculations\n", - "Rrs=((8*math.pow(math.pi,3)*math.pow(n,8)*math.pow(P,2)*(Bc*Tf*K))/(3*math.pow(y,4)))\n", - "Rrs1=Rrs/math.pow(10,-3) # per km\n", - "Lkm=math.pow(math.e,(-Rrs1)) # transmission loss facter\n", - "At=10*math.log(1/Lkm)/math.log(10) # Attenuation in dB/km\n", - "\n", - "# results\n", - "print ('%s %.2f %s' %(\" The Attenuation= \",At,\"dB/km\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The Attenuation= 0.82 dB/km\n" - ] - } - ], - "prompt_number": 11 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 12: PgNo-172" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "y=1.35 # wavelength in um\n", - "d=5 # core diamater in um\n", - "a=0.75 # attenuation in dB/km\n", - "v=0.45 # bandwidth in GHz\n", - "\n", - "# calculations\n", - "Pb=4.4*math.pow(10,-3)*math.pow(d,2)*math.pow(y,2)*(a*v) #threshold optical power for sbs\n", - "Pr=5.9*math.pow(10,-2)*math.pow(d,2)*(y)*(a) #threshold optical power for sbr\n", - "Pbr=Pb/Pr # the ratio of threshold power level\n", - "print ('%s %.2f %s' %(\" The ratio of threshold power level= \",Pbr*100,\"%\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The ratio of threshold power level= 4.53 %\n" - ] - } - ], - "prompt_number": 12 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 13: PgNo-175" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "n1=1.5 #core refractive index\n", - "y=0.85*math.pow(10,-6) # wavelength in m\n", - "dl=0.024 # relative refractive index difference\n", - "N2=math.sqrt(math.pow(n1,2)-2*dl*math.pow(n1,2)) # cladding refractive index\n", - "n2=1.46\n", - "Rcs=(3*math.pow(n1,2)*y)/((4*math.pi)*math.pow((math.pow(n1,2)-math.pow(n2,2)),1.5)) # critical radius of curvature for multimode fiber\n", - "\n", - "# Results\n", - "print ('%s %.3f %s' %(\" The critical radius of curvature = \",Rcs*pow(10,6),\"um\"))\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The critical radius of curvature = 11.207 um\n" - ] - } - ], - "prompt_number": 13 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 14: PgNo-177" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "n1=1.45 # core refractive index\n", - "y=1.5*math.pow(10,-6) # wavelength in m\n", - "dl=0.03 # relative refractive index difference\n", - "a=5.0*math.pow(10,-6) # core radius\n", - "n2=math.sqrt(math.pow(n1,2)-2*dl*math.pow(n1,2)) # cladding refractive index\n", - "yc=(2*math.pi*a*n1*math.sqrt(2*dl))/(2.405)\n", - "Rcs=(20.0*y*(2.748-0.996*math.pow((y/yc),-3)))/math.pow((math.pow(n1,2)-math.pow(n2,2)),1.5)#critical radius of curvature for single mode fiber\n", - "Rcs1=(3*math.pow(n1,2)*y)/((4*math.pi)*math.pow(math.pow(n1,2)-math.pow(n2,2),1.5)) # critical radius of curvature for multimode fiber\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The critical radius of curvature for single mode fiber = \",Rcs*pow(10,6),\"um\"))\n", - "print (\"\\n The answer is wrong in the textbook \")\n", - "print ('%s %.2f %s' %(\"\\n The critical radius of curvature for multimode fiber = \",Rcs1*pow(10,6),\"um\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The critical radius of curvature for single mode fiber = -17893.87 um\n", - "\n", - " The answer is wrong in the textbook \n", - "\n", - " The critical radius of curvature for multimode fiber = 16.80 um\n" - ] - } - ], - "prompt_number": 14 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 15: PgNo-179" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# variable declaration\n", - "L=500.0/1000.0 # distance in km\n", - "Pio=(1/(1-0.75))\n", - "Ls=10*math.log(Pio)/math.log(10)/L # Loss in dB/km\n", - "\n", - "# Results\n", - "print ('%s %.3f %s' %(\" The Loss = \",Ls,\"dB/km\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The Loss = 12.041 dB/km\n" - ] - } - ], - "prompt_number": 15 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 16: PgNo-181" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "L=5 # length in km\n", - "a=0.5 # attenuaion loss in dB/km\n", - "# Calculations\n", - "Po=math.pow(10,-3)*math.pow(10,(-(a*L)/10)) # power level in mW\n", - "\n", - "# Results\n", - "print ('%s %.3f %s' %(\" The power level = \",Po*pow(10,3),\"mW\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The power level = 0.562 mW\n" - ] - } - ], - "prompt_number": 16 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 17: PgNo-186" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "L=1 #distance in km\n", - "Pio=(1/(1-0.40))\n", - "# Calculations\n", - "Ls=10*math.log(Pio)/math.log(10)/L # Loss in dB/km\n", - "\n", - "# Results\n", - "print ('%s %.3f %s' %(\" The Loss = \",Ls,\"dB/km\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The Loss = 2.218 dB/km\n" - ] - } - ], - "prompt_number": 17 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 18: PgNo-188" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Initialisation of variables\n", - "Pi=1*math.pow(10,-3) # input power in watt\n", - "Po=0.75*math.pow(10,-3) # output power in watt\n", - "a=0.5 #in dB/km\n", - "L=(10*math.log(Pi/Po)/math.log(10))/a # transmission length in km\n", - "\n", - "print ('%s %.1f %s'%(\" The transmission length = \",L,\"km\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The transmission length = 2.5 km\n" - ] - } - ], - "prompt_number": 18 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 19: PgNo-189" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# variable initialisation\n", - "y=1300.0*math.pow(10,-9) # wavelemgth in m\n", - "yc=1200.0*math.pow(10,-9) # cut off wavelength in m\n", - "rc=5.0*math.pow(10,-6) #core diameter in m\n", - "n=1.5 #refractive index\n", - "R=1.2/100.0 # curve of radius in m\n", - "\n", - "# Calculations\n", - "dmf=2*rc*((0.65)+0.434*math.pow((y/yc),1.5)+0.0149*math.pow((y/yc),6)) # mode field diameter\n", - "K=(2.0*math.pi)/y\n", - "Lm=-10*math.log(-1*(1-math.pow(K,4)*math.pow(n,4)*math.pow(((3.95*math.pow(10,-6))/(8*math.pow(R,2))),6)))/math.log(10) # macrobend loss\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The mode field diameter = \",dmf*pow(10,6),\"um\"))\n", - "print ('%s %.2f %s' %(\"\\n The macrobend loss = \",Lm,\"dB\"))\n", - "print (\"\\n The answer is wrong in the textbook\")\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The mode field diameter = 11.63 um\n", - "\n", - " The macrobend loss = -126.52 dB\n", - "\n", - " The answer is wrong in the textbook\n" - ] - } - ], - "prompt_number": 19 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 20: PgNO-191" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "#Variable initialisation\n", - "Pi=10*math.pow(10,-3) # input power in watt\n", - "Po=8*math.pow(10,-3) # output power in watt\n", - "L=0.150 # length in km\n", - "Ls=(10*math.log(Po/Pi)/math.log(10))/L\n", - "\n", - "print ('%s %.2f %s' %(\" The transmission length = \",Ls,\"km\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The transmission length = -6.46 km\n" - ] - } - ], - "prompt_number": 20 - } - ], - "metadata": {} - } - ] -} \ No newline at end of file diff --git a/Optical_Fiber_Communication/Chapter5.ipynb b/Optical_Fiber_Communication/Chapter5.ipynb deleted file mode 100755 index d4366624..00000000 --- a/Optical_Fiber_Communication/Chapter5.ipynb +++ /dev/null @@ -1,1476 +0,0 @@ -{ - "metadata": { - "name": "", - "signature": "sha256:9df1a39eaf45bb37d3874de747aedcb050a5a7704427c92544b1342299e9f172" - }, - "nbformat": 3, - "nbformat_minor": 0, - "worksheets": [ - { - "cells": [ - { - "cell_type": "heading", - "level": 1, - "metadata": {}, - "source": [ - "Chapter 5 : Optical Sources Laser" - ] - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 1: PgNo-193" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# variable declaration\n", - "t=0.1*math.pow(10,-6) # pulse broading in sec\n", - "d=12 # disance in km\n", - "B=1/(2*t) # max bandwidth MHz\n", - "\n", - "# Calculations\n", - "ds=t/d #dispersion in ns/km\n", - "bl=B*d # bandwidth length product\n", - "\n", - "# Results\n", - "print ('%s %.1f %s' %(\" The max bandwidth = \",B/pow(10,6),\"MHz\"))\n", - "print ('%s %.3f %s' %(\"\\n The dispersion = \",ds*pow(10,9),\"ns/km\"))\n", - "print ('%s %.1f %s' %(\"\\n bandwidth length product = \",bl/pow(10,6),\"MHz km\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The max bandwidth = 5.0 MHz\n", - "\n", - " The dispersion = 8.333 ns/km\n", - "\n", - " bandwidth length product = 60.0 MHz km\n" - ] - } - ], - "prompt_number": 65 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 2: PgNo-194" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "# Variable initialisation\n", - "t=0.1*math.pow(10,-6) # pulse broadening in sec\n", - "d=15 # disance in km\n", - "B=1/(2*t) # max bandwidth MHz\n", - "ds=t/d # dispersion in ns/km\n", - "bl=B*d # bandwidth length product\n", - "\n", - "# Results\n", - "print ('%s %.1f %s' %(\" The max bandwidth = \",B/pow(10,6),\"MHz\"))\n", - "print ('%s %.3f %s' %(\"\\n The dispersion = \",ds*pow(10,9),\"ns/km\"))\n", - "print ('%s %.1f %s' %(\"\\n bandwidth length product = \",bl/pow(10,6),\"MHz km\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The max bandwidth = 5.0 MHz\n", - "\n", - " The dispersion = 6.667 ns/km\n", - "\n", - " bandwidth length product = 75.0 MHz km\n" - ] - } - ], - "prompt_number": 66 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 3: PgNo-197" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "n1=1.465 # core refractive index\n", - "n2=1.45 #cladding refractive index\n", - "c=3*math.pow(10,8) # the speed of light in m/s\n", - "NA=math.sqrt(math.pow(n1,2)-math.pow(n2,2)) # numerical aperture\n", - "Mp=math.pow(NA,2)/(2*n1*c) # multipath pulse broadening in ns/km\n", - "bl=(1/math.pow(NA,2))*(2*n1*c) # bandwidth length product in GHz km\n", - "\n", - "# Results\n", - "print ('%s %.2f' %(\" The numerical aperture = \", NA))\n", - "print ('%s %.2f %s' %(\"\\n The multipath pulse broadening = \",Mp*pow(10,9),\"ns/km\"))\n", - "print ('%s %.1f %s' %(\"\\n The bandwidth length product = \",bl/pow(10,9),\"GHz km\"))\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The numerical aperture = 0.21\n", - "\n", - " The multipath pulse broadening = 0.05 ns/km\n", - "\n", - " The bandwidth length product = 20.1 GHz km\n" - ] - } - ], - "prompt_number": 67 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 4: PgNo-199" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "ds=0.020 # material dispersion\n", - "c=3*math.pow(10,8) # the speed of light m/s\n", - "y=1.3 #wavelength in um\n", - "M=ds/(c*y) # material dispersion parameter in ps/nm/km\n", - "w=6 # spectral width in nm\n", - "l=1 # length in km\n", - "rm=w*l*M # rms pulse broadening in ns/km\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The material dispersion parameter = \",M*math.pow(10,12),\"ps/nm/km\"))\n", - "print ('%s %.2f %s' %(\"\\n The rms pulse broadening = \",rm*math.pow(10,9),\"ns/km\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The material dispersion parameter = 51.28 ps/nm/km\n", - "\n", - " The rms pulse broadening = 0.31 ns/km\n" - ] - } - ], - "prompt_number": 68 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 5: PgNo-201" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "wr=0.0014 # relative spectral width in nm\n", - "y=1.3*math.pow(10,-6) # wavelength in m\n", - "w=wr*y # spectral width in nm\n", - "ds=0.020 # material dispersion\n", - "c=3*math.pow(10,8) # the speed of light in m/s\n", - "M=ds/(c*y) # material dispersion parameter in ps/nm/km\n", - "l=1 # length in km\n", - "rm=w*l*M # rms pulse broadening in ns/km\n", - "\n", - "print ('%s %.3f %s' %(\" The rms pulse broadening = \",rm*pow(10,9)*pow(10,3),\"ns/km\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The rms pulse broadening = 0.093 ns/km\n" - ] - } - ], - "prompt_number": 69 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 6: PgNo-205" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Initialisation of variables\n", - "n1=1.46 # core refractive index\n", - "dl=0.01 # relative index difference\n", - "L=10*math.pow(10,3) # optical length in meter\n", - "c=3*math.pow(10,8) # the speed of light in m/s\n", - "\n", - "# calculations\n", - "dt=(L*n1*dl)/c #delay difference in s\n", - "dT=dt*math.pow(10,9) # delay difference in ns\n", - "rm=(L*n1*dl)/(2*math.sqrt(3)*c) # rms pulse broadening s\n", - "rM=rm*math.pow(10,9) # rms pulse broadening ns\n", - "bt=0.2/rm # max bit rate in bit/sec\n", - "bT=bt/math.pow(10,6) # max bit rate in M bits/sec\n", - "bl=bt*L # bandwidth length product in Hz meter\n", - "bL=(bt*L)/(math.pow(10,6)*math.pow(10,3)) #bandwidth length product in MHz km\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The delay difference = \",dT,\"ns\"))\n", - "print ('%s %.2f %s' %(\"\\n The rms pulse broadening = \",rM,\"ns\"))\n", - "print ('%s %.2f %s' %(\"\\n The max bit rate = \",bT,\"M bits/sec\"))\n", - "print ('%s %.2f %s' %(\"\\n The bandwidth length product = \",bL,\"MHz km\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The delay difference = 486.67 ns\n", - "\n", - " The rms pulse broadening = 140.49 ns\n", - "\n", - " The max bit rate = 1.42 M bits/sec\n", - "\n", - " The bandwidth length product = 14.24 MHz km\n" - ] - } - ], - "prompt_number": 70 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 7: PgNo-208" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "n1=1.5 # core refractive index\n", - "dl=0.01 # relative index difference\n", - "L=6*math.pow(10,3) # optical length in meter\n", - "c=3*math.pow(10,8) # the speed of light in m/s\n", - "\n", - "# calculations\n", - "rm=(L*n1*dl)/(2*math.sqrt(3)*c) # rms pulse broadening s\n", - "rM=rm*math.pow(10,9) # rms pulse broadening ns\n", - "bt=0.2/rm # max bit rate in bit/sec\n", - "bT=bt/math.pow(10,6) # max bit rate in M bits/sec\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The rms pulse broadening = \",rM,\"ns\"))\n", - "print ('%s %.4f %s' %(\"\\n The max bit rate = \",bT,\"M bits/sec\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The rms pulse broadening = 86.60 ns\n", - "\n", - " The max bit rate = 2.3094 M bits/sec\n" - ] - } - ], - "prompt_number": 71 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 8: PgNo-209" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "n1=1.4 # core refractive index\n", - "dl=0.012 # relative index difference\n", - "L=6*math.pow(10,3) # optical length in meter\n", - "c=3*math.pow(10,8) # the speed of light in m/s\n", - "\n", - "# Calculations\n", - "dt=(L*n1*dl)/c # delay difference in s\n", - "dT=dt*math.pow(10,9) # delay difference in ns\n", - "rm=(L*n1*dl)/(2*math.sqrt(3)*c) # rms pulse broadening s\n", - "rM=rm*math.pow(10,9) # rms pulse broadening ns\n", - "bt=0.2/rm # max bit rate in bit/sec\n", - "bT=bt/math.pow(10,6) # max bit rate in M bits/sec\n", - "\n", - "# Results\n", - "print ('%s %.f %s' %(\" The delay difference = \",dT,\"ns\"))\n", - "print ('%s %.1f %s' %(\"\\n The rms pulse broadening = \",rM,\"ns\"))\n", - "print ('%s %.3f %s' %(\"\\n The max bit rate = \",bT,\"M bits/sec\"))\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The delay difference = 336 ns\n", - "\n", - " The rms pulse broadening = 97.0 ns\n", - "\n", - " The max bit rate = 2.062 M bits/sec\n" - ] - } - ], - "prompt_number": 72 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 9: PgNo-211" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# variable initialisation\n", - "n1=1.5 #core refractive index\n", - "c=3*math.pow(10,8) # the speed of light m/s\n", - "w=6*math.pow(10,-6) # rms spectral width in m\n", - "M=200 # material dispersion parameter in ps/nm/km\n", - "NA=0.25 # numerical aperture\n", - "w=50 # spectral width in nm\n", - "L=1 # length in m\n", - "\n", - "# calculations\n", - "rm=w*L*M # rms pulse broadening in s/km\n", - "rM=rm/math.pow(10,3) # rms pulse broadening in ns/km due to material dispersion\n", - "rm1=(L*1000*math.pow((NA),2))/(4*math.sqrt(3)*n1*c) # rms pulse broadening in ns/km due to material dispersion in sec/m\n", - "rM1=rm1*math.pow(10,9) # rms pulse broadening in ns/km due to intermodel dispersion in ns/km\n", - "rmt=math.sqrt(math.pow(rM,2)+math.pow(rM1,2)) # total rms pulse broadening in ns/km\n", - "bl=0.2/(rmt*math.pow(10,-9)) # bandwidth length product in Hz km\n", - "bL=bl/math.pow(10,6) # bandwidth length product in MHz km\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The total rms pulse broadening = \",rmt,\"ns/km\"))\n", - "print ('%s %.2f %s' %(\"\\n The bandwidth length product = \",bL,\"MHz km\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The total rms pulse broadening = 22.40 ns/km\n", - "\n", - " The bandwidth length product = 8.93 MHz km\n" - ] - } - ], - "prompt_number": 73 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 10: PgNo-214" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "yo=1320.0 # zero dispersion wavelength in nm\n", - "y=1290.0 # dispersion wavelength in nm\n", - "so=0.092 # dispersion slop\n", - "dt=(y*so/4)*(1-math.pow((yo/y),4)) #toal first order dispersion at 1290 nm in ps/nm/km\n", - "yo1=1310.0 # zero dispersion wavelength in um\n", - "y1=1550.0 # dispersion wavelength in nm\n", - "so=0.092 # dispersion slope\n", - "dt1=(y1*so/4)*(1-math.pow((yo1/y1),4)) # toal first order dispersion at 1550 nm in ps/nm/km\n", - "DM=13.5 # profile dispersion in ps/nm/km\n", - "DP=0.4 # profile dispersion in ps/nm/km\n", - "DW=dt1-(DM+DP) # wavelength dispersion in ps/nm/km\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The total first order dispersion at 1290 nm = \",dt,\"ps/nm/km\"))\n", - "print ('%s %.2f %s' %(\"\\n The total first order dispersion at 1550 nm = \",dt1,\"ps/nm/km\"))\n", - "print ('%s %.2f %s' %(\"\\n The wavelength dispersion at 1550 nm = \",DW,\"ps/nm/km\"))\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The total first order dispersion at 1290 nm = -2.86 ps/nm/km\n", - "\n", - " The total first order dispersion at 1550 nm = 17.46 ps/nm/km\n", - "\n", - " The wavelength dispersion at 1550 nm = 3.56 ps/nm/km\n" - ] - } - ], - "prompt_number": 74 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 11: PgNo-218" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# variable declaration\n", - "L=6*math.pow(10,-2) # beat length in m\n", - "dy=6*math.pow(10,-9) # spectral width in m\n", - "y=1.3*math.pow(10,-6) # operating wavelength in m\n", - "\n", - "# Calculations\n", - "BF=y/(L) # model birefrigence in um\n", - "Lc=math.pow(y,2)/(BF*dy) # coherence length in m\n", - "db=2*math.pi/(L) #difference beween two propagation constants\n", - "dB=(2*math.pi*BF)/y\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The model birefrigence = \",BF*pow(10,6),\"um\"))\n", - "print ('%s %.1f %s' %(\"\\n The coherence length= \",Lc,\"m\"))\n", - "print ('%s %.2f' %(\"\\n The difference beween two propagation constants= \", db))\n", - "print ('%s %.2f' %(\"\\n The difference beween two propagation constants= \", dB))\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The model birefrigence = 21.67 um\n", - "\n", - " The coherence length= 13.0 m\n", - "\n", - " The difference beween two propagation constants= 104.72\n", - "\n", - " The difference beween two propagation constants= 104.72\n" - ] - } - ], - "prompt_number": 75 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 12: PgNo-219" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "y=0.85*math.pow(10,-6) # operating wavelength in m\n", - "L=0.5*math.pow(10,-3) # beat length in m\n", - "BF=y/(L) # model birefrigence in um\n", - "L1=75 # beat length in m\n", - "BF1=y/(L1) #model birefrigence in um\n", - "\n", - "# Results\n", - "print ('%s %.4f %s' %(\" The model birefrigenceat 0.5 nm = \",BF,\"*10^-3\"))\n", - "print ('%s %.3f %s' %(\"\\n The model birefrigence at 75 m = \",BF1*math.pow(10,8),\"*10^-8\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The model birefrigenceat 0.5 nm = 0.0017 *10^-3\n", - "\n", - " The model birefrigence at 75 m = 1.133 *10^-8\n" - ] - } - ], - "prompt_number": 76 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 13: PgNo-222" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "Lc=100000 # coherence length in m\n", - "y=1.32*math.pow(10,-6) # operating wavelength in m\n", - "dy=1.5*math.pow(10,-9) # spectral width in m\n", - "BF=math.pow(y,2)/(Lc*dy) # model birefrigence in um\n", - "L=y/BF # beat length in m\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The beat length= \",L,\"m\"))\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The beat length= 113.64 m\n" - ] - } - ], - "prompt_number": 77 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 14: PgNo-225" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "#Variable initialisation\n", - "n1=1.46 # core refractive index\n", - "NA=0.25 # numerical aperture\n", - "c=3*math.pow(10,5) # the speed of light km/s\n", - "L=7 # length in km\n", - "si=math.pow(NA,2)/(4*math.sqrt(3)*n1*c) # intermodel pulse broadening ns/km\n", - "st=si*L # total intermodel pulse broadening\n", - "BW=0.187/st # bandwidth in MHz\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The intermodel pulse broadening = \",st*math.pow(10,9),\"ns/km\"))\n", - "print ('%s %.4f %s' %(\"\\n The bandwidth = \",BW/math.pow(10,6),\"MHz\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The intermodel pulse broadening = 144.17 ns/km\n", - "\n", - " The bandwidth = 1.2971 MHz\n" - ] - } - ], - "prompt_number": 78 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 15: PgNo-227" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "n1=1.46 # core refractive index\n", - "df=0.025\n", - "L=500 # length in m\n", - "c=3*math.pow(10,8) # the speed of light in m/s\n", - "dt=(n1*L*math.pow(df,2))/(8*c) # max dispersion in ns/m\n", - "\n", - "# Results\n", - "print ('%s %.4f %s' %(\" The max dispersion = \",dt*math.pow(10,9),\"ns/m\"))\n", - "print (\"\\n The answer in the textbook is wrong \")" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The max dispersion = 0.1901 ns/m\n", - "\n", - " The answer in the textbook is wrong \n" - ] - } - ], - "prompt_number": 79 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 16: PgNo-229" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "dy=15 # spectral width in nm\n", - "L=25 # optical length in km\n", - "ps=1.60 #pulse spreads in ns/km\n", - "pS=1.6 # pulse spreads in ns/km\n", - "d=pS/(dy*L) # material dispersion in ns/km^2/nm\n", - "\n", - "# Results\n", - "print ('%s %.4f %s' %(\" The max dispersion = \",d,\"ns/km^2/nm\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The max dispersion = 0.0043 ns/km^2/nm\n" - ] - } - ], - "prompt_number": 80 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 17: PgNo-231" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "#Variable declaration\n", - "n1=1.46 # core refractive index\n", - "NA=0.2 # numerical aperture\n", - "L=1.5*math.pow(10,3) # length in m\n", - "c=3*math.pow(10,8) # the spee of light in m/s\n", - "dt=(L*math.pow(NA,2))/(2*c*n1) #intermodel dispersion in ns/km\n", - "\n", - "# Results\n", - "print ('%s %.3f %s' %(\" The intermodel dispersion = \",dt*math.pow(10,9),\"ns/km\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The intermodel dispersion = 68.493 ns/km\n" - ] - } - ], - "prompt_number": 81 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 18: PgNo-234" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# variable initialisation\n", - "BLP=250*math.pow(10,6) # bandwidth length product in Hz\n", - "tr=0.32/BLP # intermodel pulse width broadening\n", - "md=75 # material dispersion in ps/nm.km\n", - "tm=2.25 # pulse broadening due to material dispersion in ns/km\n", - "tc=math.sqrt(math.pow((tr*math.pow(10,9)),2)+math.pow(tm,2)) # combine pulse broadening in ns/km\n", - "Ba=0.32/tm*math.pow(10,9) # actual BLP in Hz.km\n", - "Bac=Ba/math.pow(10,6) # actual BLP in MHz.km\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The intermodel pulse width broadening = \",tr*pow(10,9),\"ns/km\"))\n", - "print ('%s %.2f %s' %(\"\\n pulse broadening due to material dispersion = \",tm,\"ns/km\"))\n", - "print ('%s %.4f %s' %(\"\\n The combine pulse broadening = \",tc,\"ns/km\"))\n", - "print ('%s %.2f %s' %(\"\\n The actual BLP = \",Bac,\"MHz.km\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The intermodel pulse width broadening = 1.28 ns/km\n", - "\n", - " pulse broadening due to material dispersion = 2.25 ns/km\n", - "\n", - " The combine pulse broadening = 2.5886 ns/km\n", - "\n", - " The actual BLP = 142.22 MHz.km\n" - ] - } - ], - "prompt_number": 82 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 19: PgNo-235" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "L=40 # length in m\n", - "Ny=.75 # in ps/nm\n", - "dy=8 # spectral width in nm\n", - "t_mat=L*Ny*dy # chromatic/material dispersion in ps\n", - "t_mat1=t_mat/1000 # chromatic/material dispersion in ns\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The chromatic/material dispersion = \",t_mat1,\"ns\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The chromatic/material dispersion = 0.24 ns\n" - ] - } - ], - "prompt_number": 83 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 20: PgNo-237" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "y=1.3 # operating wavelength in um\n", - "md=2.80 # material dispersion in ns\n", - "wd=0.50 # waveguide dispersion in ns\n", - "wt=0.60 # width of transmitted pulse in ns\n", - "\n", - "# Calculations\n", - "td=math.sqrt(math.pow(md,2)+math.pow(wd,2)) # total dispersion in ns\n", - "dt=wt+td # received pulse width in ns\n", - "br=1/(5*dt*math.pow(10,-9)) # max bit rate bit/sec\n", - "Br=br/math.pow(10,6) # max bit rate in mbps\n", - "\n", - "# Results\n", - "print ('%s %.4f %s' %(\" The received pulse width = \",dt,\"ns\"))\n", - "print ('%s %.4f %s' %(\"\\n The max bit rate = \",Br,\"mbps\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The received pulse width = 3.4443 ns\n", - "\n", - " The max bit rate = 58.0671 mbps\n" - ] - } - ], - "prompt_number": 84 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 21: PgNo-239" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "y=0.85 # operating wavelength in um\n", - "md=2.75 # material dispersion in ns\n", - "wd=0.45 # waveguide dispersion in ns\n", - "wt=0.50 # width of transmitted pulse in ns\n", - "\n", - "# Calculations\n", - "td=math.sqrt(math.pow(md,2)+math.pow(wd,2)) # total dispersion in ns\n", - "dt=wt+td # received pulse width in ns\n", - "br=1/(5*dt*math.pow(10,-9)) # max bit rate bit/sec\n", - "Br=br/math.pow(10,6) # max bit rate in mbps\n", - "\n", - "# Results\n", - "print ('%s %.4f %s' %(\" The received pulse width = \",dt,\"ns\"))\n", - "print ('%s %.2f %s' %(\"\\n The max bit rate = \",Br,\"mbps\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The received pulse width = 3.2866 ns\n", - "\n", - " The max bit rate = 60.85 mbps\n" - ] - } - ], - "prompt_number": 85 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 22: PgNo-241" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "n1=1.46 # core refractive index\n", - "df=0.025\n", - "L=1500 # length in meter\n", - "c=3*math.pow(10,8) # the speed of ligth in m/s\n", - "md=(n1*L*df)/(c*(1-df)) # max dispersion in sec\n", - "Md=md*math.pow(10,9) # max dispersion in ns\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The max dispersion = \",Md,\"ns\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The max dispersion = 187.18 ns\n" - ] - } - ], - "prompt_number": 86 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 23: PgNo-243" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "n1=1.5 # core refractive index\n", - "L=1000 # length in meter\n", - "NA=0.22 # numerical aperture\n", - "\n", - "# Calculations\n", - "dl=math.pow((NA/n1),2)/2;\n", - "c=3*math.pow(10,8) # the speed of ligth in m/s\n", - "dt=(L*n1*dl)/c #intermodel dispersion in sec\n", - "dT=dt*math.pow(10,9) # intermodel dispersion in ns\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The max dispersion = \",dT,\"ns\"))\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The max dispersion = 53.78 ns\n" - ] - } - ], - "prompt_number": 87 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 24: PgNo-246" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "w=30.0 # line width in nm\n", - "L=1.5 # length in km\n", - "d1=6.0 # in ns/km\n", - "d2=85.0 # in ps/km/nm\n", - "d3=d2/1000 # in ns/km/nm\n", - "dt=d1*L # intermodel dispersion in ns\n", - "dt1=w*d3*L # intramodel dispersion in ns\n", - "dT=math.sqrt(math.pow(dt,2)+math.pow(dt1,2)) # total dispersion in ns\n", - "\n", - "# Results\n", - "print ('%s %.1f %s' %(\" The max dispersion = \",dt,\"ns\"))\n", - "print ('%s %.3f %s' %(\"\\n The max dispersion = \",dt1,\"ns\"))\n", - "print ('%s %.3f %s' %(\"\\n The max dispersion = \",dT,\"ns\"))\n", - "print (\"\\n answer in the textbook is wrong \")" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The max dispersion = 9.0 ns\n", - "\n", - " The max dispersion = 3.825 ns\n", - "\n", - " The max dispersion = 9.779 ns\n", - "\n", - " answer in the textbook is wrong \n" - ] - } - ], - "prompt_number": 88 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 25: PgNo-248" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "n1=1.55 # core refractive index\n", - "n2=1.48 # cladding refractive index\n", - "l=150 # fiber length in m\n", - "c=3*math.pow(10,8) #the speed of light in m/s\n", - "\n", - "# calculations\n", - "dl=(math.pow(n1,2)-math.pow(n2,2))/(2*n1)\n", - "dL=0.068\n", - "dt=(l*n1*dL)/(c) # intermodel dispersion in s\n", - "dT=dt*math.pow(10,9) # intermodel dispersion in ns\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The intermodel dispersion = \",dT,\"ns\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The intermodel dispersion = 52.70 ns\n" - ] - } - ], - "prompt_number": 89 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 26: PgNo-249" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Initialisation of variables\n", - "n1=1.42 # core refractive index\n", - "dl=0.02\n", - "c=3*math.pow(10,8) # the speed of light in m/s\n", - "dt=(n1*dl)/c # intermodel disersion in sec/m\n", - "dt1=dt*1000 # intermodel disersion in sec/km\n", - "dt2=dt1*math.pow(10,9) # intermodel disersion in ns/km\n", - "# Results\n", - "print ('%s %.3f %s' %(\" The intermodel dispersion per km = \",dt2,\"ns/km\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The intermodel dispersion per km = 94.667 ns/km\n" - ] - } - ], - "prompt_number": 90 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 27: PgNo-251" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "# Results\n", - "print (\" Dwg=n2*(dl/cy)*V(d^2(Vb)/dV^2)\")\n", - "print (\"\\n Dwg=n2*(dl/cy)*V(d^2(V(1-exp(-V))))/dv^2\")\n", - "print (\"\\n =CV(Z-V)exp(-V)\")\n", - "print (\"\\n where C=n2(dl/cy)\")\n", - "print (\"\\n waveguide dispersion will be zero , when V=2\")" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " Dwg=n2*(dl/cy)*V(d^2(Vb)/dV^2)\n", - "\n", - " Dwg=n2*(dl/cy)*V(d^2(V(1-exp(-V))))/dv^2\n", - "\n", - " =CV(Z-V)exp(-V)\n", - "\n", - " where C=n2(dl/cy)\n", - "\n", - " waveguide dispersion will be zero , when V=2\n" - ] - } - ], - "prompt_number": 91 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 28: PgNo-255" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# variable initialisation\n", - "y=900.0 # operating wavelength in nm\n", - "yo=1343.0 # wavelength in nm\n", - "so=0.095 # in ps/nm^2-km\n", - "L=150.0 # in km\n", - "dy=50.0 # in nm\n", - "\n", - "# calculations\n", - "Dy=(so*y/4)*(1-math.pow((yo/y),4)) # inps/nm-km\n", - "Dy1=Dy*(-1) # do not consider -ve sign\n", - "dt=Dy1*L*dy # pulse spreading in ps\n", - "dt1=dt/1000 # pulse spreading in ns\n", - "\n", - "# Results\n", - "print ('%s %.3f %s' %(\" The pulse spreading = \",dt1,\"ns\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The pulse spreading = 634.567 ns\n" - ] - } - ], - "prompt_number": 92 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 29: PgNo-260" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Initialisation of variables\n", - "n1=1.48 # core refractive index\n", - "y=900 # operating wavelength in nm\n", - "yo=1343 # wavelength in nm\n", - "so=0.095 # in ps/nm^2-km\n", - "L=1.5 # in km\n", - "dy=50 # in nm\n", - "dl=0.002\n", - "c=3*math.pow(10,8) # the speed of ligth in m/s\n", - "\n", - "# calculations\n", - "Dm=(so*y/4)*(1-math.pow((yo/y),4))# inps/nm-km\n", - "Dm1=Dm*(-1) # do not consider -ve sign\n", - "Vd=0.26\n", - "Dw=((n1*dl)/(c*y*math.pow(10,-9)))*(Vd);\n", - "DW=Dw*math.pow(10,6)# in ps/nm-km\n", - "dt=DW*L*dy # pulse spreading in ps\n", - "dt1=dt/100 # pulse spreading in ns\n", - "\n", - "# Results\n", - "print ('%s %.4f %s' %(\" The pulse spreading = \",dt1,\"ps\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The pulse spreading = 2.1378 ps\n" - ] - } - ], - "prompt_number": 93 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 30: PgNo-263" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Initialisation of variables\n", - "a=4.1*math.pow(10,-6) # core radius in um\n", - "dl=0.0036\n", - "y1=1.310*math.pow(10,-6) # operating wavelength in um\n", - "y2=1.550*math.pow(10,-6)# operating wavelength in um\n", - "n1=1.4677# core refrative index at y=1.310\n", - "n2=1.4682# core refrative index at y=1.550\n", - "\n", - "# Calculations\n", - "v1=(2*3.14*a*n1*math.sqrt(2*dl))/y1# normalised frequency at y=1.310\n", - "v2=(2*3.14*a*n2*math.sqrt(2*dl))/y2# normalised frequency at y=1.550\n", - "wo=a*(0.65+(1.619/math.pow(v1,1.5))+2.879/math.pow(v1,3))\n", - "wp=wo-a*(0.016+1.567/math.pow(v1,7))\n", - "wo1=a*(0.65+(1.619/math.pow(v2,1.5))+2.879/math.pow(v2,3))\n", - "wp1=wo-a*(0.016+1.567/math.pow(v2,7))\n", - "\n", - "# Results\n", - "print ('%s %.4f %s' %(\" The value of wo = \",wo*pow(10,6),\"um\"))\n", - "print ('%s %.4f %s' %(\"\\n The value of wp = \",wp*pow(10,6),\"um\"))\n", - "print ('%s %.4f %s' %(\"\\n The value of wo1 = \",wo1*pow(10,6),\"um\"))\n", - "print ('%s %.4f %s' %(\"\\n The value of wp1 = \",wp1*pow(10,6),\"um\"))\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The value of wo = 5.2031 um\n", - "\n", - " The value of wp = 5.1253 um\n", - "\n", - " The value of wo1 = 6.2264 um\n", - "\n", - " The value of wp1 = 5.0980 um\n" - ] - } - ], - "prompt_number": 94 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 31: PgNo-268" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Initialisation of variables\n", - "y=1.30*math.pow(10,-6) # operating wavelength in m\n", - "dn1=math.pow(10,-6)\n", - "dn2=math.pow(10,-5)\n", - "\n", - "# Calculations\n", - "db1=(dn1*2*3.14)/y# in per m\n", - "db2=(dn2*2*3.14)/y# in per m\n", - "Lp1=(2*3.14)/(db1)# beat length in m\n", - "Lp2=(2*3.14)/(db2)# beat length in m\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The max core radius = \",db1,\"um\"))\n", - "print ('%s %.2f %s' %(\"\\n The max core radius = \",db2,\"um\"))\n", - "print ('%s %.2f %s' %(\"\\n The beat length = \",Lp1,\"m\"))\n", - "print ('%s %.1f %s' %(\"\\n The beat length = \",Lp2*100,\"cm\"))\n", - "print (\"\\n Hence, range of beat length; 13cm-1.3m\")" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The max core radius = 4.83 um\n", - "\n", - " The max core radius = 48.31 um\n", - "\n", - " The beat length = 1.30 m\n", - "\n", - " The beat length = 13.0 cm\n", - "\n", - " Hence, range of beat length; 13cm-1.3m\n" - ] - } - ], - "prompt_number": 95 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 32: PgNo-269" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "n1=1.48 # core refractive index\n", - "dl=0.0027\n", - "a=4.4*math.pow(10,-6) # radius in m\n", - "y=1.32*math.pow(10,-6) # operating wavelength in m\n", - "n2=n1*(1-dl)\n", - "c=3*math.pow(10,8) # the speed of ligth in m/s\n", - "v=(2*3.14*a*n1*math.sqrt(2*dl))/y\n", - "VD=0.080+0.549*math.pow((2.834-v),2)\n", - "DW=(-1)*(n2*dl*VD)/(c*y) # wavelength dispersion in s /um/m\n", - "Dw=DW*math.pow(10,6) # wavelength dispersion in ps /nm/km\n", - "\n", - "# Results\n", - "print ('%s %.4f %s' %(\" The wavelength dispersion = \",Dw,\"ps n/m/km\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The wavelength dispersion = -2.5213 ps n/m/km\n" - ] - } - ], - "prompt_number": 96 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 33: PgNo-271" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "#Variable initialisation\n", - "n1=1.48 # core refractive index\n", - "dl=0.01 # refractive index difference\n", - "c=3*math.pow(10,8) # the speed of light in m/s\n", - "y=1.55 # wavelength in um\n", - "DM=7.0 # in ps/nm-km\n", - "DW=(-1)*DM # in ps/nm-km\n", - "\n", - "# calculations\n", - "X=math.pow(-10,12)*(n1*dl)/(c*y)# in ps/nm/km\n", - "Z=(DW/X)-0.08\n", - "V=2.834-math.sqrt(-Z/0.549)\n", - "a=(V*y)/(2*math.pi*n1*math.sqrt(2*dl))# core radius in um\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The core radius = \",a,\"um\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The core radius = 2.47 um\n" - ] - } - ], - "prompt_number": 97 - } - ], - "metadata": {} - } - ] -} \ No newline at end of file diff --git a/Optical_Fiber_Communication/Chapter6.ipynb b/Optical_Fiber_Communication/Chapter6.ipynb deleted file mode 100755 index 9b5380f8..00000000 --- a/Optical_Fiber_Communication/Chapter6.ipynb +++ /dev/null @@ -1,104 +0,0 @@ -{ - "metadata": { - "name": "", - "signature": "sha256:ade43627b2f5d9f9e9fc6f1fe77b719e4d5ca9dd8c4d3cb361adefbae3d62e1a" - }, - "nbformat": 3, - "nbformat_minor": 0, - "worksheets": [ - { - "cells": [ - { - "cell_type": "heading", - "level": 1, - "metadata": {}, - "source": [ - "Chapter 6: Optical Sources LEDs" - ] - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 1: PgNo-277" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Initialisation of variables\n", - "r=125*math.pow(10,-6) # cladding radius in meter\n", - "R=8*math.pow(10,-2) # curve of radius in meter\n", - "s=((R+2*r)/(R+r))-1\n", - "s_p=s*100 # percentage of strain\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The percentage of strain = \",s_p,\"%\"))\n", - "print (\"\\n If this condition is maintained the fiber will maintain without any break \")\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The percentage of strain = 0.16 %\n", - "\n", - " If this condition is maintained the fiber will maintain without any break \n" - ] - } - ], - "prompt_number": 1 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 2: PgNo-279" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# initialisation of variables\n", - "w=40*math.pow(10,-3) # cable weighing in kg/m\n", - "R=20*math.pow(10,-2) # radius of curvature in meter\n", - "n=0.19 # co-efficient of friction\n", - "x=(3.14/4) # angle in rad\n", - "\n", - "# calculations\n", - "si=42.36 # pulling tension at the entrance in kg\n", - "X=(si/(w*R))\n", - "Y=math.asinh(si/(w*R))\n", - "Z=w*R*math.sinh(n*x+Y) # puttling tension at the exit of an optical cable\n", - "\n", - "# Results\n", - "print ('%s %.3f %s' %(\" The puttling tension at the exit of an optical cable = \",Z,\"kg\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The puttling tension at the exit of an optical cable = 49.173 kg\n" - ] - } - ], - "prompt_number": 2 - } - ], - "metadata": {} - } - ] -} \ No newline at end of file diff --git a/Optical_Fiber_Communication/Chapter7.ipynb b/Optical_Fiber_Communication/Chapter7.ipynb deleted file mode 100755 index b4eca185..00000000 --- a/Optical_Fiber_Communication/Chapter7.ipynb +++ /dev/null @@ -1,933 +0,0 @@ -{ - "metadata": { - "name": "", - "signature": "sha256:915bbc296599c9cae8476366ab28673955be075640a27c082930b79dfed61501" - }, - "nbformat": 3, - "nbformat_minor": 0, - "worksheets": [ - { - "cells": [ - { - "cell_type": "heading", - "level": 1, - "metadata": {}, - "source": [ - "Chapter 7: Optical Detectors" - ] - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 1: PgNo-284" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Initialisation of variables\n", - "n1=1.46 # core refractive index\n", - "n=1 # refractive index due to air\n", - "r=math.pow(((n1-n)/(n1+n)),2)\n", - "r1=0.03 # r take upto two decimal place\n", - "l_s=-10*math.log(1-r1)/math.log(10) # fiber loss in db\n", - "l_t=2*l_s # total loss in db\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The fiber loss = \",l_s,\"db\"))\n", - "print (\"\\n there is a similar loss at the other interface \")\n", - "print ('%s %.2f %s' %(\"\\n The total fiber loss = \",l_t,\"db\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The fiber loss = 0.13 db\n", - "\n", - " there is a similar loss at the other interface \n", - "\n", - " The total fiber loss = 0.26 db\n" - ] - } - ], - "prompt_number": 7 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 2: PgNo-285" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "n1=1.46 # core refractive index\n", - "n=1 # refractive index due to air\n", - "a=25*math.pow(10,-6) # core radius in m\n", - "y=3*math.pow(10,-6) # in m\n", - "\n", - "# calculations\n", - "A=(y/a)*math.pow((1-math.pow((y/(2*a)),2)),0.5)\n", - "B=math.acos(y/(2*a))\n", - "C=n1/n\n", - "M=(16*math.pow(C,2))/(math.pi*math.pow((1+C),4))\n", - "n_lat=M*(2*B-A) # coupling efficiency for multimode step index fiber\n", - "L_lat=-10*math.log(n_lat)/math.log(10) # insertion loss for lateral misalignment\n", - "n_lat1=(1/math.pi)*(2*B-A) # coupling efficiency when there is no air gap\n", - "L_lat1=-10*math.log(n_lat1)/math.log(10) # insertion loss for lateral misalignment when there is no air gap\n", - "\n", - "# Results\n", - "print ('%s %.2f ' %(\" The coupling efficiency for multimode step index fiber = \", n_lat))\n", - "print ('%s %.2f %s' %(\"\\n The insertion loss for lateral misalignment = \",L_lat,\"dB\"))\n", - "print ('%s %.2f ' %(\"\\n The coupling efficiency when there is no air gap = \", n_lat1))\n", - "print ('%s %.2f %s' %(\"\\n The insertion loss for lateral misalignment when there is no air gap = \",L_lat1,\"dB\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The coupling efficiency for multimode step index fiber = 0.86 \n", - "\n", - " The insertion loss for lateral misalignment = 0.65 dB\n", - "\n", - " The coupling efficiency when there is no air gap = 0.92 \n", - "\n", - " The insertion loss for lateral misalignment when there is no air gap = 0.34 dB\n" - ] - } - ], - "prompt_number": 8 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 3: PgNo-287" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "n1=1.50 # core refractive index\n", - "n=1 # refractive index due to air\n", - "a=25*math.pow(10,-6) # core radius in m\n", - "y=4*math.pow(10,-6) # in m\n", - "\n", - "# calculations\n", - "A=(y/a)*math.pow((1-math.pow((y/(2*a)),2)),0.5)\n", - "B=math.acos(y/(2*a))\n", - "C=n1/n\n", - "M=(16*math.pow(C,2))/(math.pi*math.pow((1+C),4))\n", - "n_lat=M*(2*B-A) # coupling efficiency for multimode step index fiber\n", - "L_lat=-10*math.log(n_lat)/math.log(10) # insertion loss for lateral misalignment\n", - "dx=4*(math.pi/180) # angular misalignment in radian\n", - "dl=0.02 #relative index difference\n", - "NA=n1*math.sqrt(2*dl) # numerical aperture\n", - "n_ang=1-(0.069/(math.pi*NA)) # coupling efficiency due to angular misalignment\n", - "L_ang=-10*math.log(n_ang)/math.log(10) # loss due to angular misalignment\n", - "Lt=L_lat+L_ang # total insertion loss in dB\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %( \" The total insertion loss = \",Lt,\"dB\"))\n", - "print (\"\\n the answer is wrong in the textbook \")" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The total insertion loss = 1.15 dB\n", - "\n", - " the answer is wrong in the textbook \n" - ] - } - ], - "prompt_number": 9 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 4: PgNo-292" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# variable initialisation\n", - "n1=1.46 # core refractive index\n", - "n=1 #refractive index due to air\n", - "a=1 # core radius in m\n", - "y=0.12 #lateral offset \n", - "\n", - "# Calculations\n", - "A=(y/a)*math.pow((1-math.pow((y/(2*a)),2)),0.5)\n", - "B=math.acos(y/(2*a))\n", - "C=n1/n\n", - "M=(16*math.pow(C,2))/(math.pi*math.pow((1+C),4))\n", - "n_lat=M*(2*B-A) #coupling efficiency when there is a smsll air gap\n", - "L_lat=-10*math.log(n_lat)/math.log(10) # insertion loss when there is a smsll air gap\n", - "n_lat1=(1/math.pi)*(2*B-A) # coupling efficiency when the joint is indexed matched\n", - "L_lat1=-10*math.log(n_lat1)/math.log(10) # insertion loss when the joint is indexed matched\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The insertion loss when there is a smsll air gap = \",L_lat,\"dB\"))\n", - "print ('%s %.2f %s' %( \"\\n The insertion loss when the joint is indexed matched = \",L_lat1,\"dB\"))\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The insertion loss when there is a smsll air gap = 0.65 dB\n", - "\n", - " The insertion loss when the joint is indexed matched = 0.34 dB\n" - ] - } - ], - "prompt_number": 10 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 5: PgNo-296" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# variable initialisation\n", - "d1=60*math.pow(10,-6)# core diameter of fiber 1 in m\n", - "d2=50*math.pow(10,-6) # core diameter of fiber 1 in m\n", - "NA1=0.25 # numerical aerture of fiber 1\n", - "NA2=0.22 # numerical aerture of fiber 2\n", - "a1=2.0 # for fiber 1\n", - "a2=1.9 # for fiber 2\n", - "\n", - "# calculations\n", - "n_cd=math.pow((d2/d1),2)\n", - "n_NA=math.pow((NA2/NA1),2);\n", - "n_a=(1+(2/a1))/(1+(2/a2))\n", - "n_t=n_cd*n_NA*n_a # total coupling efficiency\n", - "Lt=-10*math.log(n_t)/math.log(10) #total loss at the joint in dB\n", - "\n", - "# Results\n", - "print ('%s %.3f ' %(\" The total coupling efficiency in the frw direction = \", n_t))\n", - "print ('%s %.2f %s' %(\"\\n The total loss at the joint in the frw direction = \",Lt,\"dB\"))\n", - "print (\"\\n In the backward direction n_cd & n_a are all unity therefore there will be no loss in the backward direction of transmission of the signal \")" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The total coupling efficiency in the frw direction = 0.524 \n", - "\n", - " The total loss at the joint in the frw direction = 2.81 dB\n", - "\n", - " In the backward direction n_cd & n_a are all unity therefore there will be no loss in the backward direction of transmission of the signal \n" - ] - } - ], - "prompt_number": 11 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 6: PgNo-298" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# variable initialisation\n", - "d1=80*math.pow(10,-6) #core diameter of fiber 1 in m\n", - "d2=60*math.pow(10,-6) #core diameter of fiber 1 in m\n", - "NA1=0.25 # numerical aerture of fiber 1\n", - "NA2=0.20 # numerical aerture of fiber 2\n", - "a1=1.9 # for fiber 1\n", - "a2=2.1 # for fiber 2\n", - "\n", - "# Calculations\n", - "n_cd=math.pow((d2/d1),2)\n", - "n_NA=math.pow((NA2/NA1),2)\n", - "n_a=(1+(2/a1))/(1+(2/a2))\n", - "n_t=n_cd*n_NA*n_a # total coupling efficiency in the frw direction\n", - "Lt=-10*math.log(n_t)/math.log(10) # total loss at the joint in the frw direction in dB\n", - "n_cd1=1\n", - "n_NA1=1\n", - "n_a1=(1+(2/a2))/(1+(2/a1))\n", - "n_t1=n_cd1*n_NA1*n_a1 # total coupling efficiency in the backward direction\n", - "Lt1=-10*math.log(n_t1)/math.log(10)# total loss at the joint in the backward direction in dB\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The total loss at the joint in the frw direction = \",Lt,\"dB\"))\n", - "print ('%s %.2f %s' %(\"\\n The total loss at the joint in the backward direction = \",Lt1,\"dB\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The total loss at the joint in the frw direction = 4.22 dB\n", - "\n", - " The total loss at the joint in the backward direction = 0.22 dB\n" - ] - } - ], - "prompt_number": 12 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 7: PgNo-303" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# variable initialisation\n", - "n1=1.5 # core refractive index\n", - "n=1.47 # refractive index due to air\n", - "a=1 # core radius in m\n", - "y=0.12 # lateral offset\n", - "\n", - "# calculations\n", - "A=(y/a)*math.pow((1-math.pow((y/(2*a)),2)),0.5)\n", - "B=math.acos(y/(2*a))\n", - "C=n1/n\n", - "M=(16*math.pow(C,2))/(math.pi*math.pow((1+C),4))\n", - "n_lat=M*(2*B-A) #coupling efficiency of the splice\n", - "L_lat=-10*math.log(n_lat)/math.log(10) #insertion loss of the splice\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %( \" The insertion loss of the splice = \",L_lat,\"dB\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The insertion loss of the splice = 0.35 dB\n" - ] - } - ], - "prompt_number": 13 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 8: PgNo-305" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "L_f=0.036\n", - "n_f=math.pow(10,(-0.036))\n", - "# here we get a quadratic equation in n1 and on solving we get\n", - "n1=(2.17+math.sqrt(math.pow((-2.17),2)-4*1*1))/2 # refractive index of the fiber core\n", - "# Results\n", - "print ('%s %.3f' %(\" The refractive index of the fiber core = \", n1))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The refractive index of the fiber core = 1.506\n" - ] - } - ], - "prompt_number": 14 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 9: PgNo-309" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# variable declaration\n", - "n1=1.46 #core refractive index\n", - "n=4 # refractive index due to air\n", - "x=math.pi/180\n", - "A=(16*math.pow(n1,2))/(math.pow((1+n1),4))\n", - "B=n*x\n", - "n_ang=math.pow(10,(-0.06)) # angular coupling efficiency\n", - "NA=B/((math.pi)*(1-(n_ang/A))) # numerical aperture\n", - "\n", - "# Results\n", - "print ('%s %.2f' %(\" The numerical aperture = \", NA))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The numerical aperture = 0.34\n" - ] - } - ], - "prompt_number": 15 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 10: PgNo-311" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "y=5*math.pow(10,-6) # lateral misalignment in m\n", - "a=25*math.pow(10,-6) # core diameter in m\n", - "Lt=0.85*(y/a) # misalignment loss\n", - "n_c=1-Lt # coupling efficiency\n", - "L_i=-10*math.log(n_c)/math.log(10) # insertion loss in dB\n", - "Lt1=0.75*(y/a) # misalignment loss if we have both guided and leaky modes\n", - "n_c1=1-Lt1 # coupling efficiency\n", - "L_i1=-10*math.log(n_c1)/math.log(10) # insertion loss in dB if we have both guided and leaky modes\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The insertion loss = \",L_i,\"dB\"))\n", - "print ('%s %.2f %s' %(\"\\n The insertion loss,if we have both guided and leaky modes = \",L_i1,\"dB\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The insertion loss = 0.81 dB\n", - "\n", - " The insertion loss,if we have both guided and leaky modes = 0.71 dB\n" - ] - } - ], - "prompt_number": 16 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 11: PgNo-314" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "n1=1.5 # core refractive index\n", - "n=1 # refractive index due to air\n", - "x=5*math.pi/180\n", - "\n", - "# Calculations\n", - "C=n1/n\n", - "A=(16*math.pow(C,2))/(math.pow((1+C),4))\n", - "B=n*x\n", - "NA=0.22 # numerical aperture\n", - "n_ang=A*(1-(B/(math.pi*NA))) # angular coupling efficiency\n", - "L_ang=-10*math.log(n_ang)/math.log(10) # inserion loss when NA=0.22\n", - "NA1=0.32 # numerical aperture\n", - "n_ang1=A*(1-(B/(math.pi*NA1))) # angular coupling efficiency\n", - "L_ang1=-10*math.log(n_ang1)/math.log(10) # inserion loss when NA=0.32\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The inserion loss when NA=0.22 = \",L_ang,\"dB\"))\n", - "print ('%s %.2f %s' %(\"\\n The inserion loss when NA=0.32 = \",L_ang1,\"dB\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The inserion loss when NA=0.22 = 0.94 dB\n", - "\n", - " The inserion loss when NA=0.32 = 0.75 dB\n" - ] - } - ], - "prompt_number": 17 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 12: PgNo-315" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "V=2.50 # normalised frequency\n", - "n1=1.5 # core refractive index\n", - "a=4.5*math.pow(10,-6) # core radius in m\n", - "NA=0.2 # numerical aperture\n", - "y=3*math.pow(10,-6) # lateral misalignment in m\n", - "w=a*((0.65+1.62*math.pow((V),-1.5)+2.88*math.pow((V),-6))/math.pow(2,0.5)) # normalised spot size in m\n", - "T1=2.17*math.pow((y/w),2) # Loss due to lateral offset in dB\n", - "x=(math.pi/180)*w\n", - "Ta=2.17*math.pow(((x*n1*V)/(a*NA)),2) # loss due to angular misalignment in dB\n", - "T=T1+Ta # total insertion loss in dB\n", - "\n", - "# Results\n", - "print ('%s %.3f %s' %(\" The total insertion loss = \",T,\"dB\"))\n", - "print (\"\\n The answer is wrong in the textbook \")" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The total insertion loss = 1.813 dB\n", - "\n", - " The answer is wrong in the textbook \n" - ] - } - ], - "prompt_number": 18 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 13: PgNo-317" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# variable declaration\n", - "P1=65 # optical power in uW\n", - "P2=0.005 #output power at port 2 in uW\n", - "P3=24 # output power at port 3 in uW\n", - "P4=26.5 #output power at port 4 in uW\n", - "\n", - "# Calculations\n", - "Le=10*math.log(P1/(P3+P4))/math.log(10) # Excess loss in dB\n", - "Le1=10*math.log(P1/P3)/math.log(10) # insertion loss port 1 to 3 in dB\n", - "Le2=10*math.log(P1/P4)/math.log(10) # insertion loss port 1 to 4 in dB\n", - "ct=10*math.log(P2/P1)/math.log(10) # cross talk in dB\n", - "sr=(P3/(P3+P4))*100 # split ratio\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The Excess loss = \",Le,\"dB\"))\n", - "print ('%s %.2f %s' %(\"\\n The insertion loss port 1 to 3 = \",Le1,\"dB\"))\n", - "print ('%s %.2f %s' %(\"\\n The insertion loss port 1 to 4 = \",Le2,\"dB\"))\n", - "print ('%s %.2f %s' %(\"\\n The cross talk = \",ct,\"dB\"))\n", - "print ('%s %.2f %s' %(\"\\n The split ratio = \",sr,\"%\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The Excess loss = 1.10 dB\n", - "\n", - " The insertion loss port 1 to 3 = 3.01 dB\n", - "\n", - " The insertion loss port 1 to 4 = 3.90 dB\n", - "\n", - " The cross talk = -41.14 dB\n", - "\n", - " The split ratio = 47.52 %\n" - ] - } - ], - "prompt_number": 19 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 14: PgNo-318" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# variable initialisation\n", - "n=1.0\n", - "n1=1.48\n", - "r=math.pow(((n1-n)/(n1+n)),2) # fresnel's reflection\n", - "Ls=-10*math.log(1-r)/math.log(10) #optical loss in dB\n", - "Lt=2*Ls # total fresnel loss\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The total fresnel loss = \",Lt,\"dB\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The total fresnel loss = 0.33 dB\n" - ] - } - ], - "prompt_number": 20 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 15: PgNo-322" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "#Variable declaration\n", - "NA1=0.32 # numerical aperture for fiber1\n", - "NA2=0.22 # numerical aperture for fiber2\n", - "Lc=20*math.log(NA1/NA2)/math.log(10) #NA mismatch coupling loss\n", - "\n", - "#Results\n", - "print ('%s %.2f %s' %(\" The NA mismatch coupling loss = \",Lc,\"dB\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The NA mismatch coupling loss = 3.25 dB\n" - ] - } - ], - "prompt_number": 21 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 16: PgNo-325" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# variable initialisation\n", - "P0=250.0 # optical power in uW\n", - "P1=80.0 # output power at port 1 in uW\n", - "P2=70.0 # output power at port 2 in uW\n", - "P3=5*math.pow(10,-3) # output power at port 3 in uW\n", - "\n", - "# calculations\n", - "cr=(P2/(P1+P2))*100 # coupling ratio\n", - "Le=10*math.log(P0/(P1+P2))/math.log(10) # Excess loss in dB\n", - "Le1=10*math.log(P0/P1)/math.log(10) # insertion loss port 0 to 1 in dB\n", - "Le2=10*math.log(P0/P2)/math.log(10) # insertion loss port 0 to 2 in dB\n", - "ct=10*math.log(P3/P0)/math.log(10) #cross talk in dB\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The coupling ratio = \",cr,\"%\"))\n", - "print ('%s %.2f %s' %(\"\\n The Excess loss = \",Le,\"dB\"))\n", - "print ('%s %.2f %s' %(\"\\n The insertion loss port 0 to 1 = \",Le1,\"dB\"))\n", - "print ('%s %.2f %s' %(\"\\n The insertion loss port 0 to 2 = \",Le2,\"dB\"))\n", - "print ('%s %.2f %s' %(\"\\n The cross talk = \",ct,\"dB\"))\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The coupling ratio = 46.67 %\n", - "\n", - " The Excess loss = 2.22 dB\n", - "\n", - " The insertion loss port 0 to 1 = 4.95 dB\n", - "\n", - " The insertion loss port 0 to 2 = 5.53 dB\n", - "\n", - " The cross talk = -46.99 dB\n" - ] - } - ], - "prompt_number": 22 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 17: PgNo-327" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "P_21=4.0/5.0 # ratio of the input available at port2\n", - "P_31=1.0/5.0 # ratio of the input available at port3 \n", - "Lt=-10*math.log(P_21)/math.log(10) # throughput loss\n", - "Lp=-10*math.log(P_31)/math.log(10) # tap loss\n", - "Le=-10*math.log(P_21+P_31)/math.log(10) # excess loss\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The throughput loss = \",Lt,\"dB\"))\n", - "print ('%s %.2f %s' %(\"\\n The tap loss = \",Lp,\"dB\"))\n", - "print (\"\\n Directionality=-10*log(0/Pi=infinity)\")\n", - "print ('%s %.1f %s' %(\"\\n The excess loss = \",Le,\"dB\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The throughput loss = 0.97 dB\n", - "\n", - " The tap loss = 6.99 dB\n", - "\n", - " Directionality=-10*log(0/Pi=infinity)\n", - "\n", - " The excess loss = -0.0 dB\n" - ] - } - ], - "prompt_number": 23 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 18: PgNo-329" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "Le=4 # excess loss in dB\n", - "D=60 # Directionality in dB\n", - "P_41=math.pow(10,-6) # the ratio of P4 to P1\n", - "P_31=0.670/5 # the ratio of P3 to P1\n", - "P_21=P_31*4 # the ratio of P2 to P1\n", - "Lt=-10*math.log(P_21)/math.log(10) # throughput loss\n", - "Lp=-10*math.log(P_31)/math.log(10) # tap loss\n", - "Ls=-10*math.log(0.670)/math.log(10) # loss due to radiation scattering in dB\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The fraction of the input power goes to each of the ports = \",P_21,\"dB\"))\n", - "print ('%s %.2f %s' %(\"\\n The throughput loss = \",Lt,\"dB\"))\n", - "print ('%s %.2f %s' %(\"\\n The tap loss = \",Lp,\"dB\"))\n", - "print ('%s %.2f %s' %(\"\\n The loss due to radiation scattering = \",Ls,\"dB\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The fraction of the input power goes to each of the ports = 0.54 dB\n", - "\n", - " The throughput loss = 2.71 dB\n", - "\n", - " The tap loss = 8.73 dB\n", - "\n", - " The loss due to radiation scattering = 1.74 dB\n" - ] - } - ], - "prompt_number": 24 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 19: PgNo-330" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "L1=1.5 # length in km\n", - "L2=2/1000 # length in km\n", - "Pi=50.1*math.pow(10,-6) # optical power in W\n", - "Po=385.4*math.pow(10,-6) # output power in W\n", - "a=(10/(L1-L2))*math.log(Po/Pi)/math.log(10) # attenuation per km\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The attenuation per km = \",a,\"dB/km\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The attenuation per km = 5.91 dB/km\n" - ] - } - ], - "prompt_number": 25 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 20: PgNo-334" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "Psc=5.31*math.pow(10,-9)\n", - "Popt=98.45*math.pow(10,-6) \n", - "L=5.99 # length in km\n", - "asc=(4.343*math.pow(10,5)/L)*(Psc/Popt) # scattering loss in the fiber in dB\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The scattering loss in the fiber = \",asc,\"dB/km\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The scattering loss in the fiber = 3.91 dB/km\n" - ] - } - ], - "prompt_number": 26 - } - ], - "metadata": {} - } - ] -} \ No newline at end of file diff --git a/Optical_Fiber_Communication/Chapter8.ipynb b/Optical_Fiber_Communication/Chapter8.ipynb deleted file mode 100755 index 57a8dd8b..00000000 --- a/Optical_Fiber_Communication/Chapter8.ipynb +++ /dev/null @@ -1,1192 +0,0 @@ -{ - "metadata": { - "name": "", - "signature": "sha256:a1fc86a1745331cbb94487da02761804f9fca4fd4c628ee53c6bfd5a750d81a6" - }, - "nbformat": 3, - "nbformat_minor": 0, - "worksheets": [ - { - "cells": [ - { - "cell_type": "heading", - "level": 1, - "metadata": {}, - "source": [ - "Chapter 8: Optical Fiber Communication System" - ] - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 1: PgNo-339" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "tr=40.0 # rediative life time in ns\n", - "tnr=60.0 # nonrediative life time in ns\n", - "i=35*math.pow(10,-3) # drive current in amp\n", - "y=0.85*math.pow(10,-6)# wavelength in m\n", - "h=6.626*math.pow(10,-34)# plank constant\n", - "c=3*math.pow(10,8)# the speed of light in m/s\n", - "eq=1.602*math.pow(10,-19)# charge\n", - "\n", - "# calculations\n", - "t=tr*tnr/(tr+tnr)# total carrier recombination lifetime ns\n", - "ni=t/tr # internal quantam efficiency\n", - "pil=(ni*h*c*i)/(eq*y)# internal power in watt\n", - "p_int=pil*math.pow(10,3)# internal power in mW\n", - "\n", - "# Results\n", - "print ('%s %.f %s' %(\" The total carrier recombination lifetime = \",t,\"ns\"))\n", - "print ('%s %.2f %s' %(\"\\n The internal power = \",p_int,\"mW\"))\n", - "print (\"\\n The answer is wrong in textbook \")" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The total carrier recombination lifetime = 24 ns\n", - "\n", - " The internal power = 30.66 mW\n", - "\n", - " The answer is wrong in textbook \n" - ] - } - ], - "prompt_number": 33 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 2: PgNo-341" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Initialisation of variables\n", - "tr=30.0 # rediative life time in ns\n", - "tnr=50.0 # nonrediative life time in ns\n", - "i=40*math.pow(10,-3) # drive current in amp\n", - "pil=28.4*math.pow(10,-3) # internal power in watt\n", - "h=6.626*math.pow(10,-34) # plank constant\n", - "c=3*math.pow(10,8) # the speed of light in m/s\n", - "eq=1.602*math.pow(10,-19) # charge\n", - "t=tr*tnr/(tr+tnr) # total carrier recombination lifetime ns\n", - "ni=t/tr # internal quantam efficiency\n", - "y=(ni*h*c*i)/(eq*pil) # peak emission wavelength in m\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The total carrier recombination lifetime = \",t,\"ns\"))\n", - "print ('%s %.2f %s' %(\"\\n The peak emission wavelength = \",y*pow(10,6),\"um\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The total carrier recombination lifetime = 18.75 ns\n", - "\n", - " The peak emission wavelength = 1.09 um\n" - ] - } - ], - "prompt_number": 34 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 3: PgNo-345" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "nx=3.6 # refractive index\n", - "Fn=0.68 # transmission factor\n", - "pe_pi=(Fn)/(4*math.pow(nx,2))\n", - "pi_p=0.3\n", - "nep=pe_pi*pi_p # external power efficiency\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\"The external power efficiency = \",nep*100,\"%\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "The external power efficiency = 0.39 %\n" - ] - } - ], - "prompt_number": 35 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 4: PgNo-347" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "n=3.6 # core refractive index\n", - "NA=0.15 # numerical aperture\n", - "nc=math.pow(NA,2) # coupling efficiency\n", - "l_s=-10*math.log(nc)/math.log(10) # loss in db\n", - "pe_pi=0.023*0.0013 # from ex 8.3\n", - "pc=-10*math.log(pe_pi)/math.log(10) # loss in decibels relative to Pint\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The coupling efficiency = \",nc*100,\"%\"))\n", - "print ('%s %.3f %s' %(\"\\n The loss = \",l_s,\"db\"))\n", - "print ('%s %.2f %s' %(\"\\n The loss in decibels relative to Pint= \",pc,\"db\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The coupling efficiency = 2.25 %\n", - "\n", - " The loss = 16.478 db\n", - "\n", - " The loss in decibels relative to Pint= 45.24 db\n" - ] - } - ], - "prompt_number": 36 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 5: PgNo-348" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "r=45*math.pow(10,-6) # radius in m\n", - "NA=0.3 # numerical aperture\n", - "rd=40 # radiance\n", - "A=3.14*math.pow((r*100),2) # area in cm^2\n", - "pe=3.14*(1-r)*A*rd*math.pow(NA,2) # optical power coupled into the fiber\n", - "Pe=pe*math.pow(10,4) # optical power coupled into the fiber uW\n", - "\n", - "# Results\n", - "print ('%s %.3f %s' %(\" The optical power coupled into the fiber = \",Pe,\"uW\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The optical power coupled into the fiber = 7.187 uW\n" - ] - } - ], - "prompt_number": 37 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 6: PgNo-351" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "pc=150*math.pow(10,-6) # coupling power W\n", - "p=20*math.pow(10,-3)*2 # optical power W\n", - "npc=pc/p # overall efficiency\n", - "Npc=npc*100 # percentage of overall efficiency\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The percentage of overall efficiency = \",Npc,\"%\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The percentage of overall efficiency = 0.37 %\n" - ] - } - ], - "prompt_number": 38 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 7: PgNo-357" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "n=1.5 # refractive index\n", - "L=0.05 #crystal length in m\n", - "y=0.5*math.pow(10,-6) # wavelength in m\n", - "c=3*math.pow(10,8) # speed of light in m/s\n", - "q=2*n*L/y # the number of longitudinal modes\n", - "df=c/(2*n*L) # frequency separation of the modes in Hz\n", - "Df=df/math.pow(10,9) # frequency separation of the modes in GHz\n", - "\n", - "# Results\n", - "print ('%s %d ' %(\" The number of longitudinal modes = \",q))\n", - "print ('%s %.2f %s' %(\"\\n The frequency separation of the modes = \",Df,\"GHz\"))\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The number of longitudinal modes = 300000 \n", - "\n", - " The frequency separation of the modes = 2.00 GHz\n" - ] - } - ], - "prompt_number": 39 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 8: PgNo-358" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "Eg=1.43 # bandgap energy in eV\n", - "dy=0.15*math.pow(10,-9);\n", - "c=3*math.pow(10,8) # speed of light in m/s\n", - "y=1.24/Eg # in um\n", - "y1=y*math.pow(10,-6) # wavelength of optical emission in m\n", - "df=(c*dy)/math.pow(y1,2) # the line width in Hz\n", - "Df=df/math.pow(10,9) # the line width in GHz\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The wavelength of optical emission = \",y,\"um\"))\n", - "print ('%s %.4f %s' %(\"\\n The frequency separation of the modes = \",Df,\"GHz\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The wavelength of optical emission = 0.87 um\n", - "\n", - " The frequency separation of the modes = 59.8468 GHz\n" - ] - } - ], - "prompt_number": 40 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 9: PgNo-362" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "n=3.6 # refractive index\n", - "c=3*math.pow(10,8)# speed of light in m/s\n", - "y=0.85*math.pow(10,-6)# wavelength in m\n", - "df=275*math.pow(10,9) # frequency separation of the modes in Hz\n", - "L=c/(2*n*df) # crystal length in m\n", - "L1=L*math.pow(10,6) # crystal length in um\n", - "q=2*n*L/y # the number of longitudinal modes\n", - "\n", - "# results\n", - "print ('%s %.2f %s' %(\" The crystal length = \",L1,\"um\"))\n", - "print ('%s %d' %(\"\\n The the number of longitudinal modes = \",int(q)))\n", - "print (\"\\n answer is wrong in textbook \")" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The crystal length = 151.52 um\n", - "\n", - " The the number of longitudinal modes = 1283\n", - "\n", - " answer is wrong in textbook \n" - ] - } - ], - "prompt_number": 41 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 10: PgNo-364" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Initialisation of variables\n", - "nt=0.20# total efficiency\n", - "Eg=1.43# bandgap energy in eV\n", - "V=2.2# applied voltage in volts\n", - "nep=(nt*Eg)/V# external power efficiency\n", - "Nep=nep*100# percentage of external power efficiency\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The external power efficiency = \",Nep,\"%\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The external power efficiency = 13.00 %\n" - ] - } - ], - "prompt_number": 42 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 11: PgNo-367" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Initialisation of variables\n", - "h=0.35*math.pow(10,-3)# irradiance W/cm^2\n", - "po=0.45*math.pow(10,-3)# power output in watt\n", - "d=1.5 # separation distance in cm\n", - "x=math.sqrt((4*po)/(3.14*math.pow(d,2)*h)) # divergence angle in radians\n", - "X=(x*180)/3.14 # divergence angle in degree\n", - "\n", - "# Results\n", - "print ('%s %.3f %s' %(\" The divergence angle = \",X,\"degree \"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The divergence angle = 48.909 degree \n" - ] - } - ], - "prompt_number": 43 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 12: PgNo-369" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Initialisation of variables\n", - "ni=0.09 # normal efficiency\n", - "d=2*2.54 # separation distance in cm\n", - "x=0.2 # divergence angle in radians\n", - "vf=2.0 # forward voltage in volts\n", - "i_f=65*math.pow(10,-3) # forward current in amp\n", - "pil=vf*i_f # input power in Watt\n", - "po=ni*pil # output power in Watt\n", - "H=4*po/(3.14*math.pow(d,2)*math.pow(x,2)) # irradiance in watt/cm^2\n", - "H1=H*1000 # irradiance in mwatt/cm^2\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The irradiance = \",H1,\"mwatt/cm^2 \"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The irradiance = 14.44 mwatt/cm^2 \n" - ] - } - ], - "prompt_number": 44 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 13: PgNo-372" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# variable declaration\n", - "tr=3.5 # relative life time in ms\n", - "tnr=50 # nonrelative life time in ms\n", - "ni=tnr/(tr+tnr) # internal quantam efficiency\n", - "\n", - "# results\n", - "print ('%s %.2f %s' %(\" The internal quantam efficiency = \",ni*100,\"%\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The internal quantam efficiency = 93.46 %\n" - ] - } - ], - "prompt_number": 45 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 14: PgNo-375" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# initialisation of variables\n", - "ni=0.15 # internal quantam efficiency\n", - "vf=2.0 # forward voltage in volts\n", - "i_f=15*math.pow(10,-3) # forward current in amp\n", - "x=25 # acceptance angle in degree\n", - "pil=vf*i_f # input power in Watt\n", - "po=ni*pil # output power in Watt\n", - "NA=(math.sin(x*math.pi/180))\n", - "nc=math.pow(NA,2) # numerical aperture\n", - "pf=nc*po # optical power coupled into optical fiber in w\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The optical power coupled into optical fiber = \",pf*1000,\"mW\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The optical power coupled into optical fiber = 0.80 mW\n" - ] - } - ], - "prompt_number": 46 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 15: PgNo-378" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Initialisation of variables\n", - "tnr=10 # nonrediative life time in ns\n", - "n_inj=0.80 # injection efficiency\n", - "n_ex=0.60 # extraction efficiency\n", - "nt=0.025 # total efficiency\n", - "nr=nt/(n_inj*n_ex) # non rediative life time in ns\n", - "tr=((1/nr)-1)*tnr # rediative life time in ns\n", - "# Results\n", - "print ('%s %.1f %s' %(\" The rediative life time = \",tr,\"ns\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The rediative life time = 182.0 ns\n" - ] - } - ], - "prompt_number": 47 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 16: PgNo-381" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "tr=30*math.pow(10,-9) # rise time in s\n", - "Bw=0.35/tr # bandwidth in Hz\n", - "\n", - "# Results\n", - "print ('%s %.3f %s' %(\" The bandwidth = \",Bw/math.pow(10,6),\"MHz\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The bandwidth = 11.667 MHz\n" - ] - } - ], - "prompt_number": 48 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 17: PgNo-384" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Initialisation of variables\n", - "y=630*math.pow(10,-9)# operating wavelength in m\n", - "w=25*math.pow(10,-6) # spot size in m\n", - "x=2*y/(math.pi*w) # divergence angle in radians\n", - "x1=x*180/math.pi # divergence angle in degree\n", - "\n", - "# Results\n", - "print ('%s %.3f %s' %(\" The divergence angle = \",x,\"radians\"))\n", - "print ('%s %.3f %s' %(\"\\n The divergence angle = \",x1,\"degree\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The divergence angle = 0.016 radians\n", - "\n", - " The divergence angle = 0.919 degree\n" - ] - } - ], - "prompt_number": 49 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 18: PgNo-388" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "y1=550*math.pow(10,-3)# peak of eyes response in um\n", - "y2=10.6 # standard wavelength in um\n", - "y3=2.39 # predominant IR line of He-Ne laser in um\n", - "E1=1.24/y1 # energy in electron volts\n", - "E2=1.24/y2 # energy in electron volts\n", - "E3=1.24/y3 # energy in electron volts\n", - "\n", - "# results\n", - "print ('%s %.3f %s' %(\" The energy = \",E1,\"electron volts\"))\n", - "print ('%s %.3f %s' %(\"\\n The energy = \",E2,\"electron volts\"))\n", - "print ('%s %.3f %s' %(\"\\n The energy = \",E3,\"electron volts\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The energy = 2.255 electron volts\n", - "\n", - " The energy = 0.117 electron volts\n", - "\n", - " The energy = 0.519 electron volts\n" - ] - } - ], - "prompt_number": 50 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 19: PgNo-391" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# variable initialisation\n", - "Eg=1.4 # energy in electron volts\n", - "y=1.24/Eg # cut off wavelength in um\n", - "y1=y*1000 # cut off wavelength in nm\n", - "# Results\n", - "print ('%s %.4f %s' %(\" The cut off wavelength = \",y1,\"nm\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The cut off wavelength = 885.7143 nm\n" - ] - } - ], - "prompt_number": 51 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 20: PgNo-394" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "y=1200*math.pow(10,-9)# operating wavelength in m\n", - "w=5*math.pow(10,-6)# spot size in m\n", - "x=2*y/(math.pi*w)# divergence angle in radians\n", - "x1=x*180/math.pi # divergence angle in degree\n", - "\n", - "# Results\n", - "print ('%s %.3f %s' %(\" The divergence angle = \",x,\"radians\"))\n", - "print ('%s %.3f %s' %(\"\\n The divergence angle = \",x1,\"degree\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The divergence angle = 0.153 radians\n", - "\n", - " The divergence angle = 8.754 degree\n" - ] - } - ], - "prompt_number": 52 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 21: PgNo-395" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Initialisation of variables\n", - "n1=1.48 # core refractive index\n", - "n2=1.46 # cladding refractive index \n", - "NA=math.sqrt(math.pow(n1,2)-math.pow(n2,2)) # numerical aperture\n", - "xa=(math.asin(NA))*(180/math.pi) # acceptance angle in degree\n", - "nc=math.pow(NA,2) # coupling efficiency\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The acceptance angle = \",xa,\"degree\"))\n", - "print ('%s %.2f %s' %(\"\\n The coupling efficiency = \",nc*100,\"%\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The acceptance angle = 14.03 degree\n", - "\n", - " The coupling efficiency = 5.88 %\n" - ] - } - ], - "prompt_number": 53 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 22: PgNo-398" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Initialisation of variables\n", - "c=3*math.pow(10,8) # speed of light in m/s\n", - "n=3.66 # for GaAs\n", - "L=150*math.pow(10,-6) # cavity length in m\n", - "dv=c/(2*n*L) #frequency separation in Hz\n", - "dv1=dv/math.pow(10,12) # frequency separation in GHz\n", - "h=6.64*math.pow(10,-34) # plank constant\n", - "q=1.6*math.pow(10,-19) # charge of an electron\n", - "dE=(h*dv)/q # energy separation eV\n", - "\n", - "# Results\n", - "print ('%s %.4f %s' %(\" The frequency separation = \",dv1,\"GHz\"))\n", - "print ('%s %.3f %s' %(\"\\n The energy separation = \",dE*1000,\"meV\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The frequency separation = 0.2732 GHz\n", - "\n", - " The energy separation = 1.134 meV\n" - ] - } - ], - "prompt_number": 54 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 23: PgNo-400" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# variable initialisation\n", - "po=2*math.pow(10,-3)# optical power in watts\n", - "I=100*math.pow(10,-3)# current in amp\n", - "V=2 # applied voltage in volt\n", - "pe=I*V # electrical power in watts\n", - "n=(po/pe)*100 # conversion efficiency\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The conversion efficiency = \",n,\"%\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The conversion efficiency = 1.00 %\n" - ] - } - ], - "prompt_number": 55 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 24: PgNo-403" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# variable initialisation\n", - "c=3*math.pow(10,8) # speed of light in m/s\n", - "h=6.64*math.pow(10,-34) # plank constant\n", - "Eg=1.43 # gap energy in eV\n", - "y=(1.24*math.pow(10,-6))/Eg # wavelength in m\n", - "dy=0.1*math.pow(10,-9) # in m\n", - "df=(dy*c)/math.pow(y,2) # width in Hz\n", - "# Results\n", - "print ('%s %.3f %s' %(\" The wavelength = \",y*pow(10,6),\"um\"))\n", - "print ('%s %.4f %s' %(\"\\n The width = \",df/pow(10,9),\"GHz\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The wavelength = 0.867 um\n", - "\n", - " The width = 39.8979 GHz\n" - ] - } - ], - "prompt_number": 56 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 25: PgNo-407" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "tr=25.0 # rediative life time in ns\n", - "tnr=90.0 # nonrediative life time in ns\n", - "i=3.5*math.pow(10,-3) # drive current in amp\n", - "y=1.31*math.pow(10,-6) # wavelength in m\n", - "h=6.625*math.pow(10,-34) # plank constant\n", - "c=3*math.pow(10,8) # the speed of light in m/s\n", - "eq=1.6*math.pow(10,-19 )# charge\n", - "t=tr*tnr/(tr+tnr) # total carrier recombination lifetime ns\n", - "ni=t/tr # internal quantam efficiency\n", - "pil=(ni*h*c*i)/(eq*y) # internal power in watt\n", - "p_int=pil*pow(10,3) # internal power in mW\n", - "P=p_int/(ni*(ni+1)) # power emitted in mW\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The total carrier recombination lifetime = \",t,\"ns\"))\n", - "print ('%s %.2f ' %(\"\\n The internal quantam efficiency = \", ni))\n", - "print ('%s %.2f %s' %(\"\\n The internal power = \",p_int,\"mW\"))\n", - "print ('%s %.2f %s' %(\"\\n The power emitted = \",P,\"mW\"))\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The total carrier recombination lifetime = 19.57 ns\n", - "\n", - " The internal quantam efficiency = 0.78 \n", - "\n", - " The internal power = 2.60 mW\n", - "\n", - " The power emitted = 1.86 mW\n" - ] - } - ], - "prompt_number": 57 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 26: PgNo-409" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "nt=0.18 # total efficiency\n", - "Eg=1.43 # band gape energy eV\n", - "V=2.5 # appied voltage in volt\n", - "n_ex=(nt*(Eg/V))*100 # external efficiency\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The external efficiency = \",n_ex,\"%\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The external efficiency = 10.30 %\n" - ] - } - ], - "prompt_number": 58 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 27: PgNo-411" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Initialisation of variables\n", - "c=3*math.pow(10,8) # speed of light in m/s\n", - "n=3.6 # for GaAs\n", - "df=278*math.pow(10,9) # separation in Hz\n", - "y=0.87*math.pow(10,-6) # wavelength in m\n", - "L=c/(2*n*df) # cavity length in m\n", - "l=L*math.pow(10,6) # cavity length in um\n", - "L1=math.floor(l)*math.pow(10,-6) # cavity length in m\n", - "q=(2*n*L1)/y # number of longitudinal modes\n", - "# Results\n", - "print ('%s %.3f %s' %(\" The cavity length = \",l,\"um\"))\n", - "print ('%s %d' %( \"\\n The number of longitudinal modes = \",int(q)))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The cavity length = 149.880 um\n", - "\n", - " The number of longitudinal modes = 1233\n" - ] - } - ], - "prompt_number": 59 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 28: PgNo-415" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Initialisation of variables\n", - "ac=14 # acceptance angle in degree\n", - "nc=math.pow((math.sin(ac*math.pi/180)),2) # coupling efficiency\n", - "l_s=-10*math.log(nc)/math.log(10) # loss in decibels\n", - "\n", - "# results\n", - "print ('%s %.3f ' %(\" The coupling efficiency = \",nc))\n", - "print ('%s %.3f %s' %(\"\\n The loss = \",l_s,\"decibels\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The coupling efficiency = 0.059 \n", - "\n", - " The loss = 12.326 decibels\n" - ] - } - ], - "prompt_number": 60 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 29: PgNo-417" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "c=3*math.pow(10,8)# speed of light in m/s\n", - "n=3.7 # for GaAs\n", - "L=500*math.pow(10,-6) # cavity length in m\n", - "y=850*math.pow(10,-9)\n", - "df=c/(2*n*L) #frequency separation in Hz\n", - "df1=df/math.pow(10,9) # frequency separation in GHz\n", - "dy=(y*y)/(2*L*n) # wavelength in m\n", - "dy1=dy*math.pow(10,9) # wavelength in nm\n", - "\n", - "# Resultsh\n", - "print ('%s %.4f %s' %(\" The frequency separation = \",df1,\"GHz\"))\n", - "print ('%s %.3f %s' %(\"\\n The wavelength separation = \",dy1,\"nm\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The frequency separation = 81.0811 GHz\n", - "\n", - " The wavelength separation = 0.195 nm\n" - ] - } - ], - "prompt_number": 61 - } - ], - "metadata": {} - } - ] -} \ No newline at end of file diff --git a/Optical_Fiber_Communication/Chapter9.ipynb b/Optical_Fiber_Communication/Chapter9.ipynb deleted file mode 100755 index 367cadc1..00000000 --- a/Optical_Fiber_Communication/Chapter9.ipynb +++ /dev/null @@ -1,1146 +0,0 @@ -{ - "metadata": { - "name": "", - "signature": "sha256:e11123ba8b6bbada16d8c62d198839756136e69c9f0cc93a98384db776536508" - }, - "nbformat": 3, - "nbformat_minor": 0, - "worksheets": [ - { - "cells": [ - { - "cell_type": "heading", - "level": 1, - "metadata": {}, - "source": [ - "Chapter 9 : Optical Fiber System-I" - ] - }, - { - "cell_type": "heading", - "level": 1, - "metadata": {}, - "source": [ - "Example 1: PgNo-424" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Initialisation of variables\n", - "e_c=550.0 # number of electron collected\n", - "p=800.0 # number of photon incident\n", - "n=e_c/p # quantum efficiency\n", - "eq=1.602*math.pow(10,-19)# charge\n", - "h=6.626*math.pow(10,-34)# plank constant\n", - "c=3*math.pow(10,8)# speed of light in m/s\n", - "y=1.3*math.pow(10,-6) #wavelength in m\n", - "R=(n*eq*y)/(h*c)# responsivity in A/W\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The responsivity = \",R,\"Amp/Watt\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The responsivity = 0.72 Amp/Watt\n" - ] - } - ], - "prompt_number": 31 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 2: PgNo-427" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "eq=1.602*math.pow(10,-19)# charge\n", - "h=6.626*math.pow(10,-34)# plank constant\n", - "c=3*math.pow(10,8)# speed of light in m/s\n", - "y=0.85*math.pow(10,-6) # wavelength in m\n", - "R=0.274 # responsivity in A/W\n", - "n=(R*h*c)/(eq*y) # quantum efficiency\n", - "n1=n*100 # % of quantum efficiency\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The quantum efficiency = \",n1,\"%\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The quantum efficiency = 40.00 %\n" - ] - } - ], - "prompt_number": 32 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 3: PgNo-429" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "e_c=1.0 # number of electron collected\n", - "p=3.0 # number of photon incident\n", - "n=e_c/p # quantum efficiency\n", - "eq=1.602*math.pow(10,-19) # charge\n", - "h=6.626*math.pow(10,-34) # plank constant\n", - "c=3*math.pow(10,8) # speed of light in m/s\n", - "y=0.8*math.pow(10,-6) # wavelength in m\n", - "Eg=(h*c)/y # band gap energy in J\n", - "R=(n*eq*y)/(h*c)# responsivity in A/W\n", - "Po=math.pow(10,-7) # in W\n", - "Ip=R*Po # output photo current\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The quantum efficiency = \",n*100,\"%\"))\n", - "print ('%s %.2f %s' %(\"\\n band gap energy = \",Eg*pow(10,20),\"*10^-20 J\"))\n", - "print ('%s %.2f %s' %(\"\\n The output photo current = \",Ip*pow(10,9),\"nA\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The quantum efficiency = 33.33 %\n", - "\n", - " band gap energy = 24.85 *10^-20 J\n", - "\n", - " The output photo current = 21.49 nA\n" - ] - } - ], - "prompt_number": 33 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 4: PgNo-432" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "n=0.50 # quantum efficiency\n", - "eq=1.602*math.pow(10,-19)# charge\n", - "h=6.626*math.pow(10,-34)# plank constant\n", - "c=3*math.pow(10,8)# speed of light in m/s\n", - "y=0.85*math.pow(10,-6) # wavelength in m\n", - "R=(n*eq*y)/(h*c)# responsivity in A/W\n", - "Ip=math.pow(10,-6)# mean photo current\n", - "Po=Ip/R # received optical power in W\n", - "f=c/y\n", - "re=(n*Po)/(h*f)\n", - "rp=re/n # number of received photons\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The responsivity = \",R,\"A/W\"))\n", - "print ('%s %.2f %s' %(\"\\n The received optical power = \",Po*pow(10,6),\"uW\"))\n", - "print ('%s %.2f %s' %(\"\\n The number of received photons = \",rp/pow(10,13),\"*10^13 photons/sec\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The responsivity = 0.34 A/W\n", - "\n", - " The received optical power = 2.92 uW\n", - "\n", - " The number of received photons = 1.25 *10^13 photons/sec\n" - ] - } - ], - "prompt_number": 34 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 5: PgNo-435" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "h=6.626*math.pow(10,-34)# plank constant\n", - "c=3*math.pow(10,8) # speed of light in m/s\n", - "Eg=1.43 # in eV\n", - "Eg1=Eg*1.602*math.pow(10,-19) # in J\n", - "y=(h*c)/Eg1 # cut off wavelength in m\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The cut off wavelength = \",y*pow(10,6),\"um\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The cut off wavelength = 0.87 um\n" - ] - } - ], - "prompt_number": 35 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 6: PgNo-437" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Initialisation of variables\n", - "vd=2.5*math.pow(10,4)# carrier velocity in m/s\n", - "w=30*math.pow(10,-6)# width in m\n", - "Bm=vd/(2*math.pi*w)\n", - "Tm=1/Bm # max response time in sec\n", - "Tm1=Tm*math.pow(10,9) # max response time in ns\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The max response time = \",Tm1,\"ns\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The max response time = 7.54 ns\n" - ] - } - ], - "prompt_number": 36 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 7: PgNo-440" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "n=0.65 # quantum efficiency\n", - "eq=1.602*math.pow(10,-19) # charge\n", - "h=6.626*math.pow(10,-34) # plank constant\n", - "c=3*math.pow(10,8) # speed of light in m/s\n", - "y=0.85*math.pow(10,-6)# wavelength in m\n", - "R=(n*eq*y)/(h*c)# responsivity in A/W\n", - "Po=0.35*math.pow(10,-6) # in W\n", - "Ip=R*Po # output photo current\n", - "I=9*math.pow(10,-6) # output current in A\n", - "M=I/Ip # multiplication factor\n", - "M1=math.ceil(M)\n", - "# Results\n", - "print \" The multiplication factor = \",int(M1)" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The multiplication factor = 58\n" - ] - } - ], - "prompt_number": 37 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 8: PgNo-442" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "n=0.50 # quantum efficiency\n", - "eq=1.602*math.pow(10,-19) # charge\n", - "h=6.626*math.pow(10,-34) # plank constant\n", - "c=3*math.pow(10,8) # speed of light in m/s\n", - "Eg=1.5*math.pow(10,-19) # in J\n", - "y=(h*c)/Eg # cut off wavelength in m\n", - "f=c/y\n", - "R=(n*eq)/(h*f) # responsivity in A/W\n", - "Ip=2.7*math.pow(10,-6) # photo current in A\n", - "Po=Ip/R # incident optical power in W\n", - "Po1=Po*math.pow(10,6) # incident optical power in uW\n", - "\n", - "# results\n", - "print ('%s %.2f %s' %( \" The cut off wavelength = \",y*pow(10,6),\"um\"))\n", - "print ('%s %.2f %s' %(\"\\n The responsivity = \",R,\"A/W \"))\n", - "print ('%s %.2f %s' %(\"\\n The incident optical power = \",Po1,\"uW\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The cut off wavelength = 1.33 um\n", - "\n", - " The responsivity = 0.53 A/W \n", - "\n", - " The incident optical power = 5.06 uW\n" - ] - } - ], - "prompt_number": 38 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 9: PgNo-445" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "#Variable declaration\n", - "n=0.15 # quantum efficiency\n", - "eq=1.6*math.pow(10,-19) # charge\n", - "h=6.63*math.pow(10,-34)# plank constant\n", - "c=3*math.pow(10,8) # speed of light in m/s\n", - "y=0.85*math.pow(10,-6) # cut off wavelength in m\n", - "f=c/y # frequency in Hz\n", - "R=(n*eq)/(h*f) # responsivity in A/W\n", - "# Results\n", - "print ('%s %.3f %s' %(\" The responsivity = \",R,\"A/W\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The responsivity = 0.103 A/W\n" - ] - } - ], - "prompt_number": 39 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 10: PgNo-448" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "Iph=75*math.pow(10,-6) # output photocurrent in A\n", - "y=0.85 # operating wavelength in um\n", - "Pie=750*math.pow(10,-6) # incident optical power in uW\n", - "R=Iph/Pie # responsivity in A/W\n", - "n=1.24*R/y # external quantum efficiency\n", - "n1=n*100 # percentage of external quantum efficiency\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The responsivity = \",R,\"A/W\"))\n", - "print ('%s %.2f %s' %(\"\\n The external quantum efficiency = \",n1,\"%\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The responsivity = 0.10 A/W\n", - "\n", - " The external quantum efficiency = 14.59 %\n" - ] - } - ], - "prompt_number": 40 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 11: PgNo-451" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "Vs=math.pow(10,5) # saturation in m/s\n", - "W=7*math.pow(10,-6) # depletion layer width in m\n", - "tr=W/Vs # transit time in sec\n", - "\n", - "# Results\n", - "print ('%s %.1f %s' %(\" The transit time = \",tr*pow(10,12),\"ps\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The transit time = 70.0 ps\n" - ] - } - ], - "prompt_number": 41 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 12: PgNo-454" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "Vs=3*math.pow(10,4)# saturation in m/s\n", - "W=25*math.pow(10,-6) # depletion layer width in m\n", - "tr=W/Vs # transit time in sec\n", - "f=0.35/tr # max 3 dB bandwidth Hz\n", - "f1=f/math.pow(10,6) # max 3 dB bandwidth Hz\n", - "\n", - "# results\n", - "print ('%s %.f %s' %(\" The max 3 dB bandwidth = \",f1,\"MHz\"))\n", - "print (\"\\n The answer is wrong in the textbook \")" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The max 3 dB bandwidth = 420 MHz\n", - "\n", - " The answer is wrong in the textbook \n" - ] - } - ], - "prompt_number": 42 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 13: PgNo-456" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# variable initialisation\n", - "Vs=3*math.pow(10,4) # saturation in m/s\n", - "W=25*math.pow(10,-6) # depletion layer width in m\n", - "E=10.5*math.pow(10,-11) # in F/m\n", - "RL=15*math.pow(10,6) # load resister in ohm\n", - "A=0.25*math.pow(10,-6) # area in m^2\n", - "tr=W/Vs # transit time in sec\n", - "Cj=E*A/W # junction capacitance in F\n", - "t=RL*Cj # time constant in sec\n", - "\n", - "# Results\n", - "print ('%s %.3f %s' %(\" The transit time = \",tr*pow(10,9),\"ns\"))\n", - "print ('%s %.2f %s' %(\"\\n The junction capacitance = \",Cj*pow(10,12),\"pF\"))\n", - "print ('%s %.2f %s' %(\"\\n The time constant = \",t*pow(10,6),\"us\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The transit time = 0.833 ns\n", - "\n", - " The junction capacitance = 1.05 pF\n", - "\n", - " The time constant = 15.75 us\n" - ] - } - ], - "prompt_number": 43 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 14: PgNo-459" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Initialisation of variables\n", - "Eg1=1.12 # band gap for Si in eV\n", - "Eg2=0.667 # band gap for Ge in eV\n", - "y_si=1.24/Eg1 # cut off wavelength for Si in um\n", - "y_he=1.24/Eg2 # cut off wavelength for Ge in um\n", - "\n", - "# Results\n", - "print ('%s %.3f %s' %(\" The cut off wavelength for Si = \",y_si,\"um\"))\n", - "print ('%s %.3f %s' %(\"\\n The cut off wavelength for Ge = \",y_he,\"um\"))\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The cut off wavelength for Si = 1.107 um\n", - "\n", - " The cut off wavelength for Ge = 1.859 um\n" - ] - } - ], - "prompt_number": 44 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 15: PgNo-463" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# variable declaration\n", - "n=0.50 # quantum efficiency\n", - "eq=1.6*math.pow(10,-19)# charge\n", - "h=6.626*math.pow(10,-34) # plank constant\n", - "c=3*math.pow(10,8) # speed of light in m/s\n", - "y=0.9*math.pow(10,-6) # wavelength in m\n", - "R=(n*eq*y)/(h*c) # responsivity in A/W\n", - "Ip=math.pow(10,-6) # mean photo current\n", - "Po=Ip/R # received optical power in W\n", - "f=c/y\n", - "re=(n*Po)/(h*f)\n", - "rp=re/n # number of received photons\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The responsivity = \",R,\"A/W\"))\n", - "print ('%s %.2f %s' %(\"\\n The received optical power = \",Po*pow(10,6),\"uW\"))\n", - "print ('%s %.2f %s' %(\"\\n The number of received photons = \",rp/pow(10,13),\"*10^13 photons/sec\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The responsivity = 0.36 A/W\n", - "\n", - " The received optical power = 2.76 uW\n", - "\n", - " The number of received photons = 1.25 *10^13 photons/sec\n" - ] - } - ], - "prompt_number": 45 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 16: PgNo-466" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Initialisation of variables\n", - "R=0.40 # Responsivity in A/W\n", - "m=100*math.pow(10,-6) # incident flux in W/m-m\n", - "A=2 # area in m-m\n", - "Po=m*A # incident power in W\n", - "Ip=R*Po # photon current in A\n", - "\n", - "# Results\n", - "print ('%s %.f %s' %(\" The photon current = \",Ip*math.pow(10,6),\"uA\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The photon current = 80 uA\n" - ] - } - ], - "prompt_number": 46 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 17: PgNo-470" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "n=0.65 # quantum efficiency\n", - "eq=1.602*math.pow(10,-19) # charge\n", - "h=6.626*math.pow(10,-34) # plank constant\n", - "c=3*math.pow(10,8) # speed of light in m/s\n", - "Eg=1.5*math.pow(10,-19) # in J\n", - "y=(h*c)/Eg # cut off wavelength in m\n", - "f=c/y\n", - "R=(n*eq)/(h*f) # responsivity in A/W\n", - "Ip=2.5*math.pow(10,-6) # photo current in A\n", - "Po=Ip/R # incident optical power in W\n", - "Po1=Po*math.pow(10,6) # incident optical power in uW\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The cut off wavelength = \",y*math.pow(10,6),\"um\"))\n", - "print ('%s %.2f %s' %(\"\\n The responsivity = \",R,\"A/W\"))\n", - "print ('%s %.2f %s' %(\"\\n The incident optical power = \",Po1,\"uW\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The cut off wavelength = 1.33 um\n", - "\n", - " The responsivity = 0.69 A/W\n", - "\n", - " The incident optical power = 3.60 uW\n" - ] - } - ], - "prompt_number": 47 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 18: PgNo-472" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "h=6.626*math.pow(10,-34) # plank constant\n", - "c=3*math.pow(10,8) # speed of light in m/s\n", - "Eg=1.43 # in eV\n", - "Eg1=Eg*1.602*math.pow(10,-19) # in J\n", - "y=(h*c)/Eg1 # cut off wavelength in m\n", - "\n", - "# Results\n", - "print ('%s %.3f %s' %(\" The cut off wavelength = \",y*math.pow(10,6),\"um\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The cut off wavelength = 0.868 um\n" - ] - } - ], - "prompt_number": 48 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 19: PgNo-474" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "n=0.45 # quantum efficiency\n", - "h=6.62*math.pow(10,-34) # plank constant\n", - "c=3*math.pow(10,8) # speed of light in m/s\n", - "y=1.2*math.pow(10,-6) # cut off wavelength in m\n", - "Ic=20*math.pow(10,-6) # collector current in A\n", - "Po=120*math.pow(10,-6)# incident optical power in W\n", - "eq=1.602*math.pow(10,-19)# charge\n", - "Go=(h*c*Ic)/(y*Po*eq) # optical gain\n", - "h_e=Go/n # common emitter gain\n", - "\n", - "# Results\n", - "print ('%s %.3f ' %(\" The optical gain = \",Go))\n", - "print ('%s %.3f ' %(\"\\n The common emitter gain = \",h_e))\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The optical gain = 0.172 \n", - "\n", - " The common emitter gain = 0.383 \n" - ] - } - ], - "prompt_number": 49 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 20: PgNo-477" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Initialisation of variables\n", - "n=0.5 # quantum efficiency\n", - "eq=1.602*math.pow(10,-19) # charge\n", - "h=6.626*math.pow(10,-34) # plank constant\n", - "c=3*math.pow(10,8) # speed of light in m/s\n", - "y=1.3*math.pow(10,-6) # wavelength in m\n", - "R=(n*eq*y)/(h*c)# responsivity in A/W\n", - "Po=0.4*math.pow(10,-6) # in W\n", - "Ip=R*Po # output photo current\n", - "I=8*math.pow(10,-6) # output current in A\n", - "M=I/Ip # multiplication factor\n", - "\n", - "# Results\n", - "print \" The multiplication factor = \",int(M)" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The multiplication factor = 38\n" - ] - } - ], - "prompt_number": 50 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 21: PgNo-481" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Initialisation of variables\n", - "n=0.85 # quantum efficiency\n", - "eq=1.6*math.pow(10,-19) # charge\n", - "h=6.625*math.pow(10,-34) # plank constant\n", - "c=3*math.pow(10,8) # speed of light in m/s\n", - "y=0.9*math.pow(10,-6) # wavelength in m\n", - "R=(n*eq*y)/(h*c)# responsivity in A/W\n", - "Po=0.6*math.pow(10,-6) # in W\n", - "Ip=R*Po # output photo current\n", - "I=10*math.pow(10,-6) # output current in A\n", - "M=I/Ip # multiplication factor\n", - "\n", - "# Results\n", - "print \" The multiplication factor = \",int(M)" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The multiplication factor = 27\n" - ] - } - ], - "prompt_number": 51 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 22: PgNo-483" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "e_c=1.2*math.pow(10,11) # number of electron collected\n", - "p=2*math.pow(10,11) # number of photon incident\n", - "n=e_c/p # quantum efficiency\n", - "eq=1.602*math.pow(10,-19) # charge\n", - "h=6.626*math.pow(10,-34) # plank constant\n", - "c=3*math.pow(10,8) # speed of light in m/s\n", - "E=1.5*math.pow(10,-19) # energy in J\n", - "\n", - "# Calculations\n", - "y=(h*c)/E # wavelength in m\n", - "R=(n*eq*y)/(h*c) # responsivity in A/W\n", - "Ip=2.6*math.pow(10,-6) # photocurrent in A\n", - "Po=Ip/R # incident optical power in W\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The quantum efficiency = \",n*100,\"%\"))\n", - "print ('%s %.2f %s' %(\"\\n The wavelength = \",y*pow(10,6),\"um\"))\n", - "print ('%s %.2f %s' %(\"\\n The responsivity = \",R,\"Amp/Watt\"))\n", - "print ('%s %.2f %s' %(\"\\n The incident optical power = \",Po*math.pow(10,6),\"uW\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The quantum efficiency = 60.00 %\n", - "\n", - " The wavelength = 1.33 um\n", - "\n", - " The responsivity = 0.64 Amp/Watt\n", - "\n", - " The incident optical power = 4.06 uW\n" - ] - } - ], - "prompt_number": 52 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 23: PgNo-485" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "n=0.40 # quantum efficiency\n", - "eq=1.602*math.pow(10,-19) # charge\n", - "h=6.626*math.pow(10,-34) # plank constant\n", - "c=3*math.pow(10,8) # speed of light in m/s\n", - "y=1.35*math.pow(10,-6) # wavelength in m\n", - "R=(n*eq*y)/(h*c) # responsivity in A/W\n", - "Po=0.2*math.pow(10,-6) # in W\n", - "Ip=R*Po # output photo current\n", - "I=4.9*math.pow(10,-6) # output current in A\n", - "M=I/Ip # multiplication factor\n", - "\n", - "# Results\n", - "print \" The multiplication factor = \",int(M)" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The multiplication factor = 56\n" - ] - } - ], - "prompt_number": 53 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 24: PgNo-489" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable initialisation\n", - "n=0.55 # quantum efficiency\n", - "eq=1.6*math.pow(10,-19) # charge\n", - "h=6.626*math.pow(10,-34) # plank constant\n", - "c=3*math.pow(10,8) # speed of light in m/s\n", - "y=0.85*math.pow(10,-6) # wavelength in m\n", - "R=(n*eq*y)/(h*c) # responsivity in A/W\n", - "Ip=2*math.pow(10,-6) # mean photo current\n", - "Po=Ip/R # received optical power in W\n", - "re=(n*Po*y)/(h*c) # number of received photons\n", - "\n", - "# Results\n", - "print ('%s %.3f %s' %(\" The responsivity = \",R,\"A/W\"))\n", - "print ('%s %.3f %s' %(\"\\n The received optical power = \",Po*math.pow(10,6),\"uW\"))\n", - "print ('%s %.2f %s' %(\"\\n The number of received photons = \",re/math.pow(10,13),\"*10^13 photons/sec\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The responsivity = 0.376 A/W\n", - "\n", - " The received optical power = 5.315 uW\n", - "\n", - " The number of received photons = 1.25 *10^13 photons/sec\n" - ] - } - ], - "prompt_number": 54 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 25: PgNo-494" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "h=6.625*math.pow(10,-34) # plank constant\n", - "c=3*math.pow(10,8) # speed of light in m/s\n", - "n=1 # quantum efficiency\n", - "eq=1.602*math.pow(10,-19) # charge\n", - "E=1.3*math.pow(10,-19) # energy in J\n", - "y=(h*c)/E # wavelength in m\n", - "M=18 # multiplication factor\n", - "rp=math.pow(10,13) # no. of photon per sec\n", - "Po=rp*E # output power in w\n", - "Ip=(n*Po*eq)/E # output photocurrent in A\n", - "I=M*Ip # photocurrent in A\n", - "\n", - "# Results\n", - "print ('%s %.3f %s' %(\" The wavelength = \",y*math.pow(10,6),\"um\"))\n", - "print ('%s %.1f %s' %(\"\\n The output power = \",Po*math.pow(10,6),\"uW\"))\n", - "print ('%s %.3f %s' %(\"\\n The photocurrent = \",I*math.pow(10,6),\"uA\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The wavelength = 1.529 um\n", - "\n", - " The output power = 1.3 uW\n", - "\n", - " The photocurrent = 28.836 uA\n" - ] - } - ], - "prompt_number": 55 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 26: PgNo-497" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "# Variable declaration\n", - "e_c=2*math.pow(10,10) # number of electron collected\n", - "p=5*math.pow(10,10) # number of photon incident\n", - "n=e_c/p # quantum efficiency\n", - "eq=1.602*math.pow(10,-19) # charge\n", - "h=6.626*math.pow(10,-34) # plank constant\n", - "c=3*math.pow(10,8)# speed of light in m/s\n", - "y=0.85*math.pow(10,-6) # wavelength in m\n", - "y1=0.85 # wavelength in um\n", - "Eg=(h*c)/y # bandgap energy in J\n", - "Eg1=1.24/y1 # bandgap energy in terms of eV\n", - "Po=10*math.pow(10,-6) # incident power in W\n", - "Ip=(n*eq*Po)/Eg # mean output photocurrent in A\n", - "\n", - "# Results\n", - "print ('%s %.2f %s' %(\" The quantum efficiency = \",n*100,\"%\"))\n", - "print ('%s %.3f %s' %(\"\\n The bandgap energy = \",Eg*math.pow(10,19),\"*10^-19 J\"))\n", - "print ('%s %.2f %s' %(\"\\n The bandgap energy = \",Eg1,\"eV\"))\n", - "print ('%s %.3f %s' %(\"\\n The mean output photocurrent = \",Ip*math.pow(10,6),\"uA\"))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - " The quantum efficiency = 40.00 %\n", - "\n", - " The bandgap energy = 2.339 *10^-19 J\n", - "\n", - " The bandgap energy = 1.46 eV\n", - "\n", - " The mean output photocurrent = 2.740 uA\n" - ] - } - ], - "prompt_number": 56 - } - ], - "metadata": {} - } - ] -} \ No newline at end of file -- cgit