summaryrefslogtreecommitdiff
path: root/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior
diff options
context:
space:
mode:
Diffstat (limited to 'Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior')
-rw-r--r--Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/1-INTRODUCTION.ipynb32
-rw-r--r--Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/10-OPTICAL_AMPLIFICATION_WAVELENGTH_CONVERSION_AND_REGENERATION.ipynb249
-rw-r--r--Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/11-INTEGRATED_OPTICS_AND_PHOTONICS.ipynb201
-rw-r--r--Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/12-OPTICAL_FIBER_SYSTEMS_1_INTENSITY_MODULATION_AND_DIRECT_DETECTION.ipynb1110
-rw-r--r--Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/13-OPTICAL_FIBER_SYSTEMS_2_COHERENT_AND_PHASE_MODULATED.ipynb306
-rw-r--r--Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/14-OPTICAL_FIBER_MEASUREMENTS.ipynb342
-rw-r--r--Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/15-OPTICAL_NETWORKS.ipynb32
-rw-r--r--Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/2-OPTICAL_FIBER_WAVEGUIDES.ipynb522
-rw-r--r--Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/3-TRANSMISSION_CHARACTERISTICS_OF_OPTICAL_FIBERS.ipynb672
-rw-r--r--Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/4-OPTICAL_FIBERS_AND_CABLES.ipynb78
-rw-r--r--Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/5-OPTICAL_FIBER_CONNECTIONS_JOINTS_COUPLERS_AND_ISOLATORS.ipynb473
-rw-r--r--Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/6-OPTICAL_SOURCES_1_THE_LASER.ipynb361
-rw-r--r--Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/7-OPTICAL_SOURCES_2_THE_LIGHT_EMITTING_DIODE.ipynb371
-rw-r--r--Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/8-OPTICAL_DETECTORS.ipynb405
-rw-r--r--Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/9-DIRECT_DETECTION_RECEIVER_PERFORMANCE_CONSIDERATIONS.ipynb410
15 files changed, 5564 insertions, 0 deletions
diff --git a/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/1-INTRODUCTION.ipynb b/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/1-INTRODUCTION.ipynb
new file mode 100644
index 0000000..8781976
--- /dev/null
+++ b/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/1-INTRODUCTION.ipynb
@@ -0,0 +1,32 @@
+{
+"cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 1: INTRODUCTION"
+ ]
+ },
+],
+"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/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/10-OPTICAL_AMPLIFICATION_WAVELENGTH_CONVERSION_AND_REGENERATION.ipynb b/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/10-OPTICAL_AMPLIFICATION_WAVELENGTH_CONVERSION_AND_REGENERATION.ipynb
new file mode 100644
index 0000000..7c0f5d8
--- /dev/null
+++ b/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/10-OPTICAL_AMPLIFICATION_WAVELENGTH_CONVERSION_AND_REGENERATION.ipynb
@@ -0,0 +1,249 @@
+{
+"cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 10: OPTICAL AMPLIFICATION WAVELENGTH CONVERSION AND REGENERATION"
+ ]
+ },
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.1: Determination_of_Refractive_Index_of_active_medium_and_3dB_Spectral_Bandwidth.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 10.1\n",
+"//Program to determine the Refractive Index of the Active Medium and\n",
+"//the 3dB spectral bandwidth of the device\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"L=300*10^-6; //metres - ACTIVE REGION LENGTH\n",
+"Lambda=1.5*10^-6; //metres - PEAK GAIN WAVELENGTH\n",
+"Delta_Lambda=1*10^-9; //metres - MODE SPACING\n",
+"c= 2.998*10^8; //m/s - SPEED OF LIGHT\n",
+"Gs_dB=4.8; //dB - SINGLE PASS GAIN\n",
+"R1=0.3; //INPUT FACET REFRACTIVITY\n",
+"R2=0.3; //OUTPUT FACET REFRACTIVITY\n",
+"\n",
+"//Refractive Index of the active medium at the peak gain wavelength\n",
+"n=(Lambda^2)/(2*Delta_Lambda*L);\n",
+"\n",
+"//Gain Gs from Gs_dB by taking antilog with base 10\n",
+"Gs=10^((1/10)*Gs_dB);\n",
+"\n",
+"//3dB spectral Bandwidth\n",
+"B_fpa=(c/(%pi*n*L))*asin((1-sqrt(R1*R2)*Gs)/(2*sqrt(sqrt(R1*R2)*Gs)));\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t Refractive Index of the active medium at the peak gain wavelength is %0.2f .',n);\n",
+"printf('\n\n\t 3dB spectral Bandwidth is %0.1f GHz .',B_fpa/10^9);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.2: Derivation_of_an_approximate_equation_for_the_cavity_gain_of_an_SOA.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 10.2\n",
+"//Note: MAXIMA SCILAB TOOLBOX REQUIRED FOR THIS PROGRAM\n",
+"//Program to derive an approximate equation for the cavity gain\n",
+"//of an SOA\n",
+" \n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"syms R1 R2;\n",
+"\n",
+"//For 3 dB peak through ratio\n",
+"//Let A=sqrt(R1*R2)*Gs\n",
+"A=(1-sqrt(0.5))/(1+sqrt(0.5));\n",
+"\n",
+"//Cavity gain\n",
+"G=A/(1-A)^2/sqrt(R1*R2);;\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"disp(G,'The approximate equation of cavity gain is, G = ')"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.3: EX10_3.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 10.3\n",
+"//Program to determine:\n",
+"//(a)The length of the device\n",
+"//(b)The ASE noise signal power at the output of the amplifier\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"Gs_dB=30; //dB - SINGLE PASS GAIN\n",
+"g_bar=200; //NET GAIN COEFFICIENT\n",
+"m=2.2; //MODE FACTOR\n",
+"n_sp=4; //SPONTANEOUS EMISSION FACTOR\n",
+"h= 6.626*10^(-34); //J/K - PLANK's CONSTANT\n",
+"c=2.998*10^8; //m/s - VELOCITY OF LIGHT IN VACCUM\n",
+"B=1*10^(12); //Hz - OPTICAL BANDWIDTH\n",
+"Lambda=1.55*10^(-6); //metre - OPERATING WAVELENGTH\n",
+"\n",
+"//(a)The length of the device\n",
+"L=Gs_dB/(10*g_bar*log10(%e));\n",
+"\n",
+"//(b)The ASE noise signal power at the output of the amplifier\n",
+"Gs=10^(Gs_dB/10);\n",
+"f=c/Lambda;\n",
+"P_ASE=m*n_sp*(Gs-1)*h*f*B;\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t (a)The length of the SOA is %0.2f X 10^(-3) m.',L/10^(-3));\n",
+"printf('\n\n\t (b)The ASE noise signal power at the output of the amplifier, P_ASE = %0.2f mW.',P_ASE/10^(-3));"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.4: EX10_4.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 10.4\n",
+"//Program to determine: \n",
+"//(a)The fiber non-linear coefficient\n",
+"//(b)The parametric gain in dB when it is reduced to quadratic gain\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"L=500; //metre - LENGTH \n",
+"Lambda=1.55*10^(-6); //metre - OPERATING WAVELENGTH\n",
+"Pp= 1.4; //W - SIGNAL POWER \n",
+"Gp_dB=62.2; //dB - PEAK GAIN\n",
+"\n",
+"//(a)The fiber non-linear coefficient\n",
+"gaamma=(Gp_dB-10*log10(1/4))/(Pp*L)*1/(10*log10((%e)^2));\n",
+"\n",
+"//(b)The parametric gain in dB when it is reduced to quadratic gain\n",
+"Gp_dB1=10*log10((gaamma*Pp*L)^2);\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t (a)The fiber non-linear coefficient is %0.2f X 10^(-3) per W per km.',gaamma/10^(-3));\n",
+"printf('\n\n\t (b)The parametric gain in dB when it is reduced to quadratic gain is %0.1f dB.',Gp_dB1);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.5: EX10_5.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 10.5\n",
+"//Program to calculate: \n",
+"//(a)The frequency chirp variation at the output signal\n",
+"//(b)The differential gain required\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"Lambda=1.55*10^(-6); //metre - OPERATING WAVELENGTH\n",
+"alpha=-1; //ENHANCEMENT FACTOR\n",
+"Pin=0.5*10^(-3); //Watt - INPUT SIGNAL POWER\n",
+"dPin_by_dt=0.01*10^(-6); //metre - INPUT SIGNAL POWER VARIATION\n",
+"dnr_by_dn=-1.2*10^(-26); //m^3 - DIFFERENTIAL REFRATIVE INDEX\n",
+"\n",
+"//(a)The frequency chirp variation at the output signal\n",
+"del_f=-alpha/(4*%pi)*1/Pin*dPin_by_dt;\n",
+"\n",
+"//(b)The differential gain required\n",
+"dg_by_dn=4*%pi/Lambda*dnr_by_dn/alpha;\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t (a)The frequency chirp variation at the output signal is %0.2f X 10^(-6)Hz.',del_f/10^(-6));\n",
+"printf('\n\n\t (b)The differential gain required is %0.3f X 10^(-20) m^2.',dg_by_dn/10^(-20));"
+ ]
+ }
+],
+"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/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/11-INTEGRATED_OPTICS_AND_PHOTONICS.ipynb b/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/11-INTEGRATED_OPTICS_AND_PHOTONICS.ipynb
new file mode 100644
index 0000000..b6a528e
--- /dev/null
+++ b/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/11-INTEGRATED_OPTICS_AND_PHOTONICS.ipynb
@@ -0,0 +1,201 @@
+{
+"cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 11: INTEGRATED OPTICS AND PHOTONICS"
+ ]
+ },
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 11.1: Determination_of_Voltage_required_to_provide_pi_radians_phase_change.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 11.1\n",
+"//Program to determine the Voltage required for a phase change of \n",
+"//pi radians\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"L=2*10^-2; //metres - LENGTH OF THE WAVEGUIDE\n",
+"Lambda=1.3*10^-6; //metres - WAVELENGTH\n",
+"d=25*10^-6; //metres - DISTANCE BETWEEN THE ELECTRODES\n",
+"r=30.8*10^-12; //m/V - ELECTRO-OPTIC COEFFICIENT\n",
+"n1=2.1; //REFRACTIVE INDEX AT 1.3um WAVELENGTH\n",
+"\n",
+"//Calculation of the Voltage required for a phase change of pi radians\n",
+"V_pi=(Lambda*d)/((n1^3)*r*L);\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t Voltage required for a phase change of pi radians is %0.1f V.',V_pi);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 11.2: Determination_of_Corrugation_Period_and_Filter_3dB_Bandwidth.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 11.2\n",
+"//Program to determine Corrugation Period and Filter's 3dB Bandwidth\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"L=1*10^-2; //metres - LENGTH OF THE DEVICE\n",
+"Lambda_B=1.52*10^-6; //metres - CENTRE WAVELENGTH\n",
+"Theeta=1; //Degree - INCIDENT ANGLE\n",
+"n1=3.1; //REFRACTIVE INDEX of InGaAsP\n",
+"\n",
+"//Calculation of Effective Refractive Index of the Waveguide\n",
+"ne=n1*sin(2*Theeta*%pi/180);\n",
+"\n",
+"//Calculation of the Corrugation Period\n",
+"D=(Lambda_B)/(2*ne);\n",
+"\n",
+"//Calculation of the Filter's 3dB Bandwidth\n",
+"delta_Lambda=(D*Lambda_B)/L;\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t Corrugation Period of the First Order Grating is %0.1f um.',D/10^-6);\n",
+"printf('\n\n\t Filters 3dB Bandwidth is %0.1f Armstrong.',delta_Lambda/10^-10);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 11.3: Design_of_a_wavelength_channel_plan_for_a_dense_WDM_Interleaver_Waveband_Filter.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 11.3\n",
+"//Program to design a wavelength channel plan for an 8 band, 32 \n",
+"//channel dense WDM Interleaver Waveband Filter. Also to determine:\n",
+"//(a)Total No. of channel required for each interleaver band filter\n",
+"//(b)The overall bandwidth of the filter in each case\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"number_of_bands=8; \n",
+"M=4; //TOTAL NUMBER OF CHANNELS IN EACH BAND\n",
+"\n",
+"//(a)Total No. of channel required for each interleaver band filter \n",
+"//(i)N=0\n",
+"N=0;\n",
+"Cskip0=(number_of_bands-1)*N;\n",
+"Ctotal0=number_of_bands*M+Cskip0;\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t (a)(i)For 4-skip-0, Ctotal = %d.',Ctotal0);\n",
+"\n",
+"//(ii)N=1\n",
+"N=1;\n",
+"Cskip1=(number_of_bands-1)*N;\n",
+"Ctotal1=number_of_bands*M+Cskip1;\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t (ii)For 4-skip-1, Ctotal = %d.',Ctotal1);\n",
+"\n",
+"//(iii)N=2\n",
+"N=2;\n",
+"Cskip2=(number_of_bands-1)*N;\n",
+"Ctotal2=number_of_bands*M+Cskip2;\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t (iii)For 4-skip-2, Ctotal = %d.',Ctotal2);\n",
+"\n",
+"//Generation of Table 11.1\n",
+"printf('\n\n\t\t TABLE 11.1:WAVELENFTH CHANNEL PLAN');\n",
+"W1=1552.52; //nm - WAVELENGTH FOR 1 CHANNEL\n",
+"printf('\n\n\t\t (i)4-skip-0');\n",
+"for i = 0:Ctotal0-1\n",
+"printf('\n\t Number of Channels = %d, Wavelength = %0.2f nm.',i+1,W1+0.8*i);\n",
+"end\n",
+"printf('\n\n\t\t (ii)4-skip-1');\n",
+"for i = 0:Ctotal1-1\n",
+"printf('\n\t Number of Channels = %d, Wavelength = %0.2f nm.',i+1,W1+0.8*i);\n",
+"end\n",
+"printf('\n\n\t\t (iii)4-skip-2');\n",
+"for i = 0:Ctotal2-1\n",
+"printf('\n\t Number of Channels = %d, Wavelength = %0.2f nm.',i+1,W1+0.8*i);\n",
+"end\n",
+"\n",
+"//(b)The overall bandwidth of the filter in each case taking values \n",
+"//from Table 11.1\n",
+"//(i)N=0\n",
+"W2=1577.32; //nm - WAVELENGTH FOR 32 CHANNELS\n",
+"BW=W2-W1;\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\n\t (b)(i)For 4-skip-0, Filter Bandwidth = %0.1f nm.',BW);\n",
+"\n",
+"//(ii)N=1\n",
+"W2=1582.92; //nm - WAVELENGTH FOR 39 CHANNELS\n",
+"BW=W2-W1;\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t (ii)For 4-skip-1, Filter Bandwidth = %0.1f nm.',BW);\n",
+"\n",
+"//(iii)N=2\n",
+"W2=1588.52; //nm - WAVELENGTH FOR 46 CHANNELS\n",
+"BW=W2-W1;\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t (iii)For 4-skip-2, Filter Bandwidth = %0.1f nm.',BW);"
+ ]
+ }
+],
+"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/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/12-OPTICAL_FIBER_SYSTEMS_1_INTENSITY_MODULATION_AND_DIRECT_DETECTION.ipynb b/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/12-OPTICAL_FIBER_SYSTEMS_1_INTENSITY_MODULATION_AND_DIRECT_DETECTION.ipynb
new file mode 100644
index 0000000..ea04897
--- /dev/null
+++ b/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/12-OPTICAL_FIBER_SYSTEMS_1_INTENSITY_MODULATION_AND_DIRECT_DETECTION.ipynb
@@ -0,0 +1,1110 @@
+{
+"cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 12: OPTICAL FIBER SYSTEMS 1 INTENSITY MODULATION AND DIRECT DETECTION"
+ ]
+ },
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.10: Estimation_of_ratio_of_SNR_of_the_coaxial_system_to_the_SNR_of_the_fiber_system.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 12.10\n",
+"//Program to estimate ratio of SNR of the coaxial system to the SNR\n",
+"//of the fiber system\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"V=5; //volts - TRANSMITTER PEAK OUTPUT VOLTAGE\n",
+"Zo=100; //ohms - CABLE IMPEDANCE\n",
+"T=290; //Kelvin - OPERATING TEMPERATURE\n",
+"lambda=0.85*10^(-6); //metre - WAVELENGTH\n",
+"K=1.38*10^(-23); //J/K - BOLTZMANN's CONSTANT\n",
+"n=0.7; //(*100) percent - QUANTUM EFFICIENCY\n",
+"Pi=1*10^(-3); //Watts - OPTICAL POWER\n",
+"h=6.626*10^(-34); //(m^2)Kg/s - PLANK's CONSTANT\n",
+"c=2.998*10^8; //m/s - SPEED OF LIGHT \n",
+"\n",
+"//Ratio SNR(coax)/SNR(fiber)\n",
+"Ratio=V^2*h*c/(2*K*T*Zo*n*Pi*lambda);\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t SNR(coax)/SNR(fiber) = %d dB.',10*log10(Ratio));"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.11: Determination_of_the_average_incident_optical_power_required_at_the_receiver.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 12.11\n",
+"//Program to determine the average incident optical power required at \n",
+"//the receiver \n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"k=1.38*10^(-23); //J/K - BOLTZMANN's CONSTANT\n",
+"e=1.602*10^(-19); //Coulumbs - CHARGE OF AN ELECTRON\n",
+"SNR_dB=55; //dB - SIGNAL POWER TO RMS NOISE RATIO\n",
+"ma=0.8; //MODULATION INDEX\n",
+"Id=0; //A - DARK CURRENT\n",
+"T=293; //K - OPERATING TEMPERATURE\n",
+"B=5*10^6; //Hz - BANDWIDTH\n",
+"Fn_dB=1.5; //dB - NOISE FIGURE\n",
+"Rl=1*10^6; //Ohms - EFFECTIVE INPUT IMPEDANCE\n",
+"R=0.5; //A/W - RESPONSIVITIY\n",
+"b=0.7; //RATIO OF LUMINANCE TO COMPOSITE VIDEO\n",
+"SNR=10^(SNR_dB/10);\n",
+"Fn=10^(Fn_dB/10);\n",
+"\n",
+"//Photo-current, Ip=R*Po Ip=Po*R;\n",
+"//(SNR)p-p=(2*ma*Ip*b)^2/(2*e*B*(Ip+Id)+(4*k*T*B*Fn/Rl));\n",
+"//Rearranging and solving the quadratic equation, Incident Power\n",
+"Po=((SNR*2*e*B*R)+sqrt((SNR*2*e*B*R)^2-4*(2*ma*R*b)^2*(SNR*(-4*k*T*B*Fn/Rl))))/(2*(2*ma*R*b)^2);\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t The average incident optical power required at the receiver is %0.2f uW or %0.1f dBm.',Po/10^(-6),10*log10(Po/10^(-3)));"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.12: EX12_12.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 12.12\n",
+"//Program to determine the average incident optical power required to \n",
+"//maintain given SNR\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"Lambda=1*10^(-6); //metre - WAVELENGTH \n",
+"h= 6.626*10^(-34); //J/K - PLANK's CONSTANT\n",
+"c=2.998*10^8; //m/s - VELOCITY OF LIGHT IN VACCUM\n",
+"k=1.38*10^(-23); //J/K - BOLTZMANN's CONSTANT\n",
+"e=1.602*10^(-19); //Coulumbs - CHARGE OF AN ELECTRON\n",
+"eeta=0.6; //*100 percent - QUANTUM EFFICIENCY\n",
+"SNR_dB=45; //dB - CURRENT SNR\n",
+"Rl=50*10^3; //Ohms - EFFECTIVE LOAD IMPEDANCE\n",
+"T=300; //K - OPERATING TEMPERATURE\n",
+"ma=0.5; //MODULATION INDEX\n",
+"Fn_dB=6; //dB - NOISE FIGURE\n",
+"B=10*10^6; //Hz - POST DETECTION BANDWIDTH\n",
+"\n",
+"SNR=10^(SNR_dB/10);\n",
+"Fn=10^(Fn_dB/10);\n",
+"\n",
+"//Average incident optical power required to maintain given SNR\n",
+"Po=h*c/(e*eeta*ma^2*Lambda)*sqrt(8*k*T*Fn/Rl)*sqrt(SNR*B);\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t The average incident optical power required at the receiver is %0.2f uW or %0.1f dBm.',Po/10^(-6),10*log10(Po/10^(-3)));"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.13: EX12_13.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 12.13\n",
+"//Program to:\n",
+"//(a)Determine the viability of optical power budget\n",
+"//(b)Estimate any possible increase in link length\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"L=2; //km - OPTICAL FIBER LINK LENGTH\n",
+"alpha_fc=3.5; //dB/km - CABLE FIBER LOSS \n",
+"alpha_j=0.7; //dB/km - SPLICE LOSS\n",
+"alpha_cr=1.6; //dB - CONNECTOR LOSS AT RECEIVER\n",
+"Ma=4; //dB - REQUIRED SAFETY MARGIN\n",
+"Pr_dBm=-25; //dBm - RECEIVER SENSITIVITY\n",
+"Pi_dBm=-10; //dBm - POWER LAUNCHED\n",
+"\n",
+"//Total System Margin\n",
+"Total_system_margin=Pi_dBm-Pr_dBm;\n",
+"printf('\n\n\t (a)Total System Margin is %0.1f dB.',Total_system_margin);\n",
+"\n",
+"//Total System Loss\n",
+"Total_system_loss=L*alpha_fc+L*alpha_j+alpha_cr+Ma;\n",
+"printf('\n\n\t Total System Loss is %0.1f dB.',Total_system_loss);\n",
+"\n",
+"//Excess Power margin\n",
+"Excess_power_margin=Total_system_margin-Total_system_loss;\n",
+"printf('\n\n\t Excess Power margin is %0.1f dB.',Excess_power_margin);\n",
+"\n",
+"//(a)Testing Viability\n",
+"if Excess_power_margin >=0 then\n",
+"printf('\n\n\t The system is viable.');\n",
+"else\n",
+"printf('\n\n\t The system is not viable.');\n",
+"end\n",
+"\n",
+"//(b)Maximum possible link length\n",
+"Pi=0; //dBm - LAUNCHED POWER\n",
+"Po=-25; //dBm - REQUIRED POWER BY APD\n",
+"Ma=7; //dB - SAFETY MARGIN\n",
+"//Optical budget: Pi-Po=(alpha_fc+alpha_j)L+alpha_cr+Ma\n",
+"L1=(Pi-Po-alpha_cr-Ma)/(alpha_fc+alpha_j);\n",
+"printf('\n\n\t (b)Maximum possible increase in link length is %0.1f km.',L1-L);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.14: EX12_14.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 12.14\n",
+"//Program to determine whether the combination of components gives\n",
+"//an adequate temporal response\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"L=5; //km - LENGTH OF FIBER LINK\n",
+"Ts=10*10^(-9); //s - SOURCE RISE TIME\n",
+"Dn=9*10^(-9); //s/km - INTERMODAL RISE TIME\n",
+"Dc=2*10^(-9); //s/km - CHROMATIC RISE TIME\n",
+"Td=3*10^(-9); //s - DETECTOR RISE TIME\n",
+"Bopt=6*10^6; //Hz - REQUIRED OPTICAL BANDWIDTH\n",
+"\n",
+"Tn=Dn*L;\n",
+"Tc=Dc*L;\n",
+"\n",
+"//Maximum permitted rise time\n",
+"Tsyst_max=0.35/Bopt;\n",
+"\n",
+"//Total system rise time\n",
+"Tsyst=1.1*sqrt(Ts^2+Tn^2+Tc^2+Td^2);\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t Maximum permitted rise time, Tsyst(max) = %0.1f ns.',Tsyst_max/10^(-9));\n",
+"printf('\n\n\t Total system rise time, Tsyst = %0.1f ns.',Tsyst/10^(-9));\n",
+"printf('\n\n\t Hence system gives adequate temporal response.');"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.15: EX12_15.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 12.15\n",
+"//Note: MAXIMA SCILAB TOOLBOX REQUIRED FOR THIS PROGRAM\n",
+"//Program to:\n",
+"//(a)Derive an expression for the improvement in post detection SNR\n",
+"//(b)Determine the improvement in post detection SNR and Bandwidth\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//(a)Derive an expression for the improvement in post detection SNR\n",
+"//Symbolic Representation\n",
+"syms Pa R Po Ba No Df\n",
+"//D-IM OUTPUT SNR\n",
+"SNR_DIM=(R*Po)^2*Pa/(2*Ba*No);\n",
+"//FM OUTPUT SNR\n",
+"SNR_FM=3*Df^2*(R*Po)^2*Pa/(4*Ba*No);\n",
+"//SNR IMPROVEMENT\n",
+"SNR_imp=SNR_FM/SNR_DIM;\n",
+"//SNR IMPROVEMENT IN dB\n",
+"SNR_imp_dB=10*log10(SNR_imp);\n",
+"disp(SNR_imp,'SNR IMPROVEMENT = ');\n",
+"disp(SNR_imp_dB,'SNR IMPROVEMENT IN dB = ');\n",
+"printf('\n\n\t The above expression is equivalent to 1.76+20*log10(Df)');\n",
+"\n",
+"//(b)Determine the improvement in post detection SNR and Bandwidth\n",
+"//Given data\n",
+"fd1=400*10^3; //Hz - PEAK FREQUENCY DEVIATION\n",
+"Ba1=4*10^3; //Hz- BANDWIDTH\n",
+"//Frequency Deviation Ratio\n",
+"Df1=fd1/Ba1;\n",
+"//SNR Improvement expression from part(a)\n",
+"SNR_imp_dB1=1.76+20*log10(Df1);\n",
+"//Bandwidth\n",
+"Bm=2*(Df1+1)*Ba1;\n",
+"printf('\n\n\t The SNR Improvement = %0.2f dB.',SNR_imp_dB1);\n",
+"printf('\n\n\t The Bandwidth of FM-IM, Bm = %1.0f kHz.',Bm/10^3);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.16: Program_to_determine_the_ratio_of_SNRs_of_FM_IM_and_PM_IM_systems.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 12.16\n",
+"//Note: MAXIMA SCILAB TOOLBOX REQUIRED FOR THIS PROGRAM\n",
+"//Program to determine the ratio of SNRs of FM-IM and PM-IM systems\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Symbolic representation\n",
+"syms fd Pa R Po Ac Ba No\n",
+"\n",
+"//FOR FM-IM \n",
+"Df=fd/Ba; //Frequency Deviation\n",
+"SNR_FM=3*Df^2*Pa*(R*Po)^2*Ac^2/2/(2*Ba*No);\n",
+"\n",
+"//FOR PM-IM\n",
+"Dp=fd/Ba; //Frequency Deviation\n",
+"SNR_PM=Df^2*Pa*(R*Po)^2*Ac^2/2/(2*Ba*No);\n",
+"\n",
+"//Determining Ratio\n",
+"Ratio=SNR_FM/SNR_PM;\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"disp(Ratio,' SNR_FM/SNR_PM = ');"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.17: EX12_17.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 12.17\n",
+"//Program to calculate:\n",
+"//(a)The optimium receiver bandwidth\n",
+"//(b)The peak to peak signal power to rms noise ratio\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"Tr=12*10^(-9); //s - SYSTEM RISE TIME\n",
+"fo=20*10^6; //Hz - NOMINAL PULSE RATE\n",
+"fd=5*10^6; //Hz - PEAK TO PEAK FREQUECY DEVIATION\n",
+"M=60; //APD MULTIPLICATION FACTOR\n",
+"R=0.7; //APD RESPONSIVITY\n",
+"B=6*10^6; //Hz - BASEBAND NOISE BANDWIDTH\n",
+"Ppo=10^(-7); //Watt - PEAK OPTICAL POWER\n",
+"in_sq_bar=10^(-17); //A^2 - RECEIVER MEAN SQUARE NOISE CURRENT\n",
+"\n",
+"//(a)The optimium receiver bandwidth\n",
+"Bopt=1/Tr;\n",
+"To=1/fo;\n",
+"\n",
+"//(b)The peak to peak signal power to rms noise ratio\n",
+"SNR=3*(To*fd*M*R*Ppo)^2/((2*%pi*Tr*B)^2*in_sq_bar);\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t (a)The optimium receiver bandwidth is %0.1f MHz.',Bopt/10^6);\n",
+"printf('\n\n\t (b)The peak to peak signal power to rms noise ratio is %0.1f dB.',10*log10(SNR));"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.18: EX12_18.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 12.18\n",
+"//Program to form comparision showing total channel loss against \n",
+"//number of nodes for:\n",
+"//(i)Bus Distribution System\n",
+"//(ii)Star Distribution System\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"alpha_cr=1; //dB - CONNECTOR LOSS\n",
+"alpha_fc=5; //dB/km - FIBER CABLE LOSS\n",
+"L_bu=0.1 //m - FIBER LENGTH\n",
+"L_tr=10; //dB - ACCESS COUPLER TAP RATIO\n",
+"L_sp=3; //dB - SPLITTER LOSS\n",
+"L_ac=1; //dB - ACCESS COUPLER INSERTION LOSS\n",
+"L_st=0.1; //m - TOTAL FIBER LENGTH IN STAR ARMS \n",
+"L_ex=0; //dB - STAR COUPLER EXCESS LOSS\n",
+"\n",
+"//Bus Distribution System\n",
+"N=0:0.01:11;\n",
+"Cl_bus=2*alpha_cr+(N-1)*alpha_fc*L_bu+(2*alpha_cr+L_ac)*(N-3)+(2*alpha_cr+L_tr)+L_sp+alpha_cr;\n",
+"Hm=abs(Cl_bus);\n",
+"figure;\n",
+"plot2d(N,Hm,2);\n",
+"\n",
+"//Star Distribution System\n",
+"N=1:0.01:30;\n",
+"Cl_star=4*alpha_cr+alpha_fc*L_st+10*log10(N)+L_ex;\n",
+"Hm=abs(Cl_star);\n",
+"plot2d(N,Hm,5);\n",
+"xlabel('Number of Nodes N');\n",
+"ylabel('Total Channel Loss Cl(dB)');\n",
+"title('CHARACTERISTICS FOR TWO DISTRIBUTION SYSTEMS (BUS AND STAR)');\n",
+"xgrid (1);\n",
+"h=legend(['LINEAR BUS';'STAR']);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.19: Estimation_of_the_maximum_system_length_for_satisfactory_performance.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 12.19\n",
+"//Program to estimate the maximum system length for satisfactory \n",
+"//performance\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"SNR_dB=17; //dB - REQUIRED SNR\n",
+"L=100*10^3; //metre - INTERVAL SPACING\n",
+"K=4; //FOR AMPLIFIER\n",
+"h= 6.626*10^(-34); //J/K - PLANK's CONSTANT\n",
+"c=2.998*10^8; //m/s - VELOCITY OF LIGHT IN VACCUM\n",
+"B=1.2*10^(9); //bit/s - TRANSMISSION RATE\n",
+"Pi_dBm=0; //dBm - INPUT POWER\n",
+"Lambda=1.55*10^(-6); //metre - OPERATING WAVELENGTH\n",
+"alpha_fc=0.22; //dB/km - FIBER CABLE ATTENUATION\n",
+"alpha_j=0.03; //dB/km - SPLICE LOSS\n",
+"\n",
+"//Calculation of SNR and Pi\n",
+"SNR=10^(SNR_dB/10);\n",
+"Pi=10^(Pi_dBm/10)*10^(-3);\n",
+"\n",
+"//Maximum system length\n",
+"Lto=(Pi*Lambda*10^(-(alpha_fc+alpha_j)*L/10/10^3)/(K*h*c*B))/SNR*L;\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t Maximum system length for satisfactory performance is %1.0f X 10^4 km.',Lto/10^7);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.1: Determination_of_bit_rate_and_duration_of_a_Time_slot_Frame_and_Multiframe.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 12.1\n",
+"//Program to determine:\n",
+"//(a)Bit rate for the system\n",
+"//(b)The duration of a time slot\n",
+"//(c)The duration of a frame and multiframe\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"f=8*10^3; //Hz - SAMPLING RATE\n",
+"b=8; //bits - SAMPLE SIZE\n",
+"T=32; //NUMBER OF TIME SLOTS\n",
+"\n",
+"//(a)Bit rate for the system\n",
+"Number_of_bits=T*b;\n",
+"Bit_rate=f*Number_of_bits\n",
+"//(b)The duration of a time slot\n",
+"Bit_duration=1/Bit_rate;\n",
+"Slot_duration=b*Bit_duration;\n",
+"//(c)The duration of a frame and multiframe\n",
+"Duration_of_frame=T*Slot_duration;\n",
+"Duration_of_multiframe=T/2*Duration_of_frame;\n",
+"\n",
+"//Displaying The Results in Command Window\n",
+"printf('\n\n\t (a)Bit rate for the system is %0.3f Mbit/s.',Bit_rate/10^6);\n",
+"printf('\n\n\t (b)The duration of a time slot is %0.1f us.',Slot_duration/10^(-6));\n",
+"printf('\n\n\t (c)The duration of a frame is %1.0f us and multiframe is %1.0f ms.',Duration_of_frame/10^(-6),Duration_of_multiframe/10^(-3));"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.20: Obtain_an_expression_for_the_total_noise_figure_for_the_system.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 12.20\n",
+"//Note: MAXIMA SCILAB TOOLBOX REQUIRED FOR THIS PROGRAM\n",
+"//Program to obtain an expression for the total noise figure for the\n",
+"//system\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Symbolic representation\n",
+"syms F G k M;\n",
+"\n",
+"//Given data\n",
+"//F_to = F1*G1 + F2*G2 + F3*G3 +......+ FM*GM\n",
+"//For Identical Repeaters : \n",
+"//F1*G1 = F2*G2 = F3*G3 =......= FM*GM = F*G(say)\n",
+"x=F*G;\n",
+"F_to = symsum(x,k,1,M);\n",
+"\n",
+"//Displaying The Results in Command Window\n",
+"disp (F_to,'TOTAL NOISE FIGURE: F_to = ');\n",
+"disp ('At the output from the first amplifier repeater, a degradation in SNR of F*G occurs followed by a decrease of 1/M');"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.21: EX12_21.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 12.21\n",
+"//Program to :\n",
+"//(a)Calculate second order dispersion coefficient for L1\n",
+"//(b)Determine the dispersion slope for L2\n",
+"//(c)Verify that periodic dispersion management map will provide\n",
+"//sufficient coincidence to facilitate reliable DWDM transmission\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"L1=160; //km - PATH LENGTH\n",
+"L2=20; //km - PATH LENGTH\n",
+"\n",
+"//(a)To calculate second order dispersion coefficient for L1\n",
+"Beeta22=17; //ps/nm/km - 2nd ORDER DISPERSION COEFF. FOR L2\n",
+"Beeta21=-Beeta22*L2/L1;\n",
+"printf('\n\n\t(a)The second order dispersion coefficient for L1 is %0.3f ps/nm/km',Beeta21);\n",
+"\n",
+"//(b)To determine the dispersion slope for L2\n",
+"S1=0.075; //ps/nm^2/km - DISPERSION SLOPE FOR L1\n",
+"S2=-S1*L1/L2;\n",
+"printf('\n\n\t(b)The dispersion slope for L2 is %0.1f ps/nm^2/km',S2);\n",
+"\n",
+"//(c)To verify that periodic dispersion management map will provide\n",
+"//sufficient coincidence to facilitate reliable DWDM transmission\n",
+"OP=S1*(L1/L2)+S1*(Beeta22/Beeta21);\n",
+"if OP==0 then\n",
+"printf('\n\n\t(c)Periodic dispersion management map will provide sufficient coincidence to facilitate reliable DWDM transmission as S1(L1/L2)+S1(Beeta22/Beeta21)=0');\n",
+"else\n",
+"printf('\n\n\t(c)Periodic dispersion management map will not provide sufficient coincidence to facilitate reliable DWDM transmission as S1(L1/L2)+S1(Beeta22/Beeta21)!=0');\n",
+"end"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.22: EX12_22.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 12.22\n",
+"//Program to determine\n",
+"//(a)The separation for the soliton pulses to avoid interaction\n",
+"//(b)The transmission bit rate of the optical soliton communication\n",
+"//system\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"To=70*10^(-12); //s - BIT PERIOD\n",
+"tau=6*10^(-12); //s - PULSE WIDTH\n",
+"Beeta2=-0.5*10^(-12)*10^(-12)*10^(-3);//s^2/km - 2nd ORDER DISPERSION\n",
+" // COEFFICIENT \n",
+"La=50*10^3; //AMPLIFIER SPACING\n",
+"\n",
+"//(a)The separation for the soliton pulses to avoid interaction\n",
+"qo=1/2*(To/tau);\n",
+"//(b)The transmission bit rate of the optical soliton comm. system\n",
+"Bt=1/(2*qo)*1/sqrt(abs(Beeta2)*La);\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t(a)The separation for the soliton pulses to avoid interaction is %0.1f .',qo);\n",
+"printf('\n\n\t(b)The maximum bit rate of the optical soliton communication system is much less than %0.2f Gbit/s .',Bt/10^9);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.23: Determination_of_the_maximum_transmission_bit_rate_for_the_system.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 12.23\n",
+"//Program to determine the maximum transmission bit rate for the \n",
+"//system\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"To=40*10^(-12); //s - BIT PERIOD\n",
+"tau=4*10^(-12); //s - PULSE WIDTH\n",
+"Beeta2=-1.25*10^(-12)*10^(-12)*10^(-3); //s^2/km - 2nd ORDER \n",
+" //DISPERSION COEFFICIENT \n",
+"alpha=0.2*10^(-3); //dB/m - ATTENUATION CONSTANT\n",
+"\n",
+"//The separation for the soliton pulses to avoid interaction\n",
+"qo=1/2*(To/tau);\n",
+"\n",
+"//Maximum transmission bit rate for the system\n",
+"Bt=1/(2*qo)*sqrt(alpha/abs(Beeta2));\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t The maximum bit rate of the ultrashort pulse optical soliton system is significantly greater than %1.0f Gbit/s .',Bt/10^9);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.2: Determination_of_required_electrical_and_optical_SNR.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 12.2\n",
+"//Program to determine the required electrical and optical SNR\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"BER=10^(-9); //BIT ERROR RATE\n",
+"\n",
+"//Optical SNR\n",
+"SNR_op=(erfinv(1-2*BER))*2*sqrt(2); //erfc(x)=1-erf(x)\n",
+"\n",
+"//Electrical SNR\n",
+"SNR_el=((erfinv(1-2*BER))*2*sqrt(2))^2; //erfc(x)=1-erf(x)\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t Optical SNR is %1.0f or %0.1f dB.',SNR_op,10*log10(SNR_op));\n",
+"printf('\n\n\t Electrical SNR is %1.0f or %0.1f dB.',SNR_el,10*log10(SNR_el));"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.3: EX12_3.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 12.3\n",
+"//Program to estimate the average number of photons which must be \n",
+"//incident on the APD to register a binary one with a BER of 10^(-9) \n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"k=0.02; //CARRIER IONIZATION RATE\n",
+"M=100; //MULTIPLICATION FACTOR\n",
+"SNR=144; //SIGNAL TO NOISE RATIO\n",
+"Bt=0.6; //FOR RAISED COSINE PULSE SPECTRUM\n",
+"n=0.8; //(*100) percent - QUANTUM EFFICIENCY\n",
+"\n",
+"//Excess avalanche noise factor F(M)\n",
+"F=k*M+(2-1/M)*(1-k);\n",
+"\n",
+"//Average number of photons\n",
+"z=2*Bt*ceil(F)/n*SNR;\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t The average number of photons which must be incident on the APD is %1.0f photons.',z);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.4: EX12_4.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 12.4\n",
+"//Program to estimate incident optical power to register binary 1\n",
+"//at bit rates of 10 Mbit/s and 140 Mbit/s\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"BER=10^(-9); //BIT ERROR RATE\n",
+"e=1.602*10^(-19); //Coulumbs - CHARGE OF AN ELECTRON\n",
+"Lambda=1*10^(-6); //metre - WAVELENGTH \n",
+"h= 6.626*10^(-34); //J/K - PLANK's CONSTANT\n",
+"c=2.998*10^8; //m/s - VELOCITY OF LIGHT IN VACCUM\n",
+"zm=864; //photons - FROM EXAMPLE 12.3\n",
+"\n",
+"//For 10 Mbit/s\n",
+"Bt=10*10^6; //bps - BIT RATES\n",
+"Po=zm*h*c*Bt/(2*Lambda);\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t Incident optical power for %1.0f Mbit/s is %0.1f pW or %0.1f dBm.',Bt/10^6,Po/10^(-12),10*log10(Po/10^(-3)));\n",
+"\n",
+"//For 140 Mbit/s\n",
+"Bt=140*10^6; //bps - BIT RATES\n",
+"Po=zm*h*c*Bt/(2*Lambda);\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t Incident optical power for %1.0f Mbit/s is %0.3f nW or %0.1f dBm.',Bt/10^6,Po/10^(-9),10*log10(Po/10^(-3)));"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.5: Determination_of_the_total_channel_loss_ignoring_dispersion.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 12.5\n",
+"//Program to determine the total channel loss ignoring dispersion\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"alpha_fc=5; //dB/km - FIBER CABLE ATTENUATION\n",
+"alpha_j=2; //dB/km - SPLICE LOSS\n",
+"alpha_s=3.5; //dB - SOURCE CONNECTOR LOSS\n",
+"alpha_d=2.5; //dB - DETECTOR CONNECTOR LOSS \n",
+"L=4; //km - LENGTH OF OPTICAL FIBER LINK\n",
+"\n",
+"//Total channel loss\n",
+"alpha_cr=alpha_s+alpha_d\n",
+"C_L=(alpha_fc+alpha_j)*L+alpha_cr;\n",
+"\n",
+"//Displaying The Result in Command Window\n",
+"printf('\n\n\tTotal channel loss, C_L = %1.0f dB',C_L)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.6: Estimation_of_the_dispersion_equalization_penalty_for_bit_given_rates.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 12.6\n",
+"//Program to estimate the dispersion-equalization penalty for bit \n",
+"//rates:\n",
+"//(a)25 Mbit/s\n",
+"//(b)150 Mbit/s\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"L=8; //km - LENGTH OF FIBER LINK\n",
+"sigma=0.6*10^(-9); //s/km - RMS PULSE BROADENING\n",
+"\n",
+"\n",
+"//(a)For 25 Mbit/s\n",
+"Bt=25*10^6; //bit/sec - BIT RATE\n",
+"//Without mode coupling\n",
+"sigma_T=sigma*L;\n",
+"D_L=2*(2*sigma_T*Bt*sqrt(2))^4;\n",
+"printf('\n\n\t (a)For Bt = %1.0f Mbit/s, Without mode coupling, D_L = %0.2f dB',Bt/10^6,D_L);\n",
+"//With mode coupling\n",
+"sigma_T=sigma*sqrt(L);\n",
+"D_L=2*(2*sigma_T*Bt*sqrt(2))^4;\n",
+"printf('\n\n\t For Bt = %1.0f Mbit/s, With mode coupling, D_L = %0.2f X 10^(-4) dB',Bt/10^6,D_L/10^(-4));\n",
+"\n",
+"//(b)150 Mbit/s\n",
+"Bt=150*10^6; //bit/sec - BIT RATE\n",
+"//Without mode coupling\n",
+"sigma_T=sigma*L;\n",
+"D_L=2*(2*sigma_T*Bt*sqrt(2))^4;\n",
+"printf('\n\n\t (b)For Bt = %1.0f Mbit/s, Without mode coupling, D_L = %0.2f dB',Bt/10^6,D_L);\n",
+"//With mode coupling\n",
+"sigma_T=sigma*sqrt(L);\n",
+"D_L=2*(2*sigma_T*Bt*sqrt(2))^4;\n",
+"printf('\n\n\t For Bt = %1.0f Mbit/s, With mode coupling, D_L = %0.2f dB',Bt/10^6,D_L);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.7: EX12_7.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 12.7\n",
+"//Program to estimate the maximum bit rate that may be achieved on \n",
+"//the link when using NRZ format\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"L=8; //km - LENGTH OF FIBER LINK\n",
+"Ts=8*10^(-9); //s - SOURCE RISE TIME\n",
+"Dn=5*10^(-9); //s/km - INTERMODAL RISE TIME\n",
+"Dc=1*10^(-9); //s/km - INTRAMODAL RISE TIME\n",
+"Td=6*10^(-9); //s - DETECTOR RISE TIME\n",
+"Tn=Dn*L;\n",
+"Tc=Dc*L;\n",
+"\n",
+"//Total Rise Time\n",
+"Tsyst=1.1*sqrt(Ts^2+Tn^2+Tc^2+Td^2);\n",
+"\n",
+"//Maximum bit rate\n",
+"Bt= 0.7/Tsyst;\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t Maximum bit rate, Bt(max) is %0.1f Mbit/s which for NRZ is equivalent to a 3 dB optical bandwidth of %0.1f Mbit/s.',Bt/10^6,Bt/10^6/2);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.8: EX12_8.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 12.8\n",
+"//Program to estimate:\n",
+"//(a)Maximum possible link length without repeaters when operating at 35 Mbit/s \n",
+"//(b)Maximum possible link length without repeaters when operating at 400 Mbit/s\n",
+"//(c)Reduction in maximum possible link length considering dispersion-equalization penalty\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"Pi=-3; //dBm - POWER LAUNCHED\n",
+"alpha_fc=0.4; //dB/km - CABLE FIBER LOSS \n",
+"alpha_j=0.1; //dB/km - SPLICE LOSS\n",
+"alpha_cr=2; //dB - TOTAL CONNECTOR LOSS\n",
+"Ma=7; //dB - REQUIRED SAFETY MARGIN\n",
+"Dl=1.5; //dB - DISPERSION- EQUALIZATION PENALTY\n",
+"\n",
+"//(a)Maximum possible link length without repeaters when operating at 35 Mbit/s \n",
+"Po=-55; //dBm - REQUIRED POWER BY APD\n",
+"//Optical budget: Pi-Po=(alpha_fc+alpha_j)L+alpha_cr+Ma\n",
+"L1=(Pi-Po-alpha_cr-Ma)/(alpha_fc+alpha_j);\n",
+"printf('\n\n\t (a)Maximum possible link length without repeaters when operating at 35 Mbit/s is %1.0f km.',L1);\n",
+"\n",
+"//(b)Maximum possible link length without repeaters when operating at 400 Mbit/s\n",
+"Po=-44; //dBm - REQUIRED POWER BY APD\n",
+"//Optical budget: Pi-Po=(alpha_fc+alpha_j)L+alpha_cr+Ma\n",
+"L2=(Pi-Po-alpha_cr-Ma)/(alpha_fc+alpha_j);\n",
+"printf('\n\n\t (b)Maximum possible link length without repeaters when operating at 400 Mbit/s is %1.0f km.',L2);\n",
+"\n",
+"//(c)Reduction in maximum possible link length considering dispersion-equalization penalty\n",
+"//Optical budget considering dispersion-equalization penalty:\n",
+"//Pi-Po=(alpha_fc+alpha_j)L+alpha_cr+Ma\n",
+"L3=(Pi-Po-alpha_cr-Dl-Ma)/(alpha_fc+alpha_j);\n",
+"printf('\n\n\t (c)Reduction in maximum possible link length considering dispersion-equalization penalty is %1.0f km.',L2-L3);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.9: Determination_of_the_viability_of_optical_power_budget.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 12.9\n",
+"//Program to determine the viability of optical power budget\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"L=7; //km - OPTICAL FIBER LINK LENGTH\n",
+"alpha_fc=2.6; //dB/km - CABLE FIBER LOSS \n",
+"alpha_j=0.5; //dB/km - SPLICE LOSS\n",
+"alpha_cr=1.5; //dB - TOTAL CONNECTOR LOSS\n",
+"Ma=6; //dB - REQUIRED SAFETY MARGIN\n",
+"Pr_dBm=-41; //dBm - RECEIVER SENSITIVITY\n",
+"Pi=100*10^(-6); //Watt - POWER LAUNCHED\n",
+"Pi_dBm=10*log10(Pi/10^(-3));\n",
+"\n",
+"//Total System Margin\n",
+"Total_system_margin=Pi_dBm-Pr_dBm;\n",
+"printf('\n\n\t Total System Margin is %0.1f dB.',Total_system_margin);\n",
+"\n",
+"//Total System Loss\n",
+"Total_system_loss=L*alpha_fc+(L-1)*alpha_j+alpha_cr+Ma;\n",
+"printf('\n\n\t Total System Loss is %0.1f dB.',Total_system_loss);\n",
+"\n",
+"//Excess Power margin\n",
+"Excess_power_margin=Total_system_margin-Total_system_loss;\n",
+"printf('\n\n\t Excess Power margin is %0.1f dB.',Excess_power_margin);\n",
+"\n",
+"//Testing Viability\n",
+"if Excess_power_margin >=0 then\n",
+"printf('\n\n\t The system is viable.');\n",
+"else\n",
+"printf('\n\n\t The system is not viable.');\n",
+"end"
+ ]
+ }
+],
+"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/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/13-OPTICAL_FIBER_SYSTEMS_2_COHERENT_AND_PHASE_MODULATED.ipynb b/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/13-OPTICAL_FIBER_SYSTEMS_2_COHERENT_AND_PHASE_MODULATED.ipynb
new file mode 100644
index 0000000..5ae5850
--- /dev/null
+++ b/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/13-OPTICAL_FIBER_SYSTEMS_2_COHERENT_AND_PHASE_MODULATED.ipynb
@@ -0,0 +1,306 @@
+{
+"cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 13: OPTICAL FIBER SYSTEMS 2 COHERENT AND PHASE MODULATED"
+ ]
+ },
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 13.1: EX13_1.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 13.1\n",
+"//Program to estimate the maximum temperature change that could\n",
+"//be allowed for the local oscillator laser\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"IF=1.5*10^6; //Hz - NOMINAL IF\n",
+"del_f=19*10^6; //Hz/C - OUTPUT FREQUENCY CHANGE\n",
+"\n",
+"//Maximum temperature change that could be allowed\n",
+"f=0.1*IF;\n",
+"Max_temp_change=f/del_f;\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t Maximum temperature change that could be allowed for the local oscillator laser is %0.3f C .',Max_temp_change);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 13.2: Determination_of_the_operating_bandwidth_of_the_receiver.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 13.2\n",
+"//Program to determine the operating bandwidth of the receiver\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"SNL=-85.45; //dBm - SHOT NOISE LIMIT\n",
+"eeta=0.86; //*100 percent - EFFICIENCY FOR IDEAL RECEIVER\n",
+"Lambda=1.54*10^(-6); //metre - OPERATING WAVELENGTH\n",
+"SNR=12; //dB - SIGNAL TO NOISE RATIO\n",
+"h= 6.626*10^(-34); //J/K - PLANK's CONSTANT\n",
+"c=2.998*10^8; //m/s - VELOCITY OF LIGHT IN VACCUM\n",
+"\n",
+"//Incoming Signal Power\n",
+"Ps=10^(SNL/10);\n",
+"\n",
+"//Operating bandwidth of the receiver\n",
+"B=eeta*Ps*Lambda/(h*c*10^(SNR/10));\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t Operating bandwidth of the receiver, B = %0.1f GHz.',B/10^9);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 13.3: EX13_3.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 13.3\n",
+"//Program to calculate the number of received photons per bit for:\n",
+"//(a)ASK heterodyne synchronous detection\n",
+"//(b)ASK heterodyne asynchronous detection\n",
+"//(c)PSK homodyne detection\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"eeta=1; //*100 percent - EFFICIENCY FOR IDEAL RECEIVER\n",
+"BER=10^(-9); //BIT ERROR RATE\n",
+"\n",
+"//Number of received photons per bit for:\n",
+"printf('\n\n\t Number of received photons per bit for:');\n",
+"//(a)ASK heterodyne synchronous detection\n",
+"Np=(erfinv(1-2*BER))^2*4/eeta; //erfc(x)=1-erf(x)\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t (a)ASK heterodyne synchronous detection = %1.0f.',Np/2);\n",
+"\n",
+"//(b)ASK heterodyne asynchronous detection\n",
+"Np=-log(2*BER)*4/eeta;\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t (b)ASK heterodyne asynchronous detection = %1.0f.',Np/2);\n",
+"\n",
+"//(c)PSK homodyne detection\n",
+"Np=(erfinv(1-2*BER))^2/2; //erfc(x)=1-erf(x)\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t (c)PSK homodyne detection = %1.0f.',Np);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 13.4: Calculation_of_the_minimum_incoming_power_level.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 13.4\n",
+"//Program to calculate the minimum incoming power level\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"K=1; //CONSTANT FOR HETERODYNE DETECTION \n",
+"Z=1; //CONSTANT FOR FSK MODULAION SCHEME\n",
+"eeta=1; //*100 percent - QUANTUM EFFICIENCY\n",
+"Bt=400*10^6; //bps - TRANSMISSION RATE\n",
+"BER=10^(-9); //BIT ERROR RATE\n",
+"h= 6.626*10^(-34); //J/K - PLANK's CONSTANT\n",
+"c=2.998*10^8; //m/s - VELOCITY OF LIGHT IN VACCUM\n",
+"Lambda=1.55*10^(-6); //metre - OPERATING WAVELENGTH\n",
+"\n",
+"//Minimum incoming peak power level\n",
+"Ps=(erfinv(1-2*BER))^2*2*h*c*Bt/Lambda; //erfc(x)=1-erf(x)\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t Minimum incoming peak power level is %0.1f nW or %0.1f dBm.',Ps/10^(-9),10*log10(Ps/(1*10^(-3))));"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 13.5: EX13_5.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 13.5\n",
+"//Program to calculate the absolute maximum repeater spacing for the \n",
+"//following ideal receiver types:\n",
+"//(a)ASK heterodyne synchronous detection\n",
+"//(b)PSK homodyne detection\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"Np=36; //Average photons per bit - FROM EXAMPLE 13.3\n",
+"h= 6.626*10^(-34); //J/K - PLANK's CONSTANT\n",
+"c=2.998*10^8; //m/s - VELOCITY OF LIGHT IN VACCUM\n",
+"Lambda=1.55*10^(-6); //metre - OPERATING WAVELENGTH\n",
+"\n",
+"//(a)ASK heterodyne synchronous detection\n",
+"Np=36; //Average photons per bit - FROM EXAMPLE 13.3\n",
+"//For 50 Mbit/s Transmission Rate\n",
+"Bt=50*10^6; //bit/sec - GIVEN TRANSMISSION RATE\n",
+"Ps=Np*h*c*Bt/Lambda;\n",
+"Max_system_margin=4-10*log10(Ps/(1*10^(-3)));\n",
+"Max_repeater_spacing=Max_system_margin/0.2;\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t (a)ASK : Maximum repeater spacing for %1.0f Mbit/s transmission rate is %1.0f km.',Bt/10^6,Max_repeater_spacing);\n",
+"\n",
+"//For 1 Gbit/s Transmission Rate\n",
+"Bt=1*10^9; //bit/sec - GIVEN TRANSMISSION RATE\n",
+"Ps=Np*h*c*Bt/Lambda;\n",
+"Max_system_margin=4-10*log10(Ps/(1*10^(-3)));\n",
+"Max_repeater_spacing=Max_system_margin/0.2;\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t Maximum repeater spacing for %1.0f Gbit/s transmission rate is %1.0f km.',Bt/10^9,Max_repeater_spacing);\n",
+"\n",
+"//(b)PSK homodyne detection\n",
+"Np=9; //Average photons per bit - FROM EXAMPLE 13.3\n",
+"//For 50 Mbit/s Transmission Rate\n",
+"Bt=50*10^6; //bit/sec - GIVEN TRANSMISSION RATE\n",
+"Ps=Np*h*c*Bt/Lambda;\n",
+"Max_system_margin=4-10*log10(Ps/(1*10^(-3)));\n",
+"Max_repeater_spacing=Max_system_margin/0.2;\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t (b)PSK : Maximum repeater spacing for %1.0f Mbit/s transmission rate is %1.0f km.',Bt/10^6,Max_repeater_spacing);\n",
+"\n",
+"//For 1 Gbit/s Transmission Rate\n",
+"Bt=1*10^9; //bit/sec - GIVEN TRANSMISSION RATE\n",
+"Ps=Np*h*c*Bt/Lambda;\n",
+"Max_system_margin=4-10*log10(Ps/(1*10^(-3)));\n",
+"Max_repeater_spacing=Max_system_margin/0.2;\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t Maximum repeater spacing for %1.0f Gbit/s transmission rate is %1.0f km.',Bt/10^9,Max_repeater_spacing);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 13.6: EX13_6.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 13.6\n",
+"//Program to estimate the minimum transmitter power requirement for \n",
+"//an optical coherent WDM\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"Np=150; //photons per bit - RECEPTION \n",
+"h= 6.626*10^(-34); //J/K - PLANK's CONSTANT\n",
+"c=2.998*10^8; //m/s - VELOCITY OF LIGHT IN VACCUM\n",
+"B_fib=20*10^12; //Hz - OPTICAL BANDWIDTH\n",
+"Lambda=1.3*10^(-6); //metre - SHORTEST WAVELENGTH\n",
+"\n",
+"//Minimum transmitter power requirement for an optical coherent WDM\n",
+"Ptx=Np*h*c*B_fib/Lambda;\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t Minimum transmitter power requirement for an optical coherent WDM is %0.1f mW or %1.0f dBm .',Ptx/10^(-3), 10*log10(Ptx/(1*10^(-3))));"
+ ]
+ }
+],
+"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/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/14-OPTICAL_FIBER_MEASUREMENTS.ipynb b/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/14-OPTICAL_FIBER_MEASUREMENTS.ipynb
new file mode 100644
index 0000000..23ca6c1
--- /dev/null
+++ b/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/14-OPTICAL_FIBER_MEASUREMENTS.ipynb
@@ -0,0 +1,342 @@
+{
+"cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 14: OPTICAL FIBER MEASUREMENTS"
+ ]
+ },
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 14.1: EX14_1.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 14.1\n",
+"//Program to determine the attenuation per kilometer for the fiber \n",
+"//and estimate the accuracy of the result\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"L1=2*10^3; //metres - INITIAL LENGTH\n",
+"L2=2; //metres - FINAL LENGTH\n",
+"V1=2.1; //volts - INITIAL OUTPUT VOLTAGE\n",
+"V2=10.7; //volts - FINAL OUTPUT VOLTAGE\n",
+"\n",
+"//Attenuation per Kilometer\n",
+"alpha_dB=10/(L1-L2)*log10(V2/V1);\n",
+"\n",
+"//Uncertainity in measured attenuation\n",
+"Uncertainity=0.2/(L1-L2);\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t Attenuation is %0.1f dB/km.',alpha_dB*10^3);\n",
+"printf('\n\n\t Uncertainity in measured attenuation is +-%0.1f dB.',Uncertainity*10^3);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 14.2: Determination_of_the_absorption_loss_for_the_fiber_under_test.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 14.2\n",
+"//Program to determine the absorption loss for the fiber under test\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"t1=10; //s - INITIAL TIME\n",
+"t2=100; //s - FINAL TIME\n",
+"Tinf_minus_Tt1=0.525;//From Figure 14.6\n",
+"Tinf_minus_Tt2=0.021;//From Figure 14.6\n",
+"C=1.64*10^4; //J/degree C - THERMAL CAPACITY PER KILOMETER\n",
+"Tinf=4.3*10^(-4); //degree C - MAXIMUM THERMAL TEMPERATURE RISE \n",
+"Popt=98*10^(-3); //Watt - OPTICAL POWER \n",
+"\n",
+"//Time constant for the calorimeter\n",
+"tc=(t2-t1)/(log(Tinf_minus_Tt1)-log(Tinf_minus_Tt2));\n",
+"\n",
+"//Absorption loss of the test fiber\n",
+"alpha_abs=C*Tinf/(Popt*tc);\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t Time constant for the calorimeter is %0.1f s.',tc);\n",
+"printf('\n\n\t Absorption loss of the test fiber is %0.1f dB/km.',alpha_abs);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 14.3: Determination_of_the_loss_due_to_scattering_for_the_fiber.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 14.3\n",
+"//Program to determine the loss due to scattering for the fiber\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"Vsc=6.14*10^(-9); //V - OPTICAL OUTPUT POWER\n",
+"Vopt=153.38*10^(-6); //V - OPTICAL POWER WITHOUT SCATTERING\n",
+"l=2.92; //cm - LENGTH OF THE FIBER\n",
+"\n",
+"//Loss due to scattering for the fiber\n",
+"alpha_sc=4.343*10^5/l*Vsc/Vopt;\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t Loss due to scattering for the fiber is %0.1f dB/km.',alpha_sc);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 14.4: Calculation_of_3_dB_Pulse_Broadening_and_Fiber_Bandwidth_Length_product.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 14.4\n",
+"//Program to calculate:\n",
+"//(a)3 dB Pulse Broadening in ns/km\n",
+"//(b)Fiber Bandwidth-Length product\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"tau_o=12.6; //ns - 3 dB width of Output Pulse\n",
+"tau_i=0.3; //ns - 3 dB width of Input Pulse\n",
+"L=1.2; //km - LENGTH\n",
+"\n",
+"//(a)3 dB Pulse Broadening in ns/km\n",
+"tau=sqrt(tau_o^2-tau_i^2)/L;\n",
+"\n",
+"//(b)Fiber Bandwidth-Length product\n",
+"Bopt=0.44/tau;\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t (a)3 dB Pulse Broadening is %0.1f ns/km.',tau);\n",
+"printf('\n\n\t (b)Fiber Bandwidth-Length product is %0.1f MHz km.',Bopt*10^3);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 14.5: Calculation_of_the_Numerical_Aperture_of_the_fiber.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 14.5\n",
+"//Program to calculate the Numerical Aperture(NA) of the fiber\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"D=10; //cm - SCREEN POSITION\n",
+"A=6.2; //cm - OUTPUT PATTERN SIZE\n",
+"\n",
+"// Numerical Aperture(NA) of the fiber\n",
+"NA=A/sqrt(A^2+4*D^2);\n",
+"\n",
+"//Displaying The Results in Command Window\n",
+"printf('\n\n\t The Numerical Aperture(NA) of the fiber is %0.2f .',NA);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 14.6: Determination_of_the_outer_diameter_of_the_optical_fiber_in_micrometer.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 14.6\n",
+"//Program to determine outer diameter of the optical fiber in micrometer\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"l=0.1; //m - MIRROR POSITION\n",
+"d_PHI_by_dt=4; //rad/s - ANGULAR VELOCITY\n",
+"We=300*10^(-6); //us - WIDTH OF SHADOW PULSE\n",
+"\n",
+"//Outer diameter of the optical fiber\n",
+"d0=We*l*d_PHI_by_dt;\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t The Outer diameter of the optical fiber is %1.0f um.',d0*10^6);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 14.7: Conversion_of_optical_signal_powers_to_dBm_and_dBu.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 14.7\n",
+"//Program to:\n",
+"//(a) Convert optical signal powers to dBm\n",
+"//(b) Convert optical signal powers to dBu\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//(a)Convert optical signal powers to dBm\n",
+"Po=5*10^(-3); //Watt - GIVEN OPTICAL POWER\n",
+"dBm=10*log10(Po/1*10^3);\n",
+"printf('\n\n\t (a)The %1.0f mW of optical power is equivalent to %0.2f dBm.',Po/10^(-3), dBm);\n",
+"\n",
+"Po=20*10^(-6); //Watt - GIVEN OPTICAL POWER\n",
+"dBm=10*log10(Po/1*10^3);\n",
+"printf('\n\n\t The %1.0f uW of optical power is equivalent to %0.2f dBm.',Po/10^(-6), dBm);\n",
+"\n",
+"//(b)Convert optical signal powers to dBu\n",
+"Po=0.03*10^(-3); //Watt - GIVEN OPTICAL POWER\n",
+"dBm=10*log10(Po/1*10^6);\n",
+"printf('\n\n\t (b)The %0.2f mW of optical power is equivalent to %0.2f dBu.',Po/10^(-3), dBm);\n",
+"\n",
+"Po=800*10^(-9); //Watt - GIVEN OPTICAL POWER\n",
+"dBm=10*log10(Po/1*10^6);\n",
+"printf('\n\n\t The %1.0f nW of optical power is equivalent to %0.2f dBu.',Po/10^(-9), dBm);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 14.8: EX14_8.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 14.8\n",
+"//Program to calculate the ratio in dB of back scattered optical \n",
+"//power to the forward optical power at the fiber input\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"NA=0.2; //NUMERICAL APERTURE\n",
+"gamma_r=0.7*10^-3; //per m - RAYLEIGH SCATTERING COEFFICIENT\n",
+"Wo=50*10^(-9); //s - PULSE DURATION\n",
+"c=2.998*10^8; //m/s - VELOCITY OF LIGHT IN VACCUM\n",
+"n1=1.5; //CORE REFRACTIVE INDEX\n",
+"\n",
+"//Calculated Ratio Pra(0)/Pi\n",
+"Pra0_by_Pi=0.5*NA^2*gamma_r*Wo*c/(4*n1^3);\n",
+"\n",
+"//Displaying the Result in command window\n",
+"printf('\n\n\t Pra(0)/Pi = %0.1f dB.',10*log10(Pra0_by_Pi));"
+ ]
+ }
+],
+"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/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/15-OPTICAL_NETWORKS.ipynb b/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/15-OPTICAL_NETWORKS.ipynb
new file mode 100644
index 0000000..101e505
--- /dev/null
+++ b/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/15-OPTICAL_NETWORKS.ipynb
@@ -0,0 +1,32 @@
+{
+"cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 15: OPTICAL NETWORKS"
+ ]
+ },
+],
+"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/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/2-OPTICAL_FIBER_WAVEGUIDES.ipynb b/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/2-OPTICAL_FIBER_WAVEGUIDES.ipynb
new file mode 100644
index 0000000..7ddeb61
--- /dev/null
+++ b/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/2-OPTICAL_FIBER_WAVEGUIDES.ipynb
@@ -0,0 +1,522 @@
+{
+"cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 2: OPTICAL FIBER WAVEGUIDES"
+ ]
+ },
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2.10: Estimation_of_fiber_core_diameter_for_a_single_mode_step_index_fiber.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 2.10\n",
+"//Program to estimate the fiber core diameter for a single mode \n",
+"//step index fiber\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"V=2.2; //NORMALIZED FREQUENCY\n",
+"MFD=11.6*10^(-6); //metre - MODE FIELD DIAMETER \n",
+"W0=5.8*10^(-6);\n",
+"\n",
+"// The fiber core radius\n",
+"a=W0/(0.65+1.619*V^(-1.5)+2.879*V^(-6));\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t The fiber core diameter for a single mode step index fiber is %0.1f um.',2*a*10^6);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2.11: Determination_of_spot_size_at_the_operating_wavelength_using_ESI_technique.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 2.11\n",
+"//Program to determine spot size at the operating wavelength using ESI\n",
+"//technique\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"lambda=1.30*10^(-6); //metre - OPERATING WAVELENGTH\n",
+"lambda_c=1.08*10^(-6); //metre - CUTOFF WAVELENGTH\n",
+"THEETA_min=12; //degree\n",
+"\n",
+"// The effective core radius\n",
+"a_eff=3.832*lambda/(2*%pi*sin(THEETA_min*%pi/180));\n",
+"\n",
+"// The effective normalized frequency\n",
+"V_eff=2.405*lambda_c/lambda;\n",
+"\n",
+"// The spot size\n",
+"w0=3.81*10^(-6)*(0.6043+1.755*V_eff^(-1.5)+2.78*V_eff^(-6));\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t The effective core radius is %0.2f um.',a_eff*10^6);\n",
+"printf('\n\n\t The effective normalized frequency is %0.2f.',V_eff);\n",
+"printf('\n\n\t The spot size at the operating wavelength is %0.2f um.',w0*10^6);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2.12: Determination_of_relative_refractive_index_difference_using_ESI_technique.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 2.12\n",
+"//Program to determine relative refractive index difference using ESI\n",
+"//technique\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"lambda_c=1.19*10^(-6); //metre - CUTOFF WAVELENGTH\n",
+"w0=5.2*10^(-6); //metre - SPOT SIZE\n",
+"n1=1.485; //MAXIMUM REFRACTIVE INDEX OF THE CORE\n",
+"\n",
+"// The ESI core diameter\n",
+"d_ESI=1.820*w0;\n",
+"\n",
+"// The ESI relative index difference\n",
+"delta_ESI=(0.293/n1^2)*(lambda_c/d_ESI)^2;\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t The relative refractive index difference using ESI technique is %0.2f percent.',delta_ESI*10^2);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2.1: Determination_of_Critical_Angle_NA_and_Acceptance_Angle.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 2.1\n",
+"//Program to determine the following:\n",
+"//(a) Critical angle at the core-cladding interface\n",
+"//(b) NA for the fiber\n",
+"//(c) Acceptance angle in air for the fiber\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"n1=1.50; //CORE REFRACTIVE INDEX\n",
+"n2=1.47; //CLADDING REFRACTIVE INDEX\n",
+"\n",
+"//(a) Critical angle at the core-cladding interface in degrees\n",
+"PHIc=asin(n2/n1)*180/%pi;\n",
+"\n",
+"//(b) NA for the fiber\n",
+"NA=sqrt(n1*n1-n2*n2);\n",
+"\n",
+"//(c) Acceptance angle in air for the fiber in degrees\n",
+"THEETAa=asin(NA)*180/%pi;\n",
+"\n",
+"//Displaying The Results in Command Window\n",
+"printf('\n\n\t Critical angle at the core-cladding interface is %0.1f degrees.',PHIc);\n",
+"printf('\n\n\t NA for the fiber is %0.2f.',NA);\n",
+"printf('\n\n\t Acceptance angle in air for the fiber is %0.1f degrees.',THEETAa);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2.2: Determination_of_NA_Solid_Acceptance_Angle_and_the_Critical_Angle.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 2.2\n",
+"//Program to calculate\n",
+"//(a) NA \n",
+"//(b) Solid Acceptance Angle\n",
+"//(c) Critical Angle at the core-cladding interface\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"n1=1.46; //CORE REFRACTIVE INDEX\n",
+"delta=0.01; //RELATIVE REFRACTIVE INDEX DIFFERENCE\n",
+"\n",
+"//Numerical Aperture\n",
+"NA=n1*sqrt(2*delta);\n",
+"\n",
+"//Solid Acceptance Angle in radians\n",
+"zeta=%pi*(NA)^2;\n",
+"\n",
+"//Critical Angle at the core-cladding interface in degrees\n",
+"n2=n1*(1-delta);\n",
+"PHI_c=asin(n2/n1)*180/%pi;\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t The Numerical Aperture for the fiber is %0.2f.',NA);\n",
+"printf('\n\n\t The Solid Acceptance Angle for the fiber is %0.2f radians.',zeta);\n",
+"printf('\n\n\t The Critical Angle at the core-cladding interface for the fiber is %0.1f degrees.',PHI_c);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2.3: Comparision_of_Acceptance_Angle_for_Meridional_Rays_and_Skew_Rays.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 2.3\n",
+"//Program to Compare the acceptance angle for meridional rays and \n",
+"//skew rays which change direction by 100 degrees at each reflection\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"NA=0.4; //NUMERICAL APERTURE\n",
+"GAMMA=100/2; //degrees - SKEW RAYS CHANGE DIRECTION BY 100 degrees\n",
+"\n",
+"//Acceptance angle for Meridional rays in degrees\n",
+"THEETA_a=asin(NA)*180/%pi; \n",
+"\n",
+"//Acceptance angle for Skew rays in degrees\n",
+"THEETA_as=asin(NA/cos(GAMMA*%pi/180))*180/%pi; \n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t Acceptance angle for Meridional rays is %0.1f degrees.',THEETA_a);\n",
+"printf('\n\n\t Acceptance angle for Skew rays is %0.1f degrees.',THEETA_as);\n",
+"printf('\n\n\t Acceptance angle for Skew rays is about %1.0f degrees greater than Meridional rays.',THEETA_as-THEETA_a);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2.4: Estimation_of_Normalized_Frequency_and_Number_of_Guided_Modes.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 2.4\n",
+"//Program to estimate \n",
+"//(a) Normalized frequency for the fiber\n",
+"//(b) The Number of guided modes\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"n1=1.48; //CORE REFRACTIVE INDEX\n",
+"delta=0.015 //RELATIVE REFRACTIVE INDEX DIFFERENCE\n",
+"d=80*10^(-6); //metre - CORE DIAMETER\n",
+"lambda=0.85*10^(-6); //metre - OPERATING WAVELENGTH\n",
+"a=d/2; //CORE RADIUS\n",
+"\n",
+"//(a) Normalized frequency for the fiber\n",
+"V=2*%pi/lambda*a*n1*sqrt(2*delta);\n",
+"\n",
+"//(b) The Number of guided modes\n",
+"Ms=(V^2)/2;\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t The Normalized frequency for the fiber is %0.1f.',V);\n",
+"printf('\n\n\t The Number of guided modes of the fiber is %d.',ceil(Ms));"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2.5: Estimation_of_total_number_of_Guided_Modes_propagating_in_the_fiber.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 2.5\n",
+"//Program to estimate total number of guided modes propagating in the fiber\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"NA=0.2; //NUMERICAL APERTURE\n",
+"d=50*10^(-6); //metre - CORE DIAMETER\n",
+"lambda=1*10^(-6); //metre - OPERATING WAVELENGTH\n",
+"a=d/2; //CORE RADIUS\n",
+"\n",
+"//Normalized Frequency for the fiber\n",
+"V=2*%pi/lambda*a*NA;\n",
+"\n",
+"//Mode Volume for parabolic profile\n",
+"M=(V^2)/4;\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t The number of modes supported by fiber is %1.0f.',M);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2.6: EX2_6.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 2.6\n",
+"//Program to estimate \n",
+"//(a) The maximum core diameter of an optical fiber for Example 2.4 \n",
+"//(b) The new core diameter for single mode operation when the \n",
+"//relative refractive index difference is reduced by a factor of 10\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"V=2.4; //Normalized Frequency\n",
+"lambda=0.85*10^(-6); //metre - OPERATING WAVELENGTH\n",
+"n1=1.48; //CORE REFRACTIVE INDEX \n",
+"delta=0.015; //RELATIVE REFRACTIVE INDEX DIFFERENCE\n",
+"\n",
+"//(a) The maximum core radius of the optical fiber with delta=1.5%\n",
+"a1=V*lambda/(2*%pi*n1*sqrt(2*delta));\n",
+"\n",
+"//(b) The new core radius for single mode operation when the \n",
+"//relative refractive index difference is reduced by a factor of 10\n",
+"delta=delta/10;\n",
+"a2=V*lambda/(2*%pi*n1*sqrt(2*delta));\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t The maximum core diameter of the optical fiber with delta 1.5 percent is %0.1f micrometre.',2*a1*10^6);\n",
+"printf('\n\n\t The new core diameter for single mode operation when the relative refractive index difference is reduced by a factor of 10 is %0.1f micrometre.',2*a2*10^6);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2.7: EX2_7.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 2.7\n",
+"//Program to estimate the maximum core diameter of an optical fiber \n",
+"//which allows single mode operation\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"alpha=2; //Parabolic Profile\n",
+"lambda=1.3*10^(-6); //metre - OPERATING WAVELENGTH\n",
+"n1=1.5; //CORE REFRACTIVE INDEX \n",
+"delta=0.01; //RELATIVE REFRACTIVE INDEX DIFFERENCE\n",
+"\n",
+"//Normalized Frequency for single mode operation\n",
+"V=2.4*sqrt(1+2/alpha);\n",
+"\n",
+"//The maximum core radius for single mode operation\n",
+"a=V*lambda/(2*%pi*n1*sqrt(2*delta));\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t The maximum core diameter of the optical fiber which allows single mode operation is %0.1f micrometre.',2*a*10^6);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2.8: EX2_8.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 2.8\n",
+"//Program to estimate cutoff wavelength for a step index fiber to \n",
+"//exhibit single mode operation\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"a=4.5*10^(-6); //metre - CORE RADIUS\n",
+"n1=1.46; //CORE REFRACTIVE INDEX \n",
+"delta=0.0025; //RELATIVE REFRACTIVE INDEX DIFFERENCE\n",
+"\n",
+"// The cutoff wavelength for a step index fiber\n",
+"lambda_c=2*%pi*a*n1*sqrt(2*delta)/2.405;\n",
+"\n",
+"//Displaying The Results in Command Window\n",
+"printf('\n\n\t The cutoff wavelength for a step index fiber to exhibit single mode operation is %1.0f nm.',lambda_c*10^9);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2.9: Deduction_of_an_approximation_for_the_normalized_propagation_constant.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 2.9\n",
+"//Note: MAXIMA SCILAB TOOLBOX REQUIRED FOR THIS PROGRAM\n",
+"//Program to deduce an approximation for the normalized propagation \n",
+"//constant\n",
+" \n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"syms W b V;\n",
+"\n",
+"//Given data\n",
+"//Eigen Value of the single mode step index fiber cladding\n",
+"W =1.1428*V-0.9960;\n",
+" \n",
+"//Normalized propagation constant b(V)\n",
+"b= W^2/V^2;\n",
+"\n",
+"//Display the result in command window\n",
+"disp (b,'The normalized propagation constant b(V) is given by');"
+ ]
+ }
+],
+"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/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/3-TRANSMISSION_CHARACTERISTICS_OF_OPTICAL_FIBERS.ipynb b/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/3-TRANSMISSION_CHARACTERISTICS_OF_OPTICAL_FIBERS.ipynb
new file mode 100644
index 0000000..a736b01
--- /dev/null
+++ b/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/3-TRANSMISSION_CHARACTERISTICS_OF_OPTICAL_FIBERS.ipynb
@@ -0,0 +1,672 @@
+{
+"cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 3: TRANSMISSION CHARACTERISTICS OF OPTICAL FIBERS"
+ ]
+ },
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.10: Estimation_of_total_RMS_pulse_broadening_and_BW_Length_product.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 3.10\n",
+"//Program to estimate\n",
+"//(a)RMS pulse broadening per kilometer\n",
+"//(b)Bandwidth-Length product for the fiber\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"NA=0.3 ; //NUMERICAL APERTURE\n",
+"n1=1.45; //CORE REFRACTIVE INDEX \n",
+"M=250*10^(-6); //s/km^2 - MATERIAL DISPERSION PARAMETER \n",
+"sigma_lambda=50*10^(-9); //metre - RMS SPECTRAL WIDTH\n",
+"L=1; //km - LENGTH OF OPTICAL LINK\n",
+"c=2.998*10^8; //m/s - VELOCITY OF LIGHT IN VACCUM\n",
+"\n",
+"//RMS pulse broadening /km due to material dispersion\n",
+"sigma_m=sigma_lambda*L*M;\n",
+"\n",
+"//RMS pulse broadening /km due to intermodal dispersion\n",
+"sigma_s=L*NA^2/(4*sqrt(3)*n1*c);\n",
+"\n",
+"//(a)Total RMS pulse broadening /km\n",
+"sigma_t=sqrt(sigma_m^2+sigma_s^2);\n",
+"\n",
+"//(b)Bandwidth-Length product\n",
+"BoptXL=0.2/sigma_t;\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t Total RMS pulse broadening per kilometer is %0.1f ns/km.',sigma_t/10^(-12));\n",
+"printf('\n\n\t Bandwidth-Length product is %0.1f MHz km.',BoptXL/10^(9));"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.11: Comparision_of_total_first_order_dispersion_for_the_fiber.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 3.11\n",
+"//Program to compare the total first order dispersion and determine \n",
+"//waveguide dispersion\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"lambda0=1310; //nm - ZERO DISPERSION WAVELENGTH \n",
+"So=0.09*10^(-12); //s/nm^2/km - DISPERSION SLOPE\n",
+"\n",
+"//Dt at 1280nm\n",
+"lambda1=1280; //nm - OPERATING WAVELENGTH \n",
+"Dt1=lambda1*So/4*(1-(lambda0/lambda1)^4);\n",
+"\n",
+"//Dt at 1550nm\n",
+"lambda2=1550; //nm - OPERATING WAVELENGTH \n",
+"Dt2=lambda2*So/4*(1-(lambda0/lambda2)^4);\n",
+"\n",
+"//Waveguide Dispersion at 1550nm\n",
+"Dm=13.5*10^(-12); //s/nm/km - MATERIAL DISPERSION \n",
+"Dp=0.4*10^(-12); //s/nm/km - PROFILE DISPERSION\n",
+"Dw=Dt2-(Dm+Dp);\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t Dt(1280nm) = %0.1f ps/nm/km.',Dt1/10^(-12));\n",
+"printf('\n\n\t Dt(1550nm) = %0.1f ps/nm/km.',Dt2/10^(-12));\n",
+"printf('\n\n\t Dw = %0.1f ps/nm/km.',Dw/10^(-12));"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.12: EX3_12.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 3.12\n",
+"//Program to determine modal birefringence, coherence length and difference between propagation constants for the two orthogonal modes \n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"lambda=0.9*10^(-6); //metre - PEAK WAVELENGTH \n",
+"Lb=9*10^(-2); //metre - BEAT LENGTH\n",
+"del_lambda=1*10^(-9); //metre - SPECTRAL LINE WIDTH\n",
+"\n",
+"//Modal Birefringence\n",
+"Bf=lambda/Lb;\n",
+"\n",
+"//Coherence Length\n",
+"Lbc=lambda^2/(Bf*del_lambda);\n",
+"\n",
+"//Difference between propagation constants for the two orthogonal \n",
+"//modes \n",
+"Bx_minus_By=2*%pi/Lb;\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t The Modal birefringence is %1.0f X 10^(-5) .',Bf/10^(-5));\n",
+"printf('\n\n\t The Coherence Length is %d m.',round(Lbc));\n",
+"printf('\n\n\t The difference between propagation constants for the two orthogonal modes is %0.1f .',Bx_minus_By);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.13: Determination_of_fiber_birefringence_for_two_given_cases.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 3.13\n",
+"//Program to determine fiber birefringence for given beat lengths\n",
+"//(1)Lb = 0.7 mm\n",
+"//(2)Lb = 80 m\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"lambda=1.3*10^(-6); //metre - OPERATING WAVELENGTH \n",
+"\n",
+"//Part (1)\n",
+"Lb1=0.7*10^(-3); //metre - BEAT LENGTH\n",
+"Bf1=lambda/Lb1;\n",
+"\n",
+"//Part (2)\n",
+"Lb2=80; //metre - BEAT LENGTH\n",
+"Bf2=lambda/Lb2;\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t The fiber birefringence for Lb = 0.7 mm is %0.2f X 10^(-3) which is high.',Bf1/10^(-3));\n",
+"printf('\n\n\t The fiber birefringence for Lb = 80 m is %0.2f X 10^(-8) which is low.',Bf2/10^(-8));"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.14: Determination_of_mode_coupling_parameter_for_the_fiber.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 3.14\n",
+"//Program to determine the mode coupling parameter for the fiber\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"L=3.5*10^3; //metre - LENGTH\n",
+"CT=-27; //dB - POLARIZATION CROSSTALK\n",
+"\n",
+"//Mode coupling parameter for the fiber\n",
+"h=(10^(CT/10))/L; //as tan(h*L)=h*L for small values\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t The mode coupling parameter for the fiber is %0.1f X 10^(-7)/m.',h/10^(-7));"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.1: EX3_1.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 3.1\n",
+"//Program to Determine \n",
+"//(a)Overall signal attenuation\n",
+"//(b)Signal attenuation per kilometer\n",
+"//(c)Overall signal attenuation for 10 km optical link with splices \n",
+"//(d)Numerical Input/Output power ratio\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"Pi=120; //uW - INPUT OPTICAL POWER\n",
+"Po=3; //uW - OUTPUT OPTICAL POWER\n",
+"L=8; //km - FIBER LENGTH\n",
+"\n",
+"//(a)Overall signal attenuation\n",
+"Alpha_dB_L=10*log10(Pi/Po);\n",
+"\n",
+"//(b)Signal attenuation per kilometer\n",
+"Alpha_dB=Alpha_dB_L/L;\n",
+"\n",
+"//(c)Overall signal attenuation for 10 km optical link with splices \n",
+"A=Alpha_dB*10+9;\n",
+"\n",
+"//(d)Numerical Input/Output power ratio\n",
+"Pi_by_Po=10^(round(A)/10);\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t (a)Overall signal attenuation is %1.0f dB.',Alpha_dB_L);\n",
+"printf('\n\n\t (b)Signal attenuation per kilometer is %1.0f dB/km.',Alpha_dB);\n",
+"printf('\n\n\t (c)Overall signal attenuation for 10 km optical link with splices is %1.0f dB.',A);\n",
+"printf('\n\n\t (d)Numerical Input/Output power ratio is %0.1f.',Pi_by_Po);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.2: EX3_2.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 3.2\n",
+"//Program to Determine Theoretical attenuation in dB/km due to fundamental rayleigh scattering at optical wavelengths:\n",
+"//(a)0.63um\n",
+"//(b)1.00um\n",
+"//(c)1.30um\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"n=1.46; //REFRACTIVE INDEX\n",
+"p=0.286; //PHOTOELASTIC COEFFICIENT\n",
+"Bc=7*10^(-11); //m^2/N - ISOTHERMAL COMPRESSIBILITY\n",
+"K=1.381*10^(-23); //J/K - BOLTZMANN's CONSTANT\n",
+"Tf=1400; //Kelvin - FICTIVE TEMPERATURE\n",
+"l=1000; //metre - FIBER LENGTH\n",
+"\n",
+"//(a)Attenuation in dB/km due to fundamental rayleigh scattering at 0.63um\n",
+"lambda=0.63*10^(-6); //metre - WAVELENGTH\n",
+"Gamma_R=8*(%pi)^3*n^8*p^2*Bc*K*Tf/(3*lambda^4);\n",
+"L_km1=exp(-Gamma_R*l)\n",
+"A1=10*log10(1/L_km1);\n",
+"\n",
+"//(b)Attenuation in dB/km due to fundamental rayleigh scattering at 1.00um\n",
+"lambda=1.00*10^(-6); //metre - WAVELENGTH\n",
+"Gamma_R=8*(%pi)^3*n^8*p^2*Bc*K*Tf/(3*lambda^4);\n",
+"L_km2=exp(-Gamma_R*l)\n",
+"A2=10*log10(1/L_km2);\n",
+"\n",
+"//(c)Attenuation in dB/km due to fundamental rayleigh scattering at 1.30um\n",
+"lambda=1.30*10^(-6); //metre - WAVELENGTH\n",
+"Gamma_R=8*(%pi)^3*n^8*p^2*Bc*K*Tf/(3*lambda^4);\n",
+"L_km3=exp(-Gamma_R*l)\n",
+"A3=10*log10(1/L_km3);\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t (a)Attenuation in dB/km due to fundamental rayleigh scattering at 0.63um = %0.1f dB/km.',A1);\n",
+"printf('\n\n\t (b)Attenuation in dB/km due to fundamental rayleigh scattering at 1.00um = %0.1f dB/km.',A2);\n",
+"printf('\n\n\t (c)Attenuation in dB/km due to fundamental rayleigh scattering at 1.30um = %0.1f dB/km.',A3);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.3: Comparision_of_threshold_optical_powers_for_SBS_and_SRS.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 3.3\n",
+"//Program to compare the threshold optical powers for stimulated \n",
+"//Brillouin and Raman Scattering\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"alpha_dB=0.5; //dB/km - ATTENUATION\n",
+"lambda=1.3; //micrometre - OPERATING WAVELENGTH\n",
+"d=6; //micrometre - FIBER CORE DIAMETER\n",
+"nu=0.6; //GHz - LASER SOURCE BANDWIDTH \n",
+"\n",
+"//Threshold optical power for SBS\n",
+"Pb=4.4*10^(-3)*(d^2)*(lambda^2)*alpha_dB*nu;\n",
+"\n",
+"//Threshold optical power for SRS\n",
+"Pr=5.9*10^(-2)*d^2*lambda*alpha_dB;\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t The threshold optical power for SBS is %0.1f mW.',Pb*10^3);\n",
+"printf('\n\n\t The threshold optical power for SRS is %0.2f W.',Pr);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.4: Estimation_of_critical_radius_of_curvature.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 3.4\n",
+"//Program to estimate critical radius of curvature at which large \n",
+"//bending loss occur\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data for part (a)\n",
+"n1=1.500; //metre - LENGTH\n",
+"delta=0.03; //*100 percent - RELATIVE REFRACTIVE INDEX DIFFERENCE\n",
+"lambda=0.82*10^(-6); //metre - OPERATING WAVELENGTH\n",
+"\n",
+"//Calculation of the radius of curvature of Multi Mode fiber\n",
+"n2=sqrt(n1^2-2*delta*n1^2);\n",
+"Rc=3*n1^2*lambda/(4*%pi*(n1^2-n2^2)^(3/2));\n",
+"\n",
+"//Given data for part (b)\n",
+"n1=1.500; //metre - LENGTH\n",
+"delta=0.003; //*100 percent - RELATIVE REFRACTIVE INDEX DIFFERENCE\n",
+"lambda=1.55*10^(-6); //metre - OPERATING WAVELENGTH\n",
+"d=8*10^(-6); //metre - CORE DIAMETER\n",
+"\n",
+"//Calculation of the radius of curvature of Single Mode fiber\n",
+"n2=sqrt(n1^2-2*delta*n1^2);\n",
+"a=d/2;\n",
+"lambda_c=2*%pi*a*n1*sqrt(2*delta)/2.405;\n",
+"Rcs=20*lambda*(2.748-0.996*lambda/lambda_c)^(-3)/(n1-n2)^(3/2);\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t (a)The radius of curvature of Multi Mode fiber is %1.0f um.',Rc/10^(-6));\n",
+"printf('\n\n\t (b)The radius of curvature of Single Mode fiber is %1.0f mm.',Rcs/10^(-3));"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.5: EX3_5.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 3.5\n",
+"//Program to estimate \n",
+"//(a)The maximum possible bandwidth on the link assuming no ISI\n",
+"//(b)The pulse dispersion per unit length\n",
+"//(c)The bandwidth-length product for the fiber\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"tau=0.1*10^(-6); //second - TOTAL PULSE BROADENING\n",
+"L=15; //km - DISTANCE\n",
+"\n",
+"//(a)The maximum possible bandwidth on the link assuming no ISI\n",
+"B_opt=1/(2*tau);\n",
+"\n",
+"//(b)The pulse dispersion per unit length\n",
+"Dispersion=tau/L;\n",
+"\n",
+"//(c)The bandwidth-length product for the fiber\n",
+"B_optXL=B_opt*L;\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t (a)The maximum possible bandwidth on the link assuming no ISI is %1.0f MHz.',B_opt/10^6);\n",
+"printf('\n\n\t (b)The pulse dispersion per unit length is %0.2f ns/km.',Dispersion/10^(-9));\n",
+"printf('\n\n\t (c)The bandwidth-length product for the fiber is %1.0f MHz km.',B_optXL/10^6);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.6: Determination_of_Material_Dispersion_Parameter_and_RMS_Pulse_Broadening.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 3.6\n",
+"//Program to estimate Material dispersion parameter and rms pulse \n",
+"//broadening per kilometer\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"lambda=0.85*10^(-6); //metre - WAVELENGTH\n",
+"L=1; //km - DISTANCE\n",
+"MD=0.025;//MATERIAL DISPERSION = mod(lamda^2*[del^2(n1)/del(lamda)^2) \n",
+"c=2.998*10^8; //m/s - VELOCITY OF LIGHT IN VACCUM\n",
+"sigma_lambda=20*10^(-9);//metre - RMS SPECTRAL WIDTH \n",
+"\n",
+"//Material Dispersion Parameter\n",
+"M=MD/(lambda*c);\n",
+"\n",
+"//R.M.S. pulse broadening per kilometer\n",
+"sigma_m=sigma_lambda*L*M;\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t Material Dispersion Parameter is %0.1f ps/nm/km.',M*10^6);\n",
+"printf('\n\n\t R.M.S. pulse broadening per kilometer is %0.2f ns/km.',sigma_m/10^(-12));"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.7: Estimation_of_RMS_Pulse_Broadening_per_kilometer_for_the_fiber.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 3.7\n",
+"//Program to estimate rms pulse broadening per kilometer for the fiber\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"lambda=0.85*10^(-6); //metre - WAVELENGTH\n",
+"L=1; //km - DISTANCE\n",
+"MD=0.025;//MATERIAL DISPERSION = mod(lamda^2*[del^2(n1)/del(lamda)^2) \n",
+"c=2.998*10^8; //m/s - VELOCITY OF LIGHT IN VACCUM\n",
+"sigma_lambda_by_lambda=0.0012;// sigma_lambda/lambda\n",
+"\n",
+"//Material Dispersion Parameter\n",
+"M=MD/(lambda*c);\n",
+"\n",
+"//R.M.S. Spectral Width\n",
+"sigma_lambda=sigma_lambda_by_lambda*lambda;\n",
+"\n",
+"//R.M.S. pulse broadening per kilometer\n",
+"sigma_m=sigma_lambda*L*M;\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t R.M.S. pulse broadening per kilometer is %0.2f ns/km.',sigma_m/10^(-12));"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.8: EX3_8.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 3.8\n",
+"//Program to estimate \n",
+"//(a)The delay difference between the slowest and fastest modes at the fiber output\n",
+"//(b)The rms pulse broadening due to intermodal dispersion on the link\n",
+"//(c)The maximum bit rate \n",
+"//(d)Bandwidth-length product corresponding to (c)\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"delta=0.01; //*100 percent - RELATIVE REFRACTIVE INDEX DIFFERENCE\n",
+"L=6; //km - LENGTH OF OPTICAL LINK\n",
+"n1=1.5; //CORE REFRACTIVE INDEX \n",
+"c=2.998*10^8; //m/s - VELOCITY OF LIGHT IN VACCUM\n",
+"\n",
+"//(a)The delay difference between the slowest and fastest modes at the fiber output\n",
+"del_Ts=L*n1*delta/c;\n",
+"\n",
+"//(b)The rms pulse broadening due to intermodal dispersion on the link\n",
+"sigma_s=L*n1*delta/(2*sqrt(3)*c);\n",
+"\n",
+"//(c)The maximum bit rate \n",
+"Bt=1/(2*del_Ts);\n",
+"//Improved maximum bit rate \n",
+"Bti=0.2/sigma_s;\n",
+"\n",
+"//(d)Bandwidth-length product corresponding to (c)\n",
+"BoptXL=Bti*L;\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t (a)The delay difference between the slowest and fastest modes at the fiber output is %1.0f ns.',del_Ts/10^(-12));\n",
+"printf('\n\n\t (b)The rms pulse broadening due to intermodal dispersion on the link is %0.1f ns.',sigma_s/10^(-12));\n",
+"printf('\n\n\t (c)The maximum bit rate is %0.1f Mbit/s and improved bit rate is %0.1f Mbit/s.',Bt/10^(9),Bti/10^(9));\n",
+"printf('\n\n\t (d)Bandwidth-length product is %0.1f MHz km.',BoptXL/10^(9));"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.9: Comparision_of_RMS_Pulse_Broadening_per_Kilometer_for_two_cases.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 3.9\n",
+"//Program to compare rms pulse broadening per kilometer due to \n",
+"//intermodal dispersion for multimode step index fiber with that of \n",
+"//near parabolic graded index fiber \n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"delta=0.01; //*100 percent - RELATIVE REFRACTIVE INDEX DIFFERENCE\n",
+"L=1; //km - LENGTH OF OPTICAL LINK\n",
+"n1=1.5; //CORE REFRACTIVE INDEX \n",
+"c=2.998*10^8; //m/s - VELOCITY OF LIGHT IN VACCUM\n",
+"\n",
+"//RMS pulse broadening /km due to intermodal dispersion for MMSI Fiber\n",
+"sigma_s=L*n1*delta/(2*sqrt(3)*c);\n",
+"\n",
+"//RMS pulse broadening /km for near parabolic graded index fiber\n",
+"sigma_g=L*n1*delta^2/(20*sqrt(3)*c);\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t RMS pulse broadening per kilometer due to intermodal dispersion for MMSI Fiber is %0.1f ns/km.',sigma_s/10^(-12));\n",
+"printf('\n\n\t RMS pulse broadening per kilometer for near parabolic graded index fiber is %0.1f ps/km.',sigma_g/10^(-15));"
+ ]
+ }
+],
+"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/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/4-OPTICAL_FIBERS_AND_CABLES.ipynb b/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/4-OPTICAL_FIBERS_AND_CABLES.ipynb
new file mode 100644
index 0000000..d7a49fa
--- /dev/null
+++ b/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/4-OPTICAL_FIBERS_AND_CABLES.ipynb
@@ -0,0 +1,78 @@
+{
+"cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 4: OPTICAL FIBERS AND CABLES"
+ ]
+ },
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4.1: Estimation_of_fracture_stress_for_the_fiber_and_percentage_strain_at_the_break.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 4.1\n",
+"//Program to determine the following:\n",
+"//(a) Fracture Stress in psi for the fiber\n",
+"//(b) Percentage Strain at the break\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"St=2.6*10^6; //psi - THEORETICAL COHESIVE STRENGTH\n",
+"la=0.16*10^-9; //metres - BOND DISTANCE\n",
+"C=10*10^-9; //metres - DEPTH OF CRACK\n",
+"E= 9*10^10 ; //N/m^2 - YOUNG'S MODULUS OF SILICA\n",
+"\n",
+"Gamma_p=(4*la*St^2)/E;\n",
+"\n",
+"//Fracture Stress for an Elliptical Crack\n",
+"Sf_psi=sqrt((2*E*Gamma_p)/(%pi*C));\n",
+"\n",
+"//Fracture Stress in psi units\n",
+"Sf=Sf_psi*6894.76;\n",
+"\n",
+"//Strain Calculation\n",
+"strain=Sf/E;\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t Fracture Stress for the fiber is %0.2f X 10^9 N/m or %0.2f X 10^5 psi.',Sf/10^9,Sf_psi/10^5);\n",
+"printf('\n\n\t Percentage Strain at the break is %d percent.',strain*100);"
+ ]
+ }
+],
+"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/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/5-OPTICAL_FIBER_CONNECTIONS_JOINTS_COUPLERS_AND_ISOLATORS.ipynb b/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/5-OPTICAL_FIBER_CONNECTIONS_JOINTS_COUPLERS_AND_ISOLATORS.ipynb
new file mode 100644
index 0000000..53f09c5
--- /dev/null
+++ b/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/5-OPTICAL_FIBER_CONNECTIONS_JOINTS_COUPLERS_AND_ISOLATORS.ipynb
@@ -0,0 +1,473 @@
+{
+"cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 5: OPTICAL FIBER CONNECTIONS JOINTS COUPLERS AND ISOLATORS"
+ ]
+ },
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5.10: Calculation_of_the_grating_period_for_reflection.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 5.10\n",
+"//Program to find the grating period for reflection\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"n=1.46; //CORE REFRACTIVE INDEX\n",
+"lambda_b=1.55; //um - WAVELENGTH\n",
+"\n",
+"//Grating Period\n",
+"lambda=lambda_b/(2*n);\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t Grating Period is %0.2f um .',lambda);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5.1: Calculation_of_the_optical_loss_in_decibels_at_the_joint.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 5.1\n",
+"//Program to calculate the optical loss in decibels at the joint\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"n1=1.5; //CORE REFRACTIVE INDEX\n",
+"n=1.0;\n",
+"\n",
+"//Magnitude of Frensel reflection at the fiber-air interface\n",
+"r=((n1-n)/(n1+n))^2;\n",
+"\n",
+"//Optical Loss\n",
+"Loss_fres=-10*log10(1-r);\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t Optical Loss is %0.2f dB .',Loss_fres);\n",
+"printf('\n\n\t Total loss due to Frensel Reflection at the fiber joint is %0.2f dB .',Loss_fres*2);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5.2: Estimation_of_the_insertion_loss_in_two_given_cases.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 5.2\n",
+"//Program to estimate the insertion loss when:\n",
+"//(a)there is a small air gap at the joint \n",
+"//(b)the joint is considered index matched\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"n1=1.5; //CORE REFRACTIVE INDEX\n",
+"n=1.0;\n",
+"y=5*10^(-6); //metre - LATERAL MISALIGNMENT\n",
+"a=25*10^(-6); //metre - CORE RADIUS\n",
+"\n",
+"//(a)Coupling efficiency\n",
+"eeta_lat1=16*(n1/n)^2/(1+(n1/n))^4*1/%pi*(2*acos(y/(2*a))-(y/a)*sqrt(1-(y/(2*a))^2));\n",
+"//Insertion Loss\n",
+"Loss_lat1=-10*log10(eeta_lat1);\n",
+"\n",
+"//(b)Coupling efficiency\n",
+"eeta_lat2=1/%pi*(2*acos(y/(2*a))-(y/a)*sqrt(1-(y/(2*a))^2));\n",
+"//Insertion Loss\n",
+"Loss_lat2=-10*log10(eeta_lat2);\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t (a)Insertion Loss (there is a small air gap at the joint) is %0.2f dB .',Loss_lat1);\n",
+"printf('\n\n\t (b)Insertion Loss (the joint is considered index matched) is %0.2f dB .',Loss_lat2);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5.3: Estimation_of_the_insertion_loss_in_two_given_cases.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 5.3\n",
+"//Program to estimate the insertion loss when:\n",
+"//(a)there is uniform illumination of all guided modes only \n",
+"//(b)there is uniform illumination of all guided and leaky modes \n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"y=3*10^(-6); //metre - LATERAL MISALIGNMENT\n",
+"a=25*10^(-6); //metre - CORE RADIUS\n",
+"\n",
+"//(a)Misalignment Loss\n",
+"Lt1=0.85*(y/a);\n",
+"//Coupling efficiency\n",
+"eeta_lat1=1-Lt1;\n",
+"//Insertion Loss\n",
+"Loss_lat1=-10*log10(eeta_lat1);\n",
+"\n",
+"//(b)Misalignment Loss\n",
+"Lt2=0.75*(y/a);\n",
+"//Coupling efficiency\n",
+"eeta_lat2=1-Lt2;\n",
+"//Insertion Loss\n",
+"Loss_lat2=-10*log10(eeta_lat2);\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t (a)Insertion Loss (there is uniform illumination of all guided modes only) is %0.2f dB .',Loss_lat1);\n",
+"printf('\n\n\t (b)Insertion Loss (there is uniform illumination of all guided and leaky modes) is %0.2f dB .',Loss_lat2);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5.4: Estimation_of_the_insertion_loss_in_two_given_cases.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 5.4\n",
+"//Program to estimate the insertion loss for\n",
+"//NA = 0.2\n",
+"//NA = 0.4\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"n1=1.48; //CORE REFRACTIVE INDEX\n",
+"n=1.0;\n",
+"theeta=5; //degree - ANGULAR MISALIGNMENT\n",
+"\n",
+"//Calculation for NA = 0.2\n",
+"NA=0.2\n",
+"eeta_ang1=16*(n1/n)^2/(1+n1/n)^4*(1-n*theeta*%pi/180/(%pi*NA));\n",
+"//Insertion Loss\n",
+"Loss_ang1=-10*log10(eeta_ang1);\n",
+"\n",
+"//Calculation for NA = 0.4\n",
+"NA=0.4\n",
+"eeta_ang2=16*(n1/n)^2/(1+n1/n)^4*(1-n*theeta*%pi/180/(%pi*NA));\n",
+"//Insertion Loss\n",
+"Loss_ang2=-10*log10(eeta_ang2);\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t Insertion Loss (NA=0.2) is %0.2f dB .',Loss_ang1);\n",
+"printf('\n\n\t Insertion Loss (NA=0.4) is %0.2f dB .',Loss_ang2);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5.5: EX5_5.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 5.5\n",
+"//Program to estimate the total insertion loss of the fiber joint \n",
+"//with a lateral misalignment and angular misalignment\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"V=2.40; //NORMALIZED FREQUENCY\n",
+"n1=1.46; //CORE REFRACTIVE INDEX\n",
+"d=8*10^(-6); //metre - CORE DIAMETER\n",
+"NA=0.1; //NUMERICAL APERTURE\n",
+"y=1*10^(-6); //metre - LATERAL MISALIGNMENT\n",
+"theeta=1; //degree - ANGULAR MISALIGNMENT\n",
+"\n",
+"//Normalized Spot Size\n",
+"a=d/2;\n",
+"omega=a*(0.65+1.62*V^(-3/2)+2.88*V^(-6))/sqrt(2);\n",
+"\n",
+"//Loss due to lateral offset\n",
+"Tl=2.17*(y/omega)^2;\n",
+"\n",
+"//Loss due to angular misalignment\n",
+"Ta=2.17*((theeta*%pi/180)*omega*n1*V/(a*NA))^2;\n",
+"\n",
+"//Total insertion loss\n",
+"Tt=Tl+Ta;\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t Total Insertion Loss is %0.2f dB .',Tt);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5.6: Calculation_of_the_loss_at_the_connection_due_to_mode_field_diameter_mismatch.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 5.6\n",
+"//Program to calculate the loss at the connection due to mode field \n",
+"//diameter mismatch\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"MFD01=11.2; //um - MODE FIELD DIAMETER\n",
+"MFD02=8.4; //um - MODE FIELD DIAMETER\n",
+"\n",
+"//Calculation of Intrinsic Loss\n",
+"omega_01=MFD01/2; \n",
+"omega_02=MFD02/2;\n",
+"Loss_int=-10*log10(4*(omega_02/omega_01+omega_01/omega_02)^(-2))\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t Intrinsic Loss is %0.2f dB .',Loss_int);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5.7: Determination_of_excess_loss_insertion_losses_crosstalk_and_split_ratio.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 5.7\n",
+"//Program to determine the excess loss, insertion losses, crosstalk\n",
+"//and split ratio\n",
+" \n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"P1=60*10^(-6); //Watts - INPUT POWER AT PORT 1 \n",
+"P2=0.004*10^(-6); //Watts - OUTPUT POWER AT PORT 2\n",
+"P3=26*10^(-6); //Watts - OUTPUT POWER AT PORT 3\n",
+"P4=27.5*10^(-6); //Watts - OUTPUT POWER AT PORT 4\n",
+"\n",
+"//Calculation of Excess Loss\n",
+"Excess_loss=10*log10(P1/(P3+P4));\n",
+"\n",
+"//Calculation of Insertion Loss (ports 1 to 3)\n",
+"Insertion_loss3=10*log10(P1/P3);\n",
+"\n",
+"//Calculation of Insertion Loss (ports 1 to 4)\n",
+"Insertion_loss4=10*log10(P1/P4);\n",
+"\n",
+"//Calculation of Crosstalk\n",
+"Crosstalk=10*log10(P2/P1);\n",
+"\n",
+"//Calculation of Split Ratio\n",
+"Split_ratio=P3/(P3+P4)*100;\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t Excess Loss is %0.2f dB .',Excess_loss);\n",
+"printf('\n\n\t Intrinsic Loss (ports 1 to 3) is %0.2f dB .',Insertion_loss3);\n",
+"printf('\n\n\t Intrinsic Loss (ports 1 to 4) is %0.2f dB .',Insertion_loss4);\n",
+"printf('\n\n\t Crosstalk is %0.1f dB .',Crosstalk);\n",
+"printf('\n\n\t Split Ratio is %0.1f percent .',Split_ratio);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5.8: Determination_of_excess_loss_insertion_losses_crosstalk_and_split_ratio.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 5.8\n",
+"//Program to determine the total loss incurred by the star coupler \n",
+"//and average insertion loss\n",
+" \n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"Pi=1*10^(-3); //Watts - INPUT POWER AT PORT 1 \n",
+"Po=14*10^(-6); //Watts - OUTPUT POWER AT OTHER PORTS\n",
+"N=32; //Ports\n",
+"\n",
+"//Calculation of Splitting Loss\n",
+"Splitting_loss=10*log10(N);\n",
+"\n",
+"//Calculation of Excess Loss\n",
+"Excess_loss=10*log10(Pi/(Po*N));\n",
+"\n",
+"//Calculation of Total loss\n",
+"Total_loss=Splitting_loss+Excess_loss;\n",
+"\n",
+"//Calculation of Average Insertion Loss \n",
+"Insertion_loss=10*log10(Pi/Po);\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t Total loss is %0.2f dB .',Total_loss);\n",
+"printf('\n\n\t Average Insertion Loss is %0.2f dB .',Insertion_loss);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5.9: Determination_of_the_insertion_loss_associated_with_one_typical_path.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 5.9\n",
+"//Program to determine the insertion loss associated with one typical\n",
+"//path\n",
+" \n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"Excess_loss=0.2; //dB - EXCESS LOSS OF EACH PORT\n",
+"Split_ratio=0.5; //*100 percent - SPLIT RATIO\n",
+"N=16; //PORTS\n",
+"M=4; //For N=16 ports\n",
+"Splice_loss=0.1; //dB - SPLICE LOSS\n",
+"\n",
+"//Calculation of Total Excess Loss\n",
+"Total_Excess_loss=M*Excess_loss+3*Splice_loss;\n",
+"\n",
+"//Calculation of Splitting Loss\n",
+"Splitting_loss=10*log10(N);\n",
+"\n",
+"//Calculation of Insertion Loss \n",
+"Insertion_loss=Splitting_loss+Total_Excess_loss;\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t Insertion Loss is %0.2f dB .',Insertion_loss);"
+ ]
+ }
+],
+"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/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/6-OPTICAL_SOURCES_1_THE_LASER.ipynb b/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/6-OPTICAL_SOURCES_1_THE_LASER.ipynb
new file mode 100644
index 0000000..7f2bf6e
--- /dev/null
+++ b/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/6-OPTICAL_SOURCES_1_THE_LASER.ipynb
@@ -0,0 +1,361 @@
+{
+"cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 6: OPTICAL SOURCES 1 THE LASER"
+ ]
+ },
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 6.1: EX6_1.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 6.1\n",
+"//Program to calculate the ratio of stimulated emission rate to the\n",
+"//spontaneous emission rate\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"Lambda=0.5*10^-6; //metres - OPERATING WAVELENGTH\n",
+"k=1.381*10^(-23); //m^2 kg/s - BOLTZMANN's CONSTANT\n",
+"c= 2.998*10^8; //m/s - SPEED OF LIGHT\n",
+"h=6.626*10^(-34); //J/K - PLANK's CONSTANT\n",
+"T=1000; //Kelvin - TEMPERATURE\n",
+"\n",
+"//Average operating frequency\n",
+"f=c/Lambda;\n",
+"\n",
+"//Stimulated Emission Rate/Spontaneous Emission Rate\n",
+"Ratio=1/(exp(h*f/(k*T))-1);\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t Stimulated Emission Rate/Spontaneous Emission Rate = %0.1f X 10^(-13).',Ratio/10^(-13));"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 6.2: EX6_2.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 6.2\n",
+"//Program to determine the number of longitudinal modes and their \n",
+"//frequency separation in a ruby laser\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"Lambda=0.55*10^-6; //metres - PEAK EMISSION WAVELENGTH\n",
+"n=1.78; //REFRACTIVE INDEX\n",
+"c= 2.998*10^8; //m/s - SPEED OF LIGHT\n",
+"L=4*10^(-2); //metres - CRYSTAL LENGTH\n",
+"\n",
+"//Number of Longitudinal modes\n",
+"q=2*n*L/Lambda;\n",
+"\n",
+"//Frequency separation of the modes\n",
+"del_f=c/(2*n*L);\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t Number of Longitudinal modes is %0.1f X 10^5.',q/10^5);\n",
+"printf('\n\n\t Frequency separation of the modes is %0.1f GHz.',del_f/10^9);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 6.3: Calculation_of_laser_gain_coefficient_for_the_cavity.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 6.3\n",
+"//Program to calculate laser gain coefficient for the cavity\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"L=600*10^-4; //cm - CAVITY LENGTH\n",
+"r=0.3; //*100 percent - REFLECTIVITY\n",
+"alpha_bar= 30; //per cm - LOSSES\n",
+"\n",
+"//Laser Gain Coefficient\n",
+"gth_bar=alpha_bar+1/L*log(1/r);\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t Laser Gain Coefficient is %1.0f per cm.',gth_bar);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 6.4: EX6_4.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 6.4\n",
+"//Program to compare the approximate radiative minority carrier \n",
+"//lifetimes in gallium arsenide and silicon\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"N=10^18; //per cm^3 - HOLE CONCENTRATION\n",
+"Br1=7.21*10^(-10); //cm^3 / s - RECOMBINATION COEFFICIENT FOR GaAs\n",
+"Br2=1.79*10^(-15); //cm^3 / s - RECOMBINATION COEFFICIENT FOR Si\n",
+"\n",
+"//Radiative minority carrier lifetime for GaAs\n",
+"tau_r1=1/(Br1*N);\n",
+"\n",
+"//Radiative minority carrier lifetime for Si\n",
+"tau_r2=1/(Br2*N);\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t Radiative minority carrier lifetime for GaAs is %0.2f ns.',tau_r1/10^(-9));\n",
+"printf('\n\n\t Radiative minority carrier lifetime for Si is %0.2f ms.',tau_r2/10^(-3));"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 6.5: EX6_5.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 6.5\n",
+"//Program to determine the threshold current density and the \n",
+"//threshold current for the device\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"n=3.6; //REFRACTIVE INDEX OF GaAs\n",
+"beeta_bar=21*10^(-3); //A/cm^3 - GAIN FACTOR\n",
+"alpha_bar=10; //per cm - LOSS COEFFICIENT\n",
+"L=250*10^(-4); //cm - LENGTH OF OPTICAL CAVITY\n",
+"W=100*10^(-4); //cm - WIDTH OF OPTICAL CAVITY\n",
+"\n",
+"//Reflectivity for normal incidence\n",
+"r=((n-1)/(n+1))^2;\n",
+"\n",
+"//Threshold current density\n",
+"Jth=1/beeta_bar*(alpha_bar+1/L*log(1/r));\n",
+"\n",
+"//Threshold current\n",
+"Ith=Jth*W*L;\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t Threshold current density is %0.2f X 10^3 A/cm^2.',Jth/10^3);\n",
+"printf('\n\n\t Threshold current is %0.1f mA.',Ith/10^(-3));"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 6.6: Calculation_of_external_power_efficiency_of_the_device.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 6.6\n",
+"//Program to calculate the external power efficiency of the device \n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"eeta_t=0.18; //*100 percent - TOTAL EFFICIENCY\n",
+"Eg=1.43; //eV - ENERGY BAND GAP OF GaAs\n",
+"V=2.5; //Volts - APPLIED VOLTAGE\n",
+"\n",
+"//External power efficiency of the device\n",
+"eeta_ep=eeta_t*Eg/V;\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t External power efficiency of GaAs device is %1.0f percent.',eeta_ep*100);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 6.7: EX6_7.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 6.7\n",
+"//Program to compare the ratio of threshold current densities at 20 C \n",
+"//and 80 C for AlGaAs and InGaAsP\n",
+" \n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data \n",
+"T1=293; //degree C\n",
+"T2=352; //degree C\n",
+"\n",
+"//For AlGaAs\n",
+"T0=170; //degree C\n",
+"Jth_20=exp(T1/T0);\n",
+"Jth_80=exp(T2/T0);\n",
+"Ratio=Jth_80/Jth_20;\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t Ratio of current densities for AlGaAs is %0.2f .',Ratio);\n",
+"\n",
+"//For InGaAsP\n",
+"T0=55; //degree C\n",
+"Jth_20=exp(T1/T0);\n",
+"Jth_80=exp(T2/T0);\n",
+"Ratio=Jth_80/Jth_20;\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t Ratio of current densities for InGaAsP is %0.2f .',Ratio);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 6.8: EX6_8.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 6.8\n",
+"//Determine the\n",
+"//(a)The RMS value of the power fluctuation\n",
+"//(b)The RMS noise current at the output of the detector\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data \n",
+"B=100*10^6; //Hz - BANDWIDTH\n",
+"S_rinf_by_Pebarsquare=10^(-15); //per Hz - RIN VALUE\n",
+"e=1.602*10^(-19); //Coulumbs - CHARGE OF AN ELECTRON\n",
+"eeta=0.6; //*100 percent - QUANTUM EFFICIENCY\n",
+"lambda=1.55*10^(-6); //metre - WAVELENGTH \n",
+"h= 6.626*10^(-34); //J/K - PLANK's CONSTANT\n",
+"c=2.998*10^8; //m/s - VELOCITY OF LIGHT IN VACCUM\n",
+"Pe_bar=2*10^(-3); //Watt - INCIDENT POWER\n",
+"\n",
+"//(a)The RMS value of the power fluctuation\n",
+"RMS_value=sqrt(S_rinf_by_Pebarsquare*B);\n",
+"\n",
+"//(b)The RMS noise current at the output of the detector\n",
+"RMS_noise_current=e*eeta*lambda/(h*c)*RMS_value*Pe_bar;\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t (a)The RMS value of the power fluctuation is %0.2f X 10^(-4) W.',RMS_value/10^(-4));\n",
+"printf('\n\n\t (b)The RMS noise current at the output of the detector is %0.2f X 10^(-7) A.',RMS_noise_current/10^(-7));"
+ ]
+ }
+],
+"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/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/7-OPTICAL_SOURCES_2_THE_LIGHT_EMITTING_DIODE.ipynb b/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/7-OPTICAL_SOURCES_2_THE_LIGHT_EMITTING_DIODE.ipynb
new file mode 100644
index 0000000..a08cbba
--- /dev/null
+++ b/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/7-OPTICAL_SOURCES_2_THE_LIGHT_EMITTING_DIODE.ipynb
@@ -0,0 +1,371 @@
+{
+"cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 7: OPTICAL SOURCES 2 THE LIGHT EMITTING DIODE"
+ ]
+ },
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 7.1: EX7_1.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 7.1\n",
+"//Program to determine the total carrier recombination lifetime and\n",
+"//the power internally generated within the device\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"Tau_r=60; //ns - RADIATIVE RECOMBINATION LIFETIME\n",
+"Tau_nr=100; //ns - NON RADIATIVE RECOMBINATION LIFETIME\n",
+"Lambda=0.87*10^-6; //metres - PEAK EMISSION WAVELENGTH\n",
+"c= 2.998*10^8; //m/s - SPEED OF LIGHT\n",
+"h= 6.626*10^(-34); //J/K - PLANK's CONSTANT\n",
+"e=1.602*10^(-19); //Coulumbs - CHARGE OF AN ELECTRON\n",
+"i=40*10^(-3); //A - DRIVE CURRENT\n",
+"\n",
+"//Total carrier recombination lifetime\n",
+"Tau=Tau_r*Tau_nr/(Tau_r+Tau_nr);\n",
+"\n",
+"//Internal quantum efficiency\n",
+"eeta_int=Tau/Tau_r;\n",
+"\n",
+"//Power internally generated within the device\n",
+"P_int=eeta_int*h*c*i/(Lambda*e);\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t Total carrier recombination lifetime is %0.1f ns.',Tau);\n",
+"printf('\n\n\t Power internally generated within the device is %0.1f mW .',P_int/10^(-3));"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 7.2: EX7_2.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 7.2\n",
+"//Program to :\n",
+"//(a)Calculate the optical power emitted into air as a percentage of \n",
+"//internal optical power\n",
+"//(b)Determine the external power efficiency\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"F=0.68; //TRANSMISSION FACTOR\n",
+"n=1;\n",
+"nx=3.6; //REFRACTIVE INDEX OF GaAs\n",
+"Pint_by_P=0.5; //*100 percent - Pe/P\n",
+"\n",
+"//Percentage optical power emitted\n",
+"Pe_by_Pint=F*n^2/(4*nx^2);\n",
+"\n",
+"//External power efficiency\n",
+"eeta_ep=Pe_by_Pint*Pint_by_P;\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t (a)Percentage optical power emitted is %0.1f percent of generated optical power.',Pe_by_Pint*100);\n",
+"printf('\n\n\t (b)External power efficiency is %0.2f percent.',eeta_ep*100);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 7.3: EX7_3.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 7.3\n",
+"//Program to calculate the:\n",
+"//(a)Coupling Efficieny\n",
+"//(b)Optical loss in decibels relative to Pe\n",
+"//(c)Optical loss in decibels relative to Pint\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"NA=0.2; //NUMERICAL APERTURE\n",
+"F=0.68; //TRANSMISSION FACTOR\n",
+"n=1;\n",
+"nx=3.6; //REFRACTIVE INDEX OF GaAs\n",
+"\n",
+"//(a)Coupling Efficieny\n",
+"eeta_c=(NA)^2;\n",
+"\n",
+"//(b)Optical loss in decibels relative to Pe\n",
+"Loss1=-10*log10(eeta_c);\n",
+"\n",
+"//Percentage optical power emitted\n",
+"Pint_by_P=F*n^2/(4*nx^2);\n",
+"\n",
+"//(c)Optical loss in decibels relative to Pint\n",
+"Loss2=-10*log10(eeta_c*Pint_by_P);\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t (a)Coupling Efficieny is %1.0f percent.',eeta_c*100);\n",
+"printf('\n\n\t (b)Optical loss in decibels relative to Pe is %0.1f dB.',Loss1);\n",
+"printf('\n\n\t (c)Optical loss in decibels relative to Pint is %0.1f dB.',Loss2);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 7.4: Estimation_of_the_optical_power_coupled_into_the_fiber.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 7.4\n",
+"//Program to estimate the optical power coupled into the fiber\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"d=50*10^(-4); //cm - EMISSION AREA DIAMETER\n",
+"R_D=30; //W/sr/cm^2\n",
+"NA=0.15; //NUMERICAL APERTURE\n",
+"r=0.01; //REFLECTION COEFFICIENT\n",
+"\n",
+"//Optical power coupled into the fiber\n",
+"a=d/2; //RADIUS\n",
+"A=%pi*a^2; //EMISSION AREA\n",
+"Pc=%pi*(1-r)*A*R_D*NA^2;\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t Optical power coupled into the fiber is %0.1f uW.',Pc/10^(-6));"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 7.5: Determination_of_the_overall_power_conversion_efficiency.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 7.5\n",
+"//Program to determine the overall power conversion efficiency\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"Pc=190*10^(-6); //Watts - INPUT OPTICAL POWER\n",
+"I=25*10^(-3); //A - FORWARD CURRENT\n",
+"V=1.5; //V - FORWARD VOLTAGE\n",
+"\n",
+"//Overall power conversion efficiency\n",
+"P=I*V;\n",
+"eeta_pc=Pc/P;\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t Overall power conversion efficiency is %0.1f percent.',eeta_pc*100);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 7.6: EX7_6.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 7.6\n",
+"//Compare the electrical and optical bandwidth for an optical fiber \n",
+"//commuication system and develop a relationship between the two\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"Re_dB=3; //dB - ELECTRICAL 3 dB POINTS\n",
+"Ro_dB=3; //dB - OPTICAL 3 dB POINTS\n",
+"\n",
+"//Electrical Bandwidth\n",
+"Iout_by_Iin=sqrt(10^(-Re_dB/10));\n",
+"printf('\n\n\t For Electrical Bandwidth, Iout/Iin = %0.3f .',Iout_by_Iin);\n",
+"\n",
+"//Optical Bandwidth\n",
+"Iout_by_Iin=10^(-Ro_dB/10);\n",
+"printf('\n\n\t For Optical Bandwidth, Iout/Iin = %0.1f .',Iout_by_Iin);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 7.7: EX7_7.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 7.7\n",
+"//Determine the optical output power modulated at frequencies\n",
+"//(a)20 MHz\n",
+"//(b)100 MHz\n",
+"//Also determine electrical and optical bandwidths\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"P_dc=300*10^(-6); //Watt - OPTICAL OUTPUT POWER\n",
+"tau_i=5*10^(-9); //s - CARRIER RECOMBINATION LIFETIME\n",
+"\n",
+"//(a)Optical output power at 20 MHz\n",
+"f=20*10^6; //Hz - OPERATING FREQUENCY\n",
+"Pe=P_dc/sqrt(1+(2*%pi*f*tau_i)^2);\n",
+"printf('\n\n\t (a)Optical output power at %1.0f MHz, Pe(%1.0f MHz) = %0.2f uW.',f/10^6,f/10^6,Pe/10^(-6));\n",
+"\n",
+"//(b)Optical output power at 100 MHz\n",
+"f=100*10^6; //Hz - OPERATING FREQUENCY \n",
+"Pe=P_dc/sqrt(1+(2*%pi*f*tau_i)^2);\n",
+"printf('\n\n\t (b)Optical output power at %1.0f MHz, Pe(%1.0f MHz) = %0.2f uW.',f/10^6,f/10^6,Pe/10^(-6));\n",
+"\n",
+"//Optical Bandwidth\n",
+"Bopt=sqrt(3)/(2*%pi*tau_i);\n",
+"printf('\n\n\t Optical Bandwidth, Bopt = %0.1f MHz.',Bopt/10^6);\n",
+"\n",
+"//Electrical Bandwidth\n",
+"B=Bopt/sqrt(2);\n",
+"printf('\n\n\t Electrical Bandwidth, B = %0.1f MHz.',B/10^6);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 7.8: Estimation_of_the_CW_operating_lifetime_for_the_given_LED.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 7.8\n",
+"//Program to estimate the CW operating lifetime for the given LED\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"Ea=1*1.602*10^(-19); //Joules - ACTIVATION ENERGY \n",
+"k=1.38*10^(-23); //m^2 kg/s - BOLTZMANN's CONSTANT\n",
+"T=290; //Kelvin - JUNCTION TEMPERATURE\n",
+"Pe_by_Pout=0.67; //Pe/Pout RATIO\n",
+"Beeta_o=1.84*10^7; //per h - CONSTANT OF PROPORTIONALITY\n",
+"\n",
+"//Degradation Rate\n",
+"Beeta_r=Beeta_o*exp(-Ea/(k*T));\n",
+"\n",
+"//CW operating lifetime for the given LED\n",
+"t=log(Pe_by_Pout)/-Beeta_r;\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t CW operating lifetime for the given LED is %0.1f X 10^9 h.',t/10^9);"
+ ]
+ }
+],
+"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/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/8-OPTICAL_DETECTORS.ipynb b/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/8-OPTICAL_DETECTORS.ipynb
new file mode 100644
index 0000000..86c8593
--- /dev/null
+++ b/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/8-OPTICAL_DETECTORS.ipynb
@@ -0,0 +1,405 @@
+{
+"cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 8: OPTICAL DETECTORS"
+ ]
+ },
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 8.1: Determination_of_the_quantum_efficiency_and_responsivity_of_the_photodiode.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 8.1\n",
+"//Program to determine the Quantum efficiency and Responsivity of\n",
+"//the photodiode\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"Lambda=0.85*10^-6; //metres - WAVELENGTH\n",
+"e=1.602*10^(-19); //Coulumbs - CHARGE OF AN ELECTRON\n",
+"h= 6.626*10^(-34); //J/K - PLANK's CONSTANT\n",
+"c=2.998*10^8; //m/s - VELOCITY OF LIGHT IN VACCUM\n",
+"Ne=1.2*10^11; //NUMBER OF ELECTRONS COLLECTED\n",
+"Np=3*10^11; //NUMBER OF INCIDENT PHOTONS\n",
+"\n",
+"//Quantum Efficiency\n",
+"eeta=Ne/Np;\n",
+"\n",
+"//Responsivity\n",
+"R=eeta*e*Lambda/(h*c);\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t Quantum Efficiency = %0.1f .',eeta);\n",
+"printf('\n\n\t Responsivity, R = %0.3f A/W .',R);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 8.2: Determination_of_operating_wavelength_and_incident_optical_power.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 8.2\n",
+"//Program to determine:\n",
+"//(a)Operating Wavelength\n",
+"//(b)Incident Optical Power\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"eeta=0.65; //*100 percent - QUANTUM EFFICIENCY\n",
+"e=1.602*10^(-19); //Coulumbs - CHARGE OF AN ELECTRON\n",
+"h=6.626*10^(-34); //J/K - PLANK's CONSTANT\n",
+"c=2.998*10^8; //m/s - VELOCITY OF LIGHT IN VACCUM\n",
+"Ip=2.5*10^(-6); //A - PHOTOCURRENT\n",
+"E=1.5*10^(-19); //J - ENERGY OF PHOTONS\n",
+"\n",
+"//(a)Operating Wavelength\n",
+"Lambda=h*c/E;\n",
+"\n",
+"//Responsivity\n",
+"R=eeta*e*Lambda/(h*c);\n",
+"\n",
+"//(b)Incident Optical Power\n",
+"Po=Ip/R;\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t (a)Operating Wavelength = %0.2f um.',Lambda/10^(-6));\n",
+"printf('\n\n\t (b)Incident Optical Power = %0.2f uW.',Po/10^(-6));"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 8.3: EX8_3.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 8.3\n",
+"//Program to determine the wavelength above which an intrinsic \n",
+"//photodetector will cease to operate\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"e=1.602*10^(-19); //Coulumbs - CHARGE OF AN ELECTRON\n",
+"h=6.626*10^(-34); //J/K - PLANK's CONSTANT\n",
+"c=2.998*10^8; //m/s - VELOCITY OF LIGHT IN VACCUM\n",
+"Eg=1.43*e; //V - BANDGAP ENERGY\n",
+"\n",
+"//Wavelength determination\n",
+"Lambda_c=h*c/Eg;\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t The wavelength above which an intrinsic photodetector will cease to operate is %0.2f um.',Lambda_c/10^(-6));"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 8.4: EX8_4.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 8.4\n",
+"//Program to determine:\n",
+"//(a)Drift time of the carriers\n",
+"//(b)Junction capacitance of the photodiode\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"w=20*10^(-6); //metre - WIDTH OF INTRINSIC REGION\n",
+"r=500*10^(-6); //metre - RADIUS\n",
+"epsilon_s=10.5*10^(-11);//F/m - PERMITTIVITY\n",
+"vd=10^5; //m/s - DRIFT VELOCITY OF ELECTRONS\n",
+"\n",
+"//(a)Drift time of the carriers\n",
+"t_drift=w/vd;\n",
+"\n",
+"//(b)Junction capacitance of the photodiode\n",
+"A=%pi*r^2;\n",
+"Cj=epsilon_s*A/w;\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t (a)Drift time of the carriers is %1.0f ps.',t_drift/10^(-12));\n",
+"printf('\n\n\t (b)Junction capacitance of the photodiode is %1.0f pF.',Cj/10^(-12));"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 8.5: Determination_of_maximum_response_time_for_the_device.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 8.5\n",
+"//Program to determine maximum response time for the device\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"w=25*10^(-6); //metre - WIDTH OF DEPLETION REGION\n",
+"vd=3*10^4; //m/s - DRIFT VELOCITY OF CARRIER\n",
+"\n",
+"//Maximum 3 dB Bandwidth\n",
+"Bw=vd/(2*%pi*w);\n",
+"\n",
+"//Maximum response time\n",
+"t=1/Bw;\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t Maximum response time for the device is %0.1f ns.',t/10^(-9));"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 8.6: Calculation_of_noise_equivalent_power_and_specific_detectivity_for_the_device.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 8.6\n",
+"//Program to calculate the noise equivalent power and specific \n",
+"//detectivity for the device\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"Id=8*10^(-9); //A - DARK CURRENT\n",
+"eeta=0.55; //*100 - QUANTUM EFFICIENCY\n",
+"Lambda=1.3*10^(-6); //metre - OPERATING WAVELENGTH\n",
+"A=100*50*(10^(-6))^2; //m^2 - AREA\n",
+"e=1.602*10^(-19); //Coulumbs - CHARGE OF AN ELECTRON\n",
+"h= 6.626*10^(-34); //J/K - PLANK's CONSTANT\n",
+"c=2.998*10^8; //m/s - VELOCITY OF LIGHT IN VACCUM\n",
+"\n",
+"//Noise equivalent power\n",
+"NEP=h*c*sqrt(2*e*Id)/(eeta*e*Lambda);\n",
+"\n",
+"//Specific detectivity\n",
+"D=sqrt(A)/NEP;\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t Noise equivalent power = %0.2f X 10^(-14) W.',NEP/10^(-14));\n",
+"printf('\n\n\t Specific detectivity = %0.1f X 10^8 m H^(1/2)/W.',D/10^(8));"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 8.7: Determination_of_the_multiplication_factor_of_the_photodiode.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 8.7\n",
+"//Program to determine the multiplication factor of the photodiode\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"eeta=0.80; //*100 percent - QUANTUM EFFICIENCY\n",
+"e=1.602*10^(-19); //Coulumbs - CHARGE OF AN ELECTRON\n",
+"h=6.626*10^(-34); //J/K - PLANK's CONSTANT\n",
+"c=2.998*10^8; //m/s - VELOCITY OF LIGHT IN VACCUM\n",
+"Lambda=0.9*10^(-6); //metre - OPERATING WAVELENGTH\n",
+"I=11*10^(-6); //A - OUTPUT CURRENT\n",
+"Po=0.5*10^(-6); //Watt - INCIDENT OPTICAL POWER\n",
+"\n",
+"//Responsivity\n",
+"R=eeta*e*Lambda/(h*c);\n",
+"//Photocurrent\n",
+"Ip=Po*R;\n",
+"//Multiplication Factor\n",
+"M=I/Ip;\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t The multiplication factor of the photodiode is approximately %1.0f.',M);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 8.8: Determination_of_optical_gain_of_the_device_and_common_emitter_current_gain.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 8.8\n",
+"//Program to determine:\n",
+"//(a)Optical gain of the device\n",
+"//(b)Common emitter current gain\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"eeta=0.40; //*100 percent - QUANTUM EFFICIENCY\n",
+"e=1.602*10^(-19); //Coulumbs - CHARGE OF AN ELECTRON\n",
+"h=6.626*10^(-34); //J/K - PLANK's CONSTANT\n",
+"c=2.998*10^8; //m/s - VELOCITY OF LIGHT IN VACCUM\n",
+"Lambda=1.26*10^(-6); //metre - OPERATING WAVELENGTH\n",
+"Ic=15*10^(-3); //A - COLLECTOR CURRENT\n",
+"Po=125*10^(-6); //Watt - INCIDENT OPTICAL POWER\n",
+"\n",
+"//(a)Optical Gain\n",
+"Go=h*c*Ic/(Lambda*e*Po);\n",
+"\n",
+"//(b)Common emitter current gain\n",
+"h_FE=Go/eeta;\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t (a)Optical Gain, Go = %0.1f.',Go);\n",
+"printf('\n\n\t (b)Common emitter current Gain, h_FE = %0.1f.',h_FE);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 8.9: Determination_of_the_maximum_3_dB_bandwidth_permitted_by_the_device.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 8.9\n",
+"//Program to determine the maximum 3 dB bandwidth permitted by the\n",
+"//device\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"tf=5*10^(-12); //second - ELECTRON TRANSIT TIME\n",
+"G=70; //PHOTOCONDUCTIVE GAIN\n",
+"\n",
+"//Maximum 3 dB bandwidth permitted by the MSM\n",
+"Bm=1/(2*%pi*tf*G);\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n\t Maximum 3 dB bandwidth permitted by the device is %0.1f MHz.',Bm/10^6);"
+ ]
+ }
+],
+"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/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/9-DIRECT_DETECTION_RECEIVER_PERFORMANCE_CONSIDERATIONS.ipynb b/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/9-DIRECT_DETECTION_RECEIVER_PERFORMANCE_CONSIDERATIONS.ipynb
new file mode 100644
index 0000000..e8657d0
--- /dev/null
+++ b/Optical_Fiber_Communications_Principles_And_Practice_by_J_M_Senior/9-DIRECT_DETECTION_RECEIVER_PERFORMANCE_CONSIDERATIONS.ipynb
@@ -0,0 +1,410 @@
+{
+"cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 9: DIRECT DETECTION RECEIVER PERFORMANCE CONSIDERATIONS"
+ ]
+ },
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.1: EX9_1.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 9.1\n",
+"//Note: MAXIMA SCILAB TOOLBOX REQUIRED FOR THIS PROGRAM\n",
+"//Program to determine:\n",
+"//(a)The theoretical quantum limit at the receiver in terms of quantum\n",
+"//efficiency and energy of incident photon\n",
+"//(b)The minimum incident optical power\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"syms h f eeta;\n",
+"\n",
+"//(a)The theoretical quantum limit at the receiver in terms of quantum\n",
+"//efficiency and energy og incident photon\n",
+"BER=10^(-9); //BIT ERROR RATE\n",
+"z_min=-log(BER)\n",
+"E_min=z_min*h*f/eeta;\n",
+"disp(E_min,'(a)The theoretical quantum limit at the receiver in terms of quantum efficiency and energy of incident photon is =');\n",
+"printf(' which is equivalent to %0.1f h*f/eeta.',z_min);\n",
+"\n",
+"//(b)The minimum incident optical power\n",
+"h1= 6.626*10^(-34); //J/K - PLANK's CONSTANT\n",
+"f1=2.998*10^14; //Hz - FREQUENCY\n",
+"Bt=10*10^6; //bit/s - SIGNALING RATE\n",
+"eeta1=1; //*100 percent - QUANTUM EFFICIENCY\n",
+"Po_binary=z_min*h1*f1*Bt/(2*eeta1);\n",
+"Po=10*log10(Po_binary/10^(-3));\n",
+"printf('\n\n (b)The minimum incident optical power is %0.1f pW or %0.1f dBm.',Po_binary/10^(-12),Po);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.2: Calculation_of_incident_optical_power_to_achieve_given_SNR.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 9.2\n",
+"//Program to calculate incident optical power to achieve given SNR\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"SNR=50; //dB - SIGNAL TO NOISE RATIO GIVEN\n",
+"h= 6.626*10^(-34); //J/K - PLANK's CONSTANT\n",
+"Lambda=1*10^(-6); //metre - OPERATING WAVELENGTH\n",
+"c=2.998*10^8; //m/s - VELOCITY OF LIGHT IN VACCUM\n",
+"B=5*10^6; //MHz - POST DETECTION BANDWIDTH\n",
+"eeta=1; //*100 percent - QUANTUM EFFICIENCY\n",
+"\n",
+"//Incident optical power to achieve given SNR\n",
+"Po=2*h*c*B*10^(SNR/10)/(eeta*Lambda);\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n The incident optical power is %0.1f nW or %0.1f dBm.',Po/10^(-9),10*log10(Po/10^(-3)));"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.3: EX9_3.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 9.3\n",
+"//Program to compare the shot noise generated in the photodetector \n",
+"//with the thermal noise in the load resistor\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"Id=3*10^(-9); //A - DARK CURRENT\n",
+"e=1.602*10^(-19); //Coulumbs - CHARGE OF AN ELECTRON\n",
+"h= 6.626*10^(-34); //J/K - PLANK's CONSTANT\n",
+"Lambda=0.9*10^(-6); //metre - OPERATING WAVELENGTH\n",
+"c=2.998*10^8; //m/s - VELOCITY OF LIGHT IN VACCUM\n",
+"eeta=0.6; //*100 percent - QUANTUM EFFICIENCY\n",
+"Po=200*10^(-9); //Watt- INCIDENT OPTICAL POWER\n",
+"k=1.381*10^(-23); //m^2 kg/s - BOLTZMANN's CONSTANT\n",
+"T=293; //Kelvin - TEMPERATURE\n",
+"B=5*10^6; //Hz - BANDWIDTH OF RECEIVER\n",
+"Rl=4*10^3; //Ohms - LOAD RESISTANCE\n",
+"\n",
+"//RMS shot noise current\n",
+"Ip=eeta*Po*e*Lambda/(h*c);\n",
+"Shot_noise_current=sqrt(2*e*B*(Id+Ip));\n",
+"\n",
+"//RMS thermal noise current\n",
+"Thermal_noise_current=sqrt(4*k*T*B/Rl);\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n RMS shot noise current = %0.3f X 10^(-10) A.',Shot_noise_current/10^(-10));\n",
+"printf('\n\n RMS thermal noise current = %0.3f X 10^(-9) A.',Thermal_noise_current/10^(-9));"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.4: Determination_of_SNR_at_the_output_of_the_receiver.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 9.4\n",
+"//Program to determine SNR at the output of the receiver\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"Id=3*10^(-9); //A - DARK CURRENT\n",
+"e=1.602*10^(-19); //Coulumbs - CHARGE OF AN ELECTRON\n",
+"h= 6.626*10^(-34); //J/K - PLANK's CONSTANT\n",
+"Lambda=0.9*10^(-6); //metre - OPERATING WAVELENGTH\n",
+"c=2.998*10^8; //m/s - VELOCITY OF LIGHT IN VACCUM\n",
+"eeta=0.6; //*100 percent - QUANTUM EFFICIENCY\n",
+"Po=200*10^(-9); //Watt- INCIDENT OPTICAL POWER\n",
+"k=1.381*10^(-23); //m^2 kg/s - BOLTZMANN's CONSTANT\n",
+"T=293; //Kelvin - TEMPERATURE\n",
+"B=5*10^6; //Hz - BANDWIDTH OF RECEIVER\n",
+"Rl=4*10^3; //Ohms - LOAD RESISTANCE\n",
+"Fn=3; //dB - AMPLIFIER NOISE FIGURE\n",
+"\n",
+"//RMS shot noise current\n",
+"Ip=eeta*Po*e*Lambda/(h*c);\n",
+"Shot_noise_current=sqrt(2*e*B*(Id+Ip));\n",
+"//RMS thermal noise current\n",
+"Thermal_noise_current=sqrt(4*k*T*B/Rl);\n",
+"\n",
+"//SNR Calculation\n",
+"SNR=Ip^2/(Shot_noise_current^2+Thermal_noise_current^2*10^(Fn/10));\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n SNR = %0.2f dB.',10*log10(SNR));"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.5: EX9_5.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 9.5\n",
+"//Program to:\n",
+"//(i)Calculate Maximum Load Resistance\n",
+"//(ii)Determine Bandwidth Penalty considering amplifier capacitance\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"Cd=6*10^(-12); //Farad - PHOTODIODE CAPACITANCE\n",
+"Ca=6*10^(-12); //Farad - AMPLIFIER INPUT CAPACITANCE\n",
+"B=8*10^6; //Hz - POST DETECTION BANDWIDTH\n",
+"\n",
+"//(i)Maximum Load Resistance\n",
+"Rl=1/(2*%pi*Cd*B);\n",
+"\n",
+"//(ii)Maximum Bandwidth considering amplifier capacitance \n",
+"Bm=1/(2*%pi*Rl*(Cd+Ca));\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('\n\n\t (i)Maximum Load Resistance, Rl(max) = %0.2f kiloOhms.',Rl/10^3);\n",
+"printf('\n\n\t(ii)Maximum Bandwidth considering amplifier capacitance, B = %1.0f MHz.',Bm/10^6);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.6: Determination_of_the_maximum_SNR_improvement.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 9.6\n",
+"//Program to determine the maximum SNR improvement between \n",
+"//M=1 and M=Mop\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"Cd=5*10^(-12); //Farad - APD CAPACITANCE\n",
+"B=50*10^6; //Hz - POST DETECTION BANDWIDTH\n",
+"T=291; //Kelvin - TEMPERATURE\n",
+"k=1.381*10^(-23); //m^2 kg/s - BOLTZMANN's CONSTANT\n",
+"Id=0; //A - DARK CURRENT\n",
+"x=0.3;\n",
+"Fn=1; //dB - AMPLIFIER NOISE FIGURE\n",
+"e=1.602*10^(-19); //Coulumbs - CHARGE OF AN ELECTRON\n",
+"Ip=10^(-7); //A - PHOTOCURRENT\n",
+"\n",
+"//Maximum Load Resistance\n",
+"Rl=1/(2*%pi*Cd*B);\n",
+"\n",
+"//For M=1\n",
+"M=1\n",
+"SNR1=Ip^2*M^2/(2*e*B*(Ip+Id)*M^(2+x)+4*k*T*B*Fn/Rl); \n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n For M = 1, SNR = %0.2f dB.',10*log10(SNR1));\n",
+"\n",
+"//For M=Mop\n",
+"Mop=(4*k*T/(x*e*Rl*Ip))^(1/(2+x));\n",
+"M=Mop;\n",
+"SNR2=Ip^2*M^2/(2*e*B*(Ip+Id)*M^(2+x)+4*k*T*B*Fn/Rl); \n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n For M = Mopt, SNR = %0.2f dB.',10*log10(SNR2));\n",
+"printf('\n\n SNR Improvement = %0.2f dB.',10*log10(SNR2)-10*log10(SNR1));"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.7: Determination_of_the_optimum_avalanche_multiplication_factor.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 9.7\n",
+"//Program to determine the optimum avalanche multiplication factor\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"Rl=10*10^3; //Ohms - LOAD RESISTANCE\n",
+"T=120; //Kelvin - TEMPERATURE\n",
+"SNR=35; //dB - SIGNAL TO NOISE RATIO\n",
+"Fn=1; //dB - AMPLIFIER NOISE FIGURE\n",
+"B=10*10^6; //Hz - POST DETECTION BANDWIDTH\n",
+"x=1;\n",
+"k=1.381*10^(-23); //m^2 kg/s - BOLTZMANN's CONSTANT\n",
+"e=1.602*10^(-19); //Coulumbs - CHARGE OF AN ELECTRON\n",
+"\n",
+"//As Ip=10*Id, Minimum Photo Current\n",
+"Ip=(10^(SNR/10)*(12*k*T*B*10^(Fn/10)/Rl)/(4*k*T*10^(Fn/10)/(1.1*e*Rl))^(2/(2+x)))^(3/4);\n",
+" \n",
+"//Optimum avalanche multiplication factor\n",
+"Mop=(4*k*T*10^(Fn/10)/(e*Rl/10*1.1*Ip))^(1/(2+x));\n",
+"\n",
+"//Displaying the Result in Command Window\n",
+"printf('\n\n Optimum avalanche multiplication factor, Mop = %0.2f.',Mop);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.8: EX9_8.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Example 9.8\n",
+"//Program to determine:\n",
+"//(a)Maximum bandwidth without equilization\n",
+"//(b)Mean square thermal noise current per unit bandwidth\n",
+"//(c)(Compare (a) and (b) for transimpedance amplifier\n",
+"\n",
+"clear;\n",
+"clc ;\n",
+"close ;\n",
+"\n",
+"//Given data\n",
+"Ra=4*10^6; //Ohms - INPUT RESISTANCE\n",
+"Rb=4*10^6; //Ohms - DETECTOR BIAS RESISTANCE\n",
+"Ct=6*10^(-12); //Farad - TOTAL CAPACITANCE\n",
+"k=1.381*10^(-23); //m^2 kg/s - BOLTZMANN's CONSTANT\n",
+"T=300; //Kelvin - TEMPERATURE\n",
+"Rf=100*10^3; //Ohms - LOAD RESISTANCE\n",
+"G=400; //OPEN LOOP GAIN OF TRANSIMPEDANCE AMP.\n",
+"\n",
+"//Total effective load resistance\n",
+"Rtl=Rb*Ra/(Rb+Ra);\n",
+"\n",
+"//(a)Maximum bandwidth without equilization\n",
+"B=1/(2*%pi*Rtl*Ct)\n",
+"\n",
+"//(b)Mean square thermal noise current per unit bandwidth\n",
+"it_sq_bar=4*k*T/Rtl;\n",
+"\n",
+"//(c)(Compare (a) and (b) for transimpedance amplifier\n",
+"B1=G/(2*%pi*Rf*Ct)\n",
+"it_sq_bar1=4*k*T/Rf;\n",
+"\n",
+"//Displaying the Results in Command Window\n",
+"printf('For High Gain Transimpedance Amplifier:')\n",
+"printf('\n\n (a)Maximum bandwidth without equilization, B = %0.2f X 10^4 Hz.',B/10^4);\n",
+"printf('\n\n (b)Mean square thermal noise current per unit bandwidth, it_sq_bar = %0.2f X 10^(-27) A^2/Hz.',it_sq_bar/10^(-27));\n",
+"printf('\n\n (c)For High Gain Transimpedance Amplifier:')\n",
+"printf('\n\n Maximum bandwidth without equilization, B = %0.2f X 10^8 Hz.',B1/10^8);\n",
+"printf('\n\n Mean square thermal noise current per unit bandwidth, it_sq_bar = %0.2f X 10^(-25) A^2/Hz.',it_sq_bar1/10^(-25));\n",
+"printf('\n\n Mean square thermal noise current for transimpedance amplifier is %1.0f times or %1.0f dB greater.',it_sq_bar1/it_sq_bar,10*log10(it_sq_bar1/it_sq_bar));"
+ ]
+ }
+],
+"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
+}