diff options
Diffstat (limited to 'Electronic_Communication_by_D._Roddy/Chapter20_Fibre_Optic_Communication.ipynb')
-rw-r--r-- | Electronic_Communication_by_D._Roddy/Chapter20_Fibre_Optic_Communication.ipynb | 587 |
1 files changed, 587 insertions, 0 deletions
diff --git a/Electronic_Communication_by_D._Roddy/Chapter20_Fibre_Optic_Communication.ipynb b/Electronic_Communication_by_D._Roddy/Chapter20_Fibre_Optic_Communication.ipynb new file mode 100644 index 00000000..254e70df --- /dev/null +++ b/Electronic_Communication_by_D._Roddy/Chapter20_Fibre_Optic_Communication.ipynb @@ -0,0 +1,587 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter20 Fibre Optic Communication" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 20.2.1,Pg.no.753" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The numerical aperture is 0.35\n", + "The acceptance angle is 0.36\n" + ] + } + ], + "source": [ + "import math\n", + "from math import sqrt\n", + "n1=1.55 #RI of glass\n", + "n2=1.51 #RI of clad\n", + "#NA of the fibe is given as\n", + "NA=n1*sqrt(2*(n1-n2)/n1)\n", + "NA=round(NA,2)\n", + "print 'The numerical aperture is',NA\n", + "#Acceptance angle is given as\n", + "acc_angle=math.asin(NA)\n", + "acc_angle=round(acc_angle,2)\n", + "print 'The acceptance angle is',acc_angle" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 20.2.2,Pg.no.761" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The V number is 69.12\n", + "the approximate no . of modes are 2388.8\n" + ] + } + ], + "source": [ + "import math\n", + "from math import pi\n", + "d=50*10**-6\n", + "wav=0.8*10**-6\n", + "NA=0.352 \n", + "#Determination of V number\n", + "V=(pi)*d*NA/wav\n", + "V=round(V,2)\n", + "print 'The V number is',V\n", + "#Determination of approximate number of modes\n", + "N=(V**2)/2\n", + "N=round(N,1)\n", + "print 'the approximate no . of modes are',N" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 20.2.3,Pg.no.762" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The v number is 4.2291\n", + "From the table it is seen that 6 modes have cut off v less than 4.23\n" + ] + } + ], + "source": [ + "import math\n", + "from math import pi\n", + "d=5*10**-6\n", + "wave=1.3*10**-6\n", + "NA=0.35\n", + "#Determination of V number\n", + "V=(pi)*d*NA/wave\n", + "V=round(V,4)\n", + "print 'The v number is',V\n", + "print 'From the table it is seen that 6 modes have cut off v less than 4.23'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 20.2.4,Pg.no.763" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "No . of modes supported by graded index fiber= 1195\n" + ] + } + ], + "source": [ + "import math\n", + "a=2 #gradding profile index\n", + "V=69.1 #normalized cutoff frequency\n", + "N=2390 #number of modes supported as a step index fiber\n", + "#Determination of no . of modes supported by graded index fiber\n", + "N_a=(N*a)/(a+2)\n", + "print 'No . of modes supported by graded index fiber=',N_a" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 20.2.5,Pg.no.763" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a) the normilized index difference is 0.002\n", + "b) cladding index required is 1.55\n", + "The max acceptance angle is 0.1\n" + ] + } + ], + "source": [ + "import math\n", + "from math import pi\n", + "d=10*10**-6\n", + "wav=1.3*10**-6\n", + "n1=1.55\n", + "V_max=2.405\n", + "NA=(V_max*wav)/(pi*d)\n", + "#a) Determination of maximum normailized index difference\n", + "del1=(0.5)*((NA/n1)**2)\n", + "del1=round(del1,3)\n", + "print 'a) the normilized index difference is',del1\n", + "#b) Determination of r effective index of claddin glass\n", + "n2=n1*(1-del1)\n", + "n2=round(n2,2)\n", + "print 'b) cladding index required is',n2\n", + "#Determination of the fiber acceptance angle\n", + "theta_max=math.asin(NA)\n", + "theta_max=round(theta_max,3)\n", + "print'The max acceptance angle is',theta_max" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 20.3.1,Pg.no.766" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a)The repeater dist for 0.9um wavelength is 12 km\n", + "b)The repeater dist for 1.5um wavelength is 83.33 km\n" + ] + } + ], + "source": [ + "import math\n", + "A_max=25\n", + "A1=2\n", + "A2=0.3\n", + "#a) Determination of repeater dist at 0.9um wavelength\n", + "z1=A_max/A1\n", + "print 'a)The repeater dist for 0.9um wavelength is',z1,'km'\n", + "#b) Determination of repeater dist at 1.5um wavelength\n", + "z2=A_max/A2\n", + "z2=round(z2,2)\n", + "print 'b)The repeater dist for 1.5um wavelength is',z2,'km'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 20.4.1,Pg.no.772" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The intermodal dispersion is 1.37e-07 s/km\n", + "The intermodal dispertion for l=12.5 is 1.71e-09 s\n" + ] + } + ], + "source": [ + "import math\n", + "#given\n", + "n1=1.55\n", + "del1=0.0258\n", + "l=12.5\n", + "z=1000\n", + "c=3*10**8 #velocity of light\n", + "#a) Determination of intermodal dispersion\n", + "del_per_km=(n1*z*del1)/((1-del1)*c)*10**7\n", + "del_per_km=round(del_per_km,2)*10**-7\n", + "print 'The intermodal dispersion is',del_per_km ,'s/km'\n", + "#b) Determination of intermodal dispersion for l =12.5\n", + "del_l=del_per_km*l/1000*10**9\n", + "del_l=round(del_l,2)*10**-9\n", + "print 'The intermodal dispertion for l=12.5 is',del_l,'s'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 20.4.2,Pg.no.773" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The intermodal dispersion is 5.37e-05 sec\n" + ] + } + ], + "source": [ + "import math\n", + "n1=1.55\n", + "del1=(258.0)*(10**-2)\n", + "z=1000\n", + "c=3*10**8\n", + "z_disp=12.5\n", + "del_graded=(n1*z*del1**2)/(8*c)\n", + "#Determination of intermodal dispersion\n", + "del_total=del_graded*z_disp*10**5\n", + "del_total=round(del_total,2)*10**-5\n", + "print 'The intermodal dispersion is',del_total,'sec'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 20.4.3,Pg.no.774" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The total material dispersion is -2.8125 ns\n" + ] + } + ], + "source": [ + "import math\n", + "#given\n", + "wav_0=0.8*10**-6\n", + "Dm=-0.15\n", + "wav_3=1.5\n", + "z=12.5\n", + "del_t=Dm*wav_3\n", + "#Determination of total material dispersion\n", + "del_md=del_t*z\n", + "print 'The total material dispersion is',del_md,'ns' " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 20.4.4,Pg.no.775" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Expected waveguide dispersion is 495.0 ps\n" + ] + } + ], + "source": [ + "import math\n", + "#given\n", + "Dm=6.6\n", + "z=12.5\n", + "del_3=6\n", + "del_wg=Dm*z*del_3\n", + "print'Expected waveguide dispersion is',del_wg,'ps'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 20.4.5,Pg.no.776" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The total dispersion is 1.0 ns\n", + "The max allowed bit rate is 500.0 Mbps\n" + ] + } + ], + "source": [ + "import math\n", + "#given\n", + "del_imd=0\n", + "del_md=2.81\n", + "del_wgd=0.495\n", + "t_w=2.5\n", + "del_tot=((del_imd**2)+(del_md**2)+(del_wgd**2))**(1/2)\n", + "print 'The total dispersion is',del_tot,'ns'\n", + "t_r=((t_w**2)+(del_tot**2))**(1/2) \n", + "#Determination of max allowed bit rate\n", + "B=(1000/(2*t_r))\n", + "print 'The max allowed bit rate is',B,'Mbps'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 20.4.6,Pg.no.778" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a)The BW distance product for fiber is 0.125 Mbps−km\n", + "b)The disp limited length for a fiber is 12.5 km\n" + ] + } + ], + "source": [ + "import math\n", + "#given\n", + "del_t=4.0\n", + "B=10.0\n", + "#a) Determination of BW distance product\n", + "BDP=1/(2*del_t)\n", + "print'a)The BW distance product for fiber is',BDP,'Mbps−km'\n", + "#b) Determiation of dispersion limited length\n", + "z_max_disp=BDP/(B*10**-3)\n", + "print'b)The disp limited length for a fiber is',z_max_disp,'km'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 20.5.1,Pg.no.780" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a) i) the wavelength is 0.7 um\n", + "a) ii) the freq is 459307010.5 MHz\n", + "b) i) the wavelength is 0.85 um\n", + "b) ii) the freq is 352941176.471 MHz\n", + "c)i) the wavelength is 1.3 um\n", + "c)ii) the freq is 230620467.4 MHz\n" + ] + } + ], + "source": [ + "import math\n", + "E1=1.9\n", + "E2=1.46\n", + "E3=0.954\n", + "eV=1.9 #All in eV\n", + "c=3*10**8 #speed of light\n", + "#a) Determination of wavelength and freq for E1=1.9\n", + "wav1=1.241/E1\n", + "f1=c/(wav1)\n", + "wav1=round(wav1,1)\n", + "f1=round(f1,1)\n", + "print 'a) i) the wavelength is',wav1,'um'\n", + "print 'a) ii) the freq is',f1,'MHz'\n", + "#b) Determination of wavelength and freq for E2=1.46\n", + "wav2=1.241/E2\n", + "f2=c/(wav2)\n", + "print 'b) i) the wavelength is',wav2,'um'\n", + "print 'b) ii) the freq is',f2,'MHz'\n", + "#c ) Determination of wavelength and freq for E3=0.945\n", + "wav3=1.241/E3\n", + "f3=c/(wav3)\n", + "wav3=round(wav3,1)\n", + "f3=round(f3,1)\n", + "print'c)i) the wavelength is',wav3,'um'\n", + "print'c)ii) the freq is',f3,'MHz'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 20.8.1,Pg.no.799" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a) the loss−limited fiber is 17.75 km\n", + "b) the max BW for loss−limited length is 0.022 Gbps\n", + "the dispertion limited length is 11.32 km\n" + ] + } + ], + "source": [ + "import math\n", + "#given\n", + "pt=0\n", + "pr=-57\n", + "Nc=2\n", + "BER=10**-9\n", + "N=5\n", + "Lpt=6\n", + "Lpr=6\n", + "Lc=1\n", + "Ls =0.5\n", + "Lf=2\n", + "M=5\n", + "del_t=0.505\n", + "B=35\n", + "Ns=5\n", + "#a) Determination of loss−limited fiber length\n", + "z=(pt-pr-M-(Nc*Lc)-(Ns*Ls)-Lpt-Lpr)/Lf\n", + "print 'a) the loss−limited fiber is',z,'km'\n", + "#b) Determination of max BW for loss−limited fiber length\n", + "B_max=1/(5*del_t*z)\n", + "B_max=round(B_max,3)\n", + "print 'b) the max BW for loss−limited length is',B_max,'Gbps'\n", + "#c ) Determination of dispersion−limited length\n", + "z_disp=1000/(5*del_t*B)\n", + "z_disp=round(z_disp,2)\n", + "print 'the dispertion limited length is',z_disp,'km'" + ] + } + ], + "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.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} |