{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Chapter 2: Optical Fibers" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2.10_1: Determine_cutoff_wavelength.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 2.10.1 page 2.39\n", "\n", "clc;\n", "clear;\n", "\n", "a=4.5d-6; //core diameter\n", "delta=0.25/100; //relative index difference\n", "lamda=0.85d-6; //operating wavelength\n", "n1=1.46; //core refractive index\n", "\n", "v= 2*%pi*a*n1*sqrt(2*delta)/lamda; //computing normalized frequency\n", "lamda_cut_off=v*lamda/2.405; //computing cut off wavelength\n", "lamda_cut_off=lamda_cut_off*10^9;\n", "printf('\nCut off wavelength is %.d nanometer.',lamda_cut_off);\n", "\n", "printf('\n\nWhen delta is 1.25 percent-');\n", "delta=1.25/100;\n", "v= 2*%pi*a*n1*sqrt(2*delta)/lamda; //computing normalized frequency\n", "lamda_cut_off=v*lamda/2.405; //computing cut off wavelength\n", "lamda_cut_off=lamda_cut_off*10^7;\n", "lamda_cut_off=round(lamda_cut_off);\n", "lamda_cut_off=lamda_cut_off*100;\n", "printf('\nCut off wavelength is %.d nanometer.',lamda_cut_off);\n", "\n", "//answer in the book for cut off wavelength in the book is given as 1214nm, deviation of 1nm." ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2.10_2: Calculate_cutoff_number_and_number_of_modes.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 2.10.2 page 2.40\n", "\n", "clc;\n", "clear;\n", "\n", "a=50d-6; //core radius\n", "lamda=1500d-9; //operating wavelength\n", "n1=2.53; //core refractive index\n", "n2=1.5; //cladding refractive index\n", "\n", "delta=(n1-n2)/n1; //computing delta\n", "v= 2*3.14*a*n1*sqrt(2*delta)/lamda; //computing normalized frequency\n", "M=(v)^2/2; //computing guided modes\n", "printf('\nNormalized Frequency is %.1f\nTotal number of guided modes are %.d',v,M);\n", "printf('\nNOTE - Calculation error in book. \n Normalized frequency is 477, it is calculated as 47.66');\n", "\n", "//Calculation error in book. Normalized frequency is 477, it is calculated as 47.66, hence answers after that are erroneous.\n", "//answers in the book\n", "//normalized frequency = 48.(incorrect)\n", "//guided modes = 1152.(incorrect)" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2.10_3: Compute_number_of_modes.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 2.10.3 page 2.41\n", "\n", "clc;\n", "clear;\n", "\n", "core_diameter=8d-6; //core diameter\n", "delta=0.92/100; //relative index difference\n", "lamda=1550d-9; //operating wavelength\n", "n1=1.45; //core refractive index\n", "\n", "a=core_diameter/2; //computing core radius\n", "v= 2*%pi*a*n1*sqrt(2*delta)/lamda; //computing normalized frequency\n", "M=(v)^2/2; //computing guided modes\n", "printf('\nNormalized Frequency is %.1f.\nTotal number of guided modes are %.d.',v,M);" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2.10_4: Calculate_delay_difference.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 2.10.4 page 2.41\n", "\n", "clc;\n", "clear;\n", "\n", "delta=1/100; //relative index difference\n", "n1=1.5; //core refractive index\n", "c=3d8;\n", "L=6;\n", "\n", "n2=sqrt(n1^2-2*delta*n1^2); //computing refractive index of cladding\n", "delta_T=L*n1^2*delta/(c*n2); //computing pulse broadning\n", "delta_T=delta_T*10^11;\n", "delta_T=round(delta_T);\n", "printf('\nDelay difference between slowest and fastest mode is %d ns/km.',delta_T);\n", "printf('\nThis means that a pulse broadnes by %d ns after travel time a distance of %d km.',delta_T,L);\n", "" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2.13_1: Find_modal_briefringence.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 2.13.1 page 2.54\n", "\n", "clc;\n", "clear;\n", "\n", "L_BL=8d-2; //beat length\n", "\n", "Br=2*3.14/L_BL; //computing modal briefringence\n", "printf('\nModal briefringence is %.1f per meter.',Br);" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2.13_2: Find_output_power.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 2.13.2 page 2.57\n", "\n", "clc;\n", "clear;\n", "\n", "Pin=500d-6; //input power\n", "L=200; //length of fiber\n", "loss=2; //loss associated with fiber\n", "\n", "Pin_dbm=10 * log10 (Pin/(10^-3)); //computing input power in dBm\n", "Pin_dbm=round(Pin_dbm);\n", "Pout_dbm=Pin_dbm-L*loss; //computing output power level\n", "Pout= 10^(Pout_dbm/10);\n", "printf('Output power is %.2e mW.',Pout);" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2.16_1: Calculate_NA_and_maximum_acceptance_angle.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 2.16.1 page 2.67\n", "\n", "clc;\n", "clear;\n", "\n", "n1=1.48; //core refractive index\n", "n2=1.46; //cladding refractive index\n", "\n", "phi = asind(n2/n1); //computing critical angle\n", "NA = sqrt(n1^2 - n2^2); //computing numericla aperture\n", "theta= asind(NA); //computing acceptance angle\n", "printf('\nCritical angle is %.2f degrees.\nNumerical aperture is %.3f.\nAcceptance angle is %.2f degree.',phi,NA,theta);\n", "\n", "//answers in the book\n", "//Critical angle is 80.56 degrees, deviation of 0.01.\n", "//Numerical aperture is 0.244, deviation of 0.002.\n", "//Acceptance angle is 14.17 degree, deviation of 0.14." ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2.3_1: Estimate_numerical_aperture_and_critical_angle.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 2.3.1 page 2.10\n", "\n", "clc;\n", "clear;\n", "\n", "delta = 1/100; // Relative refractive difference index\n", "n1=1.46; // Core refractive index (assumption)\n", "\n", "NA= n1*sqrt(2*delta); //computing numerical aperture\n", "theta = 1 - delta;\n", "Critical_angle = asind(theta); //computing critical angle\n", "\n", "printf('\nNumerical aperture is %.2f.\nCritical angle is %.1f degree.',NA,Critical_angle);" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2.3_2: Estimate_numerical_aperture.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 2.3.2 page 2.10\n", "\n", "clc;\n", "clear;\n", "\n", "delta = 1/100; // Relative refractive difference index\n", "n1=1.47; // Core refractive index \n", "\n", "NA= n1*sqrt(2*delta); //computing numerical aperture\n", "\n", "printf('\nNumerical aperture is %.1f.',NA)" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2.4_1: Determine_critical_angle_numerical_aperture_and_acceptance_angle.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 2.4.1 page 2.11\n", "\n", "clc;\n", "clear;\n", "\n", "n1=1.49; //core refractive index\n", "n2=1.45; //cladding refractive index\n", "\n", "phi = asind(n2/n1); //computing critical angle\n", "NA = sqrt(n1^2 - n2^2); //computing numericla aperture\n", "theta= asind(NA); //computing acceptance angle\n", "\n", "printf('\nCritical angle is %.2f degrees.\nNumerical aperture is %.3f.\nAcceptance angle is %.2f degree.',phi,NA,theta);\n", "\n", "//answer in the book for Numerical aperture is 0.343, deviation of 0.003\n", "//answer in the book for Acceptance angle is 20.24, deviation of 0.18" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2.4_2: Determine_numerical_aperture.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 2.4.2 page 2.12\n", "\n", "clc;\n", "clear;\n", "\n", "delta = 1/100; // Relative refractive difference index\n", "n1=1.47; // Core refractive index \n", "\n", "NA= n1*sqrt(2*delta); //computing numerical aperture\n", "printf('\nNumerical aperture is %.1f.',NA)" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2.4_3: Find_numerical_aperture_and_acceptance_angle.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 2.4.3 page 2.12\n", "\n", "clc;\n", "clear;\n", "\n", "delta = 1.2/100; // Relative refractive difference index\n", "n1=1.45; // Core refractive index \n", "\n", "NA= n1*sqrt(2*delta); //computing numerical aperture\n", "Acceptance_angle = asind(NA); //computing acceptance angle\n", "si = %pi * NA^2; //computing solid acceptance angle\n", "\n", "printf('\nNumerical aperture is %.3f.\nAcceptance angle is %.2f degree.\nSolid acceptance angle is %.3f radians.',NA,Acceptance_angle,si);\n", "\n", "//answer in the book for Numerical aperture is 0.224, deviation of 0.001\n", "//answer in the book for solid acceptance angle is 0.157, deviation of 0.002" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2.4_4: Find_acceptance_angle.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 2.4.4 page 2.13\n", "\n", "clc;\n", "clear;\n", "\n", "NA = 0.45; // Numerical Aperture\n", "\n", "Acceptance_angle = asind(NA); //computing acceptance angle.\n", "printf('\nAcceptance angle is %.1f degree.',Acceptance_angle);" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2.4_5: Compute_numerical_aperture_and_full_cone_angle.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 2.4.5 page 2.13\n", "\n", "clc;\n", "clear;\n", "\n", "diameter = 1; //Diameter in centimeter\n", "Focal_length = 10; //Focal length in centimeter\n", "\n", "radius=diameter/2; //computing radius\n", "Acceptance_angle = atand(radius/Focal_length); //computing acceptance angle\n", "Conical_full_angle = 2*Acceptance_angle; //computing conical angle\n", "Solid_acceptance_angle = %pi*Acceptance_angle^2; //computing solid acceptance angle\n", "NA = sqrt(Solid_acceptance_angle/%pi); //computing Numerical aperture\n", "\n", "printf('\nNumerical aperture is %.2f.\nConical full angle is %.2f degree.',NA,Conical_full_angle);\n", "\n", "" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2.5_1: Find_acceptance_angle.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 2.5.1 page 2.17\n", "\n", "clc;\n", "clear;\n", "\n", "NA = 0.45 //Numerical aperture\n", "betaB = 45 // Skew ray change direction by 90 degree at each reflection\n", "\n", "Meridional_theta = asind(NA); //computing acceptacne angle for meridoinal ray\n", "Skew_theta = asind(NA/cosd(betaB)); //computing acceptacne angle for skew ray\n", "\n", "printf('\nAcceptacne angle for Meridoinal ray is %.2f degree.\nAcceptance angle for Skew ray %.1f degree.',Meridional_theta,Skew_theta);" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2.7_10: Determine_normalized_frequency_and_number_of_guided_modes.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 2.7.10 page 2.29\n", "\n", "clc;\n", "clear;\n", "\n", "n1=1.48; //refractive index of core\n", "n2=1.46; //refractive index of cladding\n", "lamda1=1320d-9; //Wavelength\n", "lamda2=1550d-9; //Wavelength\n", "a=25d-6; //radius of core\n", "\n", "NA=sqrt(n1^2 - n2^2); //computing Numerical aperture\n", "v1=2*%pi*a*NA/lamda1; //computing normalized frequency\n", "v1=round(v1);\n", "M1=v1^2/2; //computing number of guided modes\n", "M1=round(M1);\n", "v2=2*%pi*a*NA/lamda2;\n", "M2=v2^2/2;\n", "M2=round(M2);\n", "lamda1=lamda1*10^9;\n", "lamda2=lamda2*10^9;\n", "\n", "printf('\nfor %d nm, normalized frequency = %d, Guided modes = %d.',lamda1,v1,M1);\n", "printf('\nfor %d nm, normalized frequency = %.2f, Guided modes = %d.',lamda2,v2,M2);\n", "\n", "//answer in the book,\n", "//for 1550 nm, normalized frequency = 24.69(deviation of 0.08), Guided modes = 305(deviation of 3)" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2.7_11: Compute_NA_and_number_of_guided_modes.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 2.7.11 page 2.29\n", "\n", "clc;\n", "clear all;\n", "\n", "n1=1.5; //refractive index of core\n", "n2=1.38; //refractive index of cladding\n", "lamda=1300d-9; //Wavelength\n", "a=25d-6; //core radius\n", "\n", "NA=sqrt(n1^2 - n2^2); //computing Numerical aperture\n", "theta= asind(NA); //computing acceptance angle\n", "solid_angle=%pi*(NA)^2; //computing solid angle\n", "v= 2*%pi*a*NA/lamda; //computing normalized frequency\n", "M=(v)^2/2; //computing guided modes\n", "M=round(M);\n", "printf('\nNumerical aperture is %.2f.\nNormalized frequency is %.2f.\nAcceptance angle is %.2f degrees.\nSolid angle is %.3f radians.\nTotal number of modes are %d.',NA,v,theta,solid_angle,M);\n", "printf('\n\n NOTE - Calculation error in the book.\n(2.25-1.9)^0.5=0.59; they have taken 0.35');\n", "\n", "\n", "//Calculation error in the book.(2.25-1.9)^0.5=0.59; they have taken 0.35\n", "//answers in the book,\n", "//Numerical aperture is 0.35.(incorrect)\n", "//Normalized frequency is 42.26.(incorrect)\n", "//Acceptance angle is 20.48 degrees.(incorrect)\n", "//Solid angle is 0.384 radians.(incorrect)" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2.7_12: Compute_core_radius_and_acceptance_angle.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 2.7.12 page 2.30\n", "\n", "clc;\n", "clear;\n", "\n", "n1=1.48; //refractive index of core\n", "n2=1.478; //refractive index of cladding\n", "lamda=820d-9; //Wavelength\n", "\n", "NA=sqrt(n1^2 - n2^2); //computing Numerical aperture\n", "theta= asind(NA); //computing acceptance angle\n", "solid_angle=%pi*(NA)^2; //computing solid angle\n", "\n", "printf('\nNumerical aperture is %.3f.\nAcceptance angle is %.2f degrees.\nSolid angle is %.4f radians.',NA,theta,solid_angle);\n", "" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2.7_13: Estimate_range_of_wavelength_for_single_mode_transmission.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "\n", "// Example 2.7.13 page 2.31\n", "\n", "clc;\n", "clear;\n", "\n", "n1=1.447; //refractive index of core\n", "n2=1.442; //refractive index of cladding\n", "lamda=1.3d-6; //Wavelength\n", "a=3.6d-6; //core radius\n", "\n", "NA=sqrt(n1^2 - n2^2); //computing Numerical aperture\n", "v= 2*%pi*a*NA/lamda; //computing normalized frequency\n", "\n", "printf('As normalized frequency is %.2f which is less than 2.405, this fiber will permit single mode transmission',v);\n", "\n", "lamda_cut_off=v*lamda/2.405\n", "lamda_cut_off=lamda_cut_off*10^9\n", "printf('\n\nSingle mode operation will occur above this cut off wavelength of %.2f nm',lamda_cut_off);\n", "printf('\n\n NOTE - Calculation error in the book.\n(1.447^2 - 1.442^2)^0.5=0.121; they have taken 0.141\nHence calculations after that are incorrect in the book');\n", "\n", "//Calculation error in the book.(1.447^2 - 1.442^2)^0.5=0.121; they have taken 0.141.Hence calculations after that are incorrect in the book.\n", "//They have taken radius as 2.6d-6, whereas in question it is given 3.6d-6.\n", "//answers in the book\n", "//Normalized frequency is 1.77.(incorrect)\n", "//cut off wavelength 956nm.(incorrect)" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2.7_14: Estimate_number_of_guided_modes.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 2.7.14 page 2.34\n", "\n", "clc;\n", "clear;\n", "\n", "NA=0.2; //Numericla aperture\n", "d=50d-6; //Diameter of core\n", "lamda=1d-6; //Wavelength\n", "\n", "a=d/2; //computing radius\n", "v=2*3.14*a*NA/lamda; //computing normalized frequency\n", "Mg=v^2/4; //computing mode volume for parabollic profile\n", "Mg=round(Mg);\n", "printf('\nNormalized Frequency is %.1f.\nTotal number of guided modes are %.d.',v,Mg);\n", "\n", "//answer in the book for guided modes is 247, deviation of 1." ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2.7_15: Determine_core_diameter.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 2.7.15 page 2.34\n", "\n", "clc;\n", "clear;\n", "\n", "delta=0.015; //relative refractive index\n", "n1=1.48; //core refractive index\n", "lamda=0.85d-6; //wavelength\n", "\n", "a=(2.4*lamda)/(2*3.14*n1*sqrt(2*delta)); //computing radius of core\n", "d=2*a; //computing diameter of core\n", "a=a*10^7;\n", "a=round(a);\n", "a=a/10\n", "d=d*10^6;\n", "printf('\nCore radius is %.1f micrometer.\nCore diameter is %.1f micrometer.',a,2*a);\n", "\n", "printf('\n\nWhen delta is reduced by 10 percent-');\n", "delta=0.0015;\n", "a=(2.4*lamda)/(2*3.14*n1*sqrt(2*delta)); //computing radius of core\n", "d=2*a; //computing diameter of core\n", "a=a*10^7;\n", "a=round(a);\n", "a=a/10\n", "d=d*10^6;\n", "printf('\nCore radius is %.1f micrometer.\nCore diameter is %.1f micrometer.',a,2*a);" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2.7_16: Find_number_of_guided_modes.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 2.7.16 page 2.35\n", "\n", "clc;\n", "clear;\n", "\n", "NA=0.25; //Numericla aperture\n", "d=45d-6; //Diameter of core\n", "lamda=1.5d-6; //Wavelength\n", "\n", "a=d/2; //computing radius\n", "v=2*3.14*a*NA/lamda; //computing normalized frequency\n", "Mg=v^2/4; //computing mode volume for parabollic profile\n", "Mg=round(Mg);\n", "printf('\nNormalized Frequency is %.1f.\nTotal number of guided modes are %.d.',v,Mg);\n", "\n", "//answer in the book for normalized frequency is 23.55, deviation 0.05" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2.7_17: Estimate_number_of_guided_modes.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 2.7.17 page 2.35\n", "\n", "clc;\n", "clear;\n", "\n", "NA=0.25; //Numericla aperture\n", "d=45d-6; //Diameter of core\n", "lamda=1.2d-6; //Wavelength\n", "\n", "a=d/2; //computing radius\n", "v=2*3.14*a*NA/lamda; //computing normalized frequency\n", "Mg=v^2/4; //computing mode volume for parabollic profile\n", "Mg=round(Mg);\n", "printf('\nNormalized Frequency is %.1f.\nTotal number of guided modes are %.d.',v,Mg);\n", "printf('\n\nNOTE - In the question NA is given 0.22. However while solving it is taken as 0.25');\n", "\n", "// answer in the book for number of guided modes is given as 216, deviation of 1.\n", "\n", "printf('\nHence solving for NA = 0.22 also,');\n", "printf('\n\nWhen NA=0.22');\n", "\n", "NA=0.22; //Numericla aperture\n", "d=45d-6; //Diameter of core\n", "lamda=1.2d-6; //Wavelength\n", "\n", "a=d/2; //computing radius\n", "v=2*3.14*a*NA/lamda; //computing normalized frequency\n", "Mg=v^2/4; //computing mode volume for parabollic profile\n", "Mg=round(Mg);\n", "printf('\nNormalized Frequency is %.1f.\nTotal number of guided modes are %.d.',v,Mg);\n", "\n", "" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2.7_18: Compute_cutoff_parameter_and_number_of_modes.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 2.7.18 page 2.36\n", "\n", "clc;\n", "clear;\n", "\n", "n1=1.54; //refractive index of core\n", "n2=1.5; //refractive index of cladding\n", "a=25d-6; //Radius of core\n", "lamda=1.3d-6; //Wavelength\n", "\n", "NA=sqrt(n1^2-n2^2);\n", "v=2*3.14*a*NA/lamda; //computing normalized frequency\n", "v=round(v);\n", "Mg=v^2/4; //computing mode volume for parabollic profile\n", "Mg=round(Mg);\n", "lamda_cut_off=v*lamda/2.405; //computing cut off wavelength\n", "lamda_cut_off=lamda_cut_off*10^6;\n", "printf('\nNormalized Frequency is %.d.\nTotal number of guided modes are %.d.\nCut off wavelength is %.1f micrometer.',v,Mg,lamda_cut_off);" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2.7_1: Find_normalized_frequency_and_number_of_guided_modes.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 2.7.1 page 2.23\n", "\n", "clc;\n", "clear;\n", "\n", "core_diameter=78d-6; //core diameter\n", "delta=1.4/100; //relative index difference\n", "lamda=0.8d-6; //operating wavelength\n", "n1=1.47; //core refractive index\n", "\n", "a=core_diameter/2; //computing core radius\n", "v= 2*3.14*a*n1*sqrt(2*delta)/lamda; //computing normalized frequency\n", "M=(v)^2/2; //computing guided modes\n", "\n", "printf('\nNormalized Frequency is %.3f.\nTotal number of guided modes are %.1f',v,M);\n", "printf('\nNOTE - Calculation error, answer in the book for normalized frequency is given as 75.156 which should be 75.306.');\n", "\n", "//answer in the book for normalized frequency is given as 75.156(incorrect) and for Guided modes is 5648.5(incorrect)" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2.7_2: Find_wavelength.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 2.7.2 page 2.24\n", "\n", "clc;\n", "clear;\n", "\n", "n1=1.47 //refractive index of core\n", "a=4.3d-6; //radius of core\n", "delta=0.2/100 //relative index difference\n", "\n", "lamda= 2*3.14*a*n1*sqrt(2*delta)/2.405; //computing wavelength\n", "lamda=lamda*10^9;\n", "printf('Wavelength of fiber is %d nm.',lamda);\n", "printf('\n\nNote:Calculation error, answer given in the book (1230nm) is incorrect.');\n", "\n", "//answer in the book is given as 1230nm which is incorrect." ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2.7_3: Find_core_radius_NA_and_acceptance_angle.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 2.7.3 page 2.24\n", "\n", "clc;\n", "clear;\n", "\n", "n1=1.482; //refractive index of core\n", "n2=1.474; //refractive index of cladding\n", "lamda=820d-9; //Wavelength\n", "\n", "NA=sqrt(n1^2 - n2^2); //computing Numerical aperture\n", "theta= asind(NA); //computing acceptance angle\n", "solid_angle=%pi*(NA)^2; //computing solid angle\n", "a=2.405*lamda/(2*3.14*NA); //computing core radius\n", "a=a*10^6;\n", "\n", "printf('\nNumerical aperture is %.3f.\nAcceptance angle is %.1f degrees.\nSolid angle is %.3f radians.\nCore radius is %.2f micrometer.',NA,theta,solid_angle,a);\n", "\n", "//answer in the book for Numerical aperture is 0.155, deviation of 0.001.\n", "//answer in the book for acceptance angle is 8.9, deviation of 0.1.\n", "//answer in the book for solid acceptance angle is 0.075, deviation of 0.001.\n", "//answer in the book for core radius is 2.02 micrometer, deviation of 0.02 micrometer." ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2.7_4: Estimate_number_of_guided_modes.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 2.7.4 page 2.25\n", "\n", "clc;\n", "clear;\n", "\n", "NA=0.16 //Numerical aperture\n", "n1=1.45 //core refractive index\n", "d=60d-6 //core diameter\n", "lamda=0.82d-6 //wavelength\n", "\n", "a=d/2; //core radius\n", "v=2*3.14*a*NA/lamda; //computing normalized frequency\n", "v=round(v);\n", "M=v^2/2; //computing guided modes\n", "M=floor(M);\n", "\n", "printf('if normalized frequency is taken as %d, then %d guided modes.',v,M);" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2.7_5: Determine_normalized_frequency_and_number_of_guided_modes.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 2.7.5 page 2.26\n", "\n", "clc;\n", "clear;\n", "\n", "n1=1.48; //core refractive index\n", "n2=1.46; //cladding refractive index\n", "a=25d-6; //core radius\n", "lamda0=850d-9;\n", "lamda1=1320d-9;\n", "lamda2=1550d-9;\n", "\n", "NA=sqrt(n1^2-n2^2); //computing numerical aperture\n", "v0=2*%pi*a*NA/lamda0; //computing normalized frequency\n", "M0=v0^2/2; //computing guided modes\n", "M0=floor(M0);\n", "v1=2*%pi*a*NA/lamda1;\n", "M1=v1^2/2;\n", "M1=floor(M1);\n", "v2=2*%pi*a*NA/lamda2;\n", "M2=v2^2/2;\n", "M2=floor(M2);\n", "lamda0=lamda0*10^9;\n", "lamda1=lamda1*10^9;\n", "lamda2=lamda2*10^9;\n", "printf('\nfor %d nm, normalized frequency = %.2f, Guided modes = %d.',lamda0,v0,M0);\n", "printf('\nfor %d nm, normalized frequency = %.2f, Guided modes = %d.',lamda1,v1,M1);\n", "printf('\nfor %d nm, normalized frequency = %.2f, Guided modes = %d.',lamda2,v2,M2);\n", "\n", "//answers in the book (sligt deviations in each)\n", "//for 850 nm, normalized frequency = 45, Guided modes = 1012\n", "//for 1320 nm, normalized frequency = 28.91, Guided modes = 419\n", "//for 1550 nm, normalized frequency = 24.67, Guided modes = 304 " ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2.7_6: Estimate_diameter_of_core.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 2.7.6 page 2.27\n", "\n", "clc;\n", "clear;\n", "\n", "delta=1/100; //relative refractive index\n", "n1=1.3; //core refractive index\n", "lamda=1100d-9; //wavelength\n", "\n", "a=(2.4*lamda)/(2*3.14*n1*sqrt(2*delta)); //computing radius of core\n", "d=2*a; //computing diameter of core\n", "a=a*10^6;\n", "d=d*10^6;\n", "printf('\nCore radius is %.1f micrometer\nCore diameter is %.1f micrometer',a,d);\n", "printf('\nNOTE - In the book they have asked diameter of core. However, they have calculated only radius.');" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2.7_7: Calculate_NA_and_maximum_angle_of_entrance.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 2.7.7 page 2.27\n", "\n", "clc;\n", "clear;\n", "\n", "n1=1.48; //refractive index of core\n", "n2=1.46; //refractive index of cladding\n", "\n", "NA=sqrt(n1^2-n2^2); //computing Numerical aperture\n", "theta=asind(NA); //computing acceptance angle\n", "\n", "printf('\nNumerical aperture is %.3f.\nAcceptance angle is %.2f degrees.',NA,theta);\n", "\n", "//answer in the book for Numerical aperture is 0.244, deviation of 0.002.\n", "//answer in the book for Acceptance angle is 14.12, deviation of 0.09." ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2.7_8: Calculate_normalized_frequency_and_number_of_guided_modes.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 2.7.8 page 2.28\n", "\n", "clc;\n", "clear;\n", "\n", "core_diameter=80d-6; //core diameter\n", "delta=1.5/100; //relative index difference\n", "lamda=0.85d-6; //operating wavelength\n", "n1=1.48; //core refractive index\n", "\n", "a=core_diameter/2; //computing core radius\n", "v= 2*%pi*a*n1*sqrt(2*delta)/lamda; //computing normalized frequency\n", "M=(v)^2/2; //computing guided modes\n", "printf('\nNormalized Frequency is %.1f.\nTotal number of guided modes are %.d.',v,M);\n", "\n", "//answer in the book for Guided modes is 2873, deviation of 1." ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2.7_9: Estimate_diameter_of_the_core.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Example 2.7.9 page 2.28\n", "\n", "clc;\n", "clear;\n", "\n", "delta=1/100; //relative refractive index\n", "n1=1.5; //refractive index of core\n", "M=1100; //Guided modes\n", "lamda=1.3d-6; //wavelength\n", "\n", "v=sqrt(2*M); //computing normalized frequecy\n", "a=(v*lamda)/(2*3.14*n1*sqrt(2*delta)); //computing radius of core\n", "d=a*2;\n", "a=a*10^6;\n", "d=d*10^6;\n", "\n", "printf('\nNormalize frequency is %.1f.\nCore radius is %.2f micrometer.\nCore diameter is %.1f micrometer.',v,a,d);\n", "printf('\nCalculation error in the book while calculating radius and diameter.');\n", "\n", "//calculation error in the book.\n", "//answers in the book - \n", "//Core radius is 46.18 micrometer.(incorrect)\n", "//Core diameter is 92.3 micrometer.(incorrect)" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 4.q: Find_briefrengence.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Question 4 page 2.75\n", "\n", "clc;\n", "clear;\n", "\n", "L_BL=8d-2; //beat length\n", "\n", "Br=2*3.14/L_BL; //computing modal briefringence\n", "printf('\nModal briefringence is %.1f per meter.',Br);" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 5.q: Determine_modal_briefringence.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "// Question 5 page 2.76\n", "\n", "clc;\n", "clear;\n", "\n", "L_BL=0.6d-3; //beat length\n", "lamda=1.4d-6; //wavelength\n", "L_BL1=70;\n", "Bh=lamda/L_BL; //computing high briefringence\n", "Bl=lamda/L_BL1; //computing low briefringence\n", "\n", "printf('\nHigh briefringence is %.2e.\nLow briefringence is %.1e.',Bh,Bl);" ] } ], "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 }