{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Chapter 8: Fiber Optics" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 1.1: Critical_angle.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "//variable declaration\n", "n1=1.50 //Core refractive index\n", "n2=1.47 //Cladding refractive index\n", "\n", "//Calculations\n", "C_a=asin(n2/n1) //Critical angle \n", "N_a=(n1**2-n2**2)**(1/2)\n", "A_a=asin(N_a)\n", "\n", "//Results\n", "printf('The Critical angle =%0.3f degrees\n',(C_a*180/%pi))\n", "printf('The numerical aperture =%0.3f \n',(N_a))\n", "printf('The acceptance angle =%0.3f degrees\n',(A_a*180/%pi))" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 8.10: Numerical_aperture_and_Acceptance_angle.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "//variable declaration\n", "n1=1.53\n", "delta=0.0196\n", "\n", "//Calculations\n", "N_a=n1*(2*delta)**(1/2)\n", "A_a=asin(N_a)\n", "//Result\n", "printf('Numerical aperture =%0.3f \n',(N_a))\n", "printf('Acceptance angle =%0.3f degrees \n',(A_a*180/%pi))" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 8.11: Core_radius.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "//variable declaration\n", "n1=1.480\n", "n2=1.465\n", "V=2.405\n", "lamda=850*10**-9\n", "\n", "//Calculations\n", "delta=(n1**2-n2**2)/(2*n1**2)\n", "a=(V*lamda*10**-9)/(2*%pi*n1*sqrt(2*delta))\n", "\n", "//Results\n", "printf('delta =%0.3f \n',(delta))\n", "printf('Core radius,a =%0.3f micro m\n',(a*10**15))" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 8.12: Total_dist_travelled_by_light_over_one_metre_of_fiber.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "//variable declaration\n", "n1=1.5\n", "n2=1.49\n", "a=25\n", "\n", "//Calculations\n", "C_a=asin(n2/n1) //Critical angle\n", "L=2*a*tan(C_a) \n", "N_r=10**6/L \n", "\n", "//Result\n", "printf('Critical angle=%0.3f degrees\n',(C_a*180/%pi))\n", "printf('Fiber length covered in one reflection=%0.3f micro m\n',(L))\n", "printf('Total no.of reflections per metre=%0.3f \n',(N_r))\n", "printf('Since L=1m, Total dist. travelled by light over one metre of fiber =%0.3f m \n',(1/sin(C_a)))" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 8.13: No_of_modes.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "//variable declaration\n", "alpha=1.85\n", "lamda=1.3*10**-6\n", "a=25*10**-6\n", "N_a=0.21\n", "\n", "//Calculations\n", "V_n=((2*%pi**2)*a**2*N_a**2)/lamda**2\n", "N_m=(alpha/(alpha+2))*V_n\n", "\n", "printf('No.of modes =%0.3f =155(approx)\n',(N_m))\n", "printf('Taking the two possible polarizations, Total No.of nodes =%0.3f \n',(N_m*2))" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 8.14: ignal_attention_per_unit_length.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "//variable declaration\n", "P_i=100\n", "P_o=2\n", "L=10\n", "\n", "//Calculations\n", "S=(10/L)*log(P_i/P_o)\n", "O=S*L\n", "\n", "//Result\n", "printf('a.Signal attention per unit length =%0.3f dB km**-1\n',(S))\n", "printf('b.Overall signal attenuation =%0.3f dB\n',(O))\n", "printf('//Answer given in the textbook is wrong')" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 8.15: Bandwidth_length_product.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "//variable declaration\n", "L=10\n", "n1=1.55\n", "delta=0.026\n", "C=3*10**5\n", "\n", "//Calculations\n", "delta_T=(L*n1*delta)/C\n", "B_W=10/(2*delta_T)\n", "\n", "//Result\n", "printf('Total dispersion =%0.3f ns\n',(delta_T/10**-9))\n", "printf('Bandwidth length product =%0.3f Hz-km\n',(B_W/10**5))\n", "printf('//Answer given in the text book is wrong')" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 8.2: No_of_modes_propogated_inside_the_fiber.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "//variable declaration\n", "d=50 //diameter\n", "N_a=0.2 //Numerical aperture\n", "lamda=1 //wavelength\n", "\n", "//Calculations\n", "N=4.9*(((d*10**-6*N_a)/(lamda*10**-6))**2)\n", "\n", "//Result\n", "printf('N =%0.3f \n',N)\n", "printf('Fiber can support%0.3f guided modes \n',N)\n", "printf('In graded index fiber, No.of modes propogated inside the fiber =%0.3f only',N/2)" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 8.3: Numerical_aperture.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "//variable declaration\n", "d=50 //diameter\n", "n1=1.450\n", "n2=1.447\n", "lamda=1 //wavelength\n", "\n", "//Calculations\n", "N_a=(n1**2-n2**2) //Numerical aperture\n", "N=4.9*(((d*10**-6*N_a)/(lamda*10**-6))**2)\n", "\n", "//Results\n", "printf('Numerical aperture =%0.3f ',N_a)\n", "printf('No. of modes that can be propogated =%0.3f \n',(N))" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 8.4: Numerical_aperture.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "//variable declaration\n", "delta=0.05 \n", "n1=1.46\n", "\n", "//Calculation\n", "N_a=n1*(2*delta)**(1/2) //Numerical aperture\n", "\n", "//Result\n", "printf('Numerical aperture =%0.3f \n',(N_a))" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 8.5: maximum_no_of_modes_propogating_through_fiber.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "//variable declaration\n", "a=5\n", "n1=1.450\n", "n2=1.447\n", "lamda=1 //wavelength\n", "\n", "//Calculations\n", "N_a=(n1**2-n2**2) //Numerical aperture\n", "\n", "N=4.9*((a*10**-6*sqrt(N_a)/(lamda*10**-6))**2)\n", "\n", "//Result\n", "\n", "printf('maximum no.of modes propogating through fiber =%0.3f \n',(N))\n", "printf('Correction needed')" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 8.6: Number_of_modes.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "//variable declaration\n", "a=100\n", "N_a=0.3 //Numerical aperture\n", "lamda=850 //wavelength\n", "\n", "//Calculations\n", "V_n=(2*(%pi**2*a**2*10**-12*N_a**2)/lamda**2*10**-18)\n", "//Result\n", "printf('Number of modes =%0.3f modes\n',(V_n/10**-36))\n", "printf('No.of modes is doubled to account for the two possible polarisations')\n", "printf('Total No.of modes =%0.3f \n',(V_n/10**-36)*2)" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 8.7: Cutoff_Wavellength.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "//variable declaration\n", "a=5;\n", "n1=1.48;\n", "delta=0.01;\n", "V=25;\n", "\n", "//Calculation\n", "lamda=(%pi*(a*10**-6)*n1*sqrt(2*delta))/V // Cutoff Wavelength\n", "\n", "//Result\n", "printf('Cutoff Wavellength =%0.3f micro m. \n',(lamda*10**7))" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 8.8: Maximum_core_radius.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "//variable declaration\n", "V=2.405\n", "lamda=1.3\n", "N_a=0.05\n", "\n", "//Calculations\n", "a_max=(V*lamda)/(2*%pi*N_a)\n", "\n", "//Result\n", "printf('Maximum core radius=%0.3f micro m\n',(a_max))" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 8.9: Acceptance_angle.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "//variable declaration\n", "N_a=0.3\n", "gamma=45\n", "\n", "//Calculations\n", "theta_a=asin(N_a)\n", "theta_as=asin((N_a)/cos(gamma))\n", "\n", "//Results\n", "printf('Acceptance angle, theta_a =%0.3f degrees\n',(theta_a*180/%pi))\n", "printf('For skew rays,theta_as %0.3f degrees\n',(theta_as*180/%pi))\n", "printf('//Answer given in the textbook is wrong')" ] } ], "metadata": { "kernelspec": { "display_name": "Scilab", "language": "scilab", "name": "scilab" }, "language_info": { "file_extension": ".sce", "help_links": [ { "text": "MetaKernel Magics", "url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md" } ], "mimetype": "text/x-octave", "name": "scilab", "version": "0.7.1" } }, "nbformat": 4, "nbformat_minor": 0 }