{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "#12: Fiber Optics" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Example number 12.1, Page number 12.24" ] }, { "cell_type": "code", "execution_count": 52, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "acceptance angle is 20.41 degrees\n", "answer in the book varies due to rounding off errors\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration\n", "n1=1.54; #Core refractive index\n", "n2=1.50; #Cladding refractive index\n", "\n", "#Calculation\n", "NA=math.sqrt(n1**2-n2**2); #numerical aperture\n", "alpha_m=math.asin(NA); #acceptance angle(radian)\n", "alpha_m=alpha_m*180/math.pi; #acceptance angle(degrees)\n", "\n", "#Result\n", "print \"acceptance angle is\",round(alpha_m,2),\"degrees\"\n", "print \"answer in the book varies due to rounding off errors\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Example number 12.2, Page number 12.24" ] }, { "cell_type": "code", "execution_count": 53, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "numerical aperture is 0.387\n", "acceptance angle is 22.8 degrees\n", "critical angle is 75 degrees\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration\n", "n1=1.5; #Core refractive index\n", "n2=1.45; #Cladding refractive index\n", "\n", "#Calculation\n", "delta=(n1-n2)/n1; #fractional index change\n", "NA=n1*math.sqrt(2*delta); #numerical aperture\n", "alpha_m=math.asin(NA); #acceptance angle(radian)\n", "alpha_m=alpha_m*180/math.pi; #acceptance angle(degrees)\n", "thetac=math.asin(n2/n1)*180/math.pi; #critical angle(degrees)\n", "\n", "#Result\n", "print \"numerical aperture is\",round(NA,3)\n", "print \"acceptance angle is\",round(alpha_m,1),\"degrees\"\n", "print \"critical angle is\",int(thetac),\"degrees\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Example number 12.3, Page number 12.25" ] }, { "cell_type": "code", "execution_count": 54, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "critical angle is 77.16 degrees\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration\n", "n1=1.53; #Core refractive index\n", "p=2.5; #percentage(%)\n", "\n", "#Calculation\n", "n2=n1*(100-p)/100; #Cladding refractive index\n", "thetac=math.asin(n2/n1)*180/math.pi; #critical angle(degrees)\n", "\n", "#Result\n", "print \"critical angle is\",round(thetac,2),\"degrees\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Example number 12.4, Page number 12.25" ] }, { "cell_type": "code", "execution_count": 55, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "numerical aperture is 0.28\n", "acceptance angle is 16.26 degrees\n", "critical angle is 79.1 degrees\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration\n", "delta=0.018; #fractional difference\n", "n1=1.50; #Core refractive index\n", "\n", "#Calculation\n", "NA=round(n1*math.sqrt(2*delta),2); #numerical aperture\n", "alpha_m=math.asin(NA); #acceptance angle(radian)\n", "alpha_m=alpha_m*180/math.pi; #acceptance angle(degrees)\n", "n2=n1-(delta*n1); #Cladding refractive index\n", "thetac=math.asin(n2/n1)*180/math.pi; #critical angle(degrees)\n", "\n", "#Result\n", "print \"numerical aperture is\",NA\n", "print \"acceptance angle is\",round(alpha_m,2),\"degrees\"\n", "print \"critical angle is\",round(thetac,1),\"degrees\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Example number 12.5, Page number 12.26" ] }, { "cell_type": "code", "execution_count": 56, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "total number of guided modes is 490.0\n", "number of modes of graded index fibre is 245.0\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration\n", "d=50*10**-6; #diameter(m)\n", "lamda=1*10**-6; #wavelength(m)\n", "NA=0.2; #numerical aperture\n", "\n", "#Calculation\n", "NSI=4.9*(d*NA/lamda)**2; #total number of guided modes\n", "NGI=NSI/2; #number of modes of graded index fibre\n", "\n", "#Result\n", "print \"total number of guided modes is\",NSI\n", "print \"number of modes of graded index fibre is\",NGI" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Example number 12.6, Page number 12.26" ] }, { "cell_type": "code", "execution_count": 57, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "numerical aperture is 0.47\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration\n", "delta=0.05; #fractional difference\n", "n1=1.5; #Core refractive index\n", "\n", "#Calculation\n", "NA=n1*math.sqrt(2*delta); #numerical aperture\n", "\n", "#Result\n", "print \"numerical aperture is\",round(NA,2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Example number 12.7, Page number 12.27" ] }, { "cell_type": "code", "execution_count": 58, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "number of modes that can be propagated is 1\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration\n", "d=5*10**-6; #diameter(m)\n", "lamda=1*10**-6; #wavelength(m)\n", "NA=0.092; #numerical aperture\n", "\n", "#Calculation\n", "N=4.9*(d*NA/lamda)**2; #number of modes that can be propagated\n", "\n", "#Result\n", "print \"number of modes that can be propagated is\",int(N)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Example number 12.8, Page number 12.27" ] }, { "cell_type": "code", "execution_count": 59, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "V number is 94.7\n", "maximum number of modes is 4485.7\n", "answer in the book varies due to rounding off errors\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration\n", "n1=1.53; #Core refractive index\n", "n2=1.50; #Cladding refractive index\n", "a=50*10**-6; #radius(m)\n", "lamda=1*10**-6; #wavelength(m)\n", "\n", "#Calculation\n", "NA=math.sqrt(n1**2-n2**2); #numerical aperture\n", "Vn=2*math.pi*a*NA/lamda; #V number\n", "N=Vn**2/2; #maximum number of modes\n", "\n", "#Result\n", "print \"V number is\",round(Vn,1)\n", "print \"maximum number of modes is\",round(N,1)\n", "print \"answer in the book varies due to rounding off errors\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Example number 12.9, Page number 12.27" ] }, { "cell_type": "code", "execution_count": 60, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "number of propagating modes is 49177\n", "answer in the book is wrong\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration\n", "a=100*10**-6; #radius(m)\n", "lamda=0.85*10**-6; #wavelength(m)\n", "NA=0.3; #numerical aperture\n", "\n", "#Calculation\n", "N=4*math.pi**2*a**2*NA**2/lamda**2; #number of propagating modes\n", "\n", "#Result\n", "print \"number of propagating modes is\",int(N)\n", "print \"answer in the book is wrong\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Example number 12.10, Page number 12.28" ] }, { "cell_type": "code", "execution_count": 61, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Core refractive index is 1.6025\n", "acceptance angle is 8.638 degrees\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration\n", "NA=0.2; #numerical aperture\n", "n2=1.59; #Cladding refractive index\n", "n0=1.33; #refractive index\n", "\n", "#Calculation\n", "n1=round(math.sqrt(NA**2+n2**2),4); #Core refractive index\n", "NA1=math.sqrt(n1**2-n2**2)/n0; #numerical aperture\n", "alpha_m=math.asin(NA1); #acceptance angle(radian)\n", "alpha_m=alpha_m*180/math.pi; #acceptance angle(degrees)\n", "\n", "#Result\n", "print \"Core refractive index is\",n1\n", "print \"acceptance angle is\",round(alpha_m,3),\"degrees\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Example number 12.11, Page number 12.29" ] }, { "cell_type": "code", "execution_count": 62, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "number of photons is 13.675 *10**15\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration\n", "c=3*10**8; #velocity of light(m/sec)\n", "h=6.63*10**-34; #plank's constant(Js)\n", "lamda=680*10**-9; #wavelength(m)\n", "P=4*10**-3; #power(W)\n", "\n", "#Calculation\n", "delta_E=c*h/lamda; #energy(J)\n", "N=P/delta_E; #number of photons\n", "\n", "#Result\n", "print \"number of photons is\",round(N/10**15,3),\"*10**15\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Example number 12.12, Page number 12.29" ] }, { "cell_type": "code", "execution_count": 64, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Cladding refractive index is 1.49925\n", "numerical aperture is 0.0474\n", "critical angle is 88.2 degrees\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration\n", "delta=0.0005; #fractional difference\n", "n1=1.5; #Core refractive index\n", "\n", "#Calculation\n", "n2=n1-(delta*n1); #Cladding refractive index\n", "NA=n1*math.sqrt(2*delta); #numerical aperture\n", "thetac=math.asin(n2/n1)*180/math.pi; #critical angle(degrees)\n", "\n", "#Result\n", "print \"Cladding refractive index is\",n2\n", "print \"numerical aperture is\",round(NA,4)\n", "print \"critical angle is\",round(thetac,1),\"degrees\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Example number 12.13, Page number 12.29" ] }, { "cell_type": "code", "execution_count": 65, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "fraction of initial intensity after 2km is 0.363\n", "fraction of initial intensity after 5km is 0.048\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration\n", "alpha=2.2; #attenuation coefficient(dB/km)\n", "L1=2; #distance(km)\n", "L2=6; #distance(km)\n", "\n", "#Calculation\n", "x1=-alpha*L1/10; \n", "x2=-alpha*L2/10;\n", "P1=10**x1; #fraction of initial intensity after 2km\n", "P2=10**x2; #fraction of initial intensity after 5km\n", "\n", "#Result\n", "print \"fraction of initial intensity after 2km is\",round(P1,3)\n", "print \"fraction of initial intensity after 5km is\",round(P2,3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Example number 12.14, Page number 12.30" ] }, { "cell_type": "code", "execution_count": 66, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "attenuation coefficient is 1.41 dB/km\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration\n", "L=0.5; #distance(km)\n", "Pout=1; #output power(W)\n", "Pin=85/100; #input power(W)\n", "\n", "#Calculation\n", "alpha=10*math.log10(Pout/Pin)/L; #attenuation coefficient(dB/km)\n", "\n", "#Result\n", "print \"attenuation coefficient is\",round(alpha,2),\"dB/km\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Example number 12.15, Page number 12.30" ] }, { "cell_type": "code", "execution_count": 67, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "attenuation coefficient is 1.7 dB/km\n", "overall signal attenuation is 17 dB\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration\n", "L=10; #distance(km)\n", "Pout=2; #output power(W)\n", "Pin=100; #input power(W)\n", "\n", "#Calculation\n", "alpha=10*math.log10(Pin/Pout)/L; #attenuation coefficient(dB/km)\n", "o_alpha=round(alpha,1)*L; #overall signal attenuation\n", "\n", "#Result\n", "print \"attenuation coefficient is\",round(alpha,1),\"dB/km\"\n", "print \"overall signal attenuation is\",int(o_alpha),\"dB\"" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.9" } }, "nbformat": 4, "nbformat_minor": 0 }