diff options
author | Prashant S | 2020-04-14 10:25:32 +0530 |
---|---|---|
committer | GitHub | 2020-04-14 10:25:32 +0530 |
commit | 06b09e7d29d252fb2f5a056eeb8bd1264ff6a333 (patch) | |
tree | 2b1df110e24ff0174830d7f825f43ff1c134d1af /Fiber_Optics_and_Optoelectronics_by_R_P_Khare | |
parent | abb52650288b08a680335531742a7126ad0fb846 (diff) | |
parent | 476705d693c7122d34f9b049fa79b935405c9b49 (diff) | |
download | all-scilab-tbc-books-ipynb-master.tar.gz all-scilab-tbc-books-ipynb-master.tar.bz2 all-scilab-tbc-books-ipynb-master.zip |
Initial commit
Diffstat (limited to 'Fiber_Optics_and_Optoelectronics_by_R_P_Khare')
13 files changed, 2722 insertions, 0 deletions
diff --git a/Fiber_Optics_and_Optoelectronics_by_R_P_Khare/10-Optical_amplifiers.ipynb b/Fiber_Optics_and_Optoelectronics_by_R_P_Khare/10-Optical_amplifiers.ipynb new file mode 100644 index 0000000..223aff9 --- /dev/null +++ b/Fiber_Optics_and_Optoelectronics_by_R_P_Khare/10-Optical_amplifiers.ipynb @@ -0,0 +1,150 @@ +{ +"cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 10: Optical amplifiers" + ] + }, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 10.1: refractive_index_and_spectral_bandwidth.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 10.1;refractive index and bandwidth\n", +"clc;\n", +"clear;\n", +"close;\n", +"//given data :\n", +"format('v',5)\n", +"lamda=1.55*10^-6;// in m\n", +"del_lamda=1*10^-9;// in m\n", +"L=320*10^-6;// in m\n", +"n=(lamda)^2/(2*del_lamda*L);\n", +"Gs=10^(5/10);// 5 dB is equivalent to 3.16\n", +"R1=30/100;\n", +"R2=R1;\n", +"c=3*10^8;// in m/s\n", +"del_v=(c/(%pi*n*L))*asin((1-(Gs*sqrt(R1*R2)))/(sqrt(4*Gs*sqrt(R1*R2))));\n", +"disp(n,'refrative index is')\n", +"format('v',6)\n", +"disp(del_v*10^-9,'spectral bandwidth in GHz is')\n", +"//bandwidth is calculated wrong in the textbook" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 10.2: small_signal_gain_and_maximum_possible_achievable_gain.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 10.2;small-signal gain of EDFA and maximum pssible achievable gain\n", +"clc;\n", +"clear;\n", +"close;\n", +"ts=0.80;//\n", +"sa=4.6444*10^-25;//in m^2\n", +"n12=6*10^24;//m^-3\n", +"se=4.644*10^-25;//m^2\n", +"n21=0.70;//\n", +"l=7;//in meter\n", +"x=((sa*n12*l*(((se/sa)+1)*n21-1)));//\n", +"G=ts*exp(x);//\n", +"Gdb=10*log10(G);//\n", +"Gmax=exp(se*n12*l);//\n", +"Gmaxdb=10*log10(Gmax);//\n", +"disp(Gdb,'small signal gain of EDFA in dB is')\n", +"disp(Gmaxdb,'maximum possible achievable gain in dB is')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 10.3: output_signal_power_and_overall_gain.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 10.3;output signal power and overall gain\n", +"clc;\n", +"clear;\n", +"close;\n", +"format('v',6)\n", +"disp('part (a)')\n", +"psin=1*10^-6;//in watts\n", +"ppin=1;//in watts\n", +"gr=5*10^-14;//mW^-1\n", +"ap1=60*10^-12;//m^2\n", +"l=2000;//meter\n", +"asdb=0.15;//dB/km\n", +"as=3.39*10^-5;//m^-1\n", +"apdb=0.20;//db/km\n", +"ap=4.50*10^-5;//m^-1\n", +"z=(1-exp(-ap*l))/ap;//\n", +"y=(gr/ap1);//\n", +"y1=z*y;//\n", +"y2=y1-(as*l);//\n", +"psl=psin*exp(y2);//\n", +"disp(psl*10^6,'output signal power for forward pumping in micro Watt is')\n", +"format('v',5)\n", +"disp('part (b)')\n", +"y1=z*y;//\n", +"y2=y1-(as*l);//\n", +"psl=psin*exp(y2);//\n", +"gfra=psl/(psin);//\n", +"Gdb=10*log10(gfra);//\n", +"disp(Gdb,'overall gain in dB is')" + ] + } +], +"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 +} diff --git a/Fiber_Optics_and_Optoelectronics_by_R_P_Khare/11-Wavelength_division_multiplexing.ipynb b/Fiber_Optics_and_Optoelectronics_by_R_P_Khare/11-Wavelength_division_multiplexing.ipynb new file mode 100644 index 0000000..c741c1a --- /dev/null +++ b/Fiber_Optics_and_Optoelectronics_by_R_P_Khare/11-Wavelength_division_multiplexing.ipynb @@ -0,0 +1,128 @@ +{ +"cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 11: Wavelength division multiplexing" + ] + }, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 11.1: interaction_length.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 11.1:interaction length \n", +"clc;\n", +"clear;\n", +"close;\n", +"format('v',6)\n", +"po=1;//assume\n", +"p1=po/2;//\n", +"p2=p1;//\n", +"kl=asin(sqrt(p1));//in degree\n", +"disp(kl,'interaction length is')\n", +"//answer is in the form of pi in the textbook" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 11.2: position_of_the_output_ports.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 11.2:position \n", +"clc;\n", +"clear;\n", +"close;\n", +"a=8.2;//in micro meter\n", +"n1=1.45;//\n", +"n2=1.446;//\n", +"h1=1.31;//in micro meter\n", +"h2=1.55;///in micro meter\n", +"v1=((2*%pi*a*sqrt(n1^2-n2^2))/h1);//\n", +"v2=((2*%pi*a*sqrt(n1^2-n2^2))/h2);//\n", +"db=2.439;//\n", +"del=5.5096*10^-3;//\n", +"k1=1.0483;//mm^-1;//\n", +"k2=1.2839///m^-1\n", +"l1=((%pi)/(4*k1));//in mm\n", +"l2=((%pi)/(4*k2));//in mm\n", +"disp('output port positioned at '+string(l2)+' mm with respect to the input port will gather signals at h1=1310nm')\n", +"disp('output port positioned at '+string(l1)+' mm with respect to the input port will gather signals at h1=1550nm')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 11.4: order.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 11.4: ARRAYED GUIDE\n", +"clc;\n", +"clear;\n", +"close;\n", +"//given data :\n", +"c=3*10^8;\n", +"lamda_c=1.55*10^-6;// in m\n", +"vc=c/lamda_c;\n", +"n=16;// number of channel\n", +"f=100*10^9;// in Hz\n", +"delV_FSR=n*f;\n", +"m=round(vc/delV_FSR);\n", +"disp(m,'required order of the arrayed waveguide, = ')" + ] + } +], +"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 +} diff --git a/Fiber_Optics_and_Optoelectronics_by_R_P_Khare/12-Fiber_optic_communication_system.ipynb b/Fiber_Optics_and_Optoelectronics_by_R_P_Khare/12-Fiber_optic_communication_system.ipynb new file mode 100644 index 0000000..c0f8277 --- /dev/null +++ b/Fiber_Optics_and_Optoelectronics_by_R_P_Khare/12-Fiber_optic_communication_system.ipynb @@ -0,0 +1,232 @@ +{ +"cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 12: Fiber optic communication system" + ] + }, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 12.1: maximum_possible_link_length_and_total_rise_time.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 12.1: link length and reise time\n", +"clc;\n", +"clear;\n", +"close;\n", +"af=2.5;//dB/km\n", +"ac=0.5;//dB/splice\n", +"nc=1;//\n", +"lc=1;//dB\n", +"ncc=2;//\n", +"plx=-10;//dBm\n", +"prx=-42;//dBm\n", +"Ms=6;//dB\n", +"L=((plx-prx-Ms-(lc*ncc))/(af+ac));//\n", +"TTX=12;//NS\n", +"TRX=11;//NS\n", +"NS1=3;//NS/KM\n", +"NS2=1;//NS/KM\n", +"tmat=(NS1*L);//ns\n", +"tint=(NS2*L);//ns\n", +"tsys=sqrt((TTX^2+tmat^2+tint^2+TRX^2));//ns\n", +"disp(L,'maximum possible link length in km is')\n", +"disp(round(tsys),'total rise time of the system in ns is')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 12.2: link_length_and_bandwidth.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 12.2: link length and bandwidth\n", +"clc;\n", +"clear;\n", +"close;\n", +"format('v',4)\n", +"disp('part (a)')\n", +"af=3;//dB/km\n", +"ac=0.5;//dB/splice\n", +"nc=1;//\n", +"lc=1;//dB\n", +"ncc=1.5;//\n", +"plx=0;//dBm\n", +"prx=-25;//dBm\n", +"Ms=7;//dB\n", +"L=((plx-prx-Ms-(lc*ncc))/(af+ac));//\n", +"TTX=12;//NS\n", +"TRX=11;//NS\n", +"NS1=3;//NS/KM\n", +"NS2=1;//NS/KM\n", +"tmat=(NS1*L);//ns\n", +"tint=(NS2*L);//ns\n", +"tsys=sqrt((TTX^2+tmat^2+tint^2+TRX^2));//ns\n", +"disp(L,'maximum possible link length in km is')\n", +"format('v',3)\n", +"disp('part (b)')\n", +"af=3;//dB/km\n", +"ac=0.5;//dB/splice\n", +"nc=1;//\n", +"lc=1;//dB\n", +"ncc=1.5;//\n", +"plx=-0;//dBm\n", +"prx=-25;//dBm\n", +"Ms=7;//dB\n", +"L=((plx-prx-Ms-(lc*ncc))/(af+ac));//\n", +"TTX=1;//NS\n", +"TRX=5;//NS\n", +"NS1=9;//NS/KM\n", +"NS2=2;//NS/KM\n", +"tf=((NS1*L)^2+(NS2*L)^2);//\n", +"tsys=sqrt((TTX^2+tf+TRX^2));//ns\n", +"df=0.35/(tsys*10^-3);//\n", +"disp(round(df),'system bandwidth in MHz iz')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 12.3: number_of_subscribers.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 12.3;no. of subscribers\n", +"clc;\n", +"clear;\n", +"close;\n", +"pt=1;//mW\n", +"pn=-40;//dBm\n", +"pn1=10^(pn/10);//\n", +"c=0.05;//\n", +"d=0.11;//\n", +"x=((pn1)/(pt*c));//\n", +"y=((log10(x))/(log10((1-d)*(1-c))));//\n", +"n=y+1;//\n", +"disp(round(n),'no. of subscribers are')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 12.4: total_power.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 12.4: Total power\n", +"clc;\n", +"clear;\n", +"close;\n", +"//given data :\n", +"L_eff=20;// in km\n", +"del_lamdaC=125;// in nm\n", +"gR=6*10^-14;// m/W\n", +"A_eff=55*10^-12;// in m^2;\n", +"del_lamdaS=0.8;// in nm\n", +"N=32;// number of channels\n", +"F=0.1;// constant\n", +"P_tot=(4*F*del_lamdaC*A_eff)/(gR*del_lamdaS*L_eff*(N-1));\n", +"disp(P_tot,'Total power,P_tot(mW) = ')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 12.5: SBS_threshold_power.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 12.5: SBS threshold power\n", +"clc;\n", +"clear;\n", +"close;\n", +"//given data :\n", +"gb=4*10^-11;// in m/W\n", +"A_eff=55*10^-12;// in m^2\n", +"L_eff=20;// in km\n", +"lamda_p=1.55;// micro-m\n", +"n=1.46;// constant\n", +"Va=5960;// for the silica fiber in m-s^-1\n", +"Vb=(2*n*Va)/lamda_p;\n", +"del_v=100*10^6;// in Hz\n", +"del_Vb=20*10^6;// in Hz\n", +"b1=1;\n", +"b2=2;\n", +"P_th=((21*b1*A_eff)/(gb*L_eff))*(1+(del_v/del_Vb))\n", +"P_th1=((21*b2*A_eff)/(gb*L_eff))*(1+(del_v/del_Vb))\n", +"disp(P_th,'SBS threshold power for the worst case in mW')\n", +"disp(P_th1,'SBS threshold power for the best possible case in mW')" + ] + } +], +"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 +} diff --git a/Fiber_Optics_and_Optoelectronics_by_R_P_Khare/13-Fiber_optic_sensors.ipynb b/Fiber_Optics_and_Optoelectronics_by_R_P_Khare/13-Fiber_optic_sensors.ipynb new file mode 100644 index 0000000..8e20757 --- /dev/null +++ b/Fiber_Optics_and_Optoelectronics_by_R_P_Khare/13-Fiber_optic_sensors.ipynb @@ -0,0 +1,143 @@ +{ +"cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 13: Fiber optic sensors" + ] + }, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 13.1: plot_the_graph.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 13.1: plot\n", +"clc;\n", +"clear;\n", +"close;\n", +"lod=[0;20;40;60;80;100;160];//in micro meter\n", +"slong=[1.0;0.95;0.92;0.89;0.86;0.83;0.80];//\n", +"lad=[0;10;20;30;40;50;60;70;80;90;100];//in micro meter\n", +"slat=[0;0.1;0.2;0.3;0.4;0.5;0.6;0.7;0.8;0.9;1.0];//\n", +"add=[0;1;2;3;4;5;6;7;8;9;10];//\n", +"sang=[0;0.5;0.6;0.7;0.8;0.9;1.0;1.1;.12];//\n", +"t=0:20:200;\n", +"s1=1.0:-0.03:0.7;//\n", +"subplot(131)\n", +"plot(t,s1);//\n", +"xtitle('Variation of Slong as a function of Δ x (with Δy=0 and Δθ=0) ')\n", +"xlabel('Longitudinal displacement Δ x (micro meter)')\n", +"ylabel('Slong (normalised)')\n", +"t1=0:10:100;\n", +"s2=1:-0.1:0;//\n", +"subplot(132)\n", +"plot(t1,s2);//\n", +"xtitle('Variation of Slat as a function of Δ y (with Δx=0 and Δθ=0) ')\n", +"xlabel('Lateral displacement Δ y (micro meter)')\n", +"ylabel('Slat (normalised)')\n", +"t2=0:1:10;\n", +"s3=1.0:-0.03:0.7;//\n", +"subplot(133)\n", +"plot(t2,s3);//\n", +"xtitle('Variation of Sang as a function of Δ θ (with Δx=0 and Δy=0) ')\n", +"xlabel('Angular displacement Δ θ (deg)')\n", +"ylabel('Sang (normalised)')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 13.2: phase_change_per_unit_length.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 13.2: phase change\n", +"clc;\n", +"clear;\n", +"close;\n", +"format('v',6)\n", +"//given data :\n", +"n=1.45;// index of core\n", +"a=10^-5;// in C^-1\n", +"b=5.1*10^-7;// in C^-1\n", +"lamda=.633*10^-6;// in m\n", +"// formula:- (1/L)*(del_fi/del_T)=((2*PI)/lamda)[(n/L)*(del_L/del_T)+(del_n/del_T)]\n", +"//let we assume a=del_n/del_T, b=(1/L)*(del_L/del_T), c=(1/L)*(del_fi/del_T)\n", +"c=((2*%pi)/lamda)*((n*b)+a);\n", +"disp(c,'phase change,(rad/m°C) = ')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 13.3: phase_shift.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 13.3: phase shift\n", +"clc;\n", +"clear;\n", +"close;\n", +"//given data :\n", +"format('e',9)\n", +"L=500;// in m\n", +"D=0.1;//in m\n", +"ohm=7.3*10^-5;// in rad s^-1\n", +"lamda=0.85*10^-6;// in m\n", +"c=3*10^8;// in m/s\n", +"del_fi=(2*%pi*L*D*ohm)/(c*lamda);\n", +"disp(del_fi,'phase shift,del_fi(rad) = ')" + ] + } +], +"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 +} diff --git a/Fiber_Optics_and_Optoelectronics_by_R_P_Khare/14-Laser_based_systems.ipynb b/Fiber_Optics_and_Optoelectronics_by_R_P_Khare/14-Laser_based_systems.ipynb new file mode 100644 index 0000000..6c6a3fc --- /dev/null +++ b/Fiber_Optics_and_Optoelectronics_by_R_P_Khare/14-Laser_based_systems.ipynb @@ -0,0 +1,188 @@ +{ +"cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 14: Laser based systems" + ] + }, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 14.1: energy_and_threshold_electrical_energy.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 14.1: energy and threshold electrical energy\n", +"clc;\n", +"clear;\n", +"close;\n", +"format('v',4)\n", +"disp('part (a)')\n", +"no=1.9*10^19;//cm^-3;//\n", +"hc=6.6*10^-34;//\n", +"v=5.45*10^14;//Hz\n", +"av=2;//\n", +"nv=1;//\n", +"n2=no/2;//\n", +"eng=((n2*hc*v)/(av*nv));// J cm^-2\n", +"disp(eng,'energy in J cm^-2 is')\n", +"format('v',5)\n", +"disp('part (b)')\n", +"oe=0.50;//\n", +"mr=0.15;//\n", +"lr=0.20;//\n", +"teng=eng/(oe*mr*lr);//\n", +"disp(teng,'threshold energy in J cm^-2 is')\n", +"//electrical energy is calculated wrong in the textbook" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 14.3: maximum_power_emerging.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 14.3: output power\n", +"clc;\n", +"clear;\n", +"close;\n", +"h=0.6943*10^-6;//\n", +"lm=10;//in cm\n", +"r1=1.0;//\n", +"r2=0.8;//\n", +"t1=0.98;//\n", +"as=1;//cm^2;//\n", +"Ls=2;//cm\n", +"gth=((1/(2*lm))*log((1/(r1*r2*(t1)^8))))+(as*Ls)/lm;//\n", +"sg=1.5*10^-20;//\n", +"ndth=gth/sg;//cm^-3;//\n", +"nth=ndth*as*lm;//atoms\n", +"ni=5*nth;//atoms\n", +"ng=1.78;//\n", +"ns=2.7;//\n", +"lair=2;//\n", +"c=3*10^10;//\n", +"trt=((2*ng*lm)/c)+((2*ns*Ls)/c)+((2*lair)/c);//seconds\n", +"npmax=((ni-nth)/2)-(nth/2)*log(ni/nth);//photons\n", +"L=14;//cm\n", +"at=((as*Ls)/L)+((1/(2*L))*log(1/(r1*t1^8)));//\n", +"aext=((1/(2*L))*log(1/r2));//\n", +"tp=((trt)/(1-(r1*r2*t1^8*exp(-2*as*Ls))));//seconds\n", +"hc=6.6*10^-34;//\n", +"pmax=((aext/at)*hc*c*npmax)/(h*tp);//in watts\n", +"disp(pmax*10^-6,'maximum power in MW is')\n", +"//answer is wrong in the textbook" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 14.4: pulse_width_and_spatial_length.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 14.4: pulse width and spatial length \n", +"clc;\n", +"clear;\n", +"close;\n", +"format('v',5)\n", +"disp('part (a)')\n", +"//given data :\n", +"del_v=1.5*10^9;// in Hz\n", +"tau_p=1/del_v;\n", +"C=3*10^8;// constant\n", +"disp(tau_p*10^9,'pulse width,del_v(ns) = ')\n", +"Lp=C*tau_p;\n", +"disp(Lp*10^2,'spatial length,Lp(cm) = ')\n", +"//spatial length is calculated wrong in the textbook\n", +"format('v',5)\n", +"disp('part (b)')\n", +"del_v=6*10^10;// in Hz\n", +"tau_p=1/del_v;\n", +"C=3*10^8;// constant\n", +"disp(tau_p*10^12,'pulse width,del_v(ps) = ')\n", +"Lp=C*tau_p*10^3;\n", +"disp(Lp,'spatial length,Lp(mm) = ')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 14.5: time_difference.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 14.5: time difference\n", +"clc;\n", +"clear;\n", +"close;\n", +"format('v',5)\n", +"n=1.33;//\n", +"x=2;//\n", +"l=50;//m\n", +"c=3*10^8;//m/s\n", +"dt=((n*x*l)/c);//s\n", +"disp(dt*10^6,'time difference is,(micro-seconds)=')" + ] + } +], +"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 +} diff --git a/Fiber_Optics_and_Optoelectronics_by_R_P_Khare/2-Ray_propagation_in_optical_fibers.ipynb b/Fiber_Optics_and_Optoelectronics_by_R_P_Khare/2-Ray_propagation_in_optical_fibers.ipynb new file mode 100644 index 0000000..9f0b547 --- /dev/null +++ b/Fiber_Optics_and_Optoelectronics_by_R_P_Khare/2-Ray_propagation_in_optical_fibers.ipynb @@ -0,0 +1,214 @@ +{ +"cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 2: Ray propagation in optical fibers" + ] + }, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.1: NA_angles_and_pulse_broadning.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 2.1 // NA ,angles and pulse broadning\n", +"clc;\n", +"clear;\n", +"close;\n", +"format('v',9 )\n", +"disp('part (a)')\n", +"n1=1.5;//core refrative index\n", +"n2=1.48;//claddin refractive index\n", +"a=100/2;//radius in micro meter\n", +"na=1;//air refrative index\n", +"NA=sqrt(n1^2-n2^2);//numerical aperture\n", +"disp(NA,'numerical aperture is')\n", +"disp('part (b)')\n", +"am=(asind(NA));//\n", +"tm=asind(NA/n1);//\n", +"tc=asind(n2/n1);//\n", +"disp(am,'angle in degree is (αm)')\n", +"disp(tm,'angle in degree is (Om)')\n", +"disp(tc,'angle in degree is(Φc)')\n", +"disp('part (c)')\n", +"c=3*10^8;//speed of light in m/s\n", +"dtl=((n1/n2)*(n1-n2)/c);//pulse broadning per unit length\n", +"disp(dtl,'pulse broadning per unit length in sm^-1')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.2: number_of_reflections.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 2.2 // minimum and maximum number of reflections\n", +"clc;\n", +"clear;\n", +"close;\n", +"format('v',5)\n", +"n1=1.5;//core refrative index\n", +"n2=1.48;//claddin refractive index\n", +"a=100/2;//radius in micro meter\n", +"na=1;//air refrative index\n", +"NA=sqrt(n1^2-n2^2);//numerical aperture\n", +"am=(asind(NA));//\n", +"tm=asind(NA/n1);//\n", +"tc=asind(n2/n1);//\n", +"L=((a*10^-6)/(tand(tm)));//length in meter\n", +"x=(1/(2*L));//maximum number of reflections per meter\n", +"disp('all other rays will suffer reflections between these two extremes of '+string(0)+' and '+string(x)+' m^-1')\n", +"//answer is wrong in the textbook" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.3: pulse_broadning.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 2.3 // pulse broadning\n", +"clc;\n", +"clear;\n", +"close;\n", +"format('v',6)\n", +"h=0.85;//WAVELENGTH IN MICRO METER\n", +"y=0.035;//spectral width\n", +"c=0.021;//constant\n", +"cl=3;//speed of light in m/s\n", +"dtl=(y/cl)*c;//\n", +"disp(dtl*10^4,'pulse broadning in ns km^-1')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.4: pulse_broadning.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 2.4 // pulse broadning\n", +"clc;\n", +"clear;\n", +"close;\n", +"format('v',6)\n", +"disp('part (a)')\n", +"h=850;//WAVELENGTH IN NANO METER\n", +"l=80;//fiber length in Km\n", +"dh=30;//in Nano Meter\n", +"m1=105.5;//material dispersion for h=850nm in ps/nm-Km\n", +"m2=2.8;//material dispersion for h=1300nm in ps/nm-Km\n", +"t=m1*l*dh*10^-3;//material dispersion in ns when h=850nm\n", +"disp(t,'material dispersion in ns when h=850nm')\n", +"disp('part (b)')\n", +"h=1300;//WAVELENGTH IN NANO METER\n", +"l=80;//fiber length in Km\n", +"dh=30;//in Nano Meter\n", +"m1=105.5;//material dispersion for h=850nm in ps/nm-Km\n", +"m2=2.8;//material dispersion for h=1300nm in ps/nm-Km\n", +"t=m2*l*dh*10^-3;//material dispersion in ns when h=850nm\n", +"disp(t,'material dispersion in ns when h=1300nm')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.5: pulse_broadning.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 2.5; pulse broadning\n", +"clc;\n", +"clear;\n", +"close;\n", +"format('v',6)\n", +"disp('part (a)')\n", +"h=850;//WAVELENGTH IN NANO METER\n", +"l=80;//fiber length in Km\n", +"dh=2;//in Nano Meter\n", +"m1=105.5;//material dispersion for h=850nm in ps/nm-Km\n", +"m2=2.8;//material dispersion for h=1300nm in ps/nm-Km\n", +"t=m1*l*dh*10^-3;//material dispersion in ns when h=850nm\n", +"disp(t,'material dispersion in ns when h=850nm')\n", +"disp('part (b)')\n", +"h=1300;//WAVELENGTH IN NANO METER\n", +"l=80;//fiber length in Km\n", +"dh=2;//in Nano Meter\n", +"m1=105.5;//material dispersion for h=850nm in ps/nm-Km\n", +"m2=2.8;//material dispersion for h=1300nm in ps/nm-Km\n", +"t=m2*l*dh*10^-3;//material dispersion in ns when h=850nm\n", +"disp(t,'material dispersion in ns when h=1300nm')" + ] + } +], +"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 +} diff --git a/Fiber_Optics_and_Optoelectronics_by_R_P_Khare/3-Wave_propagation_in_planar_waveguides.ipynb b/Fiber_Optics_and_Optoelectronics_by_R_P_Khare/3-Wave_propagation_in_planar_waveguides.ipynb new file mode 100644 index 0000000..8b852d8 --- /dev/null +++ b/Fiber_Optics_and_Optoelectronics_by_R_P_Khare/3-Wave_propagation_in_planar_waveguides.ipynb @@ -0,0 +1,200 @@ +{ +"cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 3: Wave propagation in planar waveguides" + ] + }, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 3.1: range_of_propagation_constants_and_maximum_number_of_modes.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 3.1 // range of propagation constants and maximum no. of modes\n", +"clc;\n", +"clear;\n", +"close;\n", +"format('v',9)\n", +"n1=1.5;//core refractive index\n", +"n2=1.49;//cladding refrative index\n", +"t=9.83;//thickness of guided layer in micro meter\n", +"h=0.85;//wavelength in µm\n", +"b1=((2*%pi*n1)/(h*10^-6));//phase propagation constant in m^-1\n", +"b2=((2*%pi*n2)/(h*10^-6));//phase propagation constant in m^-1\n", +"m=((4*t)/h)*(sqrt(n1^2-n2^2));//number of modes\n", +"disp('range of propagation constant is '+string(b1)+' to '+string(b2)+' in m^-1')\n", +"disp(round(m/2),'number of modes are')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 3.2: thickness.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 3.2 // thickness\n", +"clc;\n", +"clear;\n", +"close;\n", +"format('v',6)\n", +"n1=3.6;//core refractive index\n", +"n2=3.56;//cladding refrative index\n", +"h=0.85;//wavelength in µm\n", +"a=((h/(2*sqrt(n1^2-n2^2))));//thickness in µm\n", +"disp('thicknes of the slab should not be greater than '+string(a)+' µm')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 3.3: number_of_TE_modes_and_propagation_parameters.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 3.3 // no. of modes\n", +"clc;\n", +"clear;\n", +"close;\n", +"format('v',10)\n", +"disp('part (a)')\n", +"n1=1.5;//core refractive index\n", +"n2=1.48;//cladding refrative index\n", +"t=10.11;//thickness of guided layer in micro meter\n", +"h=1.55;//wavelength in µm\n", +"b1=((2*%pi*n1)/(h*10^-6));//phase propagation constant in m^-1\n", +"b2=((2*%pi*n2)/(h*10^-6));//phase propagation constant in m^-1\n", +"m=((2*%pi*t)/h)*(sqrt(n1^2-n2^2));//number of modes\n", +"disp(round(m/2),'number of modes are')\n", +"disp('part (b)')\n", +"n1=1.5;//core refractive index\n", +"n2=1.48;//cladding refrative index\n", +"t1=10.11;//thickness of guided layer in micro meter\n", +"t=t1/2;\n", +"h=1.55;//wavelength in µm\n", +"b1=((2*%pi*n1)/(h*10^-6));//phase propagation constant in m^-1\n", +"b2=((2*%pi*n2)/(h*10^-6));//phase propagation constant in m^-1\n", +"mo=(((2*%pi*t1)/h)*(sqrt(n1^2-n2^2)))/2;//number of modes\n", +"uma0=1.30644;// for m=0 from the curve\n", +"uma1=2.59574;// for m=1 from the curve\n", +"uma2=3.83747;// for m=2 from the curve\n", +"uma3=4.9063;// for m=3 from the curve\n", +"wma0=4.8263;// for m=0 from the curve\n", +"wma1=4.27342;// for m=1 from the curve\n", +"wma2=3.20529;// for m=2 from the curve\n", +"wma3=0.963466;// for m=3 from the curve\n", +"um0=uma0/(t*10^-6);//in m^-1\n", +"um1=uma1/(t*10^-6);//in m^-1\n", +"um2=uma2/(t*10^-6);//in m^-1\n", +"um3=uma3/(t*10^-6);//in m^-1\n", +"wm0=wma0/(t*10^-6);//in m^-1\n", +"wm1=wma1/(t*10^-6);//in m^-1\n", +"wm2=wma2/(t*10^-6);//in m^-1\n", +"wm3=wma3/(t*10^-6);//in m^-1\n", +"bm0=((wm0*t*10^-6)/mo)^2;//for m=0 \n", +"bm1=((wm1*t*10^-6)/mo)^2;//for m=1\n", +"bm2=((wm2*t*10^-6)/mo)^2;//for m=2 \n", +"bm3=((wm3*t*10^-6)/mo)^2;//for m=3\n", +"m0=sqrt((bm0*(b1^2-b2^2))+b2^2);//for m=0 in m^-1\n", +"m1=sqrt((bm1*(b1^2-b2^2))+b2^2);//for m=1 in m^-1\n", +"m2=sqrt((bm2*(b1^2-b2^2))+b2^2);//for m=2 in m^-1\n", +"m3=sqrt((bm3*(b1^2-b2^2))+b2^2);//for m=3 in m^-1\n", +"params = [' ' 'm' 'um[m^-1]' 'wm[m^-1]' 'bm' ];\n", +"m = ['0' '1' '2' '3']';\n", +"um = ['um0' 'um1' 'um2' 'um3']';\n", +"wm = string([22.41 11.77 33.41 4.24]');\n", +"bm = string([26 19 22 17]');\n", +"params = ['m' 'um[m^-1]' 'wm[m^-1]' 'bm' 'ßm[m^-1]' ];\n", +"city=string([0 1 2 3]');\n", +"towns = string([um0 um1 um2 um3]');\n", +"country = string([wm0 wm1 wm2 wm3]');\n", +" pop = string([bm0 bm1 bm2 bm3]');\n", +" temp = string([m0 m1 m2 m3]');\n", +" table = [params; [ city towns country pop temp ]]\n", +" disp(table ,'constants are :')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 3.4: G_factor.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 3.4 //G factor\n", +"clc;\n", +"clear;\n", +"close;\n", +"format('v',10)\n", +"d=0.793;//in micro meter\n", +"v=%pi/2;//point of intersection\n", +"ua=0.934;//\n", +"wa=1.262;//\n", +"Y=(wa*(1+(sind(ua))*(cosd(ua))/ua));//\n", +"G=(1+((cosd(ua))^2)/Y)^(-1);//\n", +"disp(G,'G factor is')\n", +"//answer is wrong in the textbook" + ] + } +], +"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 +} diff --git a/Fiber_Optics_and_Optoelectronics_by_R_P_Khare/4-Wave_propagation_in_cylindrical_waveguides.ipynb b/Fiber_Optics_and_Optoelectronics_by_R_P_Khare/4-Wave_propagation_in_cylindrical_waveguides.ipynb new file mode 100644 index 0000000..38fecf7 --- /dev/null +++ b/Fiber_Optics_and_Optoelectronics_by_R_P_Khare/4-Wave_propagation_in_cylindrical_waveguides.ipynb @@ -0,0 +1,196 @@ +{ +"cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 4: Wave propagation in cylindrical waveguides" + ] + }, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.1: normalised_frequency_propagation_constants_and_phase_velocity.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 4.1;//normalised frequency,propagation constants and phase velocity\n", +"clc;\n", +"clear;\n", +"close;\n", +"format('v',5)\n", +"disp('part (a)')\n", +"n1=1.46;//core refrative index\n", +"di=7.2;//core diameter \n", +"n=1.46;//core refrative index\n", +"d=1;//relative differnce\n", +"h=1.55 ;// in micro meter\n", +"v=((2*%pi*(di*10^-6)/2)*n*sqrt(2*(d/100)))/(h*10^-6);//normalised frequency parameter\n", +"disp(v,'normalised frequency parameter is')\n", +"disp('part (b)')\n", +"format('e',11)\n", +"b1=(2*%pi*n1)/(h*10^-6);// in m^-1\n", +"n2=n1-(d/100);//cladding refrative index\n", +"b2=(2*%pi*n2)/(h*10^-6);// in m^-1\n", +"bo1=0.82;//\n", +"b11=0.18;//\n", +"B01=(b2^2+(bo1*(b1^2-b2^2)))^(1/2);//\n", +"B11=(b2^2+(b11*(b1^2-b2^2)))^(1/2);//\n", +"disp('propogation constants are Bo1 '+string(B01)+' and B11 '+string(B11)+' ')\n", +"//propogation constants are calculated wrong in the text bOOK\n", +"disp('part (c)')\n", +"format('e',9)\n", +"c=3*10^8;// in ms^-1\n", +"vp1=(2*%pi*c)/(h*10^-6*B01);//IN MS^-1\n", +"vp2=(2*%pi*c)/(h*10^-6*B11);//IN MS^-1\n", +"disp('phase velocity are (Vp)01 '+string(vp1)+' ms^-1 and (Vp)11 '+string(vp2)+' ms^-1 ')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.2: frational_power_propagation.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 4.2;//frational power\n", +"clc;\n", +"clear;\n", +"close;\n", +"format('v',4)\n", +"p01=0.11;//from the graph\n", +"p11=0.347;//from the graph\n", +"disp(p01*100,'power for LP01 mode is (%) ')\n", +"disp(p11*100,'power for LP11 mode is (%)' )" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.3: normalised_frequency_parameters_and_number_of_modes.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"// Example 4.3:Number of the modes\n", +"clc;\n", +"clear;\n", +"close;\n", +"format('v',6)\n", +"h= 0.85;// Wavelenght in micrometers\n", +"a= 50;// Core radius in micrometers\n", +"NA=0.17;//\n", +"v1=(2*%pi*a*NA)/h;\n", +"m2= round((v1^2)/2);\n", +"disp(m2,'Number of modes')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.4: diameter.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"// Example 4.4:core diameter\n", +"clc;\n", +"clear;\n", +"close;\n", +"format('v',4)\n", +"d=0.02;//difference\n", +"n1=1.5;//core refrative index\n", +"m=1000;// number of modes\n", +"h= 1.3;// Wavelenght in micrometers\n", +"a=((h/(%pi*n1))*(m/d)^(1/2));//core diamter in micro meter\n", +"disp(a,'core diameter in micro meter')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.5: wavelength_and_diameter.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"// Example 4.5:core diameter\n", +"clc;\n", +"clear;\n", +"close;\n", +"format('v',5)\n", +"d=0.02;//difference\n", +"a1=75;//in micro meter\n", +"n1=1.45;//core refrative index\n", +"m=700;// number of modes\n", +"v=sqrt(4*m);//\n", +"h=((2*%pi*(a1/2)*n1*sqrt(2*(d/100)))/v);//in micro meter\n", +"vc=2.405*sqrt(2);//for single mode fiber\n", +"a=((vc*h)/(%pi*n1*sqrt(2*(d/100))));//core diamter in micro meter\n", +"disp(a,'maximum core diameter in micro meter')" + ] + } +], +"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 +} diff --git a/Fiber_Optics_and_Optoelectronics_by_R_P_Khare/5-Single_mode_fibers.ipynb b/Fiber_Optics_and_Optoelectronics_by_R_P_Khare/5-Single_mode_fibers.ipynb new file mode 100644 index 0000000..6101428 --- /dev/null +++ b/Fiber_Optics_and_Optoelectronics_by_R_P_Khare/5-Single_mode_fibers.ipynb @@ -0,0 +1,203 @@ +{ +"cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 5: Single mode fibers" + ] + }, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.1: w_and_wp.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"// Example 5.1:w and wp\n", +"clc;\n", +"clear;\n", +"close;\n", +"format('v',7)\n", +"n=1.46;//core refractive index\n", +"d=0.003;//differnce in core-cladding refrative index\n", +"a=4;//core radius in micro meter\n", +"h1=1.30;// inmicro meter\n", +"h2=1.55;//in micro meter\n", +"v1=((2*%pi*(a*10^-6))*n*sqrt(2*(d)))/(h1*10^-6);//normalised frequency parameter\n", +"v2=((2*%pi*(a*10^-6))*n*sqrt(2*(d)))/(h2*10^-6);//normalised frequency parameter\n", +"w1=(a*10^-6)*(0.65+((1.619)/(v1)^(3/2))+(2.879/(v1)^6));//in meter\n", +"wp1=w1-(a*10^-6)*(0.016+((1.567)/(v1)^7));//in micro meter\n", +"w2=(a*10^-6)*(0.65+((1.619)/(v2)^(3/2))+(2.879/(v2)^6));//in meter\n", +"wp2=w2-(a*10^-6)*(0.016+((1.567)/(v2)^7));//in micro meter\n", +"disp(' w is '+string(w1*10^6)+' and wp is '+string(wp1*10^6)+' in micro meter when wavelength is 1.30 micro meter')\n", +"disp(' w is '+string(w2*10^6)+' and wp is '+string(wp2*10^6)+' in micro meter when wavelength is 1.55 micro meter')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.2: difference_between_propogation_constant_and_modal_birefringence.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"// Example 5.2;//difference between propogation constant and modal birefringence\n", +"clc;\n", +"clear;\n", +"close;\n", +"format('v',6)\n", +"disp('part (a)')\n", +"bl=10;//beat length in cm\n", +"h=1;//in micro meter\n", +"db=((2*%pi)/(bl*10^-2));//in m^-1\n", +"disp(db,'difference between propogation constant in m^-1')\n", +"disp('part (b)')\n", +"format('v',8)\n", +"mb=db*((h*10^-6)/(2*%pi));//modal birefringence\n", +"disp(mb,'modal birefringence is')\n", +"//answer is approximately equal to the answer in the book" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.3: waveguide_dispersion_parameter.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"// Example 5.3:waveguide dispersion factor\n", +"clc;\n", +"clear;\n", +"close;\n", +"format('v',6)\n", +"n=1.45;//core refractive index\n", +"d=0.003;//differnce in core-cladding refrative index\n", +"n2=1.45*(1-d);//cladding refractive index\n", +"d1=8.2;//core diameter in micro meter\n", +"a=d1/2;//core radius in micro meter\n", +"h1=1.30;// inmicro meter\n", +"h2=1.55;//in micro meter\n", +"v1=(2*%pi*a*n*sqrt(2*d))/h1;//normalised frequency parameter\n", +"v2=((2*%pi*(a))*n*sqrt(2*(d)))/(h2);//normalised frequency parameter\n", +"v1dv=0.080+0.549*(2.834-v1)^2;//\n", +"v2dv=0.080+0.549*(2.834-v2)^2;//\n", +"c=3*10^8;// in m/s\n", +"dw1=-((n2*d*v1dv)/(c*h1))*10^12;//waveguide dispersion factor in ps nm^-1 km^-1\n", +"dw2=-((n2*d*v2dv)/(c*h2))*10^12;//waveguide dispersion factor in ps nm^-1 km^-1\n", +"disp(' waveguide dispersion factor is '+string(dw1)+' in ps nm^-1 km^-1 at wavelength 1.3 micro meter')\n", +"disp(' waveguide dispersion factor is '+string(dw2)+' in ps nm^-1 km^-1 at wavelength 1.55 micro meter')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.4: diameter_of_core_and_total_dispersion.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"// Example 5.4:diameter of the core\n", +"clc;\n", +"clear;\n", +"close;\n", +"format('v',4)\n", +"c=3*10^8;//in m/s\n", +"dm=6;//material dispersion in ps nm^-1 km^-1\n", +"h=1.55;//in micro meter\n", +"n1=1.45;//core refrative index\n", +"d=0.005;//differnce\n", +"n2=n1*(1-d);//cladding refrative index\n", +"x=((-dm/(((-n2*d)/(c*h))*10^12))-0.080)/0.549;//\n", +"v=-(sqrt(x)-2.834);//\n", +"d=((v*h)/(%pi*n1*sqrt(2*d)));//diameter in micro meter\n", +"disp(d,'diameter of the core in micro meter')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.5: splice_loss.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"// Example 5.5:splice loss\n", +"clc;\n", +"clear;\n", +"close;\n", +"format('v',5)\n", +"h1=1.30;//in micro meter\n", +"wp1=4.6155;//in micro meter\n", +"h2=1.55;//in micro meter\n", +"wp2=5.355;//in micro meter\n", +"sl1=4.34*(1/wp1)^2;//splice loss in dB\n", +"sl2=4.34*(1/wp2)^2;//splice loss in dB\n", +"disp(sl1,'splice loss in dB when wavelength is 1.30 micro meter')\n", +"disp(sl2,'splice loss in dB when wavelength is 1.55 micro meter')" + ] + } +], +"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 +} diff --git a/Fiber_Optics_and_Optoelectronics_by_R_P_Khare/6-Optical_fiber_cables_and_connections.ipynb b/Fiber_Optics_and_Optoelectronics_by_R_P_Khare/6-Optical_fiber_cables_and_connections.ipynb new file mode 100644 index 0000000..ce55c0f --- /dev/null +++ b/Fiber_Optics_and_Optoelectronics_by_R_P_Khare/6-Optical_fiber_cables_and_connections.ipynb @@ -0,0 +1,223 @@ +{ +"cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 6: Optical fiber cables and connections" + ] + }, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.1: refrative_index.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"// Example 6.1:refractive index\n", +"clc;\n", +"clear;\n", +"close;\n", +"format('v',5)\n", +"l=0.47;//in db\n", +"nf=10^((l/-10));//\n", +"x=poly(0,'x');\n", +"p=1+-2.22*x+x^2;//\n", +"y=roots(p);//\n", +"disp(y(1,1),'refractive index is')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.2: loss.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"// Example 6.2:loss\n", +"clc;\n", +"clear;\n", +"close;\n", +"disp('part (a)')\n", +"format('v',5)\n", +"dya=0.1;//\n", +"n1=1.50;//refrative index\n", +"na=1;//\n", +"k1=n1/n1;//\n", +"k2=1;//\n", +"nf=((16*(n1)^2)/((n1+1)^4));//\n", +"nlat=(2/(3.14))*(acos(dya/2)-(dya/2)*(1-(dya/2)^2)^(1/2));//\n", +"nt=nf*nlat;//\n", +"lt=(-10*log10(nt));//in dB\n", +"disp(lt,'insertion loss at the joint in dB is')\n", +"disp('part (b)')\n", +"format('v',6)\n", +"dya=0.1;//\n", +"n1=1.50;//refrative index\n", +"na=1;//\n", +"k1=n1/n1;//\n", +"k2=1;//\n", +"nf=((16*(n1)^2)/((n1+1)^4));//\n", +"nlat=(2/(%pi))*(acos(dya/2)-(dya/2)*(1-(dya/2)^2)^(1/2));//\n", +"nt=k2*nlat;//\n", +"lt=(-10*log10(nt));//in dB\n", +"disp(lt,'insertion loss at the joint in dB is')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.3: insertion_loss_at_joint.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"// Example 6.3:loss\n", +"clc;\n", +"clear;\n", +"close;\n", +"format('v',5)\n", +"d=100;//micro meter\n", +"dx=0;//\n", +"dy=3;//in micro mete\n", +"dth=3;//in degree\n", +"dthr=dth*(%pi/180);//\n", +"dya=0.02;//\n", +"n1=1.48;//refrative index\n", +"na=1;//\n", +"k1=n1/n1;//\n", +"k2=1;//\n", +"nf=((16*(n1)^2)/((n1+1)^4));//\n", +"nlat=(2/(%pi))*(acos(dy/100)-(dy/100)*(1-(dy/100)^2)^(1/2));//\n", +"NA=n1*(sqrt(2*dya));//\n", +"nang=((1-(na*dthr)/(%pi*NA)));//\n", +"nt=nf*nlat*nang;//\n", +"lt=(-10*log10(nt));//in dB\n", +"disp(lt,'total loss in dB is')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.4: insertion_loss_at_joint.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"// Example 6.4:loss\n", +"clc;\n", +"clear;\n", +"close;\n", +"format('v',8)\n", +"d1=80;//micro meter\n", +"na1=0.25;//\n", +"alpha1=2;//\n", +"d2=60;//in micro meter\n", +"na2=0.21;//\n", +"alpha2=1.9;//\n", +"ncd=(d2/d1)^2;//\n", +"nna=(na2/na1)^2;//\n", +"nalpha=((1+(2/alpha1))/(1+((2/alpha2))));//\n", +"nt=ncd*nna*nalpha;//\n", +"lt=(-10*log10(nt));//in dB\n", +"disp(lt,'total loss in dB is')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.5: insertion_loss_at_joint_in_the_forward_and_backward_direction.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"// Example 6.5:loss\n", +"clc;\n", +"clear;\n", +"close;\n", +"format('v',5)\n", +"d1=60;//micro meter\n", +"na1=0.25;//\n", +"alpha1=2.1;//\n", +"d2=50;//in micro meter\n", +"na2=0.20;//\n", +"alpha2=1.9;//\n", +"ncd=(d2/d1)^2;//\n", +"nna=(na2/na1)^2;//\n", +"nalpha1=1;//\n", +"nalpha=((1+(2/alpha1))/(1+((2/alpha2))));//\n", +"ncd1=1;//\n", +"nna1=1;//\n", +"nt=ncd*nna*nalpha1;//\n", +"ltf=(-10*log10(nt));//in dB\n", +"nt1=ncd1*nna1*nalpha;//\n", +"ltb=(-10*log10(nt1));//in dB\n", +"disp(ltf,'total loss forward direction in dB is')\n", +"format('v',6)\n", +"disp(ltb,'total loss backward direction in dB is')" + ] + } +], +"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 +} diff --git a/Fiber_Optics_and_Optoelectronics_by_R_P_Khare/7-Optoelectronic_Sources.ipynb b/Fiber_Optics_and_Optoelectronics_by_R_P_Khare/7-Optoelectronic_Sources.ipynb new file mode 100644 index 0000000..c689efc --- /dev/null +++ b/Fiber_Optics_and_Optoelectronics_by_R_P_Khare/7-Optoelectronic_Sources.ipynb @@ -0,0 +1,299 @@ +{ +"cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 7: Optoelectronic Sources" + ] + }, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.1: intrinsic_carrier_density.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 7.1: Intrinsic carrier\n", +"clc;\n", +"clear;\n", +"close;\n", +"//given data :\n", +"format('v',9)\n", +"m=9.11*10^-31;// in kg\n", +"k=1.38*10^-23;// in JK^-1\n", +"h=6.626*10^-34;// in Js\n", +"ev=1.6*10^-19;// in J\n", +"T=300;// in K\n", +"me=0.07*m;// in kg\n", +"mh=0.56*m;// in kg\n", +"Eg=1.43*ev;// in J\n", +"ni=2*((2*%pi*k*T)/h^2)^(3/2)*(me*mh)^(3/4)*exp(-Eg/(2*k*T));\n", +"disp(ni,'Intrinsic carrier concentration ,ni(m^-3) = ')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.2: diffusion_potential.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 7.2: Diffusion potential\n", +"clc;\n", +"clear;\n", +"close;\n", +"format('v',6)\n", +"//given data :\n", +"Na=5*10^23;// in m^-3\n", +"Nd=5*10^21;// in m^-3\n", +"T=300;// in K\n", +"e=1.6*10^-19;// in J\n", +"k=1.38*10^-23;// in JK^-1\n", +"V=(k*T)/e;\n", +"ni=2.2*10^12;// in m^-3\n", +"Vd=V*log((Na*Nd)/ni^2);\n", +"disp(Vd,'Diffusion potential,Vd(V) = ')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.3: injection_efficiency.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 7.3: Injection efficiency\n", +"clc;\n", +"clear;\n", +"close;\n", +"format('v',7)\n", +"//given data :\n", +"Na=10^23;// in m^-3\n", +"Nd=10^21;// in m^-3\n", +"T=300;// in K\n", +"e=1.6*10^-19;// in J\n", +"k=1.38*10^-23;// in JK^-1\n", +"mue=0.85;// in m^2V^-1s^-1\n", +"muh=0.04;// in m^2V^-1s^-1\n", +"De=(mue*k*T)/e;// in m^2s^-1\n", +"Dh=(muh*k*T)/e;// in m^2s^-1\n", +"Le=1;\n", +"Lh=Le;\n", +"eta_inj=1/(1+((De/Dh)*(Lh/Le)*(Nd/Na)));\n", +"disp(eta_inj,'Injection efficiency,eta_inj = ')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.4: internal_and_quantum_efficiency.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 7.4: Internal and quantum efficiency\n", +"clc;\n", +"clear;\n", +"close;\n", +"//given data :\n", +"format('v',4)\n", +"disp('part (a)')\n", +"tau_rr=1;\n", +"tau_nr=tau_rr;\n", +"eta_int=1/(1+(tau_rr/tau_nr));\n", +"disp(eta_int,'Internal quantum efficiency = ')\n", +"disp('part (b)')\n", +"format('v',7)\n", +"ns=3.7;\n", +"na=1.5;\n", +"as=0;\n", +"eta_ext=eta_int*(1-as)*((2*na^3)/(ns*(ns+na)^2));\n", +"disp(eta_ext,'External quantum efficiency = ')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.5: number_of_longitudinal_modes.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 7.5: The number of longitudinal modes excited\n", +"clc;\n", +"clear;\n", +"close;\n", +"format('e',10)\n", +"//given data :\n", +"lamda=632.8*10^-9;// in m\n", +"n=1;\n", +"L=20*10^-2;// in m\n", +"del_lamda=((lamda)^2/(2*n*L))*10^9;\n", +"disp(del_lamda,'The number of longitudinal modes excited,(nm) = ')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.6: The_reduction_and_Differential_quantum_efficiency.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 7.6: The reduction and Differential quantum efficiency\n", +"clc;\n", +"clear;\n", +"close;\n", +"//given data :\n", +"format('v',5)\n", +"disp('part (a)')\n", +"alfa_eff=1.5;// in mm^-1\n", +"gama=0.8;\n", +"L=0.5;// in mm\n", +"R1=0.35;\n", +"R2=R1;\n", +"R2a=1.0;\n", +"g_th1=(1/gama)*(alfa_eff+(1/(2*L))*log(1/(R1*R2)));\n", +"g_th2=(1/gama)*(alfa_eff+(1/(2*L))*log(1/(R1*R2a)));\n", +"del_gth=g_th1-g_th2;\n", +"disp(del_gth,'The reduction in threshold gain ,(mm^-1) = ')\n", +"disp('part (b)')\n", +"eta_D=(gama*(g_th2-alfa_eff))/(g_th2);\n", +"disp(eta_D,'Differential quantum efficiency = ')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.7: Internal_and_external_power_efficiency.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 7.7: Internal and external power efficiency\n", +"clc;\n", +"clear;\n", +"close;\n", +"//given data :\n", +"disp('part (a)')\n", +"as=0;//\n", +"ns=3.7;// assuming that the example 7.4\n", +"eta_int=0.50;// internal efficiency\n", +"V=1.5;// in V\n", +"I=120*10^-3;// in A\n", +"IBYe=120*10^-3;// \n", +"Eph=1.43;// in eV\n", +"eta_int=0.50;// internal efficiency\n", +"fi_int=eta_int*IBYe*Eph;\n", +"t_power=I*V;\n", +"P_int=fi_int/t_power;\n", +"disp(P_int,'The internal power efficiency = ')\n", +"disp('part (b)')\n", +"format('v',6)\n", +"eta_ext=eta_int*(1-as)*2/(ns*(ns+1)^2);\n", +"fi_ext=eta_ext*IBYe*Eph;\n", +"t_power=I*V;\n", +"P_ext=fi_ext/t_power;\n", +"disp(P_ext,'The external power efficiency = ')\n", +"disp('part (c)')\n", +"format('e',9)\n", +"V=1.5;// in V\n", +"I=120*10^-3;// in A\n", +"IBYe=120*10^-3;// \n", +"Eph=1.43;// in eV\n", +"n1=1.5;\n", +"n2=1.48;\n", +"na=n1;\n", +"eta_ext=0.0337;\n", +"eta_T=eta_ext*((n1^2-n2^2)/na^2);\n", +"fi_T=eta_T*IBYe*Eph;\n", +"t_power=I*V;\n", +"sfpc=fi_T/t_power;\n", +"O_loss=-10*log10(sfpc);\n", +"disp(sfpc,'The overall source fiber power coupling efficiency = ')\n", +"format('v',5)\n", +"disp(O_loss,'The optical loss,(dB) = ')" + ] + } +], +"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 +} diff --git a/Fiber_Optics_and_Optoelectronics_by_R_P_Khare/8-Optoelectronic_Detectors.ipynb b/Fiber_Optics_and_Optoelectronics_by_R_P_Khare/8-Optoelectronic_Detectors.ipynb new file mode 100644 index 0000000..f0ae309 --- /dev/null +++ b/Fiber_Optics_and_Optoelectronics_by_R_P_Khare/8-Optoelectronic_Detectors.ipynb @@ -0,0 +1,332 @@ +{ +"cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 8: Optoelectronic Detectors" + ] + }, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 8.1: wavelength_and_optical_power_and.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 8.1: The photon energy and optical power\n", +"clc;\n", +"clear;\n", +"close;\n", +"//given data :\n", +"format('v',5)\n", +"disp('part (a)')\n", +"h=6.626*10^-34;// in Js\n", +"c=3*10^8;// in ms^-1\n", +"E=1.52*10^-19;// in J\n", +"lamda=((h*c)/E)*10^6;\n", +"disp(lamda,'The photon energy,(micro-m) = ')\n", +"disp('part (b)')\n", +"e=1.6*10^-19;// in J\n", +"Ip=3*10^6;// in A\n", +"E=1.52*10^-19;// in J\n", +"eta=70/100;\n", +"R=(eta*e)/E;\n", +"P_in=(Ip/R)*10^-6;\n", +"disp(P_in,'The optical power,(micro W)')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 8.2: quantum_efficiency_maximum_possible_band_gap_energy_and_photocurrent.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 8.2: The quantum efficiency,Maximum possible band gap energy and mean output\n", +"clc;\n", +"clear;\n", +"close;\n", +"//given data :\n", +"disp('part (a)')\n", +"format('v',5)\n", +"e=1;// electron\n", +"p=2;// photon\n", +"eta=(e/p)*100;\n", +"disp(eta,'The quantum efficiency,eta(%) = ')\n", +"disp('part (b)')\n", +"h=6.626*10^-34;//in Js\n", +"c=3*10^8;// in m s^-1\n", +"lamda_c=0.85*10^-6;// in m\n", +"Eg=((h*c)/lamda_c)/1.6*10^19;\n", +"disp(Eg,'Maximum possible band gap energy,Eg(eV) = ')\n", +"disp('part (c)')\n", +"e=1;// electron\n", +"p=2;// photon\n", +"eta=(e/p);\n", +"e=1.6*10^-19;// in J\n", +"h=6.626*10^-34;//in Js\n", +"c=3*10^8;// in m s^-1\n", +"lamda_c=0.85*10^-6;// in m\n", +"Eg=((h*c)/lamda_c);\n", +"P_in=10*10^-6;// in W\n", +"Ip=((eta*e*P_in)/Eg)*10^6;\n", +"disp(Ip,'The mean output,Ip(micro A) = ')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 8.3: quantum_efficiency_and_responsivity.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 8.3: The quantum efficiency and The responsivity of the diode\n", +"clc;\n", +"clear;\n", +"close;\n", +"//given data :\n", +"format('v',5)\n", +"disp('part (a)')\n", +"e=2*10^10;// in s^-1\n", +"p=5*10^10;// in s^-1\n", +"eta=e/p;\n", +"disp(eta,'The quantum efficiency = ')\n", +"disp('part (b)')\n", +"e=2*10^10;// in s^-1\n", +"p=5*10^10;// in s^-1\n", +"eta=e/p;\n", +"e=1.6*10^-19;// in J\n", +"h=6.626*10^-34;//in Js\n", +"c=3*10^8;// in m s^-1\n", +"lamda=0.90*10^-6;// in m\n", +"R=(eta*e*lamda)/(h*c);\n", +"disp(R,'The responsivity of the diode,R(AW^-1) = ')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 8.4: multiplication_factor.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 8.4: The multiplication\n", +"clc;\n", +"clear;\n", +"close;\n", +"format('v',5)\n", +"//given data :\n", +"eta=40/100;//\n", +"e=1.6*10^-19;// in J\n", +"h=6.626*10^-34;//in Js\n", +"c=3*10^8;// in m s^-1\n", +"lamda=1.3*10^-6;// in m\n", +"P_in=0.3*10^-6;// in W\n", +"I=6*10^-6;// in A\n", +"M=(I*h*c)/(P_in*eta*e*lamda);\n", +"disp(M,'The multiplication factor,M = ')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 8.5: incident_rate_of_photon.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 8.5: Photon rate\n", +"clc;\n", +"clear;\n", +"close;\n", +"//given data :\n", +"format('v',9)\n", +"e=1.6*10^-19;// in J\n", +"M=800;\n", +"eta=90/100;// quantum efficiency\n", +"I=2*10^-9;// in A\n", +"P_rate=I/(e*eta*M);\n", +"disp(P_rate,'Photon incident rate(s^-1) = ')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 8.6: gain_and_photocurrent.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 8.6: Gain and The output photocurrent\n", +"clc;\n", +"clear;\n", +"close;\n", +"//given data :\n", +"format('v',6)\n", +"disp('part (a)')\n", +"tf=6*10^-12;// in s\n", +"del_f=450*10^6;// in Hz\n", +"G=1/(2*%pi*tf*del_f);\n", +"disp(G,'the gain = ')\n", +"disp('part (b)')\n", +"format('e',10)\n", +"tf=6*10^-12;// in s\n", +"del_f=450*10^6;// in Hz\n", +"G=1/(2*%pi*tf*del_f);\n", +"eta=75/100;\n", +"P_in=5*10^-6;// in W\n", +"e=1.6*10^-19;// in J\n", +"lamda=1.3*10^-6;\n", +"h=6.626*10^-34;//in Js\n", +"c=3*10^8;// in m s^-1\n", +"I=(G*eta*P_in*e*lamda)/(h*c);\n", +"disp(I,'The output photo-current,I(A)')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 8.7: EX8_7.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 8.7: rms value of shot noise ,dark noise and thermal noise current and S/N ratio\n", +"clc;\n", +"clear;\n", +"close;\n", +"format('v',6)\n", +"disp('part (a)')\n", +"n=0.7;//efficiency\n", +"e=1.6*10^-19;//charge\n", +"h=1.3;//in micro meter\n", +"hc=6.626*10^-34;//plack constant\n", +"c=3*10^8;//m/s\n", +"pin=500;//nW\n", +"Ip=((n*e*h*10^-6*pin*10^-9)/(hc*c));//in amperes\n", +"df=25;//Mhz\n", +"f1=1;//\n", +"is2=(2*e*Ip*df*10^6*f1);//\n", +"is=sqrt(is2);//in amperes\n", +"Id=5*10^-9;//amperes\n", +"id2=(2*e*Id*df*10^6);//\n", +"id=sqrt(id2);//in amperes\n", +"k=1.38*10^-23;//\n", +"t=300;//in kelvin\n", +"rl=1000;//ohms\n", +"it2=((4*k*t*df*10^6)/rl);//\n", +"it=sqrt(it2);//in amperes\n", +"disp(is*10^9,'rms value of shot noise current is,(nA)=')\n", +"disp(id*10^9,'rms value of dark current is,(nA)=')\n", +"disp(it*10^9,'rms value of thermal noise current is,(nA)=')\n", +"format('v',4)\n", +"disp('part (b)')\n", +"n=0.7;//efficiency\n", +"e=1.6*10^-19;//charge\n", +"h=1.3;//in micro meter\n", +"hc=6.626*10^-34;//plack constant\n", +"c=3*10^8;//m/s\n", +"pin=500;//nW\n", +"Ip=((n*e*h*10^-6*pin*10^-9)/(hc*c));//in amperes\n", +"df=25;//Mhz\n", +"f1=1;//\n", +"is2=(2*e*Ip*df*10^6*f1);//\n", +"is=sqrt(is2);//in amperes\n", +"Id=5*10^-9;//amperes\n", +"id2=(2*e*Id*df*10^6);//\n", +"id=sqrt(id2);//in amperes\n", +"k=1.38*10^-23;//\n", +"t=300;//in kelvin\n", +"rl=1000;//ohms\n", +"it2=((4*k*t*df*10^6)/rl);//\n", +"it=sqrt(it2);//in amperes\n", +"itt2=is2+id2+it2;//in A^2\n", +"ip2=Ip^2;//\n", +"sn=ip2/itt2;//\n", +"disp(sn,'S/N ratio is')\n", +"//S/N ratio is calculated wrong in the textbook" + ] + } +], +"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 +} diff --git a/Fiber_Optics_and_Optoelectronics_by_R_P_Khare/9-Optoelectronic_Modulators.ipynb b/Fiber_Optics_and_Optoelectronics_by_R_P_Khare/9-Optoelectronic_Modulators.ipynb new file mode 100644 index 0000000..23a4e5c --- /dev/null +++ b/Fiber_Optics_and_Optoelectronics_by_R_P_Khare/9-Optoelectronic_Modulators.ipynb @@ -0,0 +1,214 @@ +{ +"cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 9: Optoelectronic Modulators" + ] + }, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 9.1: thickness.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 9.1: The thickness\n", +"clc;\n", +"clear;\n", +"close;\n", +"format('v',7)\n", +"//given data :\n", +"lamda=589.3*10^-9;// in m\n", +"ne=1.553;\n", +"no=1.544;\n", +"x=(lamda/(4*(ne-no)))*10^3;\n", +"disp(x,'The thickness of the a quarter wave plate,x(mm) = ')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 9.2: thickness.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 9.2: The thickness\n", +"clc;\n", +"clear;\n", +"close;\n", +"//given data :\n", +"format('v',7)\n", +"lamda=589.3*10^-9;// in m\n", +"ne=1.486;\n", +"no=1.658;\n", +"x=(lamda/(2*(no-ne)))*10^3;\n", +"disp(x,'The thickness of the a quarter wave plate,x(mm) = ')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 9.3: change_in_refrative_index_and_vpi.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 9.3:change in refractive index ,net phase shiftand Vpi\n", +"clc;\n", +"clear;\n", +"close;\n", +"format('v',6)\n", +"v=5;//kV\n", +"l=1;//cm\n", +"ez=(v*10^3)/(l*10^-2);//in V/m\n", +"no=1.51;//\n", +"r63=10.5*10^-12;//m/V\n", +"dn=((1/2)*no^3*r63*ez);//\n", +"h=550;//nm\n", +"dfi=((2*%pi*dn*l*10^-2)/(h*10^-9));//\n", +"fi=2*dfi;//\n", +"vpi=((h*10^-9)/(2*no^3*r63))*10^-3;//kV\n", +"disp(dfi,'change in refrative index is')\n", +"disp(fi,'net phase shift is')\n", +"format('v',4)\n", +"disp(vpi,'Vpi in kV is')\n", +"//refractive index and phase shift is in the form of pi in the textbook" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 9.4: phase_difference_additional_phase_difference_and_Vpi.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 9.4:phase difference,additional phase difference and Vpi\n", +"clc;\n", +"clear;\n", +"close;\n", +"format('v',7)\n", +"disp('part (a)')\n", +"h=550;//nm\n", +"l=3;//cm\n", +"no=1.51;//\n", +"ne=1.47;//\n", +"dfi=((2*%pi*l*10^-2*(no-ne))/(h*10^-9));//\n", +"disp(dfi,'phase differnce is')\n", +"//phase difference is in the form of pi in the textbook\n", +"disp('part (b)')\n", +"no=1.51;//\n", +"r63=26.4*10^-12;//m/V\n", +"V=200;//\n", +"d=0.25;//cm\n", +"dfi=((%pi*r63*no^3*(V)*(l*10^-2))/(h*10^-9*d*10^-2));//\n", +"disp(dfi,'additional phase differnce is')\n", +"//additional phase difference is in the form of pi in the textbook\n", +"disp('part (c)')\n", +"r63=26.4*10^-12;//m/V\n", +"format('v',5)\n", +"V=200;//\n", +"d=0.25;//cm\n", +"dfi=((%pi*r63*no^3*(V)*(l*10^-2))/(h*10^-9*d*10^-2));//\n", +"vpi=((h*10^-9)/(no^3*r63))*(d/l);//V\n", +"disp(vpi,'Vpi in V is')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 9.5: angle_and_relative_intensity.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Example 9.5: angle and relative intensity\n", +"clc;\n", +"clear;\n", +"close;\n", +"//given data :\n", +"disp('part (a)')\n", +"format('v',5)\n", +"m=1;\n", +"l=633*10^-9;// in m\n", +"f=5*10^6;// in Hz\n", +"v=1500;//in m/s\n", +"n=1.33;// for water\n", +"A=v/f;\n", +"theta=asind((l/(n*A)));\n", +"disp(theta,'angle (degree) = ')\n", +"disp('part (b)')\n", +"format('v',6)\n", +"del_n=10^-5;\n", +"L=1*10^-2;// in m\n", +"lamda=633*10^-9;// in m\n", +"eta=(%pi^2*del_n^2*L^2)/lamda^2;\n", +"disp(eta,'The relative intensity = ')" + ] + } +], +"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 +} |