summaryrefslogtreecommitdiff
path: root/Optical_Fiber_Communication_Principles_and_Practice
diff options
context:
space:
mode:
Diffstat (limited to 'Optical_Fiber_Communication_Principles_and_Practice')
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter1.ipynb28
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter10.ipynb104
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter10_1.ipynb104
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter10_2.ipynb104
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter11.ipynb62
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter11_1.ipynb62
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter11_2.ipynb62
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter12.ipynb488
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter12_1.ipynb488
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter12_2.ipynb488
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter13.ipynb146
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter13_1.ipynb146
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter13_2.ipynb146
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter14.ipynb188
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter14_1.ipynb188
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter14_2.ipynb188
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter15.ipynb28
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter15_1.ipynb28
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter15_2.ipynb28
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter1_1.ipynb28
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter1_2.ipynb28
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter2.ipynb251
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter2_1.ipynb251
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter2_2.ipynb251
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter3.ipynb322
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter3_1.ipynb322
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter3_2.ipynb322
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter4.ipynb35
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter4_1.ipynb35
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter4_2.ipynb35
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter5.ipynb239
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter5_1.ipynb239
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter5_2.ipynb239
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter6.ipynb188
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter6_1.ipynb188
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter6_2.ipynb188
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter7.ipynb167
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter7_1.ipynb167
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter7_2.ipynb167
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter8.ipynb209
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter8_1.ipynb209
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter8_2.ipynb209
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter9.ipynb188
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter9_1.ipynb188
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/Chapter9_2.ipynb188
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/screenshots/Selection_001.pngbin86216 -> 0 bytes
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/screenshots/Selection_002.pngbin89779 -> 0 bytes
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/screenshots/Total_channel_loss_against_number_of_nodes.pngbin10443 -> 0 bytes
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/screenshots/Total_channel_loss_against_number_of_nodes_1.pngbin10443 -> 0 bytes
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/screenshots/Total_channel_loss_against_number_of_nodes_2.pngbin10443 -> 0 bytes
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/screenshots/Total_channel_loss_against_number_of_nodes_3.pngbin10443 -> 0 bytes
-rwxr-xr-xOptical_Fiber_Communication_Principles_and_Practice/screenshots/Total_channel_loss_against_number_of_nodes_4.pngbin10443 -> 0 bytes
52 files changed, 0 insertions, 7929 deletions
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter1.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter1.ipynb
deleted file mode 100755
index 76fe396c..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter1.ipynb
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_1"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter 1 :- Introduction"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "# Theortical Chapter",
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter10.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter10.ipynb
deleted file mode 100755
index 077ac9f5..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter10.ipynb
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_10"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter 10 : Optical amplification, wavelength conversion and regeneration\n"
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 10.1, page 555"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nh=1.5*10**-6 #peak gain wavelength\ndelt=10**-9 #mode spacing\nl=300*10**-6 #length\nc=2.998*10**8 #speed of light\nr=0.09 #facet reflectivities\ngs=3.020\n\n#Calculation\nn=(h**2)/(2*delt*l) #refractive index\na=c/(math.pi*n*l)\nd=1-(math.sqrt(r)*gs)\nf=2*math.sqrt(math.sqrt(r)*gs)\nB=a*math.asin(d/f) #spectral bandwidth\n#Result\nprint'Refractive index of a medium = %.2f'%n\nprint'3dB spectral bandwidth = %.1f GHz'%(B*10**-9)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Refractive index of a medium = 3.75\n3dB spectral bandwidth = 4.2 GHz\n"
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 10.3, page 562"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\ngs=30 #gain in dB\ng=200 #net gain\nloge=0.434 #log(e)\ngs1=1000\nm=2.2 #mode no\nnsp=4 #spontaneous emission factor\nh1=6.626*10**-34 #plancks constant\nf=1.94*10**14\nB=1.0*10**12 #bandwidth\n\n#Calculation\nL=gs/(10*g*loge) #length of the device\nP=m*nsp*(gs1-1)*h1*f*B #noise power spectral density\n\n#Result\nprint'(a) Length of the device = %.2f mm'%(L*10**3)\nprint'(b) Noise power spectral density = %.2f mW'%(P*10**3)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Length of the device = 34.56 mm\n(b) Noise power spectral density = 1.13 mW\n"
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 10.4, page 580"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nGp=62.2 #parametric peak gain in dB\nlog=10*math.log10(0.25)\nPp=1.4 #signal power in watt\nL=500 #length in meter\nlog2=20*math.log10(2.7182818284)\n\n\n#Calculation\ny=(Gp-log)/(Pp*L*log2) #fiber nonlinear coefficient\nGp2=10*math.log10((y*Pp*L)**2) #parametric gain\n \n#Result\nprint'(a) Fiber nonlinear coefficient = %.2f x 10^-3 W^-1 km^-1'%(y*1000)\nprint'(b) Quadratic gain, Gp = %.2f dB'%(Gp2)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Fiber nonlinear coefficient = 11.22 x 10^-3 W^-1 km^-1\n(b) Quadratic gain, Gp = 17.90 dB\n"
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 10.5, page 589 "
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\npt=0.5*10**-3 #input signal power\ndpt=0.01*10**-6 #input signal power variation\nh=1.55*10**-6 #signal wavelength\na=-1 #linewidth enhancement factor\ndn=-1.2*10**-26 #differential refractive index\n\n#Calculation\ndelt=(-a*dpt)/(4*math.pi*pt) #frequency chirp\ndg=(4*math.pi*dn)/(h*a) #differential gain\n \n#Result\nprint'(a) Frequency chirp variation = %.2f MHz'%(delt*10**6)\nprint'(b) Differential gain = %.2f x10^-20 m^2'%(dg*10**20)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Frequency chirp variation = 1.59 MHz\n(b) Differential gain = 9.73 x10^-20 m^2\n"
- }
- ],
- "prompt_number": 4
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter10_1.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter10_1.ipynb
deleted file mode 100755
index 077ac9f5..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter10_1.ipynb
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_10"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter 10 : Optical amplification, wavelength conversion and regeneration\n"
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 10.1, page 555"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nh=1.5*10**-6 #peak gain wavelength\ndelt=10**-9 #mode spacing\nl=300*10**-6 #length\nc=2.998*10**8 #speed of light\nr=0.09 #facet reflectivities\ngs=3.020\n\n#Calculation\nn=(h**2)/(2*delt*l) #refractive index\na=c/(math.pi*n*l)\nd=1-(math.sqrt(r)*gs)\nf=2*math.sqrt(math.sqrt(r)*gs)\nB=a*math.asin(d/f) #spectral bandwidth\n#Result\nprint'Refractive index of a medium = %.2f'%n\nprint'3dB spectral bandwidth = %.1f GHz'%(B*10**-9)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Refractive index of a medium = 3.75\n3dB spectral bandwidth = 4.2 GHz\n"
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 10.3, page 562"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\ngs=30 #gain in dB\ng=200 #net gain\nloge=0.434 #log(e)\ngs1=1000\nm=2.2 #mode no\nnsp=4 #spontaneous emission factor\nh1=6.626*10**-34 #plancks constant\nf=1.94*10**14\nB=1.0*10**12 #bandwidth\n\n#Calculation\nL=gs/(10*g*loge) #length of the device\nP=m*nsp*(gs1-1)*h1*f*B #noise power spectral density\n\n#Result\nprint'(a) Length of the device = %.2f mm'%(L*10**3)\nprint'(b) Noise power spectral density = %.2f mW'%(P*10**3)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Length of the device = 34.56 mm\n(b) Noise power spectral density = 1.13 mW\n"
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 10.4, page 580"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nGp=62.2 #parametric peak gain in dB\nlog=10*math.log10(0.25)\nPp=1.4 #signal power in watt\nL=500 #length in meter\nlog2=20*math.log10(2.7182818284)\n\n\n#Calculation\ny=(Gp-log)/(Pp*L*log2) #fiber nonlinear coefficient\nGp2=10*math.log10((y*Pp*L)**2) #parametric gain\n \n#Result\nprint'(a) Fiber nonlinear coefficient = %.2f x 10^-3 W^-1 km^-1'%(y*1000)\nprint'(b) Quadratic gain, Gp = %.2f dB'%(Gp2)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Fiber nonlinear coefficient = 11.22 x 10^-3 W^-1 km^-1\n(b) Quadratic gain, Gp = 17.90 dB\n"
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 10.5, page 589 "
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\npt=0.5*10**-3 #input signal power\ndpt=0.01*10**-6 #input signal power variation\nh=1.55*10**-6 #signal wavelength\na=-1 #linewidth enhancement factor\ndn=-1.2*10**-26 #differential refractive index\n\n#Calculation\ndelt=(-a*dpt)/(4*math.pi*pt) #frequency chirp\ndg=(4*math.pi*dn)/(h*a) #differential gain\n \n#Result\nprint'(a) Frequency chirp variation = %.2f MHz'%(delt*10**6)\nprint'(b) Differential gain = %.2f x10^-20 m^2'%(dg*10**20)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Frequency chirp variation = 1.59 MHz\n(b) Differential gain = 9.73 x10^-20 m^2\n"
- }
- ],
- "prompt_number": 4
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter10_2.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter10_2.ipynb
deleted file mode 100755
index 077ac9f5..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter10_2.ipynb
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_10"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter 10 : Optical amplification, wavelength conversion and regeneration\n"
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 10.1, page 555"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nh=1.5*10**-6 #peak gain wavelength\ndelt=10**-9 #mode spacing\nl=300*10**-6 #length\nc=2.998*10**8 #speed of light\nr=0.09 #facet reflectivities\ngs=3.020\n\n#Calculation\nn=(h**2)/(2*delt*l) #refractive index\na=c/(math.pi*n*l)\nd=1-(math.sqrt(r)*gs)\nf=2*math.sqrt(math.sqrt(r)*gs)\nB=a*math.asin(d/f) #spectral bandwidth\n#Result\nprint'Refractive index of a medium = %.2f'%n\nprint'3dB spectral bandwidth = %.1f GHz'%(B*10**-9)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Refractive index of a medium = 3.75\n3dB spectral bandwidth = 4.2 GHz\n"
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 10.3, page 562"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\ngs=30 #gain in dB\ng=200 #net gain\nloge=0.434 #log(e)\ngs1=1000\nm=2.2 #mode no\nnsp=4 #spontaneous emission factor\nh1=6.626*10**-34 #plancks constant\nf=1.94*10**14\nB=1.0*10**12 #bandwidth\n\n#Calculation\nL=gs/(10*g*loge) #length of the device\nP=m*nsp*(gs1-1)*h1*f*B #noise power spectral density\n\n#Result\nprint'(a) Length of the device = %.2f mm'%(L*10**3)\nprint'(b) Noise power spectral density = %.2f mW'%(P*10**3)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Length of the device = 34.56 mm\n(b) Noise power spectral density = 1.13 mW\n"
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 10.4, page 580"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nGp=62.2 #parametric peak gain in dB\nlog=10*math.log10(0.25)\nPp=1.4 #signal power in watt\nL=500 #length in meter\nlog2=20*math.log10(2.7182818284)\n\n\n#Calculation\ny=(Gp-log)/(Pp*L*log2) #fiber nonlinear coefficient\nGp2=10*math.log10((y*Pp*L)**2) #parametric gain\n \n#Result\nprint'(a) Fiber nonlinear coefficient = %.2f x 10^-3 W^-1 km^-1'%(y*1000)\nprint'(b) Quadratic gain, Gp = %.2f dB'%(Gp2)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Fiber nonlinear coefficient = 11.22 x 10^-3 W^-1 km^-1\n(b) Quadratic gain, Gp = 17.90 dB\n"
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 10.5, page 589 "
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\npt=0.5*10**-3 #input signal power\ndpt=0.01*10**-6 #input signal power variation\nh=1.55*10**-6 #signal wavelength\na=-1 #linewidth enhancement factor\ndn=-1.2*10**-26 #differential refractive index\n\n#Calculation\ndelt=(-a*dpt)/(4*math.pi*pt) #frequency chirp\ndg=(4*math.pi*dn)/(h*a) #differential gain\n \n#Result\nprint'(a) Frequency chirp variation = %.2f MHz'%(delt*10**6)\nprint'(b) Differential gain = %.2f x10^-20 m^2'%(dg*10**20)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Frequency chirp variation = 1.59 MHz\n(b) Differential gain = 9.73 x10^-20 m^2\n"
- }
- ],
- "prompt_number": 4
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter11.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter11.ipynb
deleted file mode 100755
index 77cd82ac..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter11.ipynb
+++ /dev/null
@@ -1,62 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_11"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter 1 : Integrated optics and photonics"
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 11.1, page 624"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nh=1.3*10**-6 #wavlength\nd=25*10**-6 #distance between the electrodes\nn1=2.1 #refractive index\nr=30.8*10**-12 #electro-optic coefficient\nl=2*10**-2 #length\n\n\n#Calculation\nV=(h*d)/(n1**3*r*l) #voltage\n\n#Result\nprint'Voltage = %.1f V'%V",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Voltage = 5.7 V\n"
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 11.2, page 629"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nn1=3.1 #refractive index\nthet=1 #angle in degree\nh=1.52*10**-6 #wavelength\nl=10**-2 #length\n\n#Calculation\nne=n1*math.sin(2*thet*math.pi/180) #effective refractive index\nD=h/(2*ne) #Corrugation period\ns=D*h/l #filter bandwidth\n\n\n#Result\nprint'Corrugation period = %.1f um'%(D*10**6)\nprint'Filter 3 dB bandwidth = %.1f \u00c5 '%(s*10**10)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Corrugation period = 7.0 um\nFilter 3 dB bandwidth = 10.7 \u00c5 \n"
- }
- ],
- "prompt_number": 2
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter11_1.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter11_1.ipynb
deleted file mode 100755
index 77cd82ac..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter11_1.ipynb
+++ /dev/null
@@ -1,62 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_11"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter 1 : Integrated optics and photonics"
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 11.1, page 624"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nh=1.3*10**-6 #wavlength\nd=25*10**-6 #distance between the electrodes\nn1=2.1 #refractive index\nr=30.8*10**-12 #electro-optic coefficient\nl=2*10**-2 #length\n\n\n#Calculation\nV=(h*d)/(n1**3*r*l) #voltage\n\n#Result\nprint'Voltage = %.1f V'%V",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Voltage = 5.7 V\n"
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 11.2, page 629"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nn1=3.1 #refractive index\nthet=1 #angle in degree\nh=1.52*10**-6 #wavelength\nl=10**-2 #length\n\n#Calculation\nne=n1*math.sin(2*thet*math.pi/180) #effective refractive index\nD=h/(2*ne) #Corrugation period\ns=D*h/l #filter bandwidth\n\n\n#Result\nprint'Corrugation period = %.1f um'%(D*10**6)\nprint'Filter 3 dB bandwidth = %.1f \u00c5 '%(s*10**10)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Corrugation period = 7.0 um\nFilter 3 dB bandwidth = 10.7 \u00c5 \n"
- }
- ],
- "prompt_number": 2
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter11_2.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter11_2.ipynb
deleted file mode 100755
index 77cd82ac..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter11_2.ipynb
+++ /dev/null
@@ -1,62 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_11"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter 1 : Integrated optics and photonics"
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 11.1, page 624"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nh=1.3*10**-6 #wavlength\nd=25*10**-6 #distance between the electrodes\nn1=2.1 #refractive index\nr=30.8*10**-12 #electro-optic coefficient\nl=2*10**-2 #length\n\n\n#Calculation\nV=(h*d)/(n1**3*r*l) #voltage\n\n#Result\nprint'Voltage = %.1f V'%V",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Voltage = 5.7 V\n"
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 11.2, page 629"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nn1=3.1 #refractive index\nthet=1 #angle in degree\nh=1.52*10**-6 #wavelength\nl=10**-2 #length\n\n#Calculation\nne=n1*math.sin(2*thet*math.pi/180) #effective refractive index\nD=h/(2*ne) #Corrugation period\ns=D*h/l #filter bandwidth\n\n\n#Result\nprint'Corrugation period = %.1f um'%(D*10**6)\nprint'Filter 3 dB bandwidth = %.1f \u00c5 '%(s*10**10)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Corrugation period = 7.0 um\nFilter 3 dB bandwidth = 10.7 \u00c5 \n"
- }
- ],
- "prompt_number": 2
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter12.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter12.ipynb
deleted file mode 100755
index 288c514a..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter12.ipynb
+++ /dev/null
@@ -1,488 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_12"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter 12 :- Optical fiber systems 1: Intensity modulation/direct detection\n"
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.1, page 706"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Variable declaration\nn=8 #bits in a time slot\nt=32 #bits in a frame\nf=8*10**3 #frequency\nm=16 #bits in a multiframe\n\n#Calculation\nnb=n*t #number of bits in a frame\nfr=nb*f #transmission rate\ntr=fr**-1 #bit duration\nts=tr*n #duration of a time slot\ntf=ts*t #duration of a frame\ntm=tf*m #duration of a multiframe\n\n#Result\nprint'(a) Bit rate for the system = %.3f Mbit s^-1'%(fr*10**-6)\nprint'(b) Duration of the time slot = %.1f \u03bcs'%(ts*10**6)\nprint'(c) Duration of a frame = %d \u03bcs' %(tf*10**6)\nprint'Duration of a multiframe = %d ms' %(tm*10**3)\n\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Bit rate for the system = 2.048 Mbit s^-1\n(b) Duration of the time slot = 3.9 \u03bcs\n(c) Duration of a frame = 125 \u03bcs\nDuration of a multiframe = 2 ms\n"
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.2, page 720"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nm=4.24 #erfc = 2*10^9\na=2*math.sqrt(2)\n\n#Calculation\nsn=m*a #root of S/N = optical\nsn1=10*math.log10(sn) #in dB\nisq=sn**2 #S/N = electrical \nisq1=10*math.log10(isq) #in dB\n#Result\nprint'Optical SNR = %.1f'%sn\nprint' = %.1f dB'%sn1\nprint'Electrical SNR = %.1f'%round(isq)\nprint' = %.1f dB'%isq1",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Optical SNR = 12.0\n = 10.8 dB\nElectrical SNR = 144.0\n = 21.6 dB\n"
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.3, page 723"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nm=100 #multiplication factor\nk=0.02 #ratio of carrier ionization rates \nsn=144 #electrical SNR\nn=0.8 #quantum efficiency\nB=0.6\n\n#Calculation\nfm=(k*m)+(2-(1/m))*(1-k) #avalanche noise factor\nzm=2*B*round(fm)*sn/n #average number of photons\n\n#Result\nprint'Average no of photons = %d photons'%round(zm)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Average no of photons = 864 photons\n"
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.4, page 724"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nzm=864 #average no of photons\nh=6.626*10**-34 #plancks constant\nc=2.998*10**8 #velocity of light\nl1=10**-6 #wavelength\nl2=10**-14 #wavelength\nbt=10**7 \nn=14\n\n\n#Calculation\npo1=(zm*h*c*bt)/(2*l1) #At 10 Mbit s^-1\npo2=(zm*h*c*n*bt)/(2*l2) #At 140 Mbit s^-1\n\n#Result\nprint'Incident optical power (10 Mbit s^-l) = %.1f pW'%(po1*10**12)\nprint'Incident optical power (140 Mbit s^-l) = %.3f W'%po2 #value given in a textbook is incorrect",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Incident optical power (10 Mbit s^-l) = 858.2 pW\nIncident optical power (140 Mbit s^-l) = 1.201 W\n"
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.5, page 726"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Variable declaration\nafc=5 #fibre cable attenuation\nai=2 #splice losses\nl=4 #length in Km\naf=3.5+2.5 #connector losses at source and detector resp\n\n#Calculation\nCl=(afc+ai)*l+af #total channel loss\n\n#Result\nprint'Total channel loss = %d dB'%Cl",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Total channel loss = 34 dB\n"
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.6, page 727"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\ns=0.6*10**-9 #rms pulse broadening\nL=8 #length in km\nbt=25*10**6 #bit rates\nbt1=150*10**6 #bit rates\n\n#Calculation\nst=s*L #total rms pulse broadening\ndl1=2*(2*st*bt*math.sqrt(2))**4 #without mode coupling\nst1=s*math.sqrt(L) #total rms pulse broadening\ndl2=2*(2*st1*bt*math.sqrt(2))**4 #with mode coupling\ndl3=2*(2*st*bt1*math.sqrt(2))**4 #without mode coupling\ndl4=2*(2*st1*bt1*math.sqrt(2))**4 #with mode coupling\n\n#Result\nprint'(a) For 25 Mbit per sec'\nprint'dispersion\u2013equalization penalty (without mode coupling) = %.2f dB'%dl1\nprint'dispersion\u2013equalization penalty (with mode coupling) = %.2f x 10^-4 dB\\n'%(dl2*10**4)\nprint'(b) For 150 Mbit per sec'\nprint'dispersion\u2013equalization penalty (without mode coupling) = %.2f dB'%dl3\nprint'dispersion\u2013equalization penalty (with mode coupling) = %.2f dB'%dl4",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) For 25 Mbit per sec\ndispersion\u2013equalization penalty (without mode coupling) = 0.03 dB\ndispersion\u2013equalization penalty (with mode coupling) = 4.15 x 10^-4 dB\n\n(b) For 150 Mbit per sec\ndispersion\u2013equalization penalty (without mode coupling) = 34.40 dB\ndispersion\u2013equalization penalty (with mode coupling) = 0.54 dB\n"
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.7, page 731"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nts=8 #rise time for source in ns\ntn=5*ts #for fiber intermodal\ntc=1*ts #for pulse broadening\ntd=6 #for detector\n\n#Calculation\ntsys=1.1*(ts**2+tn**2+tc**2+td**2)**0.5 #total system rise time\nBt=0.7/(tsys*10**-9) #max bit rate\n\n\n#Result\nprint'Bt (Max) = %.1f Mbit per sec'%(Bt/10**6)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Bt (Max) = 15.2 Mbit per sec\n"
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.8, page 732"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\npo=-55 #mean power required at the APD receiver at 35 Mbit s^-1\npo1=-44 #mean power required at the APD receiver at 400 Mbit s^-1\npi=-3 #mean power launched from the laser transmitter\nl1=0.4 #cable fiber loss\nl2=0.1 #splice losses\nl3=1 #connector loss \nma=7 #safety margin\na=0.5 \nacr=2\ndl=1.5\n\n#Calculation \nL1=(pi-po-acr-ma)/a #for 35 Mbit s^-1\nL2=(pi-po1-acr-ma)/a #for 400 Mbit s^-1\nL3=(pi-po1-acr-dl-ma)/a #reduction in the maximum possible link\n\n#Result\nprint'(a) Maximum possible link length (operating at 35 Mbit s^-1) = %d km'%L1\nprint'(b) Maximum possible link length (operating at 400 Mbit s^-1) = %d km'%L2\nprint'(c) Reduction in the maximum possible link length = %d km'%L3",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Maximum possible link length (operating at 35 Mbit s^-1) = 86 km\n(b) Maximum possible link length (operating at 400 Mbit s^-1) = 64 km\n(c) Reduction in the maximum possible link length = 61 km\n"
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.9, page 734"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\npo=-10 #mean optical power launched into the fiber from the transmitter (100 \u03bcm)\nrs=-41 #receiver sensitivity at 20 Mbit s^-1\nl1=7*2.6 #cabled fiber loss\nl2=6*0.5 #splice losses\nl3=1*1.5 #connector loss \nms=6 #safety margin\n\n#Calculation\nts=po-rs #Total system margin\ntsl=l1+l2+l3+ms #Total system loss\npm=ts-tsl #Excess power margin \n\n#Result\nprint'Total system margin = %d dB'%ts\nprint'Total system loss = %.1f dB'%tsl\nprint'Excess power margin = %.1f dB'%pm\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Total system margin = 31 dB\nTotal system loss = 28.7 dB\nExcess power margin = 2.3 dB\n"
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.10, page 740"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nv=5 #output voltage\nh=6.626*10**-34 #plancks constant\nc=2.998*10**8 #velocity of light\nk=1.385*10**-23 #boltzman constant\nt=290 #tempreture in kelvin\nzo=100 #cable impedance\nn=0.7 #quantum efficiency\npi=10**-3 #optical power\nlam=0.85*10**-6 #wavelength\n\n#Calculation\nratio=(v**2*h*c)/(2*k*t*zo*n*pi*lam) #ratio\nratio1=10*math.log10(ratio) #ration in dB\n\n#Result\nprint'Ratio = %d dB'%ratio1",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Ratio = 40 dB\n"
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.11, page 744"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nma=0.8 #modulation index\nR=0.5 #responsivity\nb=0.7 #ratio of luminance to composite video\nsnr=3.162*10**5 #SNR\ne=1.602*10**-19 #electron volt\nB=5*10**6 #bandwidth\nK=1.385*10**-23 #boltzman constant \nT=293 #tempreture in kelvin\nFn=1.413\nRl=10**6\n\n#Calculation\na=(2*ma*R*b)**2\nc=snr*2*e*B*R\nd=snr*4*K*T*B*Fn/Rl\nf = (c**2)+(4*a*d)\npo=(c+math.sqrt(f))/(2*a) #average incident optical power \npo1=10*math.log10(po*1000) #in dB\n\n#Result\nprint'Average incident optical power = %.2f uW'%(po*10**6)\nprint' = %.1f dB m'%po1\n\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Average incident optical power = 0.93 uW\n = -30.3 dB m\n"
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.12, page 747"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nh=6.626*10**-34 #plancks constant\nc=2.998*10**8 #velocity of light\ne=1.602*10**-19 #1 electron volt\nn=0.6 #p\u2013i\u2013n photodiode quantum efficiency\nma=0.5 #modulation index\nlam=10**-6 #wavelength\nk=1.385*10**-23 #boltzman constant \nt=300 #tempreture in kelvin\nf=4 #amplifier noise figure\nrl=50*10**3 #effective load impedance\nsn=3.162*10**4 #signal to noise ratio\nB=10**7 #bandwidth\n\n#Calculation\na=h*c/(e*n*ma**2*lam)\nb=math.sqrt((8*k*t*f)/rl)\nc=math.sqrt(sn*B)\npo=a*b*c #optical power\npo1=10*math.log10(po*1000) #optical power in dB\n\n#Result\nprint'Optical power, Po = %.2f uW'%(po*10**6)\nprint' = %.1f dBm'%po1",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Optical power, Po = 7.58 uW\n = -21.2 dBm\n"
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.13, page 748"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\npo=-10 #mean optical power launched into the fiber from the transmitter (100 \u03bcm)\nrs=-25 #receiver sensitivity \nl1=2*3.5 #cable fiber loss\nl2=2*0.7 #splice losses\nl3=1.6 #connector loss \nms=4.0 #safety margin\nafc=3.5\nai=0.7\nacr=1.6\nma=7\n\n#Calculation\nts=po-rs #Total system margi\ntsl=l1+l2+l3+ms #Total system loss\npm=ts-tsl #Excess power margin \nL=((0-rs)-(acr+ma))/(afc+ai)\n\n#Result\nprint'(a) Total system margin = %d dB'%ts\nprint' Total system loss = %.1f dB'%tsl\nprint' Excess power margin = %.1f dB'%pm\nprint'\\n(b) Increase in link length = %.1f Km'%(L)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Total system margin = 15 dB\n Total system loss = 14.0 dB\n Excess power margin = 1.0 dB\n\n(b) Increase in link length = 3.9 Km\n"
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.14, page 750"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Variable declaration\nBop=6*10**6\nts=10 #rise time for source in ns\ntn=5*9 #for fiber intermodal\ntc=5*2 #for pulse broadening\ntd=3 #for detector\n\n\n#Calculation\ntsys=0.35/Bop\ntsys1=1.1*(ts**2+tn**2+tc**2+td**2)**0.5 #total system rise time\n\n#Result\nprint'Maximum permitted system rise time = %.1f ns'%(tsys*10**9)\nprint'Total system rise time = %.1f ns'%(tsys1)\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Maximum permitted system rise time = 58.3 ns\nTotal system rise time = 52.0 ns\n"
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.15, page 755"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nfd=400*10**3 #peak frequency deviation\nBa=4*10**3 #bandwidth\n\n#Calculation\nDf=fd/Ba #frequency deviation ratio\nsnr=1.76+(20*math.log10(Df)) #SNR improvement\nBm=2*(Df+1)*Ba #bandwidth of the FM\u2013IM signal \n \n#Result\nprint'(a) SNR improvement = %.2f dB'%snr\nprint'(b) Frequency deviation ratio = %d'%Df\nprint' Bandwidth of FM-IM signal = %d kHz'%(Bm/1000)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) SNR improvement = 41.76 dB\n(b) Frequency deviation ratio = 100\n Bandwidth of FM-IM signal = 808 kHz\n"
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.16, page 757"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nfm=3 #output FM ratio\npm=1 #output PM ratio\n\n#Calculation\nratio=fm/pm #SNR ratio\nratio1=10*math.log10(ratio) #SNR ratio in dB\n\n#Result\nprint'Ratio of output SNR = %.2f dB'%(ratio1)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Ratio of output SNR = 4.77 dB\n"
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.17, page 759"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nto=5*10**-8 #nominal pulse period\nfd=5*10**6 #Peak-to-peak frequency deviation\nM=60 #A PD multiplication factor\nR=0.7 #A PD responsivity\npo=10**-7 #peak optical power at receiver\ntr=12*10**-9 #Total system 10\u201390% rise time\nB=6*10**6 #baseband noise bandwidth\ni=10**-17 #Receiver mean square noise current\n\n\n#Calculation\nsnp=(3*(to*fd*M*R*po)**2)/(i*(2*math.pi*tr*B)**2) #peak-to-peak signal to rms noise ratio\nsnp1=10*math.log10(snp) #in dB\n\n#Result\nprint'Peak-to-peak signal to rms noise ratio = %.1f dB'%snp1\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Peak-to-peak signal to rms noise ratio = 62.1 dB\n"
- }
- ],
- "prompt_number": 17
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.18, page 763"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "%pylab inline\nimport math\nfrom pylab import *\nfrom numpy import *\n\n#Variable declaration\nacr=1 #connector loss in dB\nafc=5 #loss per kilometer in dB\nLbu=0.1 #fiber length between each of the access couplers\nLac=1 #insertion loss\nLtr=10 #loss due to the tap ratio\nLsp=3 #splitting loss\n \n#Calculating, we get two equation in terms of N, no of nodes, i.e C(1,N-1)=(3.5*N)+8.5 and C(star)=4.5+(10*log10(N)) \n\n#For Bus distribution system\n\nfor N in range(1,13,1):\n C=(3.5*N)+8.5;\n a=plot(N,C,'.r')\n \n \n#for Star distribution system\n \nfor N in range(1,30,1):\n C1=4.5+(10*log10(N));\n b=plot(N,C1,'.g')\n \n \n#To show plot in same graph\n#Graphical comparison showing total channel loss against number of nodes\n\nxlabel(\"Number of nodes $N$\")\nylabel(\"Total channel loss $CL$ (dB)\")\ngrid()\nshow(a)\nshow(b)\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Populating the interactive namespace from numpy and matplotlib\n"
- },
- {
- "metadata": {},
- "output_type": "display_data",
- "png": "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\nAAAAAElFTkSuQmCC\n",
- "text": "<matplotlib.figure.Figure at 0x3f7ea90>"
- }
- ],
- "prompt_number": 27
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.19, page 782"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Variable declaration\nh=6.626*10**-34 #plancks constant\nc=2.998*10**8 #velocity of light\nlam=1.55*10**-6 #wavelength\nL=100*10**3 #length\nK=4 \nB=1.2*10**9 #bandwidth\nsnr=50 #SNR\na=10**-2.5\npi=10**-3\n\n#Calculation\nLt=(pi*lam*a*L)/(K*h*c*B*snr) #link with a large number of cascaded amplifiers\n\n#Result\nprint'Maximum system length = %d x 10^4 km'%(Lt/10**7)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Maximum system length = 1 x 10^4 km\n"
- }
- ],
- "prompt_number": 19
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.21, page 791"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nb=17 #second-order dispersion coefficient for the latter path\nL2=20 #path length in km\nL1=160.00 #path length in km\ns1=-0.075 #dispersion slope\n\n#Calculation\na=-b*L2\nG=a/L1 #second-order dispersion coefficient\ns2=s1*L1/L2 #chromatic dispersion slope\n\n#Result\nprint'(a) Second-order dispersion coefficient = %.3f ps nm^-1 km^-1'%G \nprint'(b) chromatic dispersion slope = %.1f ps nm^-2 km^-1'%s2",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Second-order dispersion coefficient = -2.125 ps nm^-1 km^-1\n(b) chromatic dispersion slope = -0.6 ps nm^-2 km^-1\n"
- }
- ],
- "prompt_number": 20
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.22, page 798"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nto=70*10**-12 #bit period\nt=6*10**-12 #RZ pulse width\nB2=50*10**-12*10**-12*10**-3 #second-order dispersion coefficient\nL=50*10**3 #amplifier spacing\n\n#Calculation\nqo=0.5*to/t #separation of the soliton pulses \nBt=(2*qo*math.sqrt(B2*L))**-1 #transmission bit rate \n\n#Result\nprint'(a) Separation = %.1f'%qo\nprint'(b) Transmission bit rate = %.2f x 10^9'%(Bt*10**-8)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Separation = 5.8\n(b) Transmission bit rate = 17.14 x 10^9\n"
- }
- ],
- "prompt_number": 21
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.23, page 799"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nto=40*10**-12 #bit period\nt=4*10**-12 #RZ pulse width\na=0.2*10**-3 #attenuation coefficient\nB2=1.25*10**-12*10**-12*10**-3 #second-order dispersion coefficient\n\n#Calculation\nqo=0.5*to/t #separation of the soliton pulses \nb=1/(2*qo)\nc=math.sqrt(a/B2)\nBt=b*c #transmission bit rate \n\n#Result\nprint'(a) Separation = %.1f'%qo\nprint'(b) Transmission bit rate = %.2f x 10^10 bit s^-1'%(Bt*10**-10)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Separation = 5.0\n(b) Transmission bit rate = 4.00 x 10^10 bit s^-1\n"
- }
- ],
- "prompt_number": 22
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter12_1.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter12_1.ipynb
deleted file mode 100755
index 288c514a..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter12_1.ipynb
+++ /dev/null
@@ -1,488 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_12"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter 12 :- Optical fiber systems 1: Intensity modulation/direct detection\n"
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.1, page 706"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Variable declaration\nn=8 #bits in a time slot\nt=32 #bits in a frame\nf=8*10**3 #frequency\nm=16 #bits in a multiframe\n\n#Calculation\nnb=n*t #number of bits in a frame\nfr=nb*f #transmission rate\ntr=fr**-1 #bit duration\nts=tr*n #duration of a time slot\ntf=ts*t #duration of a frame\ntm=tf*m #duration of a multiframe\n\n#Result\nprint'(a) Bit rate for the system = %.3f Mbit s^-1'%(fr*10**-6)\nprint'(b) Duration of the time slot = %.1f \u03bcs'%(ts*10**6)\nprint'(c) Duration of a frame = %d \u03bcs' %(tf*10**6)\nprint'Duration of a multiframe = %d ms' %(tm*10**3)\n\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Bit rate for the system = 2.048 Mbit s^-1\n(b) Duration of the time slot = 3.9 \u03bcs\n(c) Duration of a frame = 125 \u03bcs\nDuration of a multiframe = 2 ms\n"
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.2, page 720"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nm=4.24 #erfc = 2*10^9\na=2*math.sqrt(2)\n\n#Calculation\nsn=m*a #root of S/N = optical\nsn1=10*math.log10(sn) #in dB\nisq=sn**2 #S/N = electrical \nisq1=10*math.log10(isq) #in dB\n#Result\nprint'Optical SNR = %.1f'%sn\nprint' = %.1f dB'%sn1\nprint'Electrical SNR = %.1f'%round(isq)\nprint' = %.1f dB'%isq1",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Optical SNR = 12.0\n = 10.8 dB\nElectrical SNR = 144.0\n = 21.6 dB\n"
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.3, page 723"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nm=100 #multiplication factor\nk=0.02 #ratio of carrier ionization rates \nsn=144 #electrical SNR\nn=0.8 #quantum efficiency\nB=0.6\n\n#Calculation\nfm=(k*m)+(2-(1/m))*(1-k) #avalanche noise factor\nzm=2*B*round(fm)*sn/n #average number of photons\n\n#Result\nprint'Average no of photons = %d photons'%round(zm)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Average no of photons = 864 photons\n"
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.4, page 724"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nzm=864 #average no of photons\nh=6.626*10**-34 #plancks constant\nc=2.998*10**8 #velocity of light\nl1=10**-6 #wavelength\nl2=10**-14 #wavelength\nbt=10**7 \nn=14\n\n\n#Calculation\npo1=(zm*h*c*bt)/(2*l1) #At 10 Mbit s^-1\npo2=(zm*h*c*n*bt)/(2*l2) #At 140 Mbit s^-1\n\n#Result\nprint'Incident optical power (10 Mbit s^-l) = %.1f pW'%(po1*10**12)\nprint'Incident optical power (140 Mbit s^-l) = %.3f W'%po2 #value given in a textbook is incorrect",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Incident optical power (10 Mbit s^-l) = 858.2 pW\nIncident optical power (140 Mbit s^-l) = 1.201 W\n"
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.5, page 726"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Variable declaration\nafc=5 #fibre cable attenuation\nai=2 #splice losses\nl=4 #length in Km\naf=3.5+2.5 #connector losses at source and detector resp\n\n#Calculation\nCl=(afc+ai)*l+af #total channel loss\n\n#Result\nprint'Total channel loss = %d dB'%Cl",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Total channel loss = 34 dB\n"
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.6, page 727"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\ns=0.6*10**-9 #rms pulse broadening\nL=8 #length in km\nbt=25*10**6 #bit rates\nbt1=150*10**6 #bit rates\n\n#Calculation\nst=s*L #total rms pulse broadening\ndl1=2*(2*st*bt*math.sqrt(2))**4 #without mode coupling\nst1=s*math.sqrt(L) #total rms pulse broadening\ndl2=2*(2*st1*bt*math.sqrt(2))**4 #with mode coupling\ndl3=2*(2*st*bt1*math.sqrt(2))**4 #without mode coupling\ndl4=2*(2*st1*bt1*math.sqrt(2))**4 #with mode coupling\n\n#Result\nprint'(a) For 25 Mbit per sec'\nprint'dispersion\u2013equalization penalty (without mode coupling) = %.2f dB'%dl1\nprint'dispersion\u2013equalization penalty (with mode coupling) = %.2f x 10^-4 dB\\n'%(dl2*10**4)\nprint'(b) For 150 Mbit per sec'\nprint'dispersion\u2013equalization penalty (without mode coupling) = %.2f dB'%dl3\nprint'dispersion\u2013equalization penalty (with mode coupling) = %.2f dB'%dl4",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) For 25 Mbit per sec\ndispersion\u2013equalization penalty (without mode coupling) = 0.03 dB\ndispersion\u2013equalization penalty (with mode coupling) = 4.15 x 10^-4 dB\n\n(b) For 150 Mbit per sec\ndispersion\u2013equalization penalty (without mode coupling) = 34.40 dB\ndispersion\u2013equalization penalty (with mode coupling) = 0.54 dB\n"
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.7, page 731"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nts=8 #rise time for source in ns\ntn=5*ts #for fiber intermodal\ntc=1*ts #for pulse broadening\ntd=6 #for detector\n\n#Calculation\ntsys=1.1*(ts**2+tn**2+tc**2+td**2)**0.5 #total system rise time\nBt=0.7/(tsys*10**-9) #max bit rate\n\n\n#Result\nprint'Bt (Max) = %.1f Mbit per sec'%(Bt/10**6)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Bt (Max) = 15.2 Mbit per sec\n"
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.8, page 732"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\npo=-55 #mean power required at the APD receiver at 35 Mbit s^-1\npo1=-44 #mean power required at the APD receiver at 400 Mbit s^-1\npi=-3 #mean power launched from the laser transmitter\nl1=0.4 #cable fiber loss\nl2=0.1 #splice losses\nl3=1 #connector loss \nma=7 #safety margin\na=0.5 \nacr=2\ndl=1.5\n\n#Calculation \nL1=(pi-po-acr-ma)/a #for 35 Mbit s^-1\nL2=(pi-po1-acr-ma)/a #for 400 Mbit s^-1\nL3=(pi-po1-acr-dl-ma)/a #reduction in the maximum possible link\n\n#Result\nprint'(a) Maximum possible link length (operating at 35 Mbit s^-1) = %d km'%L1\nprint'(b) Maximum possible link length (operating at 400 Mbit s^-1) = %d km'%L2\nprint'(c) Reduction in the maximum possible link length = %d km'%L3",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Maximum possible link length (operating at 35 Mbit s^-1) = 86 km\n(b) Maximum possible link length (operating at 400 Mbit s^-1) = 64 km\n(c) Reduction in the maximum possible link length = 61 km\n"
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.9, page 734"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\npo=-10 #mean optical power launched into the fiber from the transmitter (100 \u03bcm)\nrs=-41 #receiver sensitivity at 20 Mbit s^-1\nl1=7*2.6 #cabled fiber loss\nl2=6*0.5 #splice losses\nl3=1*1.5 #connector loss \nms=6 #safety margin\n\n#Calculation\nts=po-rs #Total system margin\ntsl=l1+l2+l3+ms #Total system loss\npm=ts-tsl #Excess power margin \n\n#Result\nprint'Total system margin = %d dB'%ts\nprint'Total system loss = %.1f dB'%tsl\nprint'Excess power margin = %.1f dB'%pm\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Total system margin = 31 dB\nTotal system loss = 28.7 dB\nExcess power margin = 2.3 dB\n"
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.10, page 740"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nv=5 #output voltage\nh=6.626*10**-34 #plancks constant\nc=2.998*10**8 #velocity of light\nk=1.385*10**-23 #boltzman constant\nt=290 #tempreture in kelvin\nzo=100 #cable impedance\nn=0.7 #quantum efficiency\npi=10**-3 #optical power\nlam=0.85*10**-6 #wavelength\n\n#Calculation\nratio=(v**2*h*c)/(2*k*t*zo*n*pi*lam) #ratio\nratio1=10*math.log10(ratio) #ration in dB\n\n#Result\nprint'Ratio = %d dB'%ratio1",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Ratio = 40 dB\n"
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.11, page 744"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nma=0.8 #modulation index\nR=0.5 #responsivity\nb=0.7 #ratio of luminance to composite video\nsnr=3.162*10**5 #SNR\ne=1.602*10**-19 #electron volt\nB=5*10**6 #bandwidth\nK=1.385*10**-23 #boltzman constant \nT=293 #tempreture in kelvin\nFn=1.413\nRl=10**6\n\n#Calculation\na=(2*ma*R*b)**2\nc=snr*2*e*B*R\nd=snr*4*K*T*B*Fn/Rl\nf = (c**2)+(4*a*d)\npo=(c+math.sqrt(f))/(2*a) #average incident optical power \npo1=10*math.log10(po*1000) #in dB\n\n#Result\nprint'Average incident optical power = %.2f uW'%(po*10**6)\nprint' = %.1f dB m'%po1\n\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Average incident optical power = 0.93 uW\n = -30.3 dB m\n"
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.12, page 747"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nh=6.626*10**-34 #plancks constant\nc=2.998*10**8 #velocity of light\ne=1.602*10**-19 #1 electron volt\nn=0.6 #p\u2013i\u2013n photodiode quantum efficiency\nma=0.5 #modulation index\nlam=10**-6 #wavelength\nk=1.385*10**-23 #boltzman constant \nt=300 #tempreture in kelvin\nf=4 #amplifier noise figure\nrl=50*10**3 #effective load impedance\nsn=3.162*10**4 #signal to noise ratio\nB=10**7 #bandwidth\n\n#Calculation\na=h*c/(e*n*ma**2*lam)\nb=math.sqrt((8*k*t*f)/rl)\nc=math.sqrt(sn*B)\npo=a*b*c #optical power\npo1=10*math.log10(po*1000) #optical power in dB\n\n#Result\nprint'Optical power, Po = %.2f uW'%(po*10**6)\nprint' = %.1f dBm'%po1",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Optical power, Po = 7.58 uW\n = -21.2 dBm\n"
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.13, page 748"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\npo=-10 #mean optical power launched into the fiber from the transmitter (100 \u03bcm)\nrs=-25 #receiver sensitivity \nl1=2*3.5 #cable fiber loss\nl2=2*0.7 #splice losses\nl3=1.6 #connector loss \nms=4.0 #safety margin\nafc=3.5\nai=0.7\nacr=1.6\nma=7\n\n#Calculation\nts=po-rs #Total system margi\ntsl=l1+l2+l3+ms #Total system loss\npm=ts-tsl #Excess power margin \nL=((0-rs)-(acr+ma))/(afc+ai)\n\n#Result\nprint'(a) Total system margin = %d dB'%ts\nprint' Total system loss = %.1f dB'%tsl\nprint' Excess power margin = %.1f dB'%pm\nprint'\\n(b) Increase in link length = %.1f Km'%(L)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Total system margin = 15 dB\n Total system loss = 14.0 dB\n Excess power margin = 1.0 dB\n\n(b) Increase in link length = 3.9 Km\n"
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.14, page 750"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Variable declaration\nBop=6*10**6\nts=10 #rise time for source in ns\ntn=5*9 #for fiber intermodal\ntc=5*2 #for pulse broadening\ntd=3 #for detector\n\n\n#Calculation\ntsys=0.35/Bop\ntsys1=1.1*(ts**2+tn**2+tc**2+td**2)**0.5 #total system rise time\n\n#Result\nprint'Maximum permitted system rise time = %.1f ns'%(tsys*10**9)\nprint'Total system rise time = %.1f ns'%(tsys1)\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Maximum permitted system rise time = 58.3 ns\nTotal system rise time = 52.0 ns\n"
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.15, page 755"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nfd=400*10**3 #peak frequency deviation\nBa=4*10**3 #bandwidth\n\n#Calculation\nDf=fd/Ba #frequency deviation ratio\nsnr=1.76+(20*math.log10(Df)) #SNR improvement\nBm=2*(Df+1)*Ba #bandwidth of the FM\u2013IM signal \n \n#Result\nprint'(a) SNR improvement = %.2f dB'%snr\nprint'(b) Frequency deviation ratio = %d'%Df\nprint' Bandwidth of FM-IM signal = %d kHz'%(Bm/1000)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) SNR improvement = 41.76 dB\n(b) Frequency deviation ratio = 100\n Bandwidth of FM-IM signal = 808 kHz\n"
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.16, page 757"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nfm=3 #output FM ratio\npm=1 #output PM ratio\n\n#Calculation\nratio=fm/pm #SNR ratio\nratio1=10*math.log10(ratio) #SNR ratio in dB\n\n#Result\nprint'Ratio of output SNR = %.2f dB'%(ratio1)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Ratio of output SNR = 4.77 dB\n"
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.17, page 759"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nto=5*10**-8 #nominal pulse period\nfd=5*10**6 #Peak-to-peak frequency deviation\nM=60 #A PD multiplication factor\nR=0.7 #A PD responsivity\npo=10**-7 #peak optical power at receiver\ntr=12*10**-9 #Total system 10\u201390% rise time\nB=6*10**6 #baseband noise bandwidth\ni=10**-17 #Receiver mean square noise current\n\n\n#Calculation\nsnp=(3*(to*fd*M*R*po)**2)/(i*(2*math.pi*tr*B)**2) #peak-to-peak signal to rms noise ratio\nsnp1=10*math.log10(snp) #in dB\n\n#Result\nprint'Peak-to-peak signal to rms noise ratio = %.1f dB'%snp1\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Peak-to-peak signal to rms noise ratio = 62.1 dB\n"
- }
- ],
- "prompt_number": 17
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.18, page 763"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "%pylab inline\nimport math\nfrom pylab import *\nfrom numpy import *\n\n#Variable declaration\nacr=1 #connector loss in dB\nafc=5 #loss per kilometer in dB\nLbu=0.1 #fiber length between each of the access couplers\nLac=1 #insertion loss\nLtr=10 #loss due to the tap ratio\nLsp=3 #splitting loss\n \n#Calculating, we get two equation in terms of N, no of nodes, i.e C(1,N-1)=(3.5*N)+8.5 and C(star)=4.5+(10*log10(N)) \n\n#For Bus distribution system\n\nfor N in range(1,13,1):\n C=(3.5*N)+8.5;\n a=plot(N,C,'.r')\n \n \n#for Star distribution system\n \nfor N in range(1,30,1):\n C1=4.5+(10*log10(N));\n b=plot(N,C1,'.g')\n \n \n#To show plot in same graph\n#Graphical comparison showing total channel loss against number of nodes\n\nxlabel(\"Number of nodes $N$\")\nylabel(\"Total channel loss $CL$ (dB)\")\ngrid()\nshow(a)\nshow(b)\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Populating the interactive namespace from numpy and matplotlib\n"
- },
- {
- "metadata": {},
- "output_type": "display_data",
- "png": "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\nAAAAAElFTkSuQmCC\n",
- "text": "<matplotlib.figure.Figure at 0x3f7ea90>"
- }
- ],
- "prompt_number": 27
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.19, page 782"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Variable declaration\nh=6.626*10**-34 #plancks constant\nc=2.998*10**8 #velocity of light\nlam=1.55*10**-6 #wavelength\nL=100*10**3 #length\nK=4 \nB=1.2*10**9 #bandwidth\nsnr=50 #SNR\na=10**-2.5\npi=10**-3\n\n#Calculation\nLt=(pi*lam*a*L)/(K*h*c*B*snr) #link with a large number of cascaded amplifiers\n\n#Result\nprint'Maximum system length = %d x 10^4 km'%(Lt/10**7)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Maximum system length = 1 x 10^4 km\n"
- }
- ],
- "prompt_number": 19
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.21, page 791"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nb=17 #second-order dispersion coefficient for the latter path\nL2=20 #path length in km\nL1=160.00 #path length in km\ns1=-0.075 #dispersion slope\n\n#Calculation\na=-b*L2\nG=a/L1 #second-order dispersion coefficient\ns2=s1*L1/L2 #chromatic dispersion slope\n\n#Result\nprint'(a) Second-order dispersion coefficient = %.3f ps nm^-1 km^-1'%G \nprint'(b) chromatic dispersion slope = %.1f ps nm^-2 km^-1'%s2",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Second-order dispersion coefficient = -2.125 ps nm^-1 km^-1\n(b) chromatic dispersion slope = -0.6 ps nm^-2 km^-1\n"
- }
- ],
- "prompt_number": 20
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.22, page 798"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nto=70*10**-12 #bit period\nt=6*10**-12 #RZ pulse width\nB2=50*10**-12*10**-12*10**-3 #second-order dispersion coefficient\nL=50*10**3 #amplifier spacing\n\n#Calculation\nqo=0.5*to/t #separation of the soliton pulses \nBt=(2*qo*math.sqrt(B2*L))**-1 #transmission bit rate \n\n#Result\nprint'(a) Separation = %.1f'%qo\nprint'(b) Transmission bit rate = %.2f x 10^9'%(Bt*10**-8)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Separation = 5.8\n(b) Transmission bit rate = 17.14 x 10^9\n"
- }
- ],
- "prompt_number": 21
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.23, page 799"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nto=40*10**-12 #bit period\nt=4*10**-12 #RZ pulse width\na=0.2*10**-3 #attenuation coefficient\nB2=1.25*10**-12*10**-12*10**-3 #second-order dispersion coefficient\n\n#Calculation\nqo=0.5*to/t #separation of the soliton pulses \nb=1/(2*qo)\nc=math.sqrt(a/B2)\nBt=b*c #transmission bit rate \n\n#Result\nprint'(a) Separation = %.1f'%qo\nprint'(b) Transmission bit rate = %.2f x 10^10 bit s^-1'%(Bt*10**-10)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Separation = 5.0\n(b) Transmission bit rate = 4.00 x 10^10 bit s^-1\n"
- }
- ],
- "prompt_number": 22
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter12_2.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter12_2.ipynb
deleted file mode 100755
index 288c514a..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter12_2.ipynb
+++ /dev/null
@@ -1,488 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_12"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter 12 :- Optical fiber systems 1: Intensity modulation/direct detection\n"
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.1, page 706"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Variable declaration\nn=8 #bits in a time slot\nt=32 #bits in a frame\nf=8*10**3 #frequency\nm=16 #bits in a multiframe\n\n#Calculation\nnb=n*t #number of bits in a frame\nfr=nb*f #transmission rate\ntr=fr**-1 #bit duration\nts=tr*n #duration of a time slot\ntf=ts*t #duration of a frame\ntm=tf*m #duration of a multiframe\n\n#Result\nprint'(a) Bit rate for the system = %.3f Mbit s^-1'%(fr*10**-6)\nprint'(b) Duration of the time slot = %.1f \u03bcs'%(ts*10**6)\nprint'(c) Duration of a frame = %d \u03bcs' %(tf*10**6)\nprint'Duration of a multiframe = %d ms' %(tm*10**3)\n\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Bit rate for the system = 2.048 Mbit s^-1\n(b) Duration of the time slot = 3.9 \u03bcs\n(c) Duration of a frame = 125 \u03bcs\nDuration of a multiframe = 2 ms\n"
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.2, page 720"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nm=4.24 #erfc = 2*10^9\na=2*math.sqrt(2)\n\n#Calculation\nsn=m*a #root of S/N = optical\nsn1=10*math.log10(sn) #in dB\nisq=sn**2 #S/N = electrical \nisq1=10*math.log10(isq) #in dB\n#Result\nprint'Optical SNR = %.1f'%sn\nprint' = %.1f dB'%sn1\nprint'Electrical SNR = %.1f'%round(isq)\nprint' = %.1f dB'%isq1",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Optical SNR = 12.0\n = 10.8 dB\nElectrical SNR = 144.0\n = 21.6 dB\n"
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.3, page 723"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nm=100 #multiplication factor\nk=0.02 #ratio of carrier ionization rates \nsn=144 #electrical SNR\nn=0.8 #quantum efficiency\nB=0.6\n\n#Calculation\nfm=(k*m)+(2-(1/m))*(1-k) #avalanche noise factor\nzm=2*B*round(fm)*sn/n #average number of photons\n\n#Result\nprint'Average no of photons = %d photons'%round(zm)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Average no of photons = 864 photons\n"
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.4, page 724"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nzm=864 #average no of photons\nh=6.626*10**-34 #plancks constant\nc=2.998*10**8 #velocity of light\nl1=10**-6 #wavelength\nl2=10**-14 #wavelength\nbt=10**7 \nn=14\n\n\n#Calculation\npo1=(zm*h*c*bt)/(2*l1) #At 10 Mbit s^-1\npo2=(zm*h*c*n*bt)/(2*l2) #At 140 Mbit s^-1\n\n#Result\nprint'Incident optical power (10 Mbit s^-l) = %.1f pW'%(po1*10**12)\nprint'Incident optical power (140 Mbit s^-l) = %.3f W'%po2 #value given in a textbook is incorrect",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Incident optical power (10 Mbit s^-l) = 858.2 pW\nIncident optical power (140 Mbit s^-l) = 1.201 W\n"
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.5, page 726"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Variable declaration\nafc=5 #fibre cable attenuation\nai=2 #splice losses\nl=4 #length in Km\naf=3.5+2.5 #connector losses at source and detector resp\n\n#Calculation\nCl=(afc+ai)*l+af #total channel loss\n\n#Result\nprint'Total channel loss = %d dB'%Cl",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Total channel loss = 34 dB\n"
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.6, page 727"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\ns=0.6*10**-9 #rms pulse broadening\nL=8 #length in km\nbt=25*10**6 #bit rates\nbt1=150*10**6 #bit rates\n\n#Calculation\nst=s*L #total rms pulse broadening\ndl1=2*(2*st*bt*math.sqrt(2))**4 #without mode coupling\nst1=s*math.sqrt(L) #total rms pulse broadening\ndl2=2*(2*st1*bt*math.sqrt(2))**4 #with mode coupling\ndl3=2*(2*st*bt1*math.sqrt(2))**4 #without mode coupling\ndl4=2*(2*st1*bt1*math.sqrt(2))**4 #with mode coupling\n\n#Result\nprint'(a) For 25 Mbit per sec'\nprint'dispersion\u2013equalization penalty (without mode coupling) = %.2f dB'%dl1\nprint'dispersion\u2013equalization penalty (with mode coupling) = %.2f x 10^-4 dB\\n'%(dl2*10**4)\nprint'(b) For 150 Mbit per sec'\nprint'dispersion\u2013equalization penalty (without mode coupling) = %.2f dB'%dl3\nprint'dispersion\u2013equalization penalty (with mode coupling) = %.2f dB'%dl4",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) For 25 Mbit per sec\ndispersion\u2013equalization penalty (without mode coupling) = 0.03 dB\ndispersion\u2013equalization penalty (with mode coupling) = 4.15 x 10^-4 dB\n\n(b) For 150 Mbit per sec\ndispersion\u2013equalization penalty (without mode coupling) = 34.40 dB\ndispersion\u2013equalization penalty (with mode coupling) = 0.54 dB\n"
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.7, page 731"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nts=8 #rise time for source in ns\ntn=5*ts #for fiber intermodal\ntc=1*ts #for pulse broadening\ntd=6 #for detector\n\n#Calculation\ntsys=1.1*(ts**2+tn**2+tc**2+td**2)**0.5 #total system rise time\nBt=0.7/(tsys*10**-9) #max bit rate\n\n\n#Result\nprint'Bt (Max) = %.1f Mbit per sec'%(Bt/10**6)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Bt (Max) = 15.2 Mbit per sec\n"
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.8, page 732"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\npo=-55 #mean power required at the APD receiver at 35 Mbit s^-1\npo1=-44 #mean power required at the APD receiver at 400 Mbit s^-1\npi=-3 #mean power launched from the laser transmitter\nl1=0.4 #cable fiber loss\nl2=0.1 #splice losses\nl3=1 #connector loss \nma=7 #safety margin\na=0.5 \nacr=2\ndl=1.5\n\n#Calculation \nL1=(pi-po-acr-ma)/a #for 35 Mbit s^-1\nL2=(pi-po1-acr-ma)/a #for 400 Mbit s^-1\nL3=(pi-po1-acr-dl-ma)/a #reduction in the maximum possible link\n\n#Result\nprint'(a) Maximum possible link length (operating at 35 Mbit s^-1) = %d km'%L1\nprint'(b) Maximum possible link length (operating at 400 Mbit s^-1) = %d km'%L2\nprint'(c) Reduction in the maximum possible link length = %d km'%L3",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Maximum possible link length (operating at 35 Mbit s^-1) = 86 km\n(b) Maximum possible link length (operating at 400 Mbit s^-1) = 64 km\n(c) Reduction in the maximum possible link length = 61 km\n"
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.9, page 734"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\npo=-10 #mean optical power launched into the fiber from the transmitter (100 \u03bcm)\nrs=-41 #receiver sensitivity at 20 Mbit s^-1\nl1=7*2.6 #cabled fiber loss\nl2=6*0.5 #splice losses\nl3=1*1.5 #connector loss \nms=6 #safety margin\n\n#Calculation\nts=po-rs #Total system margin\ntsl=l1+l2+l3+ms #Total system loss\npm=ts-tsl #Excess power margin \n\n#Result\nprint'Total system margin = %d dB'%ts\nprint'Total system loss = %.1f dB'%tsl\nprint'Excess power margin = %.1f dB'%pm\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Total system margin = 31 dB\nTotal system loss = 28.7 dB\nExcess power margin = 2.3 dB\n"
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.10, page 740"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nv=5 #output voltage\nh=6.626*10**-34 #plancks constant\nc=2.998*10**8 #velocity of light\nk=1.385*10**-23 #boltzman constant\nt=290 #tempreture in kelvin\nzo=100 #cable impedance\nn=0.7 #quantum efficiency\npi=10**-3 #optical power\nlam=0.85*10**-6 #wavelength\n\n#Calculation\nratio=(v**2*h*c)/(2*k*t*zo*n*pi*lam) #ratio\nratio1=10*math.log10(ratio) #ration in dB\n\n#Result\nprint'Ratio = %d dB'%ratio1",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Ratio = 40 dB\n"
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.11, page 744"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nma=0.8 #modulation index\nR=0.5 #responsivity\nb=0.7 #ratio of luminance to composite video\nsnr=3.162*10**5 #SNR\ne=1.602*10**-19 #electron volt\nB=5*10**6 #bandwidth\nK=1.385*10**-23 #boltzman constant \nT=293 #tempreture in kelvin\nFn=1.413\nRl=10**6\n\n#Calculation\na=(2*ma*R*b)**2\nc=snr*2*e*B*R\nd=snr*4*K*T*B*Fn/Rl\nf = (c**2)+(4*a*d)\npo=(c+math.sqrt(f))/(2*a) #average incident optical power \npo1=10*math.log10(po*1000) #in dB\n\n#Result\nprint'Average incident optical power = %.2f uW'%(po*10**6)\nprint' = %.1f dB m'%po1\n\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Average incident optical power = 0.93 uW\n = -30.3 dB m\n"
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.12, page 747"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nh=6.626*10**-34 #plancks constant\nc=2.998*10**8 #velocity of light\ne=1.602*10**-19 #1 electron volt\nn=0.6 #p\u2013i\u2013n photodiode quantum efficiency\nma=0.5 #modulation index\nlam=10**-6 #wavelength\nk=1.385*10**-23 #boltzman constant \nt=300 #tempreture in kelvin\nf=4 #amplifier noise figure\nrl=50*10**3 #effective load impedance\nsn=3.162*10**4 #signal to noise ratio\nB=10**7 #bandwidth\n\n#Calculation\na=h*c/(e*n*ma**2*lam)\nb=math.sqrt((8*k*t*f)/rl)\nc=math.sqrt(sn*B)\npo=a*b*c #optical power\npo1=10*math.log10(po*1000) #optical power in dB\n\n#Result\nprint'Optical power, Po = %.2f uW'%(po*10**6)\nprint' = %.1f dBm'%po1",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Optical power, Po = 7.58 uW\n = -21.2 dBm\n"
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.13, page 748"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\npo=-10 #mean optical power launched into the fiber from the transmitter (100 \u03bcm)\nrs=-25 #receiver sensitivity \nl1=2*3.5 #cable fiber loss\nl2=2*0.7 #splice losses\nl3=1.6 #connector loss \nms=4.0 #safety margin\nafc=3.5\nai=0.7\nacr=1.6\nma=7\n\n#Calculation\nts=po-rs #Total system margi\ntsl=l1+l2+l3+ms #Total system loss\npm=ts-tsl #Excess power margin \nL=((0-rs)-(acr+ma))/(afc+ai)\n\n#Result\nprint'(a) Total system margin = %d dB'%ts\nprint' Total system loss = %.1f dB'%tsl\nprint' Excess power margin = %.1f dB'%pm\nprint'\\n(b) Increase in link length = %.1f Km'%(L)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Total system margin = 15 dB\n Total system loss = 14.0 dB\n Excess power margin = 1.0 dB\n\n(b) Increase in link length = 3.9 Km\n"
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.14, page 750"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Variable declaration\nBop=6*10**6\nts=10 #rise time for source in ns\ntn=5*9 #for fiber intermodal\ntc=5*2 #for pulse broadening\ntd=3 #for detector\n\n\n#Calculation\ntsys=0.35/Bop\ntsys1=1.1*(ts**2+tn**2+tc**2+td**2)**0.5 #total system rise time\n\n#Result\nprint'Maximum permitted system rise time = %.1f ns'%(tsys*10**9)\nprint'Total system rise time = %.1f ns'%(tsys1)\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Maximum permitted system rise time = 58.3 ns\nTotal system rise time = 52.0 ns\n"
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.15, page 755"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nfd=400*10**3 #peak frequency deviation\nBa=4*10**3 #bandwidth\n\n#Calculation\nDf=fd/Ba #frequency deviation ratio\nsnr=1.76+(20*math.log10(Df)) #SNR improvement\nBm=2*(Df+1)*Ba #bandwidth of the FM\u2013IM signal \n \n#Result\nprint'(a) SNR improvement = %.2f dB'%snr\nprint'(b) Frequency deviation ratio = %d'%Df\nprint' Bandwidth of FM-IM signal = %d kHz'%(Bm/1000)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) SNR improvement = 41.76 dB\n(b) Frequency deviation ratio = 100\n Bandwidth of FM-IM signal = 808 kHz\n"
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.16, page 757"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nfm=3 #output FM ratio\npm=1 #output PM ratio\n\n#Calculation\nratio=fm/pm #SNR ratio\nratio1=10*math.log10(ratio) #SNR ratio in dB\n\n#Result\nprint'Ratio of output SNR = %.2f dB'%(ratio1)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Ratio of output SNR = 4.77 dB\n"
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.17, page 759"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nto=5*10**-8 #nominal pulse period\nfd=5*10**6 #Peak-to-peak frequency deviation\nM=60 #A PD multiplication factor\nR=0.7 #A PD responsivity\npo=10**-7 #peak optical power at receiver\ntr=12*10**-9 #Total system 10\u201390% rise time\nB=6*10**6 #baseband noise bandwidth\ni=10**-17 #Receiver mean square noise current\n\n\n#Calculation\nsnp=(3*(to*fd*M*R*po)**2)/(i*(2*math.pi*tr*B)**2) #peak-to-peak signal to rms noise ratio\nsnp1=10*math.log10(snp) #in dB\n\n#Result\nprint'Peak-to-peak signal to rms noise ratio = %.1f dB'%snp1\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Peak-to-peak signal to rms noise ratio = 62.1 dB\n"
- }
- ],
- "prompt_number": 17
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.18, page 763"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "%pylab inline\nimport math\nfrom pylab import *\nfrom numpy import *\n\n#Variable declaration\nacr=1 #connector loss in dB\nafc=5 #loss per kilometer in dB\nLbu=0.1 #fiber length between each of the access couplers\nLac=1 #insertion loss\nLtr=10 #loss due to the tap ratio\nLsp=3 #splitting loss\n \n#Calculating, we get two equation in terms of N, no of nodes, i.e C(1,N-1)=(3.5*N)+8.5 and C(star)=4.5+(10*log10(N)) \n\n#For Bus distribution system\n\nfor N in range(1,13,1):\n C=(3.5*N)+8.5;\n a=plot(N,C,'.r')\n \n \n#for Star distribution system\n \nfor N in range(1,30,1):\n C1=4.5+(10*log10(N));\n b=plot(N,C1,'.g')\n \n \n#To show plot in same graph\n#Graphical comparison showing total channel loss against number of nodes\n\nxlabel(\"Number of nodes $N$\")\nylabel(\"Total channel loss $CL$ (dB)\")\ngrid()\nshow(a)\nshow(b)\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Populating the interactive namespace from numpy and matplotlib\n"
- },
- {
- "metadata": {},
- "output_type": "display_data",
- "png": "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\nAAAAAElFTkSuQmCC\n",
- "text": "<matplotlib.figure.Figure at 0x3f7ea90>"
- }
- ],
- "prompt_number": 27
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.19, page 782"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Variable declaration\nh=6.626*10**-34 #plancks constant\nc=2.998*10**8 #velocity of light\nlam=1.55*10**-6 #wavelength\nL=100*10**3 #length\nK=4 \nB=1.2*10**9 #bandwidth\nsnr=50 #SNR\na=10**-2.5\npi=10**-3\n\n#Calculation\nLt=(pi*lam*a*L)/(K*h*c*B*snr) #link with a large number of cascaded amplifiers\n\n#Result\nprint'Maximum system length = %d x 10^4 km'%(Lt/10**7)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Maximum system length = 1 x 10^4 km\n"
- }
- ],
- "prompt_number": 19
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.21, page 791"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nb=17 #second-order dispersion coefficient for the latter path\nL2=20 #path length in km\nL1=160.00 #path length in km\ns1=-0.075 #dispersion slope\n\n#Calculation\na=-b*L2\nG=a/L1 #second-order dispersion coefficient\ns2=s1*L1/L2 #chromatic dispersion slope\n\n#Result\nprint'(a) Second-order dispersion coefficient = %.3f ps nm^-1 km^-1'%G \nprint'(b) chromatic dispersion slope = %.1f ps nm^-2 km^-1'%s2",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Second-order dispersion coefficient = -2.125 ps nm^-1 km^-1\n(b) chromatic dispersion slope = -0.6 ps nm^-2 km^-1\n"
- }
- ],
- "prompt_number": 20
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.22, page 798"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nto=70*10**-12 #bit period\nt=6*10**-12 #RZ pulse width\nB2=50*10**-12*10**-12*10**-3 #second-order dispersion coefficient\nL=50*10**3 #amplifier spacing\n\n#Calculation\nqo=0.5*to/t #separation of the soliton pulses \nBt=(2*qo*math.sqrt(B2*L))**-1 #transmission bit rate \n\n#Result\nprint'(a) Separation = %.1f'%qo\nprint'(b) Transmission bit rate = %.2f x 10^9'%(Bt*10**-8)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Separation = 5.8\n(b) Transmission bit rate = 17.14 x 10^9\n"
- }
- ],
- "prompt_number": 21
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 12.23, page 799"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nto=40*10**-12 #bit period\nt=4*10**-12 #RZ pulse width\na=0.2*10**-3 #attenuation coefficient\nB2=1.25*10**-12*10**-12*10**-3 #second-order dispersion coefficient\n\n#Calculation\nqo=0.5*to/t #separation of the soliton pulses \nb=1/(2*qo)\nc=math.sqrt(a/B2)\nBt=b*c #transmission bit rate \n\n#Result\nprint'(a) Separation = %.1f'%qo\nprint'(b) Transmission bit rate = %.2f x 10^10 bit s^-1'%(Bt*10**-10)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Separation = 5.0\n(b) Transmission bit rate = 4.00 x 10^10 bit s^-1\n"
- }
- ],
- "prompt_number": 22
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter13.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter13.ipynb
deleted file mode 100755
index 3392b3ce..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter13.ipynb
+++ /dev/null
@@ -1,146 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_13"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter 13: Optical fiber systems 2: coherent and phase-modulated"
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 13.1, page 832"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Variable declaration\nf1=150*10**6 #reciever IF\nf2=19*10**9 #output frequency change\n\n\n#Calculation\nm=f1*f2**-1 #maximum tempreture change\n\n#Result\nprint'Maximum tempreture change = %d \u00d7 10^-3 \u00b0C '%round(m*10**3)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Maximum tempreture change = 8 \u00d7 10^-3 \u00b0C \n"
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 13.2, page 834"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\np=-85.45/10\nn=0.86 #quantum efficiency\nh1=1.54*10**-6 #homodyne receiver operating wavelength\nsn=10**-1.2 #SNR\nh=6.626*10**-34 #plancks constant\nc=2.998*10**8 #velocity of light\n\n\n#Calculation\nps=10**(p) #incoming signal power in dB\nB=(n*ps*sn*h1)/(h*c) #Bandwidth\n\n#Result\nprint'Incoming signal power, Ps = %f nW'%(ps*10**9)\nprint'Operating bandwidth, B = %.1f GHz'%(B*10**-9)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Incoming signal power, Ps = 2.851018 nW\nOperating bandwidth, B = 1.2 GHz\n"
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 13.3, page 878"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Variable declaration\npe=4.24 #probability error function\npe2=20 #probability exponential function\n\n\n#Calculation\nNp=pe**2*4 #no of photons\nNp2=pe2*4\nNp3=pe**2/2\n\n#Result\nprint'(a) ASK heterodyne synchronous detection = %d photons'%round(Np)\nprint'(b) ASK heterodyne asynchronous detection = %d photons'%round(Np2)\nprint'(c) pSK homodyne detection = %d photons'%round(Np3)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) ASK heterodyne synchronous detection = 72 photons\n(b) ASK heterodyne asynchronous detection = 80 photons\n(c) pSK homodyne detection = 9 photons\n"
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 13.4, page 881"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nh1=6.626*10**-34 #plancks constant\nc=2.998*10**8 #speed of light\nBt=400*10**6 #FSK signal bit rate\nh=1.55*10**-6 #wavelength\n\n#Calculation\nps=(36*h1*c*Bt)/(h) #optical power\n\n#Result\nprint'Minimum incoming optical power level = %.1f nW'%(ps*10**9)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Minimum incoming optical power level = 1.8 nW\n"
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 13.5, page 883"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nNp=36 #average photons\nNp2=9 #average photons\nh=6.63*10**-34 #plancks constant\nf=3*10**8 #frequency\nBt=50*10**6 #bit rates\nBt2=10**9 #bit rates\nh1=1.55*10**-6 #operating wavelength\na=0.2 #connector loss\n\n\n#Calculation\nPs=Np*h*f*Bt/h1 #in watt\nPs1=10*math.log10(Ps*10**3) #in dB\nma=4-Ps1 #Max. system margin\nmar=ma/a #Max. repeater spacing \n \nPs2=Np*h*f*Bt2/h1 #in watt\nPs3=10*math.log10(Ps2*10**3) #in dB\nma1=4-Ps3 #Max. system margin\nmar1=ma1/a #Max. repeater spacing \n\nPs4=Np2*h*f*Bt/h1 #in watt\nPs5=10*math.log10(Ps4*10**3) #in dB\nma2=4-Ps5 #Max. system margin\nmar2=ma2/a #Max. repeater spacing \n\nPs6=Np2*h*f*Bt2/h1 #in watt\nPs7=10*math.log10(Ps6*10**3) #in dB\nma3=4-Ps7 #Max. system margin\nmar3=ma3/a #Max. repeater spacing \n\n\n#Result\nprint'(a)Max. repeater spacing (50 Mbit s^-1) = %.1f km'%round(mar)\nprint' (1 Gbit s^-1) = %.1f km'%round(mar1)\nprint'\\n(b)Max. repeater spacing (50 Mbit s^-1) = %.1f km'%round(mar2)\nprint' (1 Gbit s^-1) = %.1f km'%round(mar3)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a)Max. repeater spacing (50 Mbit s^-1) = 352.0 km\n (1 Gbit s^-1) = 287.0 km\n\n(b)Max. repeater spacing (50 Mbit s^-1) = 382.0 km\n (1 Gbit s^-1) = 317.0 km\n"
- }
- ],
- "prompt_number": 37
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 13.6, page 888"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nnp=150\nh1=6.626*10**-34 #plancks constant\nc=2.998*10**8 #speed of light\nbf=20*10**12 #optical bandwidth\nh=1.3*10**-6 #wavelength\n\n#Calculation\ntx=(np*h1*c*bf)/h #transmitter power\n\n#Result\nprint'Minimum transmitter power = %.1f mW' %(tx*1000)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Minimum transmitter power = 0.5 mW\n"
- }
- ],
- "prompt_number": 26
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter13_1.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter13_1.ipynb
deleted file mode 100755
index 3392b3ce..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter13_1.ipynb
+++ /dev/null
@@ -1,146 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_13"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter 13: Optical fiber systems 2: coherent and phase-modulated"
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 13.1, page 832"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Variable declaration\nf1=150*10**6 #reciever IF\nf2=19*10**9 #output frequency change\n\n\n#Calculation\nm=f1*f2**-1 #maximum tempreture change\n\n#Result\nprint'Maximum tempreture change = %d \u00d7 10^-3 \u00b0C '%round(m*10**3)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Maximum tempreture change = 8 \u00d7 10^-3 \u00b0C \n"
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 13.2, page 834"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\np=-85.45/10\nn=0.86 #quantum efficiency\nh1=1.54*10**-6 #homodyne receiver operating wavelength\nsn=10**-1.2 #SNR\nh=6.626*10**-34 #plancks constant\nc=2.998*10**8 #velocity of light\n\n\n#Calculation\nps=10**(p) #incoming signal power in dB\nB=(n*ps*sn*h1)/(h*c) #Bandwidth\n\n#Result\nprint'Incoming signal power, Ps = %f nW'%(ps*10**9)\nprint'Operating bandwidth, B = %.1f GHz'%(B*10**-9)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Incoming signal power, Ps = 2.851018 nW\nOperating bandwidth, B = 1.2 GHz\n"
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 13.3, page 878"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Variable declaration\npe=4.24 #probability error function\npe2=20 #probability exponential function\n\n\n#Calculation\nNp=pe**2*4 #no of photons\nNp2=pe2*4\nNp3=pe**2/2\n\n#Result\nprint'(a) ASK heterodyne synchronous detection = %d photons'%round(Np)\nprint'(b) ASK heterodyne asynchronous detection = %d photons'%round(Np2)\nprint'(c) pSK homodyne detection = %d photons'%round(Np3)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) ASK heterodyne synchronous detection = 72 photons\n(b) ASK heterodyne asynchronous detection = 80 photons\n(c) pSK homodyne detection = 9 photons\n"
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 13.4, page 881"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nh1=6.626*10**-34 #plancks constant\nc=2.998*10**8 #speed of light\nBt=400*10**6 #FSK signal bit rate\nh=1.55*10**-6 #wavelength\n\n#Calculation\nps=(36*h1*c*Bt)/(h) #optical power\n\n#Result\nprint'Minimum incoming optical power level = %.1f nW'%(ps*10**9)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Minimum incoming optical power level = 1.8 nW\n"
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 13.5, page 883"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nNp=36 #average photons\nNp2=9 #average photons\nh=6.63*10**-34 #plancks constant\nf=3*10**8 #frequency\nBt=50*10**6 #bit rates\nBt2=10**9 #bit rates\nh1=1.55*10**-6 #operating wavelength\na=0.2 #connector loss\n\n\n#Calculation\nPs=Np*h*f*Bt/h1 #in watt\nPs1=10*math.log10(Ps*10**3) #in dB\nma=4-Ps1 #Max. system margin\nmar=ma/a #Max. repeater spacing \n \nPs2=Np*h*f*Bt2/h1 #in watt\nPs3=10*math.log10(Ps2*10**3) #in dB\nma1=4-Ps3 #Max. system margin\nmar1=ma1/a #Max. repeater spacing \n\nPs4=Np2*h*f*Bt/h1 #in watt\nPs5=10*math.log10(Ps4*10**3) #in dB\nma2=4-Ps5 #Max. system margin\nmar2=ma2/a #Max. repeater spacing \n\nPs6=Np2*h*f*Bt2/h1 #in watt\nPs7=10*math.log10(Ps6*10**3) #in dB\nma3=4-Ps7 #Max. system margin\nmar3=ma3/a #Max. repeater spacing \n\n\n#Result\nprint'(a)Max. repeater spacing (50 Mbit s^-1) = %.1f km'%round(mar)\nprint' (1 Gbit s^-1) = %.1f km'%round(mar1)\nprint'\\n(b)Max. repeater spacing (50 Mbit s^-1) = %.1f km'%round(mar2)\nprint' (1 Gbit s^-1) = %.1f km'%round(mar3)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a)Max. repeater spacing (50 Mbit s^-1) = 352.0 km\n (1 Gbit s^-1) = 287.0 km\n\n(b)Max. repeater spacing (50 Mbit s^-1) = 382.0 km\n (1 Gbit s^-1) = 317.0 km\n"
- }
- ],
- "prompt_number": 37
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 13.6, page 888"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nnp=150\nh1=6.626*10**-34 #plancks constant\nc=2.998*10**8 #speed of light\nbf=20*10**12 #optical bandwidth\nh=1.3*10**-6 #wavelength\n\n#Calculation\ntx=(np*h1*c*bf)/h #transmitter power\n\n#Result\nprint'Minimum transmitter power = %.1f mW' %(tx*1000)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Minimum transmitter power = 0.5 mW\n"
- }
- ],
- "prompt_number": 26
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter13_2.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter13_2.ipynb
deleted file mode 100755
index 3392b3ce..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter13_2.ipynb
+++ /dev/null
@@ -1,146 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_13"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter 13: Optical fiber systems 2: coherent and phase-modulated"
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 13.1, page 832"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Variable declaration\nf1=150*10**6 #reciever IF\nf2=19*10**9 #output frequency change\n\n\n#Calculation\nm=f1*f2**-1 #maximum tempreture change\n\n#Result\nprint'Maximum tempreture change = %d \u00d7 10^-3 \u00b0C '%round(m*10**3)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Maximum tempreture change = 8 \u00d7 10^-3 \u00b0C \n"
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 13.2, page 834"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\np=-85.45/10\nn=0.86 #quantum efficiency\nh1=1.54*10**-6 #homodyne receiver operating wavelength\nsn=10**-1.2 #SNR\nh=6.626*10**-34 #plancks constant\nc=2.998*10**8 #velocity of light\n\n\n#Calculation\nps=10**(p) #incoming signal power in dB\nB=(n*ps*sn*h1)/(h*c) #Bandwidth\n\n#Result\nprint'Incoming signal power, Ps = %f nW'%(ps*10**9)\nprint'Operating bandwidth, B = %.1f GHz'%(B*10**-9)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Incoming signal power, Ps = 2.851018 nW\nOperating bandwidth, B = 1.2 GHz\n"
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 13.3, page 878"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Variable declaration\npe=4.24 #probability error function\npe2=20 #probability exponential function\n\n\n#Calculation\nNp=pe**2*4 #no of photons\nNp2=pe2*4\nNp3=pe**2/2\n\n#Result\nprint'(a) ASK heterodyne synchronous detection = %d photons'%round(Np)\nprint'(b) ASK heterodyne asynchronous detection = %d photons'%round(Np2)\nprint'(c) pSK homodyne detection = %d photons'%round(Np3)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) ASK heterodyne synchronous detection = 72 photons\n(b) ASK heterodyne asynchronous detection = 80 photons\n(c) pSK homodyne detection = 9 photons\n"
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 13.4, page 881"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nh1=6.626*10**-34 #plancks constant\nc=2.998*10**8 #speed of light\nBt=400*10**6 #FSK signal bit rate\nh=1.55*10**-6 #wavelength\n\n#Calculation\nps=(36*h1*c*Bt)/(h) #optical power\n\n#Result\nprint'Minimum incoming optical power level = %.1f nW'%(ps*10**9)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Minimum incoming optical power level = 1.8 nW\n"
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 13.5, page 883"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nNp=36 #average photons\nNp2=9 #average photons\nh=6.63*10**-34 #plancks constant\nf=3*10**8 #frequency\nBt=50*10**6 #bit rates\nBt2=10**9 #bit rates\nh1=1.55*10**-6 #operating wavelength\na=0.2 #connector loss\n\n\n#Calculation\nPs=Np*h*f*Bt/h1 #in watt\nPs1=10*math.log10(Ps*10**3) #in dB\nma=4-Ps1 #Max. system margin\nmar=ma/a #Max. repeater spacing \n \nPs2=Np*h*f*Bt2/h1 #in watt\nPs3=10*math.log10(Ps2*10**3) #in dB\nma1=4-Ps3 #Max. system margin\nmar1=ma1/a #Max. repeater spacing \n\nPs4=Np2*h*f*Bt/h1 #in watt\nPs5=10*math.log10(Ps4*10**3) #in dB\nma2=4-Ps5 #Max. system margin\nmar2=ma2/a #Max. repeater spacing \n\nPs6=Np2*h*f*Bt2/h1 #in watt\nPs7=10*math.log10(Ps6*10**3) #in dB\nma3=4-Ps7 #Max. system margin\nmar3=ma3/a #Max. repeater spacing \n\n\n#Result\nprint'(a)Max. repeater spacing (50 Mbit s^-1) = %.1f km'%round(mar)\nprint' (1 Gbit s^-1) = %.1f km'%round(mar1)\nprint'\\n(b)Max. repeater spacing (50 Mbit s^-1) = %.1f km'%round(mar2)\nprint' (1 Gbit s^-1) = %.1f km'%round(mar3)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a)Max. repeater spacing (50 Mbit s^-1) = 352.0 km\n (1 Gbit s^-1) = 287.0 km\n\n(b)Max. repeater spacing (50 Mbit s^-1) = 382.0 km\n (1 Gbit s^-1) = 317.0 km\n"
- }
- ],
- "prompt_number": 37
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 13.6, page 888"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nnp=150\nh1=6.626*10**-34 #plancks constant\nc=2.998*10**8 #speed of light\nbf=20*10**12 #optical bandwidth\nh=1.3*10**-6 #wavelength\n\n#Calculation\ntx=(np*h1*c*bf)/h #transmitter power\n\n#Result\nprint'Minimum transmitter power = %.1f mW' %(tx*1000)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Minimum transmitter power = 0.5 mW\n"
- }
- ],
- "prompt_number": 26
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter14.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter14.ipynb
deleted file mode 100755
index 80d85c26..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter14.ipynb
+++ /dev/null
@@ -1,188 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_14"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter 14 : Optical fiber measurements"
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 14.1, page 912"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nv2=10.7 #increased voltage\nv1=2.1 #voltage\nl1=2 #length in Km\nl2=0.002 #length in Km\n\n\n\n#Calculation\na=(10/(l1-l2))*math.log10(v2/v1) #Attenuation\nu=0.2/(l1-l2) #incertainty\n\n#Result\nprint'Attenuation per Km = %.1f dB Km^-1'%a\nprint'Uncertainty = \u00b1 %.1f dB'%u",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Attenuation per Km = 3.5 dB Km^-1\nUncertainty = \u00b1 0.1 dB\n"
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 14.2, page 917"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nt2=100 #time in sec\nt1=10 #time in sec\nti=0.525 #micro voltage\nto=0.021 #micro voltage\nC=1.64*10**4 #thermal capacity\ntin=4.3*10**-4 #maximum temperature rise\npop=98*10**-3 #optical power\n\n\n#Calculation\ntc=(t2-t1)/(math.log(ti)-math.log(to)) #time constant for the calorimeter\na=(C*tin)/(pop*tc) #absortion loss\n\n#Result\nprint'Absorption loss in dB = %.1f dB Km^-1'%a",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Absorption loss in dB = 2.6 dB Km^-1\n"
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 14.3, page 919"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nVsc=6.14*10**-9 #voltage\nVop=153.38*10**-6 #voltage without scattering\nl=2.92 #length of fibre in cm\n\n\n#Calculation\na=4.343*10**5*Vsc/(l*Vop) #scattering loss\n\n#Result\nprint'Scattering loss in dB = %.1f dB Km^-1'%a",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Scattering loss in dB = 6.0 dB Km^-1\n"
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 14.4, page 922"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nt1=12.6*10**-9 #time in sec\nt2=0.3*10**-9 #time in sec\n\n\n\n#Calculation\nt=math.sqrt(t1**2-t2**2)/1.2 #pulse broadening \nBop=0.44/t #bandwidth length product\n\n#Result\nprint'(a) 3dB pulse broadening = %.1f ns km^-1'%(t*10**9)\nprint'(b) Fiber bandwidth\u2013length product = %.1f MHz km'%(Bop*10**-6)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) 3dB pulse broadening = 10.5 ns km^-1\n(b) Fiber bandwidth\u2013length product = 41.9 MHz km\n"
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 14.5, page 940"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nA=6.2 #output pattern size\nD=10 #screen position\n\n#Calculation\nNA=A/math.sqrt(A**2+(4*D**2)) #numerical aperture\n\n#Result\nprint'Numerical aperture = %.2f'%NA",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Numerical aperture = 0.30\n"
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 14.6, page 942"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Variable declaration\nphi=4 #angular velocity\nl=0.1 #length in meter\nwe=300*10**-6 #shadow pulse width\n\n#Calculation\ns=l*phi #shadow velocity\nd=we*s #fibre diameter\n\n#Result\nprint'Outer fibre diameter = %.1f um'%(d*10**6)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Outer fibre diameter = 120.0 um\n"
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 14.7, page 950"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\na=5*10**-3 #optical signal power\nb=20*10**-6 #optical signal power\nc=0.3*10**-3 #optical signal power\nd=800*10**-9 #optical signal power\n\n#Calculation\nadb=10*math.log10(a*10**3) #in dBm\nbdb=10*math.log10(b*10**3) #in dBm\ncdb=10*math.log10(c*10**6) #in dBu\nddb=10*math.log10(d*10**6) #in dBu\n\n#Result\nprint'(a) For a 1 mW reference power level'\nprint' optical signal power of 5 mW = %.2f dBm'%adb\nprint' optical signal power of 20 uW = %.2f dBm'%bdb\nprint'\\n(b) For a 1 \u03bcW reference power level'\nprint' optical signal power of 0.3 mW = %.2f dBu'%cdb #value given in a textbook is incorrect\nprint' optical signal power of 800 nW = %.2f dBu'%ddb",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) For a 1 mW reference power level\n optical signal power of 5 mW = 6.99 dBm\n optical signal power of 20 uW = -16.99 dBm\n\n(b) For a 1 \u03bcW reference power level\n optical signal power of 0.3 mW = 24.77 dBu\n optical signal power of 800 nW = -0.97 dBu\n"
- }
- ],
- "prompt_number": 35
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 14.8, page 953"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nNA=0.02 #numerical aperture\nyr=0.7*10**-3 #Rayleigh scattering coefficient\nc=2.998*10**8 #speed of light\nwo=50*10**-9 #pulse time\nn1=1.5\n\n#Calculation\np=0.5*(((NA**2)*yr*wo*c)/(4*(n1**3))) #power ratio\npdb=10*math.log10(p*10**3) #in dB\n\n#Result\nprint'Power ratio = %.3f X 10^-7'%(p*10**7) #value given in a textbook is incorrect\nprint'Power ratio in dB = %.1f dB'%pdb #value given in a textbook is incorrect",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Power ratio = 1.555 X 10^-7\nPower ratio in dB = -38.1 dB\n"
- }
- ],
- "prompt_number": 19
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter14_1.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter14_1.ipynb
deleted file mode 100755
index 80d85c26..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter14_1.ipynb
+++ /dev/null
@@ -1,188 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_14"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter 14 : Optical fiber measurements"
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 14.1, page 912"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nv2=10.7 #increased voltage\nv1=2.1 #voltage\nl1=2 #length in Km\nl2=0.002 #length in Km\n\n\n\n#Calculation\na=(10/(l1-l2))*math.log10(v2/v1) #Attenuation\nu=0.2/(l1-l2) #incertainty\n\n#Result\nprint'Attenuation per Km = %.1f dB Km^-1'%a\nprint'Uncertainty = \u00b1 %.1f dB'%u",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Attenuation per Km = 3.5 dB Km^-1\nUncertainty = \u00b1 0.1 dB\n"
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 14.2, page 917"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nt2=100 #time in sec\nt1=10 #time in sec\nti=0.525 #micro voltage\nto=0.021 #micro voltage\nC=1.64*10**4 #thermal capacity\ntin=4.3*10**-4 #maximum temperature rise\npop=98*10**-3 #optical power\n\n\n#Calculation\ntc=(t2-t1)/(math.log(ti)-math.log(to)) #time constant for the calorimeter\na=(C*tin)/(pop*tc) #absortion loss\n\n#Result\nprint'Absorption loss in dB = %.1f dB Km^-1'%a",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Absorption loss in dB = 2.6 dB Km^-1\n"
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 14.3, page 919"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nVsc=6.14*10**-9 #voltage\nVop=153.38*10**-6 #voltage without scattering\nl=2.92 #length of fibre in cm\n\n\n#Calculation\na=4.343*10**5*Vsc/(l*Vop) #scattering loss\n\n#Result\nprint'Scattering loss in dB = %.1f dB Km^-1'%a",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Scattering loss in dB = 6.0 dB Km^-1\n"
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 14.4, page 922"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nt1=12.6*10**-9 #time in sec\nt2=0.3*10**-9 #time in sec\n\n\n\n#Calculation\nt=math.sqrt(t1**2-t2**2)/1.2 #pulse broadening \nBop=0.44/t #bandwidth length product\n\n#Result\nprint'(a) 3dB pulse broadening = %.1f ns km^-1'%(t*10**9)\nprint'(b) Fiber bandwidth\u2013length product = %.1f MHz km'%(Bop*10**-6)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) 3dB pulse broadening = 10.5 ns km^-1\n(b) Fiber bandwidth\u2013length product = 41.9 MHz km\n"
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 14.5, page 940"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nA=6.2 #output pattern size\nD=10 #screen position\n\n#Calculation\nNA=A/math.sqrt(A**2+(4*D**2)) #numerical aperture\n\n#Result\nprint'Numerical aperture = %.2f'%NA",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Numerical aperture = 0.30\n"
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 14.6, page 942"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Variable declaration\nphi=4 #angular velocity\nl=0.1 #length in meter\nwe=300*10**-6 #shadow pulse width\n\n#Calculation\ns=l*phi #shadow velocity\nd=we*s #fibre diameter\n\n#Result\nprint'Outer fibre diameter = %.1f um'%(d*10**6)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Outer fibre diameter = 120.0 um\n"
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 14.7, page 950"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\na=5*10**-3 #optical signal power\nb=20*10**-6 #optical signal power\nc=0.3*10**-3 #optical signal power\nd=800*10**-9 #optical signal power\n\n#Calculation\nadb=10*math.log10(a*10**3) #in dBm\nbdb=10*math.log10(b*10**3) #in dBm\ncdb=10*math.log10(c*10**6) #in dBu\nddb=10*math.log10(d*10**6) #in dBu\n\n#Result\nprint'(a) For a 1 mW reference power level'\nprint' optical signal power of 5 mW = %.2f dBm'%adb\nprint' optical signal power of 20 uW = %.2f dBm'%bdb\nprint'\\n(b) For a 1 \u03bcW reference power level'\nprint' optical signal power of 0.3 mW = %.2f dBu'%cdb #value given in a textbook is incorrect\nprint' optical signal power of 800 nW = %.2f dBu'%ddb",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) For a 1 mW reference power level\n optical signal power of 5 mW = 6.99 dBm\n optical signal power of 20 uW = -16.99 dBm\n\n(b) For a 1 \u03bcW reference power level\n optical signal power of 0.3 mW = 24.77 dBu\n optical signal power of 800 nW = -0.97 dBu\n"
- }
- ],
- "prompt_number": 35
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 14.8, page 953"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nNA=0.02 #numerical aperture\nyr=0.7*10**-3 #Rayleigh scattering coefficient\nc=2.998*10**8 #speed of light\nwo=50*10**-9 #pulse time\nn1=1.5\n\n#Calculation\np=0.5*(((NA**2)*yr*wo*c)/(4*(n1**3))) #power ratio\npdb=10*math.log10(p*10**3) #in dB\n\n#Result\nprint'Power ratio = %.3f X 10^-7'%(p*10**7) #value given in a textbook is incorrect\nprint'Power ratio in dB = %.1f dB'%pdb #value given in a textbook is incorrect",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Power ratio = 1.555 X 10^-7\nPower ratio in dB = -38.1 dB\n"
- }
- ],
- "prompt_number": 19
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter14_2.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter14_2.ipynb
deleted file mode 100755
index 80d85c26..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter14_2.ipynb
+++ /dev/null
@@ -1,188 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_14"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter 14 : Optical fiber measurements"
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 14.1, page 912"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nv2=10.7 #increased voltage\nv1=2.1 #voltage\nl1=2 #length in Km\nl2=0.002 #length in Km\n\n\n\n#Calculation\na=(10/(l1-l2))*math.log10(v2/v1) #Attenuation\nu=0.2/(l1-l2) #incertainty\n\n#Result\nprint'Attenuation per Km = %.1f dB Km^-1'%a\nprint'Uncertainty = \u00b1 %.1f dB'%u",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Attenuation per Km = 3.5 dB Km^-1\nUncertainty = \u00b1 0.1 dB\n"
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 14.2, page 917"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nt2=100 #time in sec\nt1=10 #time in sec\nti=0.525 #micro voltage\nto=0.021 #micro voltage\nC=1.64*10**4 #thermal capacity\ntin=4.3*10**-4 #maximum temperature rise\npop=98*10**-3 #optical power\n\n\n#Calculation\ntc=(t2-t1)/(math.log(ti)-math.log(to)) #time constant for the calorimeter\na=(C*tin)/(pop*tc) #absortion loss\n\n#Result\nprint'Absorption loss in dB = %.1f dB Km^-1'%a",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Absorption loss in dB = 2.6 dB Km^-1\n"
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 14.3, page 919"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nVsc=6.14*10**-9 #voltage\nVop=153.38*10**-6 #voltage without scattering\nl=2.92 #length of fibre in cm\n\n\n#Calculation\na=4.343*10**5*Vsc/(l*Vop) #scattering loss\n\n#Result\nprint'Scattering loss in dB = %.1f dB Km^-1'%a",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Scattering loss in dB = 6.0 dB Km^-1\n"
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 14.4, page 922"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nt1=12.6*10**-9 #time in sec\nt2=0.3*10**-9 #time in sec\n\n\n\n#Calculation\nt=math.sqrt(t1**2-t2**2)/1.2 #pulse broadening \nBop=0.44/t #bandwidth length product\n\n#Result\nprint'(a) 3dB pulse broadening = %.1f ns km^-1'%(t*10**9)\nprint'(b) Fiber bandwidth\u2013length product = %.1f MHz km'%(Bop*10**-6)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) 3dB pulse broadening = 10.5 ns km^-1\n(b) Fiber bandwidth\u2013length product = 41.9 MHz km\n"
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 14.5, page 940"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nA=6.2 #output pattern size\nD=10 #screen position\n\n#Calculation\nNA=A/math.sqrt(A**2+(4*D**2)) #numerical aperture\n\n#Result\nprint'Numerical aperture = %.2f'%NA",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Numerical aperture = 0.30\n"
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 14.6, page 942"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Variable declaration\nphi=4 #angular velocity\nl=0.1 #length in meter\nwe=300*10**-6 #shadow pulse width\n\n#Calculation\ns=l*phi #shadow velocity\nd=we*s #fibre diameter\n\n#Result\nprint'Outer fibre diameter = %.1f um'%(d*10**6)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Outer fibre diameter = 120.0 um\n"
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 14.7, page 950"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\na=5*10**-3 #optical signal power\nb=20*10**-6 #optical signal power\nc=0.3*10**-3 #optical signal power\nd=800*10**-9 #optical signal power\n\n#Calculation\nadb=10*math.log10(a*10**3) #in dBm\nbdb=10*math.log10(b*10**3) #in dBm\ncdb=10*math.log10(c*10**6) #in dBu\nddb=10*math.log10(d*10**6) #in dBu\n\n#Result\nprint'(a) For a 1 mW reference power level'\nprint' optical signal power of 5 mW = %.2f dBm'%adb\nprint' optical signal power of 20 uW = %.2f dBm'%bdb\nprint'\\n(b) For a 1 \u03bcW reference power level'\nprint' optical signal power of 0.3 mW = %.2f dBu'%cdb #value given in a textbook is incorrect\nprint' optical signal power of 800 nW = %.2f dBu'%ddb",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) For a 1 mW reference power level\n optical signal power of 5 mW = 6.99 dBm\n optical signal power of 20 uW = -16.99 dBm\n\n(b) For a 1 \u03bcW reference power level\n optical signal power of 0.3 mW = 24.77 dBu\n optical signal power of 800 nW = -0.97 dBu\n"
- }
- ],
- "prompt_number": 35
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 14.8, page 953"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nNA=0.02 #numerical aperture\nyr=0.7*10**-3 #Rayleigh scattering coefficient\nc=2.998*10**8 #speed of light\nwo=50*10**-9 #pulse time\nn1=1.5\n\n#Calculation\np=0.5*(((NA**2)*yr*wo*c)/(4*(n1**3))) #power ratio\npdb=10*math.log10(p*10**3) #in dB\n\n#Result\nprint'Power ratio = %.3f X 10^-7'%(p*10**7) #value given in a textbook is incorrect\nprint'Power ratio in dB = %.1f dB'%pdb #value given in a textbook is incorrect",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Power ratio = 1.555 X 10^-7\nPower ratio in dB = -38.1 dB\n"
- }
- ],
- "prompt_number": 19
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter15.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter15.ipynb
deleted file mode 100755
index 06ca7e54..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter15.ipynb
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_15"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter 15:- Optical networks"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Theoretical chapter",
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter15_1.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter15_1.ipynb
deleted file mode 100755
index 06ca7e54..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter15_1.ipynb
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_15"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter 15:- Optical networks"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Theoretical chapter",
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter15_2.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter15_2.ipynb
deleted file mode 100755
index 06ca7e54..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter15_2.ipynb
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_15"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter 15:- Optical networks"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Theoretical chapter",
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter1_1.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter1_1.ipynb
deleted file mode 100755
index 76fe396c..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter1_1.ipynb
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_1"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter 1 :- Introduction"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "# Theortical Chapter",
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter1_2.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter1_2.ipynb
deleted file mode 100755
index 76fe396c..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter1_2.ipynb
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_1"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter 1 :- Introduction"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "# Theortical Chapter",
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter2.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter2.ipynb
deleted file mode 100755
index 81d67649..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter2.ipynb
+++ /dev/null
@@ -1,251 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_2"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter 2 : Optical fiber waveguides\n"
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 2.1, page 19"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nn1=1.50 #core refractive index\nn2=1.47 #cladding refractive index\n\n#Calculation\nphic=math.asin(n2/n1)*180/(math.pi) #critical angle at core cladding\nNA=math.sqrt(n1**2-n2**2) #numerical aperture\nphia=math.asin(NA)*180/math.pi #acceptance angle in air\n\n#Result\nprint'(a) Critical angle at the core-cladding = %.1f\u00b0'%phic\nprint'(b) NA for the fiber = %.2f'%NA\nprint'(c) Acceptance angle in air for the fiber = %.1f\u00b0'%phia",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Critical angle at the core-cladding = 78.5\u00b0\n(b) NA for the fiber = 0.30\n(c) Acceptance angle in air for the fiber = 17.4\u00b0\n"
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 2.2, page 20"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\ndelta=0.01 #relative refractive index = 1%\nn1=1.46 #core index\n\n#Calculation\nNA=n1*math.sqrt(2*delta) #numerical aperture\nzeta=math.pi*(NA)**2 #solid acceptance angle\nn12=1-delta #ratio of(n2/n1)\nphic=math.asin(n12)*180/math.pi #critical angle\n\n#Result\nprint'Numerical aperture (NA) = %.2f'%NA\nprint'Solid acceptance angle = ',round((zeta),2),'rad'\nprint'Critical angle at core-cladding = %.1f\u00b0'%phic",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Numerical aperture (NA) = 0.21\nSolid acceptance angle = 0.13 rad\nCritical angle at core-cladding = 81.9\u00b0\n"
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 2.3, page 23"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#variable declaration\nNA=0.4 #numerical aperture\ny=50*math.pi/180 #angle between projection of the ray and radius of fibre of core (radians)\n\n#Calculation\nphia1=math.asin(NA)*180/math.pi #acceptance angle for meridional rays\nphia2=math.asin(NA/(math.cos(y)))*180/math.pi #acceptance angle for skew rays\n\n#Result\nprint'Acceptance angle for meridional rays = %.1f\u00b0'%phia1\nprint'Acceptance angle for skew rays = %.1f\u00b0'%phia2\nprint\"Therefore, acceptance angle for the skew rays is about 15\u00b0 greater thanthe corresponding angle for meridional rays\"",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Acceptance angle for meridional rays = 23.6\u00b0\nAcceptance angle for skew rays = 38.5\u00b0\nTherefore, acceptance angle for the skew rays is about 15\u00b0 greater thanthe corresponding angle for meridional rays\n"
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 2.4, page 45"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#variable declaration\nn1=1.48 #core index\na=40*10**-6 #radius of core\ndelta=1.5/100 #relative refractive index = 1.5%\nh=0.85*10**-6 #operating wavelength\n\n#Calculation \nV=(2*math.pi*a*n1*math.sqrt(2*delta))/h #normalized frequency for the fiber\nMs=(V**2)/2 #no of guided modes\n\n#Result\nprint 'Normalised frequency, V = %.1f'%V\nprint'Total number of guided modes, Ms = %d'%round(Ms)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Normalised frequency, V = 75.8\nTotal number of guided modes, Ms = 2872\n"
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 2.5, page 54"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#variable declaration\nNA=0.2 #numerical aperture\na=25*10**-6 #radius of core\nh=1*10**-6 #operating wavelength\n\n#Calculation \nV=(2*math.pi*a*NA)/h #normalized frequency for the fiber\nMg=(V**2)/4 #no of guided modes gor parabolic profile\n\n#Result\nprint 'Normalised frequency, V = %.1f'%V\nprint'Total number of guided modes, Mg = %d'%round(Mg)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Normalised frequency, V = 31.4\nTotal number of guided modes, Mg = 247\n"
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 2.6, page 55"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n#variable declaration\nn1=1.48 #core index \nh=0.85*10**-6 #operating wavelength\nV=2.4 #normalized frequency for the fiber\ndelta=1.5/100 #relative refractive index (RRI)= 1.5%\ndelta1=delta/10 #RRI difference reduced by 10\n\n#Calculation\na=(V*h)/(2*math.pi*n1*math.sqrt(2*delta)) #radius of core\nd=2*a\na1=(V*h)/(2*math.pi*n1*math.sqrt(2*delta1)) #new radius of core\nd1=2*a1\n\n#Result\nprint 'Maximum core diameter for relative refractive index of 1.5 percent = ',round((d*10**6),2),\"um\"\nprint \"Maximum core diameter for relative refractive index = \",round(d1*10**6),\"um\"",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Maximum core diameter for relative refractive index of 1.5 percent = 2.53 um\nMaximum core diameter for relative refractive index = 8.0 um\n"
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 2.7, page 2.7"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n#variable declaration\nn1=1.5 #core index \ndelta=0.01 #relative refractive index (RRI)= 1%\nh=1.3*10**-6 #operating wavelength\nalph=2\n\n#Calculation\nV=(2.4)*math.sqrt(1+(2/alph)) #normalized frequency for the fiber\na=(V*h)/(2*math.pi*n1*math.sqrt(2*delta)) #radius of core\nd=2*a\n\n#Result\nprint \"Maximum core diameter for relative refractive index = \",round(d*10**6,1),\"um\"",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Maximum core diameter for relative refractive index = 6.6 um\n"
- }
- ],
- "prompt_number": 19
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 2.8, page 60"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n#Variable declaration\na=4.5*10**-6 #radius of core\nn1=1.46 #core index \ndelta=0.25/100 #relative refractive index (RRI)= 0.25%\n\n\n#Calculation \nhc=(2*math.pi*a*n1*math.sqrt(2*delta))/2.405 #cutoff wavelength\n\n\n#Result\nprint 'Fibre is single moded to a wavelength = ',round(hc*10**9),'nm'",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Fibre is single moded to a wavelength = 1214.0 nm\n"
- }
- ],
- "prompt_number": 24
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 2.10, page 69"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n#Variable declaration\nwo=5.8*10**-6 #spot size \nV=2.2 #normalized frequency\n\n#Calculation \na=wo/((0.65+1.619*V**(-1.5))+(2.879*V**-6)) #radius of the core\nd=2*a\n\n#Result\nprint'Fibre core diameter = ',round(d*10**6,1),\"um\"\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Fibre core diameter = 9.9 um\n"
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 2.11, page 73"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n#Variable declaration\nh=1.30*10**-6 #operating wavelength \nhc=1.08*10**-6 #cutoff wavelength\ntheta=12 #in angle (degree)\n\n#Calculation \naeff=3.832*h/(2*math.pi*math.sin(theta)) #effective core radius\nVeff=2.405*hc/h #effective normalised frequency\nwo=3.81*10**-6*(0.6043+(1.755*Veff**-1.5)+(2.78*Veff**-6)) #spot size\n\n#Result\nprint 'Spot size = ',round(wo*10**6,2),'um'",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Spot size = 4.84 um\n"
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 2.12, page 74"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nwo=5.2*10**-6 #spot size\nn1=1.485 #core index\nhc=1.190*10**-6 #cutoff wavelength\n\n#Calculation \naesi=1.820*wo #ESI core radius\nD=(0.293/n1**2)*(hc/aesi)**2 #ESI relative index difference\n\n#Result\nprint'ESI relative refractive index difference = ',round(D*10**2,2),'%'",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "ESI relative refractive index difference = 0.21 %\n"
- }
- ],
- "prompt_number": 22
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter2_1.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter2_1.ipynb
deleted file mode 100755
index 81d67649..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter2_1.ipynb
+++ /dev/null
@@ -1,251 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_2"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter 2 : Optical fiber waveguides\n"
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 2.1, page 19"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nn1=1.50 #core refractive index\nn2=1.47 #cladding refractive index\n\n#Calculation\nphic=math.asin(n2/n1)*180/(math.pi) #critical angle at core cladding\nNA=math.sqrt(n1**2-n2**2) #numerical aperture\nphia=math.asin(NA)*180/math.pi #acceptance angle in air\n\n#Result\nprint'(a) Critical angle at the core-cladding = %.1f\u00b0'%phic\nprint'(b) NA for the fiber = %.2f'%NA\nprint'(c) Acceptance angle in air for the fiber = %.1f\u00b0'%phia",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Critical angle at the core-cladding = 78.5\u00b0\n(b) NA for the fiber = 0.30\n(c) Acceptance angle in air for the fiber = 17.4\u00b0\n"
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 2.2, page 20"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\ndelta=0.01 #relative refractive index = 1%\nn1=1.46 #core index\n\n#Calculation\nNA=n1*math.sqrt(2*delta) #numerical aperture\nzeta=math.pi*(NA)**2 #solid acceptance angle\nn12=1-delta #ratio of(n2/n1)\nphic=math.asin(n12)*180/math.pi #critical angle\n\n#Result\nprint'Numerical aperture (NA) = %.2f'%NA\nprint'Solid acceptance angle = ',round((zeta),2),'rad'\nprint'Critical angle at core-cladding = %.1f\u00b0'%phic",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Numerical aperture (NA) = 0.21\nSolid acceptance angle = 0.13 rad\nCritical angle at core-cladding = 81.9\u00b0\n"
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 2.3, page 23"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#variable declaration\nNA=0.4 #numerical aperture\ny=50*math.pi/180 #angle between projection of the ray and radius of fibre of core (radians)\n\n#Calculation\nphia1=math.asin(NA)*180/math.pi #acceptance angle for meridional rays\nphia2=math.asin(NA/(math.cos(y)))*180/math.pi #acceptance angle for skew rays\n\n#Result\nprint'Acceptance angle for meridional rays = %.1f\u00b0'%phia1\nprint'Acceptance angle for skew rays = %.1f\u00b0'%phia2\nprint\"Therefore, acceptance angle for the skew rays is about 15\u00b0 greater thanthe corresponding angle for meridional rays\"",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Acceptance angle for meridional rays = 23.6\u00b0\nAcceptance angle for skew rays = 38.5\u00b0\nTherefore, acceptance angle for the skew rays is about 15\u00b0 greater thanthe corresponding angle for meridional rays\n"
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 2.4, page 45"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#variable declaration\nn1=1.48 #core index\na=40*10**-6 #radius of core\ndelta=1.5/100 #relative refractive index = 1.5%\nh=0.85*10**-6 #operating wavelength\n\n#Calculation \nV=(2*math.pi*a*n1*math.sqrt(2*delta))/h #normalized frequency for the fiber\nMs=(V**2)/2 #no of guided modes\n\n#Result\nprint 'Normalised frequency, V = %.1f'%V\nprint'Total number of guided modes, Ms = %d'%round(Ms)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Normalised frequency, V = 75.8\nTotal number of guided modes, Ms = 2872\n"
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 2.5, page 54"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#variable declaration\nNA=0.2 #numerical aperture\na=25*10**-6 #radius of core\nh=1*10**-6 #operating wavelength\n\n#Calculation \nV=(2*math.pi*a*NA)/h #normalized frequency for the fiber\nMg=(V**2)/4 #no of guided modes gor parabolic profile\n\n#Result\nprint 'Normalised frequency, V = %.1f'%V\nprint'Total number of guided modes, Mg = %d'%round(Mg)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Normalised frequency, V = 31.4\nTotal number of guided modes, Mg = 247\n"
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 2.6, page 55"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n#variable declaration\nn1=1.48 #core index \nh=0.85*10**-6 #operating wavelength\nV=2.4 #normalized frequency for the fiber\ndelta=1.5/100 #relative refractive index (RRI)= 1.5%\ndelta1=delta/10 #RRI difference reduced by 10\n\n#Calculation\na=(V*h)/(2*math.pi*n1*math.sqrt(2*delta)) #radius of core\nd=2*a\na1=(V*h)/(2*math.pi*n1*math.sqrt(2*delta1)) #new radius of core\nd1=2*a1\n\n#Result\nprint 'Maximum core diameter for relative refractive index of 1.5 percent = ',round((d*10**6),2),\"um\"\nprint \"Maximum core diameter for relative refractive index = \",round(d1*10**6),\"um\"",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Maximum core diameter for relative refractive index of 1.5 percent = 2.53 um\nMaximum core diameter for relative refractive index = 8.0 um\n"
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 2.7, page 2.7"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n#variable declaration\nn1=1.5 #core index \ndelta=0.01 #relative refractive index (RRI)= 1%\nh=1.3*10**-6 #operating wavelength\nalph=2\n\n#Calculation\nV=(2.4)*math.sqrt(1+(2/alph)) #normalized frequency for the fiber\na=(V*h)/(2*math.pi*n1*math.sqrt(2*delta)) #radius of core\nd=2*a\n\n#Result\nprint \"Maximum core diameter for relative refractive index = \",round(d*10**6,1),\"um\"",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Maximum core diameter for relative refractive index = 6.6 um\n"
- }
- ],
- "prompt_number": 19
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 2.8, page 60"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n#Variable declaration\na=4.5*10**-6 #radius of core\nn1=1.46 #core index \ndelta=0.25/100 #relative refractive index (RRI)= 0.25%\n\n\n#Calculation \nhc=(2*math.pi*a*n1*math.sqrt(2*delta))/2.405 #cutoff wavelength\n\n\n#Result\nprint 'Fibre is single moded to a wavelength = ',round(hc*10**9),'nm'",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Fibre is single moded to a wavelength = 1214.0 nm\n"
- }
- ],
- "prompt_number": 24
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 2.10, page 69"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n#Variable declaration\nwo=5.8*10**-6 #spot size \nV=2.2 #normalized frequency\n\n#Calculation \na=wo/((0.65+1.619*V**(-1.5))+(2.879*V**-6)) #radius of the core\nd=2*a\n\n#Result\nprint'Fibre core diameter = ',round(d*10**6,1),\"um\"\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Fibre core diameter = 9.9 um\n"
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 2.11, page 73"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n#Variable declaration\nh=1.30*10**-6 #operating wavelength \nhc=1.08*10**-6 #cutoff wavelength\ntheta=12 #in angle (degree)\n\n#Calculation \naeff=3.832*h/(2*math.pi*math.sin(theta)) #effective core radius\nVeff=2.405*hc/h #effective normalised frequency\nwo=3.81*10**-6*(0.6043+(1.755*Veff**-1.5)+(2.78*Veff**-6)) #spot size\n\n#Result\nprint 'Spot size = ',round(wo*10**6,2),'um'",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Spot size = 4.84 um\n"
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 2.12, page 74"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nwo=5.2*10**-6 #spot size\nn1=1.485 #core index\nhc=1.190*10**-6 #cutoff wavelength\n\n#Calculation \naesi=1.820*wo #ESI core radius\nD=(0.293/n1**2)*(hc/aesi)**2 #ESI relative index difference\n\n#Result\nprint'ESI relative refractive index difference = ',round(D*10**2,2),'%'",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "ESI relative refractive index difference = 0.21 %\n"
- }
- ],
- "prompt_number": 22
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter2_2.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter2_2.ipynb
deleted file mode 100755
index 81d67649..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter2_2.ipynb
+++ /dev/null
@@ -1,251 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_2"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter 2 : Optical fiber waveguides\n"
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 2.1, page 19"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nn1=1.50 #core refractive index\nn2=1.47 #cladding refractive index\n\n#Calculation\nphic=math.asin(n2/n1)*180/(math.pi) #critical angle at core cladding\nNA=math.sqrt(n1**2-n2**2) #numerical aperture\nphia=math.asin(NA)*180/math.pi #acceptance angle in air\n\n#Result\nprint'(a) Critical angle at the core-cladding = %.1f\u00b0'%phic\nprint'(b) NA for the fiber = %.2f'%NA\nprint'(c) Acceptance angle in air for the fiber = %.1f\u00b0'%phia",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Critical angle at the core-cladding = 78.5\u00b0\n(b) NA for the fiber = 0.30\n(c) Acceptance angle in air for the fiber = 17.4\u00b0\n"
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 2.2, page 20"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\ndelta=0.01 #relative refractive index = 1%\nn1=1.46 #core index\n\n#Calculation\nNA=n1*math.sqrt(2*delta) #numerical aperture\nzeta=math.pi*(NA)**2 #solid acceptance angle\nn12=1-delta #ratio of(n2/n1)\nphic=math.asin(n12)*180/math.pi #critical angle\n\n#Result\nprint'Numerical aperture (NA) = %.2f'%NA\nprint'Solid acceptance angle = ',round((zeta),2),'rad'\nprint'Critical angle at core-cladding = %.1f\u00b0'%phic",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Numerical aperture (NA) = 0.21\nSolid acceptance angle = 0.13 rad\nCritical angle at core-cladding = 81.9\u00b0\n"
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 2.3, page 23"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#variable declaration\nNA=0.4 #numerical aperture\ny=50*math.pi/180 #angle between projection of the ray and radius of fibre of core (radians)\n\n#Calculation\nphia1=math.asin(NA)*180/math.pi #acceptance angle for meridional rays\nphia2=math.asin(NA/(math.cos(y)))*180/math.pi #acceptance angle for skew rays\n\n#Result\nprint'Acceptance angle for meridional rays = %.1f\u00b0'%phia1\nprint'Acceptance angle for skew rays = %.1f\u00b0'%phia2\nprint\"Therefore, acceptance angle for the skew rays is about 15\u00b0 greater thanthe corresponding angle for meridional rays\"",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Acceptance angle for meridional rays = 23.6\u00b0\nAcceptance angle for skew rays = 38.5\u00b0\nTherefore, acceptance angle for the skew rays is about 15\u00b0 greater thanthe corresponding angle for meridional rays\n"
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 2.4, page 45"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#variable declaration\nn1=1.48 #core index\na=40*10**-6 #radius of core\ndelta=1.5/100 #relative refractive index = 1.5%\nh=0.85*10**-6 #operating wavelength\n\n#Calculation \nV=(2*math.pi*a*n1*math.sqrt(2*delta))/h #normalized frequency for the fiber\nMs=(V**2)/2 #no of guided modes\n\n#Result\nprint 'Normalised frequency, V = %.1f'%V\nprint'Total number of guided modes, Ms = %d'%round(Ms)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Normalised frequency, V = 75.8\nTotal number of guided modes, Ms = 2872\n"
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 2.5, page 54"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#variable declaration\nNA=0.2 #numerical aperture\na=25*10**-6 #radius of core\nh=1*10**-6 #operating wavelength\n\n#Calculation \nV=(2*math.pi*a*NA)/h #normalized frequency for the fiber\nMg=(V**2)/4 #no of guided modes gor parabolic profile\n\n#Result\nprint 'Normalised frequency, V = %.1f'%V\nprint'Total number of guided modes, Mg = %d'%round(Mg)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Normalised frequency, V = 31.4\nTotal number of guided modes, Mg = 247\n"
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 2.6, page 55"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n#variable declaration\nn1=1.48 #core index \nh=0.85*10**-6 #operating wavelength\nV=2.4 #normalized frequency for the fiber\ndelta=1.5/100 #relative refractive index (RRI)= 1.5%\ndelta1=delta/10 #RRI difference reduced by 10\n\n#Calculation\na=(V*h)/(2*math.pi*n1*math.sqrt(2*delta)) #radius of core\nd=2*a\na1=(V*h)/(2*math.pi*n1*math.sqrt(2*delta1)) #new radius of core\nd1=2*a1\n\n#Result\nprint 'Maximum core diameter for relative refractive index of 1.5 percent = ',round((d*10**6),2),\"um\"\nprint \"Maximum core diameter for relative refractive index = \",round(d1*10**6),\"um\"",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Maximum core diameter for relative refractive index of 1.5 percent = 2.53 um\nMaximum core diameter for relative refractive index = 8.0 um\n"
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 2.7, page 2.7"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n#variable declaration\nn1=1.5 #core index \ndelta=0.01 #relative refractive index (RRI)= 1%\nh=1.3*10**-6 #operating wavelength\nalph=2\n\n#Calculation\nV=(2.4)*math.sqrt(1+(2/alph)) #normalized frequency for the fiber\na=(V*h)/(2*math.pi*n1*math.sqrt(2*delta)) #radius of core\nd=2*a\n\n#Result\nprint \"Maximum core diameter for relative refractive index = \",round(d*10**6,1),\"um\"",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Maximum core diameter for relative refractive index = 6.6 um\n"
- }
- ],
- "prompt_number": 19
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 2.8, page 60"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n#Variable declaration\na=4.5*10**-6 #radius of core\nn1=1.46 #core index \ndelta=0.25/100 #relative refractive index (RRI)= 0.25%\n\n\n#Calculation \nhc=(2*math.pi*a*n1*math.sqrt(2*delta))/2.405 #cutoff wavelength\n\n\n#Result\nprint 'Fibre is single moded to a wavelength = ',round(hc*10**9),'nm'",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Fibre is single moded to a wavelength = 1214.0 nm\n"
- }
- ],
- "prompt_number": 24
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 2.10, page 69"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n#Variable declaration\nwo=5.8*10**-6 #spot size \nV=2.2 #normalized frequency\n\n#Calculation \na=wo/((0.65+1.619*V**(-1.5))+(2.879*V**-6)) #radius of the core\nd=2*a\n\n#Result\nprint'Fibre core diameter = ',round(d*10**6,1),\"um\"\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Fibre core diameter = 9.9 um\n"
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 2.11, page 73"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n#Variable declaration\nh=1.30*10**-6 #operating wavelength \nhc=1.08*10**-6 #cutoff wavelength\ntheta=12 #in angle (degree)\n\n#Calculation \naeff=3.832*h/(2*math.pi*math.sin(theta)) #effective core radius\nVeff=2.405*hc/h #effective normalised frequency\nwo=3.81*10**-6*(0.6043+(1.755*Veff**-1.5)+(2.78*Veff**-6)) #spot size\n\n#Result\nprint 'Spot size = ',round(wo*10**6,2),'um'",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Spot size = 4.84 um\n"
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 2.12, page 74"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nwo=5.2*10**-6 #spot size\nn1=1.485 #core index\nhc=1.190*10**-6 #cutoff wavelength\n\n#Calculation \naesi=1.820*wo #ESI core radius\nD=(0.293/n1**2)*(hc/aesi)**2 #ESI relative index difference\n\n#Result\nprint'ESI relative refractive index difference = ',round(D*10**2,2),'%'",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "ESI relative refractive index difference = 0.21 %\n"
- }
- ],
- "prompt_number": 22
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter3.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter3.ipynb
deleted file mode 100755
index 3778a224..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter3.ipynb
+++ /dev/null
@@ -1,322 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_3"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter 3 : Transmission characteristics of\noptical fibers"
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.1, page 89"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nPi=120*10**-6 #mean i/p power in uW\nPo=3*10**-6 #mean o/p power in uW\nL=8 #length of fibre in Km\na1=2 #loss in dB\nL1=10 #length of fibre in Km\nloss=9 #loss in dB\n\n#Calculation \nSA=10*math.log10(Pi/Po) #overall signal attenuation\na=SA/L #signal attenuation per kilometer\nal=a1*L1\nSA1=al+loss #signal attenuation for the 10KM link\nP=10**(2.9) #i/o power ratio, 2.9 is numeric value\n\n\n#Result\nprint'Overall signal attenuation = ',round(SA),'dB'\nprint'Signal attenuation per kilometer = ',round(a),'per KM'\nprint'Overall signal attenuation for the 10KM link = ',round(SA1),'dB'\nprint'Numeric value for i/o power ratio = %.1f' %P",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Overall signal attenuation = 16.0 dB\nSignal attenuation per kilometer = 2.0 per KM\nOverall signal attenuation for the 10KM link = 29.0 dB\nNumeric value for i/o power ratio = 794.3\n"
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.2, page 96"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nTf=1400 #tempreture in kelvin\nK=1.381*10**-23 #Boltzmann\u2019s constant\nBc=7*10**-11 #isothermal compressibility\nn=1.46 #refractive index\np=0.286 #refractive index\nh1=0.63*10**-6 #wavelength\nh2=10**-6 #wavelength\nh3=1.3*10**-6 #wavelength\nL=10**3 #length in km\n\n#Calculation \na=(8*math.pi**3*n**8*p**2*Bc*K*Tf)/3\nyr=a/h1**4 #Rayleigh scattering coefficient \nLk=math.exp(-yr*L) #transmission loss factor\nAt=10*math.log10(Lk**-1) #attenuation due to Rayleigh scattering\nyr1=a/h2**4 #Rayleigh scattering coefficient \nLk1=math.exp(-yr1*L) #transmission loss factor\nAt1=10*math.log10(Lk1**-1) #attenuation due to Rayleigh scattering\nyr2=a/h3**4 #Rayleigh scattering coefficient \nLk2=math.exp(-yr2*L) #transmission loss factor\nAt2=10*math.log10(Lk2**-1) #attenuation due to Rayleigh scattering\n\n#Result\nprint'Attenuation due to Rayleigh scattering (in 0.63 \u03bcm)= %.1f dB km^-1'%(At)\nprint'Attenuation due to Rayleigh scattering (in 1.0 \u03bcm)= %.1f dB km^-1'%(At1)\nprint'Attenuation due to Rayleigh scattering (in 1.30 \u03bcm)= %.1f dB km^-1'%(At2)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Attenuation due to Rayleigh scattering (in 0.63 \u03bcm)= 5.2 dB\nAttenuation due to Rayleigh scattering (in 1.0 \u03bcm)= 0.8 dB\nAttenuation due to Rayleigh scattering (in 1.30 \u03bcm)= 0.3 dB\n"
- }
- ],
- "prompt_number": 20
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.3, page 99"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Variable declaration\nd=6 #diameter in \u03bcm\nh=1.3 #wavelength in \u03bcm\nadb=0.5 #attenuation in dB\nv=0.6\n\n#Calculation \nPb=4.4*10**-3*d**2*h**2*adb*v #for SBS\nPr=5.9*10**-2*d**2*h*adb #for SRS\n\n#result\nprint'Threshold optical power for SBS = %.1f mW'%(Pb*1000)\nprint 'Threshold optical power for SRS = %.2f W'%Pr\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Threshold optical power for SBS = 80.3 mW\nThreshold optical power for SRS = 1.38 W\n"
- }
- ],
- "prompt_number": 19
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.4, page 101"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration \nn1=1.5 #refractive index\nh=0.82*10**-6 #operating wavelength\ndelta=0.03 #relative refractive index difference \ndelta1=0.003 #relative refractive index difference\nh1=1.55*10**-6 #operating wavelength\na=4*10**-6 #radius of core\n\n#Calculation\nn2=(n1**2)-(2*delta*n1**2) #refractive index\nRc=(3*n1**2*h)/(4*math.pi*(n1**2-n2)**0.5) #multimode fiber critical radius of curvature\nn21=(n1**2)-(2*delta1*n1**2) #refractive index \nhc=(2*math.pi*a*n1*math.sqrt(2*delta1))/(2.405) #cutoff wavelength for the single-mode fiber\nb=20*h1/math.sqrt(0.043)\nc=(2.748-(0.996*h1/hc))**-3\nRcs=b*c #critical radius of curvature for the single-mode\n\n#Result\nprint'Multimode fiber critical radius of curvature = %.2f um'%(Rc*10**6) #value given in the textbook is wrong \nprint'Single-mode fiber critical radius of curvature = %.2f um'%(Rcs*10**3) #value given in the textbook is wrong",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Multimode fiber critical radius of curvature = 1.20 um\nSingle-mode fiber critical radius of curvature = 0.05 um\n"
- }
- ],
- "prompt_number": 36
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.5, page 109"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration \nt=0.1*10**-6 #total pulse time \nd=15 #distance in Km\n\n#Calculation\nBt=1/(2*t) #Maximum Bandwidth\nD=t/d #Pulse Dispersion\nBop=Bt*d #Bandwidth-length product\n\n#Result\nprint'Maximum Bandwidth = %d Mhz'%(Bt/10**6)\nprint'Pulse Dispersion = %.2f ns per Km'%(D*10**9)\nprint'Bandwidth-length product = %d Mhz Km'%(Bop/10**6)\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Maximum Bandwidth = 5 Mhz\nPulse Dispersion = 6.67 ns per Km\nBandwidth-length product = 75 Mhz Km\n"
- }
- ],
- "prompt_number": 51
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.6, page 111"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nb=0.025 #material dispersion \nc=2.998 #speed of light (x 10^8)\nh=85*10**6 #wavelength dispersion parameter\n\n\n#Calculation\nM=b/(c*h) #Material dispersion parameter\ns=M*20 #RMS pulse broadening (1 Km)\n\n#Result\nprint'Material dispersion parameter = %.1f ps n/m K/m'%(M*10**12)\nprint'RMS pulse broadening (1 Km) = %.2f ns K/m'%(s*10**9)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Material dispersion parameter = 98.1 ps n/m K/m\nRMS pulse broadening (1 Km) = 1.96 ns K/m\n"
- }
- ],
- "prompt_number": 55
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.7, page 112"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nh=0.85*10**-6 #wavelength \nb=0.0012 #relative spectral width\nM=98.1*10**-12 #material dispersion parameter\n\n#Calculation\nsh=b*h #relative spectral width\nsm=sh*M*10**9 #RMS pulse braodening\n\n#Result\nprint'RMS pulse braodening (1 Km) = %.2f ns K/m'%(sm*10**9)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "RMS pulse braodening (1 Km) = 0.10 ns K/m\n"
- }
- ],
- "prompt_number": 66
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.8, page 117"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nL=6000 #optical link\nn1=1.5 #core refractive index\ndelt=0.01 #relative refractive index difference\nc=2.998*10**8 #speed of light\n\n\n#Calculation\nTs=(L*n1*delt)/c #Delay difference\nsc=(L*n1*delt)/(2*math.sqrt(3)*c) #RMS pulse broadening\nBt=1/(2*Ts)\nBtm=0.2/sc #Maximum bit rate using RMS pulse broadening\nBop=Btm*L #Bandwidth-length product\n\n#Result\nprint'(a) Delay difference = %d ns' %(Ts*10**9)\nprint'(b) RMS pulse broadening = %.1f ns' %(sc*10**9)\nprint'(c) Maximum bit rate using RMS pulse broadening = %.1f Mbit/s'%(Btm/10**6)\nprint'(d) Bandwidth-length product = %.1f Mhz km'%(Bop/10**9)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Delay difference = 300 ns\n(b) RMS pulse broadening = 86.7 ns\n(c) Maximum bit rate using RMS pulse broadening = 2.3 Mbit/s\n(d) Bandwidth-length product = 13.8 Mhz km\n"
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.9, page 121"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nsc=86.7 #RMS pulse broadening\nL1=6 #optical link\nL=10**3 #for 1 Km\nn1=1.5 #core refractive index\ndelt=0.01 #relative refractive index difference\nc=3*10**8 #speed of light\n\n#Calculation\nd=sc/L1 #for multimode step index fiber\nsg=(L*n1*delt**2)/(20*math.sqrt(3)*c) #gradient index fiber\n\n#Result\nprint'RMS pulse broadening for multimode step index fiber = %.1f ns K/m'%(d)\nprint'RMS pulse broadening for gradient index fiber = %.1f ps K/m'%(sg*10**12)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "RMS pulse broadening for multimode step index fiber = 14.5 ns K/m\nRMS pulse broadening for gradient index fiber = 14.4 ps K/m\n"
- }
- ],
- "prompt_number": 18
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.10, page 125"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nsh=50 #rms spectral width\nL=1 #1 Km\nM=250*10**-12 #material dispersion parameter\nL1=10**3 \nNA=0.3 #numerical aperture\nn1=1.45 #refractive index\nc=2.998*10**8 #speed of light\n\n#Calculation\nsm=sh*L*M #rms pulse broadening\nss=(L1*NA**2)/(4*math.sqrt(3)*n1*c) #rms pulse broadening per kilometer\nst=math.sqrt(sm**2+ss**2) #total rms pulse broadening per kilometer\nBop=0.2/st #bandwidth\u2013length product\n\n#Result\nprint'(a) Total RMS pulse broadening per Km = %.1f ns K/m'%(st*10**9)\nprint'(b) Bandwidth length product = %.1f Mhz Km'%(Bop*10**-6)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Total RMS pulse broadening per Km = 32.4 ns K/m\n(b) Bandwidth length product = 6.2 Mhz Km\n"
- }
- ],
- "prompt_number": 17
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.11, page 131"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "\n#Variable declaration\nh=1280 #wavelength in nm\nS0=0.09*10**-12 #dispersion slope\nh0=1310 #zero dispersion wavlength in nm\nh1=1550 #wavelength in nm\nDm=13.5*10**-12 #material dispersion wavelength in m\nDp=0.4*10**-12 #profile dispersion wavelength in m\n\n#Calculation\na=h*S0/4\nb=1-((h0*h**-1)**4)\nDt=a*b\nDt1=(h1*S0/4)*(1-(h0*h1**-1)**4)\nDw=Dt1-(Dm+Dp)\n\n#Result\nprint'Total first order dispersion (1280 nm) = %.1f nm^-1 km^-1'%(Dt*10**12)\nprint'Total first order dispersion (1550 nm) = %.1f ps n/m K/m'%(Dt1*10**12)\nprint'Waveguide dispersion at wavelength 1.55um = %.1f ps n/m K/m'%(Dw*10**12)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Total first order dispersion (1280 nm) = -2.8 nm^-1 km^-1\nTotal first order dispersion (1550 nm) = 17.1 ps n/m K/m\nWaveguide dispersion at wavelength 1.55um = 3.2 ps n/m K/m\n"
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.12, page 143"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nh=0.9*10**-6 #peak wavelength \nLb=0.09 #beat length\ns=10**-9 #spectral linewidth\n\n\n#Calculation\nBf=h/Lb #modal birefringence\nLbc=h**2/(Bf*s) #coherence length\nBxy=(2*math.pi)/Lb #difference between propagation constant\n\n#Result\nprint'Modal birefringence, Bf = %.1f x 10^-5' %(Bf*10**5)\nprint'Coherence length, Lf = %.1f m' %Lbc\nprint'Difference between propagation constant = %.1f' %Bxy",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Modal birefringence, Bf = 1.0 x 10^-5\nCoherence length, Lf = 81.0 m\nDifference between propagation constant = 69.8\n"
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.13, page 144"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Variable declaration\nh=1.3*10**-6 #fibers operating wavelength\nLs=0.7*10**-3 #beat length\nL=80 #beat length\n\n#Calculation\nBf=h/Ls #Fiber birefringence (0.7mm)\nBf1=h/L #Fiber birefringence (80m)\n\n#Result\nprint'Fiber birefringence (0.7mm) = %.2f x 10^-3'%(Bf*1000)\nprint'Fiber birefringence (80m) = %.2f x 10^-8'%(Bf1*10**8)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Fiber birefringence (0.7mm) = 1.86 x 10^-3\nFiber birefringence (80m) = 1.62 x 10^-8\n"
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.14, page 150"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nL=3.5*10**3 #length of fiber\na=2*10**-3 #tanh(h*L)\n\n\n#Calculation\nh=a/L #mode coupling parameter \n\n#Result\nprint'Mode coupling parameter = %.1f x 10^-7 m^-1'%(h*10**7)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Mode coupling parameter = 5.7 x 10^-7 m^-1\n"
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "",
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter3_1.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter3_1.ipynb
deleted file mode 100755
index 3778a224..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter3_1.ipynb
+++ /dev/null
@@ -1,322 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_3"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter 3 : Transmission characteristics of\noptical fibers"
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.1, page 89"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nPi=120*10**-6 #mean i/p power in uW\nPo=3*10**-6 #mean o/p power in uW\nL=8 #length of fibre in Km\na1=2 #loss in dB\nL1=10 #length of fibre in Km\nloss=9 #loss in dB\n\n#Calculation \nSA=10*math.log10(Pi/Po) #overall signal attenuation\na=SA/L #signal attenuation per kilometer\nal=a1*L1\nSA1=al+loss #signal attenuation for the 10KM link\nP=10**(2.9) #i/o power ratio, 2.9 is numeric value\n\n\n#Result\nprint'Overall signal attenuation = ',round(SA),'dB'\nprint'Signal attenuation per kilometer = ',round(a),'per KM'\nprint'Overall signal attenuation for the 10KM link = ',round(SA1),'dB'\nprint'Numeric value for i/o power ratio = %.1f' %P",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Overall signal attenuation = 16.0 dB\nSignal attenuation per kilometer = 2.0 per KM\nOverall signal attenuation for the 10KM link = 29.0 dB\nNumeric value for i/o power ratio = 794.3\n"
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.2, page 96"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nTf=1400 #tempreture in kelvin\nK=1.381*10**-23 #Boltzmann\u2019s constant\nBc=7*10**-11 #isothermal compressibility\nn=1.46 #refractive index\np=0.286 #refractive index\nh1=0.63*10**-6 #wavelength\nh2=10**-6 #wavelength\nh3=1.3*10**-6 #wavelength\nL=10**3 #length in km\n\n#Calculation \na=(8*math.pi**3*n**8*p**2*Bc*K*Tf)/3\nyr=a/h1**4 #Rayleigh scattering coefficient \nLk=math.exp(-yr*L) #transmission loss factor\nAt=10*math.log10(Lk**-1) #attenuation due to Rayleigh scattering\nyr1=a/h2**4 #Rayleigh scattering coefficient \nLk1=math.exp(-yr1*L) #transmission loss factor\nAt1=10*math.log10(Lk1**-1) #attenuation due to Rayleigh scattering\nyr2=a/h3**4 #Rayleigh scattering coefficient \nLk2=math.exp(-yr2*L) #transmission loss factor\nAt2=10*math.log10(Lk2**-1) #attenuation due to Rayleigh scattering\n\n#Result\nprint'Attenuation due to Rayleigh scattering (in 0.63 \u03bcm)= %.1f dB km^-1'%(At)\nprint'Attenuation due to Rayleigh scattering (in 1.0 \u03bcm)= %.1f dB km^-1'%(At1)\nprint'Attenuation due to Rayleigh scattering (in 1.30 \u03bcm)= %.1f dB km^-1'%(At2)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Attenuation due to Rayleigh scattering (in 0.63 \u03bcm)= 5.2 dB\nAttenuation due to Rayleigh scattering (in 1.0 \u03bcm)= 0.8 dB\nAttenuation due to Rayleigh scattering (in 1.30 \u03bcm)= 0.3 dB\n"
- }
- ],
- "prompt_number": 20
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.3, page 99"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Variable declaration\nd=6 #diameter in \u03bcm\nh=1.3 #wavelength in \u03bcm\nadb=0.5 #attenuation in dB\nv=0.6\n\n#Calculation \nPb=4.4*10**-3*d**2*h**2*adb*v #for SBS\nPr=5.9*10**-2*d**2*h*adb #for SRS\n\n#result\nprint'Threshold optical power for SBS = %.1f mW'%(Pb*1000)\nprint 'Threshold optical power for SRS = %.2f W'%Pr\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Threshold optical power for SBS = 80.3 mW\nThreshold optical power for SRS = 1.38 W\n"
- }
- ],
- "prompt_number": 19
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.4, page 101"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration \nn1=1.5 #refractive index\nh=0.82*10**-6 #operating wavelength\ndelta=0.03 #relative refractive index difference \ndelta1=0.003 #relative refractive index difference\nh1=1.55*10**-6 #operating wavelength\na=4*10**-6 #radius of core\n\n#Calculation\nn2=(n1**2)-(2*delta*n1**2) #refractive index\nRc=(3*n1**2*h)/(4*math.pi*(n1**2-n2)**0.5) #multimode fiber critical radius of curvature\nn21=(n1**2)-(2*delta1*n1**2) #refractive index \nhc=(2*math.pi*a*n1*math.sqrt(2*delta1))/(2.405) #cutoff wavelength for the single-mode fiber\nb=20*h1/math.sqrt(0.043)\nc=(2.748-(0.996*h1/hc))**-3\nRcs=b*c #critical radius of curvature for the single-mode\n\n#Result\nprint'Multimode fiber critical radius of curvature = %.2f um'%(Rc*10**6) #value given in the textbook is wrong \nprint'Single-mode fiber critical radius of curvature = %.2f um'%(Rcs*10**3) #value given in the textbook is wrong",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Multimode fiber critical radius of curvature = 1.20 um\nSingle-mode fiber critical radius of curvature = 0.05 um\n"
- }
- ],
- "prompt_number": 36
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.5, page 109"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration \nt=0.1*10**-6 #total pulse time \nd=15 #distance in Km\n\n#Calculation\nBt=1/(2*t) #Maximum Bandwidth\nD=t/d #Pulse Dispersion\nBop=Bt*d #Bandwidth-length product\n\n#Result\nprint'Maximum Bandwidth = %d Mhz'%(Bt/10**6)\nprint'Pulse Dispersion = %.2f ns per Km'%(D*10**9)\nprint'Bandwidth-length product = %d Mhz Km'%(Bop/10**6)\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Maximum Bandwidth = 5 Mhz\nPulse Dispersion = 6.67 ns per Km\nBandwidth-length product = 75 Mhz Km\n"
- }
- ],
- "prompt_number": 51
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.6, page 111"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nb=0.025 #material dispersion \nc=2.998 #speed of light (x 10^8)\nh=85*10**6 #wavelength dispersion parameter\n\n\n#Calculation\nM=b/(c*h) #Material dispersion parameter\ns=M*20 #RMS pulse broadening (1 Km)\n\n#Result\nprint'Material dispersion parameter = %.1f ps n/m K/m'%(M*10**12)\nprint'RMS pulse broadening (1 Km) = %.2f ns K/m'%(s*10**9)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Material dispersion parameter = 98.1 ps n/m K/m\nRMS pulse broadening (1 Km) = 1.96 ns K/m\n"
- }
- ],
- "prompt_number": 55
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.7, page 112"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nh=0.85*10**-6 #wavelength \nb=0.0012 #relative spectral width\nM=98.1*10**-12 #material dispersion parameter\n\n#Calculation\nsh=b*h #relative spectral width\nsm=sh*M*10**9 #RMS pulse braodening\n\n#Result\nprint'RMS pulse braodening (1 Km) = %.2f ns K/m'%(sm*10**9)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "RMS pulse braodening (1 Km) = 0.10 ns K/m\n"
- }
- ],
- "prompt_number": 66
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.8, page 117"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nL=6000 #optical link\nn1=1.5 #core refractive index\ndelt=0.01 #relative refractive index difference\nc=2.998*10**8 #speed of light\n\n\n#Calculation\nTs=(L*n1*delt)/c #Delay difference\nsc=(L*n1*delt)/(2*math.sqrt(3)*c) #RMS pulse broadening\nBt=1/(2*Ts)\nBtm=0.2/sc #Maximum bit rate using RMS pulse broadening\nBop=Btm*L #Bandwidth-length product\n\n#Result\nprint'(a) Delay difference = %d ns' %(Ts*10**9)\nprint'(b) RMS pulse broadening = %.1f ns' %(sc*10**9)\nprint'(c) Maximum bit rate using RMS pulse broadening = %.1f Mbit/s'%(Btm/10**6)\nprint'(d) Bandwidth-length product = %.1f Mhz km'%(Bop/10**9)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Delay difference = 300 ns\n(b) RMS pulse broadening = 86.7 ns\n(c) Maximum bit rate using RMS pulse broadening = 2.3 Mbit/s\n(d) Bandwidth-length product = 13.8 Mhz km\n"
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.9, page 121"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nsc=86.7 #RMS pulse broadening\nL1=6 #optical link\nL=10**3 #for 1 Km\nn1=1.5 #core refractive index\ndelt=0.01 #relative refractive index difference\nc=3*10**8 #speed of light\n\n#Calculation\nd=sc/L1 #for multimode step index fiber\nsg=(L*n1*delt**2)/(20*math.sqrt(3)*c) #gradient index fiber\n\n#Result\nprint'RMS pulse broadening for multimode step index fiber = %.1f ns K/m'%(d)\nprint'RMS pulse broadening for gradient index fiber = %.1f ps K/m'%(sg*10**12)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "RMS pulse broadening for multimode step index fiber = 14.5 ns K/m\nRMS pulse broadening for gradient index fiber = 14.4 ps K/m\n"
- }
- ],
- "prompt_number": 18
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.10, page 125"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nsh=50 #rms spectral width\nL=1 #1 Km\nM=250*10**-12 #material dispersion parameter\nL1=10**3 \nNA=0.3 #numerical aperture\nn1=1.45 #refractive index\nc=2.998*10**8 #speed of light\n\n#Calculation\nsm=sh*L*M #rms pulse broadening\nss=(L1*NA**2)/(4*math.sqrt(3)*n1*c) #rms pulse broadening per kilometer\nst=math.sqrt(sm**2+ss**2) #total rms pulse broadening per kilometer\nBop=0.2/st #bandwidth\u2013length product\n\n#Result\nprint'(a) Total RMS pulse broadening per Km = %.1f ns K/m'%(st*10**9)\nprint'(b) Bandwidth length product = %.1f Mhz Km'%(Bop*10**-6)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Total RMS pulse broadening per Km = 32.4 ns K/m\n(b) Bandwidth length product = 6.2 Mhz Km\n"
- }
- ],
- "prompt_number": 17
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.11, page 131"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "\n#Variable declaration\nh=1280 #wavelength in nm\nS0=0.09*10**-12 #dispersion slope\nh0=1310 #zero dispersion wavlength in nm\nh1=1550 #wavelength in nm\nDm=13.5*10**-12 #material dispersion wavelength in m\nDp=0.4*10**-12 #profile dispersion wavelength in m\n\n#Calculation\na=h*S0/4\nb=1-((h0*h**-1)**4)\nDt=a*b\nDt1=(h1*S0/4)*(1-(h0*h1**-1)**4)\nDw=Dt1-(Dm+Dp)\n\n#Result\nprint'Total first order dispersion (1280 nm) = %.1f nm^-1 km^-1'%(Dt*10**12)\nprint'Total first order dispersion (1550 nm) = %.1f ps n/m K/m'%(Dt1*10**12)\nprint'Waveguide dispersion at wavelength 1.55um = %.1f ps n/m K/m'%(Dw*10**12)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Total first order dispersion (1280 nm) = -2.8 nm^-1 km^-1\nTotal first order dispersion (1550 nm) = 17.1 ps n/m K/m\nWaveguide dispersion at wavelength 1.55um = 3.2 ps n/m K/m\n"
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.12, page 143"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nh=0.9*10**-6 #peak wavelength \nLb=0.09 #beat length\ns=10**-9 #spectral linewidth\n\n\n#Calculation\nBf=h/Lb #modal birefringence\nLbc=h**2/(Bf*s) #coherence length\nBxy=(2*math.pi)/Lb #difference between propagation constant\n\n#Result\nprint'Modal birefringence, Bf = %.1f x 10^-5' %(Bf*10**5)\nprint'Coherence length, Lf = %.1f m' %Lbc\nprint'Difference between propagation constant = %.1f' %Bxy",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Modal birefringence, Bf = 1.0 x 10^-5\nCoherence length, Lf = 81.0 m\nDifference between propagation constant = 69.8\n"
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.13, page 144"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Variable declaration\nh=1.3*10**-6 #fibers operating wavelength\nLs=0.7*10**-3 #beat length\nL=80 #beat length\n\n#Calculation\nBf=h/Ls #Fiber birefringence (0.7mm)\nBf1=h/L #Fiber birefringence (80m)\n\n#Result\nprint'Fiber birefringence (0.7mm) = %.2f x 10^-3'%(Bf*1000)\nprint'Fiber birefringence (80m) = %.2f x 10^-8'%(Bf1*10**8)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Fiber birefringence (0.7mm) = 1.86 x 10^-3\nFiber birefringence (80m) = 1.62 x 10^-8\n"
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.14, page 150"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nL=3.5*10**3 #length of fiber\na=2*10**-3 #tanh(h*L)\n\n\n#Calculation\nh=a/L #mode coupling parameter \n\n#Result\nprint'Mode coupling parameter = %.1f x 10^-7 m^-1'%(h*10**7)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Mode coupling parameter = 5.7 x 10^-7 m^-1\n"
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "",
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter3_2.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter3_2.ipynb
deleted file mode 100755
index 3778a224..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter3_2.ipynb
+++ /dev/null
@@ -1,322 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_3"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter 3 : Transmission characteristics of\noptical fibers"
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.1, page 89"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nPi=120*10**-6 #mean i/p power in uW\nPo=3*10**-6 #mean o/p power in uW\nL=8 #length of fibre in Km\na1=2 #loss in dB\nL1=10 #length of fibre in Km\nloss=9 #loss in dB\n\n#Calculation \nSA=10*math.log10(Pi/Po) #overall signal attenuation\na=SA/L #signal attenuation per kilometer\nal=a1*L1\nSA1=al+loss #signal attenuation for the 10KM link\nP=10**(2.9) #i/o power ratio, 2.9 is numeric value\n\n\n#Result\nprint'Overall signal attenuation = ',round(SA),'dB'\nprint'Signal attenuation per kilometer = ',round(a),'per KM'\nprint'Overall signal attenuation for the 10KM link = ',round(SA1),'dB'\nprint'Numeric value for i/o power ratio = %.1f' %P",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Overall signal attenuation = 16.0 dB\nSignal attenuation per kilometer = 2.0 per KM\nOverall signal attenuation for the 10KM link = 29.0 dB\nNumeric value for i/o power ratio = 794.3\n"
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.2, page 96"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nTf=1400 #tempreture in kelvin\nK=1.381*10**-23 #Boltzmann\u2019s constant\nBc=7*10**-11 #isothermal compressibility\nn=1.46 #refractive index\np=0.286 #refractive index\nh1=0.63*10**-6 #wavelength\nh2=10**-6 #wavelength\nh3=1.3*10**-6 #wavelength\nL=10**3 #length in km\n\n#Calculation \na=(8*math.pi**3*n**8*p**2*Bc*K*Tf)/3\nyr=a/h1**4 #Rayleigh scattering coefficient \nLk=math.exp(-yr*L) #transmission loss factor\nAt=10*math.log10(Lk**-1) #attenuation due to Rayleigh scattering\nyr1=a/h2**4 #Rayleigh scattering coefficient \nLk1=math.exp(-yr1*L) #transmission loss factor\nAt1=10*math.log10(Lk1**-1) #attenuation due to Rayleigh scattering\nyr2=a/h3**4 #Rayleigh scattering coefficient \nLk2=math.exp(-yr2*L) #transmission loss factor\nAt2=10*math.log10(Lk2**-1) #attenuation due to Rayleigh scattering\n\n#Result\nprint'Attenuation due to Rayleigh scattering (in 0.63 \u03bcm)= %.1f dB km^-1'%(At)\nprint'Attenuation due to Rayleigh scattering (in 1.0 \u03bcm)= %.1f dB km^-1'%(At1)\nprint'Attenuation due to Rayleigh scattering (in 1.30 \u03bcm)= %.1f dB km^-1'%(At2)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Attenuation due to Rayleigh scattering (in 0.63 \u03bcm)= 5.2 dB\nAttenuation due to Rayleigh scattering (in 1.0 \u03bcm)= 0.8 dB\nAttenuation due to Rayleigh scattering (in 1.30 \u03bcm)= 0.3 dB\n"
- }
- ],
- "prompt_number": 20
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.3, page 99"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Variable declaration\nd=6 #diameter in \u03bcm\nh=1.3 #wavelength in \u03bcm\nadb=0.5 #attenuation in dB\nv=0.6\n\n#Calculation \nPb=4.4*10**-3*d**2*h**2*adb*v #for SBS\nPr=5.9*10**-2*d**2*h*adb #for SRS\n\n#result\nprint'Threshold optical power for SBS = %.1f mW'%(Pb*1000)\nprint 'Threshold optical power for SRS = %.2f W'%Pr\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Threshold optical power for SBS = 80.3 mW\nThreshold optical power for SRS = 1.38 W\n"
- }
- ],
- "prompt_number": 19
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.4, page 101"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration \nn1=1.5 #refractive index\nh=0.82*10**-6 #operating wavelength\ndelta=0.03 #relative refractive index difference \ndelta1=0.003 #relative refractive index difference\nh1=1.55*10**-6 #operating wavelength\na=4*10**-6 #radius of core\n\n#Calculation\nn2=(n1**2)-(2*delta*n1**2) #refractive index\nRc=(3*n1**2*h)/(4*math.pi*(n1**2-n2)**0.5) #multimode fiber critical radius of curvature\nn21=(n1**2)-(2*delta1*n1**2) #refractive index \nhc=(2*math.pi*a*n1*math.sqrt(2*delta1))/(2.405) #cutoff wavelength for the single-mode fiber\nb=20*h1/math.sqrt(0.043)\nc=(2.748-(0.996*h1/hc))**-3\nRcs=b*c #critical radius of curvature for the single-mode\n\n#Result\nprint'Multimode fiber critical radius of curvature = %.2f um'%(Rc*10**6) #value given in the textbook is wrong \nprint'Single-mode fiber critical radius of curvature = %.2f um'%(Rcs*10**3) #value given in the textbook is wrong",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Multimode fiber critical radius of curvature = 1.20 um\nSingle-mode fiber critical radius of curvature = 0.05 um\n"
- }
- ],
- "prompt_number": 36
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.5, page 109"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration \nt=0.1*10**-6 #total pulse time \nd=15 #distance in Km\n\n#Calculation\nBt=1/(2*t) #Maximum Bandwidth\nD=t/d #Pulse Dispersion\nBop=Bt*d #Bandwidth-length product\n\n#Result\nprint'Maximum Bandwidth = %d Mhz'%(Bt/10**6)\nprint'Pulse Dispersion = %.2f ns per Km'%(D*10**9)\nprint'Bandwidth-length product = %d Mhz Km'%(Bop/10**6)\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Maximum Bandwidth = 5 Mhz\nPulse Dispersion = 6.67 ns per Km\nBandwidth-length product = 75 Mhz Km\n"
- }
- ],
- "prompt_number": 51
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.6, page 111"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nb=0.025 #material dispersion \nc=2.998 #speed of light (x 10^8)\nh=85*10**6 #wavelength dispersion parameter\n\n\n#Calculation\nM=b/(c*h) #Material dispersion parameter\ns=M*20 #RMS pulse broadening (1 Km)\n\n#Result\nprint'Material dispersion parameter = %.1f ps n/m K/m'%(M*10**12)\nprint'RMS pulse broadening (1 Km) = %.2f ns K/m'%(s*10**9)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Material dispersion parameter = 98.1 ps n/m K/m\nRMS pulse broadening (1 Km) = 1.96 ns K/m\n"
- }
- ],
- "prompt_number": 55
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.7, page 112"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nh=0.85*10**-6 #wavelength \nb=0.0012 #relative spectral width\nM=98.1*10**-12 #material dispersion parameter\n\n#Calculation\nsh=b*h #relative spectral width\nsm=sh*M*10**9 #RMS pulse braodening\n\n#Result\nprint'RMS pulse braodening (1 Km) = %.2f ns K/m'%(sm*10**9)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "RMS pulse braodening (1 Km) = 0.10 ns K/m\n"
- }
- ],
- "prompt_number": 66
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.8, page 117"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nL=6000 #optical link\nn1=1.5 #core refractive index\ndelt=0.01 #relative refractive index difference\nc=2.998*10**8 #speed of light\n\n\n#Calculation\nTs=(L*n1*delt)/c #Delay difference\nsc=(L*n1*delt)/(2*math.sqrt(3)*c) #RMS pulse broadening\nBt=1/(2*Ts)\nBtm=0.2/sc #Maximum bit rate using RMS pulse broadening\nBop=Btm*L #Bandwidth-length product\n\n#Result\nprint'(a) Delay difference = %d ns' %(Ts*10**9)\nprint'(b) RMS pulse broadening = %.1f ns' %(sc*10**9)\nprint'(c) Maximum bit rate using RMS pulse broadening = %.1f Mbit/s'%(Btm/10**6)\nprint'(d) Bandwidth-length product = %.1f Mhz km'%(Bop/10**9)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Delay difference = 300 ns\n(b) RMS pulse broadening = 86.7 ns\n(c) Maximum bit rate using RMS pulse broadening = 2.3 Mbit/s\n(d) Bandwidth-length product = 13.8 Mhz km\n"
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.9, page 121"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nsc=86.7 #RMS pulse broadening\nL1=6 #optical link\nL=10**3 #for 1 Km\nn1=1.5 #core refractive index\ndelt=0.01 #relative refractive index difference\nc=3*10**8 #speed of light\n\n#Calculation\nd=sc/L1 #for multimode step index fiber\nsg=(L*n1*delt**2)/(20*math.sqrt(3)*c) #gradient index fiber\n\n#Result\nprint'RMS pulse broadening for multimode step index fiber = %.1f ns K/m'%(d)\nprint'RMS pulse broadening for gradient index fiber = %.1f ps K/m'%(sg*10**12)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "RMS pulse broadening for multimode step index fiber = 14.5 ns K/m\nRMS pulse broadening for gradient index fiber = 14.4 ps K/m\n"
- }
- ],
- "prompt_number": 18
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.10, page 125"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nsh=50 #rms spectral width\nL=1 #1 Km\nM=250*10**-12 #material dispersion parameter\nL1=10**3 \nNA=0.3 #numerical aperture\nn1=1.45 #refractive index\nc=2.998*10**8 #speed of light\n\n#Calculation\nsm=sh*L*M #rms pulse broadening\nss=(L1*NA**2)/(4*math.sqrt(3)*n1*c) #rms pulse broadening per kilometer\nst=math.sqrt(sm**2+ss**2) #total rms pulse broadening per kilometer\nBop=0.2/st #bandwidth\u2013length product\n\n#Result\nprint'(a) Total RMS pulse broadening per Km = %.1f ns K/m'%(st*10**9)\nprint'(b) Bandwidth length product = %.1f Mhz Km'%(Bop*10**-6)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Total RMS pulse broadening per Km = 32.4 ns K/m\n(b) Bandwidth length product = 6.2 Mhz Km\n"
- }
- ],
- "prompt_number": 17
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.11, page 131"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "\n#Variable declaration\nh=1280 #wavelength in nm\nS0=0.09*10**-12 #dispersion slope\nh0=1310 #zero dispersion wavlength in nm\nh1=1550 #wavelength in nm\nDm=13.5*10**-12 #material dispersion wavelength in m\nDp=0.4*10**-12 #profile dispersion wavelength in m\n\n#Calculation\na=h*S0/4\nb=1-((h0*h**-1)**4)\nDt=a*b\nDt1=(h1*S0/4)*(1-(h0*h1**-1)**4)\nDw=Dt1-(Dm+Dp)\n\n#Result\nprint'Total first order dispersion (1280 nm) = %.1f nm^-1 km^-1'%(Dt*10**12)\nprint'Total first order dispersion (1550 nm) = %.1f ps n/m K/m'%(Dt1*10**12)\nprint'Waveguide dispersion at wavelength 1.55um = %.1f ps n/m K/m'%(Dw*10**12)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Total first order dispersion (1280 nm) = -2.8 nm^-1 km^-1\nTotal first order dispersion (1550 nm) = 17.1 ps n/m K/m\nWaveguide dispersion at wavelength 1.55um = 3.2 ps n/m K/m\n"
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.12, page 143"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nh=0.9*10**-6 #peak wavelength \nLb=0.09 #beat length\ns=10**-9 #spectral linewidth\n\n\n#Calculation\nBf=h/Lb #modal birefringence\nLbc=h**2/(Bf*s) #coherence length\nBxy=(2*math.pi)/Lb #difference between propagation constant\n\n#Result\nprint'Modal birefringence, Bf = %.1f x 10^-5' %(Bf*10**5)\nprint'Coherence length, Lf = %.1f m' %Lbc\nprint'Difference between propagation constant = %.1f' %Bxy",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Modal birefringence, Bf = 1.0 x 10^-5\nCoherence length, Lf = 81.0 m\nDifference between propagation constant = 69.8\n"
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.13, page 144"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Variable declaration\nh=1.3*10**-6 #fibers operating wavelength\nLs=0.7*10**-3 #beat length\nL=80 #beat length\n\n#Calculation\nBf=h/Ls #Fiber birefringence (0.7mm)\nBf1=h/L #Fiber birefringence (80m)\n\n#Result\nprint'Fiber birefringence (0.7mm) = %.2f x 10^-3'%(Bf*1000)\nprint'Fiber birefringence (80m) = %.2f x 10^-8'%(Bf1*10**8)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Fiber birefringence (0.7mm) = 1.86 x 10^-3\nFiber birefringence (80m) = 1.62 x 10^-8\n"
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 3.14, page 150"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nL=3.5*10**3 #length of fiber\na=2*10**-3 #tanh(h*L)\n\n\n#Calculation\nh=a/L #mode coupling parameter \n\n#Result\nprint'Mode coupling parameter = %.1f x 10^-7 m^-1'%(h*10**7)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Mode coupling parameter = 5.7 x 10^-7 m^-1\n"
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "",
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter4.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter4.ipynb
deleted file mode 100755
index 7a8733a2..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter4.ipynb
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_4"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter 4 : Optical fibers and cables"
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 4.1, page 196"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nl=0.16*10**-9 #bond distance\nSt=2.6*10**6 #cohesive strength\npsi=6894.76\nE=9*10**10 #Young modulus of silica\nC=10**-8\n\n#Calculation\nYp=4*l*St**2/E\nSf=math.sqrt((2*E*Yp)/(math.pi*C)) #Fracture stress for elliptical crack\nStr=Sf/E #Strain\n\n#Result\nprint'Fracture stress for elliptical crack = %.2f x 10^5 psi'%(Sf*10**-5)\nprint'Strain in percentage = %d percent'%(Str*6894.76*100)",
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": "*"
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter4_1.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter4_1.ipynb
deleted file mode 100755
index 7a8733a2..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter4_1.ipynb
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_4"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter 4 : Optical fibers and cables"
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 4.1, page 196"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nl=0.16*10**-9 #bond distance\nSt=2.6*10**6 #cohesive strength\npsi=6894.76\nE=9*10**10 #Young modulus of silica\nC=10**-8\n\n#Calculation\nYp=4*l*St**2/E\nSf=math.sqrt((2*E*Yp)/(math.pi*C)) #Fracture stress for elliptical crack\nStr=Sf/E #Strain\n\n#Result\nprint'Fracture stress for elliptical crack = %.2f x 10^5 psi'%(Sf*10**-5)\nprint'Strain in percentage = %d percent'%(Str*6894.76*100)",
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": "*"
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter4_2.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter4_2.ipynb
deleted file mode 100755
index 7a8733a2..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter4_2.ipynb
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_4"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter 4 : Optical fibers and cables"
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 4.1, page 196"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nl=0.16*10**-9 #bond distance\nSt=2.6*10**6 #cohesive strength\npsi=6894.76\nE=9*10**10 #Young modulus of silica\nC=10**-8\n\n#Calculation\nYp=4*l*St**2/E\nSf=math.sqrt((2*E*Yp)/(math.pi*C)) #Fracture stress for elliptical crack\nStr=Sf/E #Strain\n\n#Result\nprint'Fracture stress for elliptical crack = %.2f x 10^5 psi'%(Sf*10**-5)\nprint'Strain in percentage = %d percent'%(Str*6894.76*100)",
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": "*"
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter5.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter5.ipynb
deleted file mode 100755
index 0c445b62..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter5.ipynb
+++ /dev/null
@@ -1,239 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_5"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Chapter 5 : Optical fiber connection: joints, couplers and isolators"
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 5.1, page 220"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nn1=1.5 #core refractive index\nn=1.0 #refractive index of medium\n\n#Calculation\nr=((n1-n)/(n1+n))**2 #magnitude of the Fresnel reflection at the fiber\u2013air interface\nLoss=-10*math.log10(1-r) #loss in decibels at the single interface\nLoss1=2*Loss #total loss\n\n#Result\nprint'Total loss due to Fresnel reflection = %.2f dB'%Loss1 #loss due to fresnel resolution = 0.18X2 dB\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Total loss due to Fresnel reflection = 0.35 dB\n"
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 5.2, page 224"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nn1=1.5 #refractive index\ny=5 #lateral offset of the fiber core axes in um\na=25 #radius in um\n\n#Calculation\nb=(16*n1**2)/(math.pi*(1+n1)**4)\nc=math.acos(y*(2*a)**-1)\ne=(y*a**-1)\nf=math.sqrt(1-(y*(2*a)**-1)**2)\nn=b*((2*c)-(e*f)) #coupling efficiency \nLoss=-10*math.log10(n) #insertion loss\nna=(math.pi**-1)*((2*c)-(e*f))\nLoss1=-10*math.log10(na) \n\n#Result\nprint'(a) Insertion loss = %.3f dB'%Loss\nprint'(b) Insertion loss = %.2f dB'%Loss1",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Insertion loss = 0.945 dB\n(b) Insertion loss = 0.59 dB\n"
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 5.3, page 226"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\ny=3 #lateral misalignment in um\na=25 #core radius in um\n\n#Calculation\nLt=0.85*(y*a**-1) #misalignment loss for guided modes\nn=1-Lt #coupling efficiency\nLoss=-10*math.log10(n) #insertion loss\nLt1=0.75*(y*a**-1) #both guided and leaky modes \nn1=1-Lt1 #coupling efficiency\nLoss1=-10*math.log10(n1) #insertion loss\n\n#Result\nprint'(a) Uniform illumination of all guided modes only = %.2f dB'%Loss\nprint'(b) Uniform illumination of all guided and leaky modes = %.2f dB'%Loss1",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Uniform illumination of all guided modes only = 0.47 dB\n(b) Uniform illumination of all guided and leaky modes = 0.41 dB\n"
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 5.4, page 227"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nNA=0.2 #numerical aperture\nn1=1.48 #core refractive index\nang=(5*math.pi)/180 #angular misalignment (radians)\nNA1=0.4 #numerical aperture\n\n#Calculation\nna=((16*(n1)**2)/((1+n1)**4))*(1-(ang/(math.pi*NA))) #angular coupling efficiency\nLoss=-10*math.log10(na) #insertion loss\nna1=((16*(n1)**2)/((1+n1)**4))*(1-(ang/(math.pi*NA1))) #angular coupling efficiency\nLoss1=-10*math.log10(na1) #insertion loss\n\n#Result\nprint'Insertion loss at a joint (NA = 0.2) = %.2f dB'%Loss\nprint'Insertion loss at a joint (NA = 0.4) = %.2f dB'%Loss1 #in textbook, value is not calculated",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Insertion loss at a joint (NA = 0.2) = 0.98 dB\nInsertion loss at a joint (NA = 0.4) = 0.64 dB\n"
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 5.5, page 231"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nV=2.4 #normalized frequency\na=4 #core radius in um\nNA=0.1 #numerical aperture \nn1=1.46 #core refractive index\ny=1 #lateral misalignment in um\nteta=math.pi/180 #angular misalignment in rad\n\n#Calculation\nw=a*(0.65+(1.62/V**1.5)+(2.88/V**6))/(2**0.5) #normalized spot size\nTl=2.17*(y/w)**2 #loss due to the lateral offset\nTa=2.17*((teta*w*n1*V)/(a*NA))**2 #loss due to angular misalignment\nTt=Tl+Ta #total insertion loss\n\n#Result\nprint'Total insertion loss = %.2f dB'%Tt",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Total insertion loss = 0.72 dB\n"
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 5.6, page 232"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nw01=5.6 #mode-field radius in um\nw02=4.2 #mode-field radius in um\n\n#Calculation\nLoss=-10*math.log10(4*((w02/w01)+(w01/w02))**(-2)) #intrinsic loss \n\n#Result\nprint'Intrinsic loss = %.2f dB'%Loss",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Intrinsic loss = 0.35 dB\n"
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 5.7, page 262"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\np1=60 #input port power\np2=0.004 #output port power\np3=26 #output port power\np4=27.5 #output port power\n\n\n#Calculation\nxloss=10*math.log10(p1/(p3+p4)) #Excess Loss\niloss1=10*math.log10(p1*p3**-1) #Insertion Loss at input\niloss2=10*math.log10(p1/p4) #Insertion Loss at output\ncross=10*math.log10(p2/p1) #Crosstalk ratio\nsrat=((p3/(p3+p4))*100) #Split ratio\n\n#Result\nprint'Excess Loss = %.1f dB'%xloss\nprint'Insertion Loss at input = %.2f dB'%iloss1\nprint'Insertion Loss at output = %.2f dB'%iloss2\nprint'Crosstalk ratio = %.1f dB'%cross\nprint'Split ratio = %.1f percent'%srat",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Excess Loss = 0.5 dB\nInsertion Loss at input = 3.63 dB\nInsertion Loss at output = 3.39 dB\nCrosstalk ratio = -41.8 dB\nSplit ratio = 48.6 percent\n"
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 5.8, page 266"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nN=32 #total no of ports\npi=10**3 #optical power at input in micro-watt\npj=14 #optical power at input in micro-watt\n\n\n#Calculation\nsloss=10*math.log10(N) #splitting loss\nxloss=10*math.log10(pi*(pj*N)**-1) #excess loss\ntloss=sloss+xloss #total loss\niloss=10*math.log10(pi*pj**-1) #insertion loss\n\n#Result\nprint'Total loss = %.2f dB'%tloss\nprint'Insertion loss = %.2f dB'%iloss\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Total loss = 18.54 dB\nInsertion loss = 18.54 dB\n"
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 5.9, page 268"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\np=16 #output ports\nl=0.2 #excess loss with split ratio of 50%\nl1=0.1 #splice loss\n\n#Calculation\nm=math.log(p)/math.log(2) #no of stages\nxloss=(4*l)+(3*l1) #excess loss\nsloss=10*math.log10(p) #split loss\niloss=sloss+xloss #insertion loss\n\n#Result\nprint'Insertion loss = %.2f dB'%iloss",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Insertion loss = 13.14 dB\n"
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 5.10, page 277"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Variable declaration\nh=1.55*10**-6 #optical signal wavelength\nN=1.46 #refractive index\n\n\n#Calculation\nv=h/(2*N) #grating period of the FBG\n\n#Result\nprint'Grating period of FBG = %.2f um'%(v*10**6)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Grating period of FBG = 0.53 um\n"
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "",
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 11
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter5_1.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter5_1.ipynb
deleted file mode 100755
index 0c445b62..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter5_1.ipynb
+++ /dev/null
@@ -1,239 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_5"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Chapter 5 : Optical fiber connection: joints, couplers and isolators"
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 5.1, page 220"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nn1=1.5 #core refractive index\nn=1.0 #refractive index of medium\n\n#Calculation\nr=((n1-n)/(n1+n))**2 #magnitude of the Fresnel reflection at the fiber\u2013air interface\nLoss=-10*math.log10(1-r) #loss in decibels at the single interface\nLoss1=2*Loss #total loss\n\n#Result\nprint'Total loss due to Fresnel reflection = %.2f dB'%Loss1 #loss due to fresnel resolution = 0.18X2 dB\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Total loss due to Fresnel reflection = 0.35 dB\n"
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 5.2, page 224"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nn1=1.5 #refractive index\ny=5 #lateral offset of the fiber core axes in um\na=25 #radius in um\n\n#Calculation\nb=(16*n1**2)/(math.pi*(1+n1)**4)\nc=math.acos(y*(2*a)**-1)\ne=(y*a**-1)\nf=math.sqrt(1-(y*(2*a)**-1)**2)\nn=b*((2*c)-(e*f)) #coupling efficiency \nLoss=-10*math.log10(n) #insertion loss\nna=(math.pi**-1)*((2*c)-(e*f))\nLoss1=-10*math.log10(na) \n\n#Result\nprint'(a) Insertion loss = %.3f dB'%Loss\nprint'(b) Insertion loss = %.2f dB'%Loss1",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Insertion loss = 0.945 dB\n(b) Insertion loss = 0.59 dB\n"
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 5.3, page 226"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\ny=3 #lateral misalignment in um\na=25 #core radius in um\n\n#Calculation\nLt=0.85*(y*a**-1) #misalignment loss for guided modes\nn=1-Lt #coupling efficiency\nLoss=-10*math.log10(n) #insertion loss\nLt1=0.75*(y*a**-1) #both guided and leaky modes \nn1=1-Lt1 #coupling efficiency\nLoss1=-10*math.log10(n1) #insertion loss\n\n#Result\nprint'(a) Uniform illumination of all guided modes only = %.2f dB'%Loss\nprint'(b) Uniform illumination of all guided and leaky modes = %.2f dB'%Loss1",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Uniform illumination of all guided modes only = 0.47 dB\n(b) Uniform illumination of all guided and leaky modes = 0.41 dB\n"
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 5.4, page 227"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nNA=0.2 #numerical aperture\nn1=1.48 #core refractive index\nang=(5*math.pi)/180 #angular misalignment (radians)\nNA1=0.4 #numerical aperture\n\n#Calculation\nna=((16*(n1)**2)/((1+n1)**4))*(1-(ang/(math.pi*NA))) #angular coupling efficiency\nLoss=-10*math.log10(na) #insertion loss\nna1=((16*(n1)**2)/((1+n1)**4))*(1-(ang/(math.pi*NA1))) #angular coupling efficiency\nLoss1=-10*math.log10(na1) #insertion loss\n\n#Result\nprint'Insertion loss at a joint (NA = 0.2) = %.2f dB'%Loss\nprint'Insertion loss at a joint (NA = 0.4) = %.2f dB'%Loss1 #in textbook, value is not calculated",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Insertion loss at a joint (NA = 0.2) = 0.98 dB\nInsertion loss at a joint (NA = 0.4) = 0.64 dB\n"
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 5.5, page 231"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nV=2.4 #normalized frequency\na=4 #core radius in um\nNA=0.1 #numerical aperture \nn1=1.46 #core refractive index\ny=1 #lateral misalignment in um\nteta=math.pi/180 #angular misalignment in rad\n\n#Calculation\nw=a*(0.65+(1.62/V**1.5)+(2.88/V**6))/(2**0.5) #normalized spot size\nTl=2.17*(y/w)**2 #loss due to the lateral offset\nTa=2.17*((teta*w*n1*V)/(a*NA))**2 #loss due to angular misalignment\nTt=Tl+Ta #total insertion loss\n\n#Result\nprint'Total insertion loss = %.2f dB'%Tt",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Total insertion loss = 0.72 dB\n"
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 5.6, page 232"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nw01=5.6 #mode-field radius in um\nw02=4.2 #mode-field radius in um\n\n#Calculation\nLoss=-10*math.log10(4*((w02/w01)+(w01/w02))**(-2)) #intrinsic loss \n\n#Result\nprint'Intrinsic loss = %.2f dB'%Loss",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Intrinsic loss = 0.35 dB\n"
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 5.7, page 262"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\np1=60 #input port power\np2=0.004 #output port power\np3=26 #output port power\np4=27.5 #output port power\n\n\n#Calculation\nxloss=10*math.log10(p1/(p3+p4)) #Excess Loss\niloss1=10*math.log10(p1*p3**-1) #Insertion Loss at input\niloss2=10*math.log10(p1/p4) #Insertion Loss at output\ncross=10*math.log10(p2/p1) #Crosstalk ratio\nsrat=((p3/(p3+p4))*100) #Split ratio\n\n#Result\nprint'Excess Loss = %.1f dB'%xloss\nprint'Insertion Loss at input = %.2f dB'%iloss1\nprint'Insertion Loss at output = %.2f dB'%iloss2\nprint'Crosstalk ratio = %.1f dB'%cross\nprint'Split ratio = %.1f percent'%srat",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Excess Loss = 0.5 dB\nInsertion Loss at input = 3.63 dB\nInsertion Loss at output = 3.39 dB\nCrosstalk ratio = -41.8 dB\nSplit ratio = 48.6 percent\n"
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 5.8, page 266"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nN=32 #total no of ports\npi=10**3 #optical power at input in micro-watt\npj=14 #optical power at input in micro-watt\n\n\n#Calculation\nsloss=10*math.log10(N) #splitting loss\nxloss=10*math.log10(pi*(pj*N)**-1) #excess loss\ntloss=sloss+xloss #total loss\niloss=10*math.log10(pi*pj**-1) #insertion loss\n\n#Result\nprint'Total loss = %.2f dB'%tloss\nprint'Insertion loss = %.2f dB'%iloss\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Total loss = 18.54 dB\nInsertion loss = 18.54 dB\n"
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 5.9, page 268"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\np=16 #output ports\nl=0.2 #excess loss with split ratio of 50%\nl1=0.1 #splice loss\n\n#Calculation\nm=math.log(p)/math.log(2) #no of stages\nxloss=(4*l)+(3*l1) #excess loss\nsloss=10*math.log10(p) #split loss\niloss=sloss+xloss #insertion loss\n\n#Result\nprint'Insertion loss = %.2f dB'%iloss",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Insertion loss = 13.14 dB\n"
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 5.10, page 277"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Variable declaration\nh=1.55*10**-6 #optical signal wavelength\nN=1.46 #refractive index\n\n\n#Calculation\nv=h/(2*N) #grating period of the FBG\n\n#Result\nprint'Grating period of FBG = %.2f um'%(v*10**6)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Grating period of FBG = 0.53 um\n"
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "",
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 11
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter5_2.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter5_2.ipynb
deleted file mode 100755
index 0c445b62..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter5_2.ipynb
+++ /dev/null
@@ -1,239 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_5"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Chapter 5 : Optical fiber connection: joints, couplers and isolators"
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 5.1, page 220"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nn1=1.5 #core refractive index\nn=1.0 #refractive index of medium\n\n#Calculation\nr=((n1-n)/(n1+n))**2 #magnitude of the Fresnel reflection at the fiber\u2013air interface\nLoss=-10*math.log10(1-r) #loss in decibels at the single interface\nLoss1=2*Loss #total loss\n\n#Result\nprint'Total loss due to Fresnel reflection = %.2f dB'%Loss1 #loss due to fresnel resolution = 0.18X2 dB\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Total loss due to Fresnel reflection = 0.35 dB\n"
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 5.2, page 224"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nn1=1.5 #refractive index\ny=5 #lateral offset of the fiber core axes in um\na=25 #radius in um\n\n#Calculation\nb=(16*n1**2)/(math.pi*(1+n1)**4)\nc=math.acos(y*(2*a)**-1)\ne=(y*a**-1)\nf=math.sqrt(1-(y*(2*a)**-1)**2)\nn=b*((2*c)-(e*f)) #coupling efficiency \nLoss=-10*math.log10(n) #insertion loss\nna=(math.pi**-1)*((2*c)-(e*f))\nLoss1=-10*math.log10(na) \n\n#Result\nprint'(a) Insertion loss = %.3f dB'%Loss\nprint'(b) Insertion loss = %.2f dB'%Loss1",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Insertion loss = 0.945 dB\n(b) Insertion loss = 0.59 dB\n"
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 5.3, page 226"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\ny=3 #lateral misalignment in um\na=25 #core radius in um\n\n#Calculation\nLt=0.85*(y*a**-1) #misalignment loss for guided modes\nn=1-Lt #coupling efficiency\nLoss=-10*math.log10(n) #insertion loss\nLt1=0.75*(y*a**-1) #both guided and leaky modes \nn1=1-Lt1 #coupling efficiency\nLoss1=-10*math.log10(n1) #insertion loss\n\n#Result\nprint'(a) Uniform illumination of all guided modes only = %.2f dB'%Loss\nprint'(b) Uniform illumination of all guided and leaky modes = %.2f dB'%Loss1",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Uniform illumination of all guided modes only = 0.47 dB\n(b) Uniform illumination of all guided and leaky modes = 0.41 dB\n"
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 5.4, page 227"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nNA=0.2 #numerical aperture\nn1=1.48 #core refractive index\nang=(5*math.pi)/180 #angular misalignment (radians)\nNA1=0.4 #numerical aperture\n\n#Calculation\nna=((16*(n1)**2)/((1+n1)**4))*(1-(ang/(math.pi*NA))) #angular coupling efficiency\nLoss=-10*math.log10(na) #insertion loss\nna1=((16*(n1)**2)/((1+n1)**4))*(1-(ang/(math.pi*NA1))) #angular coupling efficiency\nLoss1=-10*math.log10(na1) #insertion loss\n\n#Result\nprint'Insertion loss at a joint (NA = 0.2) = %.2f dB'%Loss\nprint'Insertion loss at a joint (NA = 0.4) = %.2f dB'%Loss1 #in textbook, value is not calculated",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Insertion loss at a joint (NA = 0.2) = 0.98 dB\nInsertion loss at a joint (NA = 0.4) = 0.64 dB\n"
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 5.5, page 231"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nV=2.4 #normalized frequency\na=4 #core radius in um\nNA=0.1 #numerical aperture \nn1=1.46 #core refractive index\ny=1 #lateral misalignment in um\nteta=math.pi/180 #angular misalignment in rad\n\n#Calculation\nw=a*(0.65+(1.62/V**1.5)+(2.88/V**6))/(2**0.5) #normalized spot size\nTl=2.17*(y/w)**2 #loss due to the lateral offset\nTa=2.17*((teta*w*n1*V)/(a*NA))**2 #loss due to angular misalignment\nTt=Tl+Ta #total insertion loss\n\n#Result\nprint'Total insertion loss = %.2f dB'%Tt",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Total insertion loss = 0.72 dB\n"
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 5.6, page 232"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nw01=5.6 #mode-field radius in um\nw02=4.2 #mode-field radius in um\n\n#Calculation\nLoss=-10*math.log10(4*((w02/w01)+(w01/w02))**(-2)) #intrinsic loss \n\n#Result\nprint'Intrinsic loss = %.2f dB'%Loss",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Intrinsic loss = 0.35 dB\n"
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 5.7, page 262"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\np1=60 #input port power\np2=0.004 #output port power\np3=26 #output port power\np4=27.5 #output port power\n\n\n#Calculation\nxloss=10*math.log10(p1/(p3+p4)) #Excess Loss\niloss1=10*math.log10(p1*p3**-1) #Insertion Loss at input\niloss2=10*math.log10(p1/p4) #Insertion Loss at output\ncross=10*math.log10(p2/p1) #Crosstalk ratio\nsrat=((p3/(p3+p4))*100) #Split ratio\n\n#Result\nprint'Excess Loss = %.1f dB'%xloss\nprint'Insertion Loss at input = %.2f dB'%iloss1\nprint'Insertion Loss at output = %.2f dB'%iloss2\nprint'Crosstalk ratio = %.1f dB'%cross\nprint'Split ratio = %.1f percent'%srat",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Excess Loss = 0.5 dB\nInsertion Loss at input = 3.63 dB\nInsertion Loss at output = 3.39 dB\nCrosstalk ratio = -41.8 dB\nSplit ratio = 48.6 percent\n"
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 5.8, page 266"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nN=32 #total no of ports\npi=10**3 #optical power at input in micro-watt\npj=14 #optical power at input in micro-watt\n\n\n#Calculation\nsloss=10*math.log10(N) #splitting loss\nxloss=10*math.log10(pi*(pj*N)**-1) #excess loss\ntloss=sloss+xloss #total loss\niloss=10*math.log10(pi*pj**-1) #insertion loss\n\n#Result\nprint'Total loss = %.2f dB'%tloss\nprint'Insertion loss = %.2f dB'%iloss\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Total loss = 18.54 dB\nInsertion loss = 18.54 dB\n"
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 5.9, page 268"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\np=16 #output ports\nl=0.2 #excess loss with split ratio of 50%\nl1=0.1 #splice loss\n\n#Calculation\nm=math.log(p)/math.log(2) #no of stages\nxloss=(4*l)+(3*l1) #excess loss\nsloss=10*math.log10(p) #split loss\niloss=sloss+xloss #insertion loss\n\n#Result\nprint'Insertion loss = %.2f dB'%iloss",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Insertion loss = 13.14 dB\n"
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 5.10, page 277"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Variable declaration\nh=1.55*10**-6 #optical signal wavelength\nN=1.46 #refractive index\n\n\n#Calculation\nv=h/(2*N) #grating period of the FBG\n\n#Result\nprint'Grating period of FBG = %.2f um'%(v*10**6)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Grating period of FBG = 0.53 um\n"
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "",
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 11
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter6.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter6.ipynb
deleted file mode 100755
index fa4189b4..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter6.ipynb
+++ /dev/null
@@ -1,188 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_6"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter 6 - Optical sources 1: the laser\n"
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 6.1, page 301"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nc=2.998*10**8 #speed of light in m/s\nh=0.5*10**-6 #operating wavelength in um\nt=1000 #tempreture in K\n\n#Calculation\nf=c/h #operating frequency\nr=1/math.exp((6.626*10**-34*f)/(1.381*10**-23*t)) #ratio\n\n#Result\nprint'Ratio = %.1f x 10^-13 '%(r*10**13)\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Ratio = 3.2 x 10^-13 \n"
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 6.2, page 306"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Variable declaration\nn=1.78 #refractive index\nL=0.04 #length in meter\nh=0.55*10**-6 #peak emission wavelength in um\nc=2.998*10**8 #speed of light in meter\n\n#Calculation\nq=2*n*L/h #no of longitudinal modes\nsf=c/(2*n*L) #frequency separation modes\n\n#Result\nprint'No of longitudinal modes = %.1f x 10^5'%(q/10**5)\nprint'Frequency separation modes = %.1f GHz'%(sf/10**9)\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "No of longitudinal modes = 2.6 x 10^5\nFrequency separation modes = 2.1 GHz\n"
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 6.3, page 308"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Variable declaration\na=30 #active cavity losses\nL=0.06 #length in meter\nr=0.3 #reflectivity\n\n\n#Calculation\ngm=a+(1/L)+(1/r) #laser gain coefficient\n\n\n#Result\nprint'Laser gain coefficient = %.1f cm^-1'%gm",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Laser gain coefficient = 50.0 cm^-1\n"
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 6.4, page 315"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nBt1=7.21*10**-10 #recombination coefficient of GaAs\nBt2=1.79*10**-15 #recombination coefficient of Si\nN=10**18 #hole concentration \n\n#Calculation\ntr1=(Bt1*N)**-1 #radiative carrier lifetime of GaAs\ntr2=(Bt2*N)**-1 #radiative carrier lifetime of Si\n\n#Result\nprint'Radiative carrier lifetime of silicon = %.2f ms'%(tr2*1000)\nprint'Radiative carrier lifetime of gallium arsenide = %.2f ns'%(tr1*10**9)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Radiative carrier lifetime of silicon = 0.56 ms\nRadiative carrier lifetime of gallium arsenide = 1.39 ns\n"
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 6.5, page 322"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nn=3.6 #refractive index\nB=21*10**-3 #gain factor\na=10 #loss coefficient per cm\nL=250*10**-4 #optical cavity length\nw=100*10**-4 #optical cavity width\n\n#Calculation\nr=((n-1)/(n+1))**2 #reflectivity\njth=(1/B)*(a+math.log(1/r)/L) #threshold current density\narea=L*w #area\nith=jth*area #threshold current\n \n#Result\nprint'Threshold current = %.1f mA'%(ith*1000)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Threshold current = 662.4 mA\n"
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 6.6, page 330"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nnt=0.18 #total efficiency\nE=1.43 #bandgap energy\nV=2.5 #voltage\n\n\n#Calculation\nnep=nt*(E/V)*100 #external power efficiency\n\n#Result\nprint'External power efficiency = %d percent'%nep",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "External power efficiency = 10 percent\n"
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 6.7, page 352"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nt1=20+273 #tempreture 20 \u00b0C convert to kelvin\nt2=80+273 #tempreture 80 \u00b0C convert to kelvin\nL1=160 #tempreture 160K\nL2=55 #tempreture 55K\n\n#Calculation\na=t1*L1**-1 \nb=t2*L1**-1\nc=t1*L2**-1\nd=t2*L2**-1\nJa1=math.exp(a) #For the AlGaAs device\nJa2=math.exp(b) #For the AlGaAs device\nJa=Ja2/Ja1 #ratio of the current densities\nJb1=math.exp(c) #For the InGaAsP device\nJb2=math.exp(d) #For the InGaAsP device\nJb=Jb2/Jb1 #ratio of the current densities\n\n#Result\nprint'Threshold current density at 20 \u00b0C = %.2f'%Ja\nprint' at 80 \u00b0C = %.2f' %Jb\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Threshold current density at 20 \u00b0C = 1.45\n at 80 \u00b0C = 2.98\n"
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 6.8, page 359"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\ns=10**-15 #RIN value \nf=100*10**6 #bandwidth\ne=1.602*10**-19 #1 electron volt\nn=0.6 #quantum efficiency\nh=1.55*10**-6 #wavelength in um\npe=2*10**-3 #power incident\nB=100*10**6 #bandwidth\nh1=6.626*10**-34 #plancks constant\nc=2.998*10**8 #speed of light\n\n#Calculation\nsr=s*f \nrin=math.sqrt(sr) #RMS value of power fluctuation\nirn=e*n*h*rin*pe*math.sqrt(B)*10**-4/(h1*c) #RMS noise current\n\n#Result\nprint'(a) RMS value of power fluctuation = %.2f x 10^-4 W'%(rin*10**4)\nprint'(b) RMS noise current = %.2f x 10^-7 A'%(irn*10**7)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) RMS value of power fluctuation = 3.16 x 10^-4 W\n(b) RMS noise current = 4.74 x 10^-7 A\n"
- }
- ],
- "prompt_number": 8
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter6_1.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter6_1.ipynb
deleted file mode 100755
index fa4189b4..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter6_1.ipynb
+++ /dev/null
@@ -1,188 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_6"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter 6 - Optical sources 1: the laser\n"
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 6.1, page 301"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nc=2.998*10**8 #speed of light in m/s\nh=0.5*10**-6 #operating wavelength in um\nt=1000 #tempreture in K\n\n#Calculation\nf=c/h #operating frequency\nr=1/math.exp((6.626*10**-34*f)/(1.381*10**-23*t)) #ratio\n\n#Result\nprint'Ratio = %.1f x 10^-13 '%(r*10**13)\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Ratio = 3.2 x 10^-13 \n"
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 6.2, page 306"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Variable declaration\nn=1.78 #refractive index\nL=0.04 #length in meter\nh=0.55*10**-6 #peak emission wavelength in um\nc=2.998*10**8 #speed of light in meter\n\n#Calculation\nq=2*n*L/h #no of longitudinal modes\nsf=c/(2*n*L) #frequency separation modes\n\n#Result\nprint'No of longitudinal modes = %.1f x 10^5'%(q/10**5)\nprint'Frequency separation modes = %.1f GHz'%(sf/10**9)\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "No of longitudinal modes = 2.6 x 10^5\nFrequency separation modes = 2.1 GHz\n"
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 6.3, page 308"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Variable declaration\na=30 #active cavity losses\nL=0.06 #length in meter\nr=0.3 #reflectivity\n\n\n#Calculation\ngm=a+(1/L)+(1/r) #laser gain coefficient\n\n\n#Result\nprint'Laser gain coefficient = %.1f cm^-1'%gm",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Laser gain coefficient = 50.0 cm^-1\n"
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 6.4, page 315"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nBt1=7.21*10**-10 #recombination coefficient of GaAs\nBt2=1.79*10**-15 #recombination coefficient of Si\nN=10**18 #hole concentration \n\n#Calculation\ntr1=(Bt1*N)**-1 #radiative carrier lifetime of GaAs\ntr2=(Bt2*N)**-1 #radiative carrier lifetime of Si\n\n#Result\nprint'Radiative carrier lifetime of silicon = %.2f ms'%(tr2*1000)\nprint'Radiative carrier lifetime of gallium arsenide = %.2f ns'%(tr1*10**9)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Radiative carrier lifetime of silicon = 0.56 ms\nRadiative carrier lifetime of gallium arsenide = 1.39 ns\n"
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 6.5, page 322"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nn=3.6 #refractive index\nB=21*10**-3 #gain factor\na=10 #loss coefficient per cm\nL=250*10**-4 #optical cavity length\nw=100*10**-4 #optical cavity width\n\n#Calculation\nr=((n-1)/(n+1))**2 #reflectivity\njth=(1/B)*(a+math.log(1/r)/L) #threshold current density\narea=L*w #area\nith=jth*area #threshold current\n \n#Result\nprint'Threshold current = %.1f mA'%(ith*1000)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Threshold current = 662.4 mA\n"
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 6.6, page 330"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nnt=0.18 #total efficiency\nE=1.43 #bandgap energy\nV=2.5 #voltage\n\n\n#Calculation\nnep=nt*(E/V)*100 #external power efficiency\n\n#Result\nprint'External power efficiency = %d percent'%nep",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "External power efficiency = 10 percent\n"
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 6.7, page 352"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nt1=20+273 #tempreture 20 \u00b0C convert to kelvin\nt2=80+273 #tempreture 80 \u00b0C convert to kelvin\nL1=160 #tempreture 160K\nL2=55 #tempreture 55K\n\n#Calculation\na=t1*L1**-1 \nb=t2*L1**-1\nc=t1*L2**-1\nd=t2*L2**-1\nJa1=math.exp(a) #For the AlGaAs device\nJa2=math.exp(b) #For the AlGaAs device\nJa=Ja2/Ja1 #ratio of the current densities\nJb1=math.exp(c) #For the InGaAsP device\nJb2=math.exp(d) #For the InGaAsP device\nJb=Jb2/Jb1 #ratio of the current densities\n\n#Result\nprint'Threshold current density at 20 \u00b0C = %.2f'%Ja\nprint' at 80 \u00b0C = %.2f' %Jb\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Threshold current density at 20 \u00b0C = 1.45\n at 80 \u00b0C = 2.98\n"
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 6.8, page 359"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\ns=10**-15 #RIN value \nf=100*10**6 #bandwidth\ne=1.602*10**-19 #1 electron volt\nn=0.6 #quantum efficiency\nh=1.55*10**-6 #wavelength in um\npe=2*10**-3 #power incident\nB=100*10**6 #bandwidth\nh1=6.626*10**-34 #plancks constant\nc=2.998*10**8 #speed of light\n\n#Calculation\nsr=s*f \nrin=math.sqrt(sr) #RMS value of power fluctuation\nirn=e*n*h*rin*pe*math.sqrt(B)*10**-4/(h1*c) #RMS noise current\n\n#Result\nprint'(a) RMS value of power fluctuation = %.2f x 10^-4 W'%(rin*10**4)\nprint'(b) RMS noise current = %.2f x 10^-7 A'%(irn*10**7)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) RMS value of power fluctuation = 3.16 x 10^-4 W\n(b) RMS noise current = 4.74 x 10^-7 A\n"
- }
- ],
- "prompt_number": 8
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter6_2.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter6_2.ipynb
deleted file mode 100755
index fa4189b4..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter6_2.ipynb
+++ /dev/null
@@ -1,188 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_6"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter 6 - Optical sources 1: the laser\n"
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 6.1, page 301"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nc=2.998*10**8 #speed of light in m/s\nh=0.5*10**-6 #operating wavelength in um\nt=1000 #tempreture in K\n\n#Calculation\nf=c/h #operating frequency\nr=1/math.exp((6.626*10**-34*f)/(1.381*10**-23*t)) #ratio\n\n#Result\nprint'Ratio = %.1f x 10^-13 '%(r*10**13)\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Ratio = 3.2 x 10^-13 \n"
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 6.2, page 306"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Variable declaration\nn=1.78 #refractive index\nL=0.04 #length in meter\nh=0.55*10**-6 #peak emission wavelength in um\nc=2.998*10**8 #speed of light in meter\n\n#Calculation\nq=2*n*L/h #no of longitudinal modes\nsf=c/(2*n*L) #frequency separation modes\n\n#Result\nprint'No of longitudinal modes = %.1f x 10^5'%(q/10**5)\nprint'Frequency separation modes = %.1f GHz'%(sf/10**9)\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "No of longitudinal modes = 2.6 x 10^5\nFrequency separation modes = 2.1 GHz\n"
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 6.3, page 308"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Variable declaration\na=30 #active cavity losses\nL=0.06 #length in meter\nr=0.3 #reflectivity\n\n\n#Calculation\ngm=a+(1/L)+(1/r) #laser gain coefficient\n\n\n#Result\nprint'Laser gain coefficient = %.1f cm^-1'%gm",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Laser gain coefficient = 50.0 cm^-1\n"
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 6.4, page 315"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nBt1=7.21*10**-10 #recombination coefficient of GaAs\nBt2=1.79*10**-15 #recombination coefficient of Si\nN=10**18 #hole concentration \n\n#Calculation\ntr1=(Bt1*N)**-1 #radiative carrier lifetime of GaAs\ntr2=(Bt2*N)**-1 #radiative carrier lifetime of Si\n\n#Result\nprint'Radiative carrier lifetime of silicon = %.2f ms'%(tr2*1000)\nprint'Radiative carrier lifetime of gallium arsenide = %.2f ns'%(tr1*10**9)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Radiative carrier lifetime of silicon = 0.56 ms\nRadiative carrier lifetime of gallium arsenide = 1.39 ns\n"
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 6.5, page 322"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nn=3.6 #refractive index\nB=21*10**-3 #gain factor\na=10 #loss coefficient per cm\nL=250*10**-4 #optical cavity length\nw=100*10**-4 #optical cavity width\n\n#Calculation\nr=((n-1)/(n+1))**2 #reflectivity\njth=(1/B)*(a+math.log(1/r)/L) #threshold current density\narea=L*w #area\nith=jth*area #threshold current\n \n#Result\nprint'Threshold current = %.1f mA'%(ith*1000)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Threshold current = 662.4 mA\n"
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 6.6, page 330"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nnt=0.18 #total efficiency\nE=1.43 #bandgap energy\nV=2.5 #voltage\n\n\n#Calculation\nnep=nt*(E/V)*100 #external power efficiency\n\n#Result\nprint'External power efficiency = %d percent'%nep",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "External power efficiency = 10 percent\n"
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 6.7, page 352"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nt1=20+273 #tempreture 20 \u00b0C convert to kelvin\nt2=80+273 #tempreture 80 \u00b0C convert to kelvin\nL1=160 #tempreture 160K\nL2=55 #tempreture 55K\n\n#Calculation\na=t1*L1**-1 \nb=t2*L1**-1\nc=t1*L2**-1\nd=t2*L2**-1\nJa1=math.exp(a) #For the AlGaAs device\nJa2=math.exp(b) #For the AlGaAs device\nJa=Ja2/Ja1 #ratio of the current densities\nJb1=math.exp(c) #For the InGaAsP device\nJb2=math.exp(d) #For the InGaAsP device\nJb=Jb2/Jb1 #ratio of the current densities\n\n#Result\nprint'Threshold current density at 20 \u00b0C = %.2f'%Ja\nprint' at 80 \u00b0C = %.2f' %Jb\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Threshold current density at 20 \u00b0C = 1.45\n at 80 \u00b0C = 2.98\n"
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 6.8, page 359"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\ns=10**-15 #RIN value \nf=100*10**6 #bandwidth\ne=1.602*10**-19 #1 electron volt\nn=0.6 #quantum efficiency\nh=1.55*10**-6 #wavelength in um\npe=2*10**-3 #power incident\nB=100*10**6 #bandwidth\nh1=6.626*10**-34 #plancks constant\nc=2.998*10**8 #speed of light\n\n#Calculation\nsr=s*f \nrin=math.sqrt(sr) #RMS value of power fluctuation\nirn=e*n*h*rin*pe*math.sqrt(B)*10**-4/(h1*c) #RMS noise current\n\n#Result\nprint'(a) RMS value of power fluctuation = %.2f x 10^-4 W'%(rin*10**4)\nprint'(b) RMS noise current = %.2f x 10^-7 A'%(irn*10**7)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) RMS value of power fluctuation = 3.16 x 10^-4 W\n(b) RMS noise current = 4.74 x 10^-7 A\n"
- }
- ],
- "prompt_number": 8
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter7.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter7.ipynb
deleted file mode 100755
index 7150478c..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter7.ipynb
+++ /dev/null
@@ -1,167 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_7"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter 2 - Optical sources 2: the light-emitting diode\n"
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 7.1, page 401"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\ntr=60*10**-9 #radiative ecombination lifetime\ntnr=100*10**-9 #nonradiative ecombination lifetime\nh=6.626*10**-34 #plancks const\nc=2.998*10**8 #speed of light\ni=40*10**-3 #drive current\ne=1.602*10**-19 #1 electron volt\nh1=0.87*10**-6 #wavelength\n\n#Calculation\nt=(tr*tnr)/(tr+tnr) #total carrier recombination lifetime\nn=t/tr #quantum efficiency \npin=n*h*c*i/(e*h1) #internal power generated\n\n#Result\nprint'Total carrier recombination lifetime = %.1f ns'%(t*10**9)\nprint'Power internally generated = %.1f mW'%(pin*10**3)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Total carrier recombination lifetime = 37.5 ns\nPower internally generated = 35.6 mW\n"
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 7.2, page 402"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nF=0.68 #crystal\u2013air interface\nn=1 #refractive index of air\nnx=3.6 #refractive index of Ga\n\n\n#Calculation\npe=(F*n**2)/(4*nx**2) #Optical power emitted\nn1=pe*100/2 #External power efficiency\n\n#Result\nprint'Optical power emitted = %.3f *Pint'%(pe)\nprint'External power efficiency = %.2f percent'%n1",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Optical power emitted = 0.013 *Pint\nExternal power efficiency = 0.66 percent\n"
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 7.3, page 404"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nNA=0.2 #numerical aperture\npe=0.013 #optical power emitted\n\n#Calculation\nnc=NA**2 #coupling efficiency\nLoss=-10*math.log10(nc) #optical loss\npc=nc*pe #coupling power\nLoss1=-10*math.log10(pc) #internal power relative loss\n\n#Result\nprint'Coupling efficiency = %.2f'%nc\nprint'Optical loss = %.1f dB'%Loss\nprint'Loss due internal optical power = %.1f dB'%Loss1",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Coupling efficiency = 0.04\nOptical loss = 14.0 dB\nLoss due internal optical power = 32.8 dB\n"
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 7.4, page 409"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nr=0.01 #fresnel reflection coefficient \nRd=30 #radiance\nNA=0.15 #numerical aperture\na=25*10**-4 \n\n#Calculation\nA=math.pi*a**2 #emission area\npc=math.pi*(1-r)*A*Rd*NA**2 #optical power\n\n#Result\nprint'Optical power = %.1f uW'%(pc*10**6)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Optical power = 41.2 uW\n"
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 7.5, page 421"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\npc=190*10**-6 #optical power\np=25*10**-3 #forward current\nv=1.5 #voltage\n\n\n#Calculation\nn=(pc/(p*v))*100 #power efficiency\n\n#Result\nprint'Overall power efficiency = %.1f percent'%n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Overall power efficiency = 0.5 percent\n"
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 7.7, page 430"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\npdc=300*10**-6 #optical output power\nf=20*10**6 #frequency in hertz\nti=5*10**-9 #minority carrier recombination lifetime\nf2=100*10**6 #frequency in hertz\nt=10**-8\nw=math.sqrt(3)\n\n#Calculation\npe1=pdc/math.sqrt(1+(2*math.pi*f*ti)**2) #Optical output power (f=20 MHz)\npe2=pdc/math.sqrt(1+(2*math.pi*f2*ti)**2) #Optical output power (f=100 MHz)\nf=w/(math.pi*t)\nB=f/math.sqrt(2)\n\n#Result\nprint'(a) Optical output power (f=20 MHz) = %.2f uW'%(pe1*10**6)\nprint'(b) Optical output power (f=100 MHz) = %.2f uW'%(pe2*10**6)\nprint'Electrical bandwidth = %.1f MHz'%(B*10**-6)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Optical output power (f=20 MHz) = 254.02 uW\n(b) Optical output power (f=100 MHz) = 90.99 uW\nElectrical bandwidth = 39.0 MHz\n"
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 7.8, page 435"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nbo=1.84*10**7 #proportionality constant\ne=-1.602*10**-19 #charge of electron\nk=1.38*10**-23 #boltzman constant\nt1=290 #tempreture in kelvin\nexp=0.67\n\n\n\n#Calculation\nbt=bo*math.exp(e/(k*t1)) #degradation rate\nt=-math.log(exp)/bt #operating lifetime\n\n#Result\nprint'CW operating lifetime = %.1f x 10^9 h'%(t*10**-9)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "CW operating lifetime = 5.3 x 10^9 h\n"
- }
- ],
- "prompt_number": 7
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter7_1.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter7_1.ipynb
deleted file mode 100755
index 7150478c..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter7_1.ipynb
+++ /dev/null
@@ -1,167 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_7"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter 2 - Optical sources 2: the light-emitting diode\n"
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 7.1, page 401"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\ntr=60*10**-9 #radiative ecombination lifetime\ntnr=100*10**-9 #nonradiative ecombination lifetime\nh=6.626*10**-34 #plancks const\nc=2.998*10**8 #speed of light\ni=40*10**-3 #drive current\ne=1.602*10**-19 #1 electron volt\nh1=0.87*10**-6 #wavelength\n\n#Calculation\nt=(tr*tnr)/(tr+tnr) #total carrier recombination lifetime\nn=t/tr #quantum efficiency \npin=n*h*c*i/(e*h1) #internal power generated\n\n#Result\nprint'Total carrier recombination lifetime = %.1f ns'%(t*10**9)\nprint'Power internally generated = %.1f mW'%(pin*10**3)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Total carrier recombination lifetime = 37.5 ns\nPower internally generated = 35.6 mW\n"
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 7.2, page 402"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nF=0.68 #crystal\u2013air interface\nn=1 #refractive index of air\nnx=3.6 #refractive index of Ga\n\n\n#Calculation\npe=(F*n**2)/(4*nx**2) #Optical power emitted\nn1=pe*100/2 #External power efficiency\n\n#Result\nprint'Optical power emitted = %.3f *Pint'%(pe)\nprint'External power efficiency = %.2f percent'%n1",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Optical power emitted = 0.013 *Pint\nExternal power efficiency = 0.66 percent\n"
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 7.3, page 404"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nNA=0.2 #numerical aperture\npe=0.013 #optical power emitted\n\n#Calculation\nnc=NA**2 #coupling efficiency\nLoss=-10*math.log10(nc) #optical loss\npc=nc*pe #coupling power\nLoss1=-10*math.log10(pc) #internal power relative loss\n\n#Result\nprint'Coupling efficiency = %.2f'%nc\nprint'Optical loss = %.1f dB'%Loss\nprint'Loss due internal optical power = %.1f dB'%Loss1",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Coupling efficiency = 0.04\nOptical loss = 14.0 dB\nLoss due internal optical power = 32.8 dB\n"
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 7.4, page 409"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nr=0.01 #fresnel reflection coefficient \nRd=30 #radiance\nNA=0.15 #numerical aperture\na=25*10**-4 \n\n#Calculation\nA=math.pi*a**2 #emission area\npc=math.pi*(1-r)*A*Rd*NA**2 #optical power\n\n#Result\nprint'Optical power = %.1f uW'%(pc*10**6)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Optical power = 41.2 uW\n"
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 7.5, page 421"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\npc=190*10**-6 #optical power\np=25*10**-3 #forward current\nv=1.5 #voltage\n\n\n#Calculation\nn=(pc/(p*v))*100 #power efficiency\n\n#Result\nprint'Overall power efficiency = %.1f percent'%n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Overall power efficiency = 0.5 percent\n"
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 7.7, page 430"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\npdc=300*10**-6 #optical output power\nf=20*10**6 #frequency in hertz\nti=5*10**-9 #minority carrier recombination lifetime\nf2=100*10**6 #frequency in hertz\nt=10**-8\nw=math.sqrt(3)\n\n#Calculation\npe1=pdc/math.sqrt(1+(2*math.pi*f*ti)**2) #Optical output power (f=20 MHz)\npe2=pdc/math.sqrt(1+(2*math.pi*f2*ti)**2) #Optical output power (f=100 MHz)\nf=w/(math.pi*t)\nB=f/math.sqrt(2)\n\n#Result\nprint'(a) Optical output power (f=20 MHz) = %.2f uW'%(pe1*10**6)\nprint'(b) Optical output power (f=100 MHz) = %.2f uW'%(pe2*10**6)\nprint'Electrical bandwidth = %.1f MHz'%(B*10**-6)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Optical output power (f=20 MHz) = 254.02 uW\n(b) Optical output power (f=100 MHz) = 90.99 uW\nElectrical bandwidth = 39.0 MHz\n"
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 7.8, page 435"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nbo=1.84*10**7 #proportionality constant\ne=-1.602*10**-19 #charge of electron\nk=1.38*10**-23 #boltzman constant\nt1=290 #tempreture in kelvin\nexp=0.67\n\n\n\n#Calculation\nbt=bo*math.exp(e/(k*t1)) #degradation rate\nt=-math.log(exp)/bt #operating lifetime\n\n#Result\nprint'CW operating lifetime = %.1f x 10^9 h'%(t*10**-9)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "CW operating lifetime = 5.3 x 10^9 h\n"
- }
- ],
- "prompt_number": 7
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter7_2.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter7_2.ipynb
deleted file mode 100755
index 7150478c..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter7_2.ipynb
+++ /dev/null
@@ -1,167 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_7"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter 2 - Optical sources 2: the light-emitting diode\n"
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 7.1, page 401"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\ntr=60*10**-9 #radiative ecombination lifetime\ntnr=100*10**-9 #nonradiative ecombination lifetime\nh=6.626*10**-34 #plancks const\nc=2.998*10**8 #speed of light\ni=40*10**-3 #drive current\ne=1.602*10**-19 #1 electron volt\nh1=0.87*10**-6 #wavelength\n\n#Calculation\nt=(tr*tnr)/(tr+tnr) #total carrier recombination lifetime\nn=t/tr #quantum efficiency \npin=n*h*c*i/(e*h1) #internal power generated\n\n#Result\nprint'Total carrier recombination lifetime = %.1f ns'%(t*10**9)\nprint'Power internally generated = %.1f mW'%(pin*10**3)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Total carrier recombination lifetime = 37.5 ns\nPower internally generated = 35.6 mW\n"
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 7.2, page 402"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nF=0.68 #crystal\u2013air interface\nn=1 #refractive index of air\nnx=3.6 #refractive index of Ga\n\n\n#Calculation\npe=(F*n**2)/(4*nx**2) #Optical power emitted\nn1=pe*100/2 #External power efficiency\n\n#Result\nprint'Optical power emitted = %.3f *Pint'%(pe)\nprint'External power efficiency = %.2f percent'%n1",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Optical power emitted = 0.013 *Pint\nExternal power efficiency = 0.66 percent\n"
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 7.3, page 404"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nNA=0.2 #numerical aperture\npe=0.013 #optical power emitted\n\n#Calculation\nnc=NA**2 #coupling efficiency\nLoss=-10*math.log10(nc) #optical loss\npc=nc*pe #coupling power\nLoss1=-10*math.log10(pc) #internal power relative loss\n\n#Result\nprint'Coupling efficiency = %.2f'%nc\nprint'Optical loss = %.1f dB'%Loss\nprint'Loss due internal optical power = %.1f dB'%Loss1",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Coupling efficiency = 0.04\nOptical loss = 14.0 dB\nLoss due internal optical power = 32.8 dB\n"
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 7.4, page 409"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nr=0.01 #fresnel reflection coefficient \nRd=30 #radiance\nNA=0.15 #numerical aperture\na=25*10**-4 \n\n#Calculation\nA=math.pi*a**2 #emission area\npc=math.pi*(1-r)*A*Rd*NA**2 #optical power\n\n#Result\nprint'Optical power = %.1f uW'%(pc*10**6)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Optical power = 41.2 uW\n"
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 7.5, page 421"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\npc=190*10**-6 #optical power\np=25*10**-3 #forward current\nv=1.5 #voltage\n\n\n#Calculation\nn=(pc/(p*v))*100 #power efficiency\n\n#Result\nprint'Overall power efficiency = %.1f percent'%n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Overall power efficiency = 0.5 percent\n"
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 7.7, page 430"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\npdc=300*10**-6 #optical output power\nf=20*10**6 #frequency in hertz\nti=5*10**-9 #minority carrier recombination lifetime\nf2=100*10**6 #frequency in hertz\nt=10**-8\nw=math.sqrt(3)\n\n#Calculation\npe1=pdc/math.sqrt(1+(2*math.pi*f*ti)**2) #Optical output power (f=20 MHz)\npe2=pdc/math.sqrt(1+(2*math.pi*f2*ti)**2) #Optical output power (f=100 MHz)\nf=w/(math.pi*t)\nB=f/math.sqrt(2)\n\n#Result\nprint'(a) Optical output power (f=20 MHz) = %.2f uW'%(pe1*10**6)\nprint'(b) Optical output power (f=100 MHz) = %.2f uW'%(pe2*10**6)\nprint'Electrical bandwidth = %.1f MHz'%(B*10**-6)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Optical output power (f=20 MHz) = 254.02 uW\n(b) Optical output power (f=100 MHz) = 90.99 uW\nElectrical bandwidth = 39.0 MHz\n"
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 7.8, page 435"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nbo=1.84*10**7 #proportionality constant\ne=-1.602*10**-19 #charge of electron\nk=1.38*10**-23 #boltzman constant\nt1=290 #tempreture in kelvin\nexp=0.67\n\n\n\n#Calculation\nbt=bo*math.exp(e/(k*t1)) #degradation rate\nt=-math.log(exp)/bt #operating lifetime\n\n#Result\nprint'CW operating lifetime = %.1f x 10^9 h'%(t*10**-9)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "CW operating lifetime = 5.3 x 10^9 h\n"
- }
- ],
- "prompt_number": 7
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter8.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter8.ipynb
deleted file mode 100755
index 057f59a0..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter8.ipynb
+++ /dev/null
@@ -1,209 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_8"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter - 8 : Optical detectors"
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 8.1, page 454"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Variable declaration\nn=1.2*10**11 #no of electrons\nm=3*10**11 #no of photons\ne=1.602*10**-19 #1 electron volt\nh=0.85*10**-6 #wavelength\nh1=6.626*10**-34 #plancks constant\nc=2.998*10**8 #speed of light\n\n#Calculation\nQ=n/m #quantum efficiency\nR=(Q*e*h)/(h1*c) #responsivity\n\n#Result\nprint'Quantum efficiency = %.1f '%Q\nprint'Responsivity = %.3f A W^-1'%R",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Quantum efficiency = 0.4 \nResponsivity = 0.274 A W^-1\n"
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 8.2, page 454"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nh1=6.626*10**-34 #plancks constant\nc=2.998*10**8 #speed of light\nE=1.5*10**-19 #energy of photons\nn=0.65 #quantum efficiency\ne=1.602*10**-19 #1 electron volt\nio=25*10**-6 #photocurrent\n\n#Calculation\nh=h1*c/E #wavelength\nR=(n*e)/(E) #responsivity\npo=io/R #incident optical power\n\n#Result\nprint'(a) Wavelength = %.2f um'%(h*10**6)\nprint'(b) Incident optical power = %.2f uW'%(po*10**6)\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Wavelength = 1.32 um\n(b) Incident optical power = 36.01 uW\n"
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 8.3, page 456"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nh1=6.626*10**-34 #plancks constant\nc=2.998*10**8 #speed of light\ne=1.602*10**-19 #1 electron volt\nE=1.43 #bandgap energy in eV\n\n#Calculation\nh=h1*c/(E*e) #wavelength\n\n#Result\nprint'Wavelength = %.3f um'%(h*10**6)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Wavelength = 0.867 um\n"
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 8.4, page 463"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nw=20*10**-6 #width\nvd=10**5 #drift velocity\nr=500*10**-6 #diameter in meter\nes=10.5*10**-13 #permitivity\n\n#Calculation\ntd=w/vd #drift time\nA=math.pi*r**2 #area\ncj=es*A/w #junction capacitance\n\n#Result\nprint'Drift time = %.1f x 10^-10 S'%(td*10**10)\nprint'Junction capacitance = %.2f x 10^-13 F'%(cj*10**13)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Drift time = 2.0 x 10^-10 S\nJunction capacitance = 0.41 x 10^-13 F\n"
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 8.5, page 464"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nvd=3*10**4 #drift velocity\nw=25*10**-6 #width\n\n#Calculation\nBm=vd/(2*math.pi*w) #maximum bandwidth\ntr=1/Bm #maximum response time\n\n#Result\nprint'Maximum response time = %.1f ns'%(tr*10**9)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Maximum response time = 5.2 ns\n"
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 8.6, page 470"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nh1=6.626*10**-34 #plancks constant\nc=2.998*10**8 #speed of light\ne=1.602*10**-19 #1 electron volt\nl=8*10**-9 #dark current\nn=0.55 #quantum efficiency\nh=1.3*10**-6 #wavelength\nA=100*50*10**-12\n\n#Calculation\nnep=(h1*c*math.sqrt(2*e*l))/(n*e*h) #Noise equivalent power\nD=math.sqrt(A)/nep #Specific detectivity\n\n#Result\nprint'Noise equivalent power = %.2f x 10^-14 W'%(nep*10**14)\nprint'Specific detectivity = %.1f x 10^8 m Hz^(1/2) W^-1'%(D*10**-8)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Noise equivalent power = 8.78 x 10^-14 W\nSpecific detectivity = 8.1 x 10^8 m Hz^(1/2) W^-1\n"
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 8.7, page 482"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nh1=6.626*10**-34 #plancks constant\nc=2.998*10**8 #speed of light\ne=1.602*10**-19 #1 electron volt\nn=0.8 #quantum efficiency\nh=0.9*10**-6 #wavelength\npo=0.5*10**-6 #incident optical power\nI=11*10**-6 #output current\n\n#Calculation\nR=(n*e*h)/(h1*c) #resposivity\nIp=po*R #photocurrent\nM=I/Ip #multiplication factor\n\n#Result\nprint'Multiplication factor = %.2f '%M\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Multiplication factor = 37.89 \n"
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 8.8, page 487"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nh1=6.626*10**-34 #plancks constant\nc=2.998*10**8 #speed of light\ne=1.602*10**-19 #1 electron volt\nh=1.26*10**-6 #wavelength\nIc=15*10**-3 #collector current\npo=125*10**-6 #incident optical power\nn=0.4 #quantum efficiency\n\n#Calculation\ngo=(h1*c*Ic)/(h*e*po) #Optical gain\nhfe=go/n #Common emitter current gain\n \n#Result\nprint'Optical gain, Go = %.1f'%go\nprint'Common emitter current gain, hfe = %.1f '%hfe",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Optical gain, Go = 118.1\nCommon emitter current gain, hfe = 295.2 \n"
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 8.9, page 491"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nt=5*10**-12 #electron transit time\nG=70 #Optical gain\n\n#Calculation\nB=1/(2*math.pi*t*G) #Maximum 3dB bandwidth\n\n#Result\nprint'Maximum bandwidth = %.1f MHz'%(B*10**-6)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Maximum bandwidth = 454.7 MHz\n"
- }
- ],
- "prompt_number": 9
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter8_1.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter8_1.ipynb
deleted file mode 100755
index 057f59a0..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter8_1.ipynb
+++ /dev/null
@@ -1,209 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_8"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter - 8 : Optical detectors"
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 8.1, page 454"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Variable declaration\nn=1.2*10**11 #no of electrons\nm=3*10**11 #no of photons\ne=1.602*10**-19 #1 electron volt\nh=0.85*10**-6 #wavelength\nh1=6.626*10**-34 #plancks constant\nc=2.998*10**8 #speed of light\n\n#Calculation\nQ=n/m #quantum efficiency\nR=(Q*e*h)/(h1*c) #responsivity\n\n#Result\nprint'Quantum efficiency = %.1f '%Q\nprint'Responsivity = %.3f A W^-1'%R",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Quantum efficiency = 0.4 \nResponsivity = 0.274 A W^-1\n"
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 8.2, page 454"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nh1=6.626*10**-34 #plancks constant\nc=2.998*10**8 #speed of light\nE=1.5*10**-19 #energy of photons\nn=0.65 #quantum efficiency\ne=1.602*10**-19 #1 electron volt\nio=25*10**-6 #photocurrent\n\n#Calculation\nh=h1*c/E #wavelength\nR=(n*e)/(E) #responsivity\npo=io/R #incident optical power\n\n#Result\nprint'(a) Wavelength = %.2f um'%(h*10**6)\nprint'(b) Incident optical power = %.2f uW'%(po*10**6)\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Wavelength = 1.32 um\n(b) Incident optical power = 36.01 uW\n"
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 8.3, page 456"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nh1=6.626*10**-34 #plancks constant\nc=2.998*10**8 #speed of light\ne=1.602*10**-19 #1 electron volt\nE=1.43 #bandgap energy in eV\n\n#Calculation\nh=h1*c/(E*e) #wavelength\n\n#Result\nprint'Wavelength = %.3f um'%(h*10**6)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Wavelength = 0.867 um\n"
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 8.4, page 463"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nw=20*10**-6 #width\nvd=10**5 #drift velocity\nr=500*10**-6 #diameter in meter\nes=10.5*10**-13 #permitivity\n\n#Calculation\ntd=w/vd #drift time\nA=math.pi*r**2 #area\ncj=es*A/w #junction capacitance\n\n#Result\nprint'Drift time = %.1f x 10^-10 S'%(td*10**10)\nprint'Junction capacitance = %.2f x 10^-13 F'%(cj*10**13)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Drift time = 2.0 x 10^-10 S\nJunction capacitance = 0.41 x 10^-13 F\n"
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 8.5, page 464"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nvd=3*10**4 #drift velocity\nw=25*10**-6 #width\n\n#Calculation\nBm=vd/(2*math.pi*w) #maximum bandwidth\ntr=1/Bm #maximum response time\n\n#Result\nprint'Maximum response time = %.1f ns'%(tr*10**9)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Maximum response time = 5.2 ns\n"
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 8.6, page 470"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nh1=6.626*10**-34 #plancks constant\nc=2.998*10**8 #speed of light\ne=1.602*10**-19 #1 electron volt\nl=8*10**-9 #dark current\nn=0.55 #quantum efficiency\nh=1.3*10**-6 #wavelength\nA=100*50*10**-12\n\n#Calculation\nnep=(h1*c*math.sqrt(2*e*l))/(n*e*h) #Noise equivalent power\nD=math.sqrt(A)/nep #Specific detectivity\n\n#Result\nprint'Noise equivalent power = %.2f x 10^-14 W'%(nep*10**14)\nprint'Specific detectivity = %.1f x 10^8 m Hz^(1/2) W^-1'%(D*10**-8)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Noise equivalent power = 8.78 x 10^-14 W\nSpecific detectivity = 8.1 x 10^8 m Hz^(1/2) W^-1\n"
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 8.7, page 482"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nh1=6.626*10**-34 #plancks constant\nc=2.998*10**8 #speed of light\ne=1.602*10**-19 #1 electron volt\nn=0.8 #quantum efficiency\nh=0.9*10**-6 #wavelength\npo=0.5*10**-6 #incident optical power\nI=11*10**-6 #output current\n\n#Calculation\nR=(n*e*h)/(h1*c) #resposivity\nIp=po*R #photocurrent\nM=I/Ip #multiplication factor\n\n#Result\nprint'Multiplication factor = %.2f '%M\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Multiplication factor = 37.89 \n"
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 8.8, page 487"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nh1=6.626*10**-34 #plancks constant\nc=2.998*10**8 #speed of light\ne=1.602*10**-19 #1 electron volt\nh=1.26*10**-6 #wavelength\nIc=15*10**-3 #collector current\npo=125*10**-6 #incident optical power\nn=0.4 #quantum efficiency\n\n#Calculation\ngo=(h1*c*Ic)/(h*e*po) #Optical gain\nhfe=go/n #Common emitter current gain\n \n#Result\nprint'Optical gain, Go = %.1f'%go\nprint'Common emitter current gain, hfe = %.1f '%hfe",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Optical gain, Go = 118.1\nCommon emitter current gain, hfe = 295.2 \n"
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 8.9, page 491"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nt=5*10**-12 #electron transit time\nG=70 #Optical gain\n\n#Calculation\nB=1/(2*math.pi*t*G) #Maximum 3dB bandwidth\n\n#Result\nprint'Maximum bandwidth = %.1f MHz'%(B*10**-6)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Maximum bandwidth = 454.7 MHz\n"
- }
- ],
- "prompt_number": 9
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter8_2.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter8_2.ipynb
deleted file mode 100755
index 057f59a0..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter8_2.ipynb
+++ /dev/null
@@ -1,209 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_8"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter - 8 : Optical detectors"
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 8.1, page 454"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "#Variable declaration\nn=1.2*10**11 #no of electrons\nm=3*10**11 #no of photons\ne=1.602*10**-19 #1 electron volt\nh=0.85*10**-6 #wavelength\nh1=6.626*10**-34 #plancks constant\nc=2.998*10**8 #speed of light\n\n#Calculation\nQ=n/m #quantum efficiency\nR=(Q*e*h)/(h1*c) #responsivity\n\n#Result\nprint'Quantum efficiency = %.1f '%Q\nprint'Responsivity = %.3f A W^-1'%R",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Quantum efficiency = 0.4 \nResponsivity = 0.274 A W^-1\n"
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 8.2, page 454"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nh1=6.626*10**-34 #plancks constant\nc=2.998*10**8 #speed of light\nE=1.5*10**-19 #energy of photons\nn=0.65 #quantum efficiency\ne=1.602*10**-19 #1 electron volt\nio=25*10**-6 #photocurrent\n\n#Calculation\nh=h1*c/E #wavelength\nR=(n*e)/(E) #responsivity\npo=io/R #incident optical power\n\n#Result\nprint'(a) Wavelength = %.2f um'%(h*10**6)\nprint'(b) Incident optical power = %.2f uW'%(po*10**6)\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Wavelength = 1.32 um\n(b) Incident optical power = 36.01 uW\n"
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 8.3, page 456"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nh1=6.626*10**-34 #plancks constant\nc=2.998*10**8 #speed of light\ne=1.602*10**-19 #1 electron volt\nE=1.43 #bandgap energy in eV\n\n#Calculation\nh=h1*c/(E*e) #wavelength\n\n#Result\nprint'Wavelength = %.3f um'%(h*10**6)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Wavelength = 0.867 um\n"
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 8.4, page 463"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nw=20*10**-6 #width\nvd=10**5 #drift velocity\nr=500*10**-6 #diameter in meter\nes=10.5*10**-13 #permitivity\n\n#Calculation\ntd=w/vd #drift time\nA=math.pi*r**2 #area\ncj=es*A/w #junction capacitance\n\n#Result\nprint'Drift time = %.1f x 10^-10 S'%(td*10**10)\nprint'Junction capacitance = %.2f x 10^-13 F'%(cj*10**13)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Drift time = 2.0 x 10^-10 S\nJunction capacitance = 0.41 x 10^-13 F\n"
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 8.5, page 464"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nvd=3*10**4 #drift velocity\nw=25*10**-6 #width\n\n#Calculation\nBm=vd/(2*math.pi*w) #maximum bandwidth\ntr=1/Bm #maximum response time\n\n#Result\nprint'Maximum response time = %.1f ns'%(tr*10**9)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Maximum response time = 5.2 ns\n"
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 8.6, page 470"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nh1=6.626*10**-34 #plancks constant\nc=2.998*10**8 #speed of light\ne=1.602*10**-19 #1 electron volt\nl=8*10**-9 #dark current\nn=0.55 #quantum efficiency\nh=1.3*10**-6 #wavelength\nA=100*50*10**-12\n\n#Calculation\nnep=(h1*c*math.sqrt(2*e*l))/(n*e*h) #Noise equivalent power\nD=math.sqrt(A)/nep #Specific detectivity\n\n#Result\nprint'Noise equivalent power = %.2f x 10^-14 W'%(nep*10**14)\nprint'Specific detectivity = %.1f x 10^8 m Hz^(1/2) W^-1'%(D*10**-8)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Noise equivalent power = 8.78 x 10^-14 W\nSpecific detectivity = 8.1 x 10^8 m Hz^(1/2) W^-1\n"
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 8.7, page 482"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nh1=6.626*10**-34 #plancks constant\nc=2.998*10**8 #speed of light\ne=1.602*10**-19 #1 electron volt\nn=0.8 #quantum efficiency\nh=0.9*10**-6 #wavelength\npo=0.5*10**-6 #incident optical power\nI=11*10**-6 #output current\n\n#Calculation\nR=(n*e*h)/(h1*c) #resposivity\nIp=po*R #photocurrent\nM=I/Ip #multiplication factor\n\n#Result\nprint'Multiplication factor = %.2f '%M\n",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Multiplication factor = 37.89 \n"
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 8.8, page 487"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nh1=6.626*10**-34 #plancks constant\nc=2.998*10**8 #speed of light\ne=1.602*10**-19 #1 electron volt\nh=1.26*10**-6 #wavelength\nIc=15*10**-3 #collector current\npo=125*10**-6 #incident optical power\nn=0.4 #quantum efficiency\n\n#Calculation\ngo=(h1*c*Ic)/(h*e*po) #Optical gain\nhfe=go/n #Common emitter current gain\n \n#Result\nprint'Optical gain, Go = %.1f'%go\nprint'Common emitter current gain, hfe = %.1f '%hfe",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Optical gain, Go = 118.1\nCommon emitter current gain, hfe = 295.2 \n"
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 8.9, page 491"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nt=5*10**-12 #electron transit time\nG=70 #Optical gain\n\n#Calculation\nB=1/(2*math.pi*t*G) #Maximum 3dB bandwidth\n\n#Result\nprint'Maximum bandwidth = %.1f MHz'%(B*10**-6)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Maximum bandwidth = 454.7 MHz\n"
- }
- ],
- "prompt_number": 9
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter9.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter9.ipynb
deleted file mode 100755
index 42d197be..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter9.ipynb
+++ /dev/null
@@ -1,188 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_9"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter 9 :Direct detection receiver performance considerations\n"
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 9.1, page 506"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nzm=20.7 #average number of photons\nh=6.626*10**-34 #plancks constant\nf=2.998*10**14 #frequency in hertz \nn=1 #for ideal detector\nBt=10**7 #bit rate\n\n#Calculation\npo=zm*h*f*Bt/(2*n) #output power in binary\npod=10*math.log10(po) #output power in dBW\npod1=10*math.log10(po*10**3) #output power in dBm\n\n#Result\nprint'Minimum incident optical power = %.1f dBW'%(pod)\nprint' = %.1f dBm'%(pod1)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Minimum incident optical power = -106.9 dBW\n = -76.9 dBm\n"
- }
- ],
- "prompt_number": 26
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 9.2, page 508"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nsn=50/10 #signal to noise ratio in dB\nf=2.998*10**14 #frequency in hertz\nn=1 #for an ideal detector\nB=5*10**6 #bandwidth\nh=6.626*10**-34 #plancks constant\n\n#Calculation\nSN=10**(sn) \npo=SN*f*2*h*B/n #incident optical power\npdb=10*math.log10(po*10**3) #incident optical power in dB\n\n#Result\nprint'Incident optical power = %.1f nW '%(po*10**9)\nprint' in dB = %.1f dBm'%(pdb)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Incident optical power = 198.6 nW \n in dB = -37.0 dBm\n"
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 9.3, page 512"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\npo=200*10**-9 #incident optical power in W\ne=1.602*10**-19 #1 electron volt\nh=0.9*10**-6 #operating wavelength\nh1=6.626*10**-34 #plancks constant\nc=2.998*10**8 #speed of light\nK=1.38*10**-23 #boltzman constant\nT=293 #tempreture in kelvin\nn=0.6 #quantum efficiency\nB=5*10**6 #post-detection bandwidth \nib=3*10**-9 #dark current in ampere\nRl=4*10**3 #load resistance\n\n#Calculation\nip=n*po*e*h/(h1*c) #photocurrent\ni2=2*e*B*(ib+ip) #total shot noise current\ni2rms=math.sqrt(i2) #RMS value \nit=4*K*T*B/Rl #thermal noise current\nitrms=math.sqrt(it) #RMS value\n\n#Result\nprint'RMS shot noise current = %.2f x10^-10 A'%(i2rms*10**10)\nprint'RMS thermal noise current = %.2f x10^-9 A'%(itrms*10**9)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "RMS shot noise current = 3.80 x10^-10 A\nRMS thermal noise current = 4.50 x10^-9 A\n"
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 9.4, page 514"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nip=87.1*10**-9 #photocurrent\nits=1.44*10**-19 #rms shot noise current \nit=2.02*10**-17 #rms thermal noise current\nfd=0.3 #frequency in 3 dB\n\n#Calculation\nf=10**(fd)\nsn=ip**2/(its+(it*f)) #signal to noise ratio\nsnr=10*math.log10(sn) #signal to noise ratio in dB\n\n#Result\nprint'SNR at output = %.2f dB'%snr",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "SNR at output = 22.73 dB\n"
- }
- ],
- "prompt_number": 39
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 9.5, page 516"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nB=8*10**6 #post detection bandwidth\nCd=6*10**-12 #capacitance in farad\nCa=12*10**-12 #input capacitance in farad\n\n\n#Calculation\nRl=1/(2*math.pi*Cd*B) #maximum load resistance\nB1=1/(2*math.pi*Rl*Ca) #maximum bandwidth\n\n#Result\nprint'Maximu load resistance = %.2f K\u03a9'%(Rl*10**-3)\nprint'Maximum bandwidth = %.1f MHz'%(B1*10**-6)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Maximu load resistance = 3.32 K\u03a9\nMaximum bandwidth = 4.0 MHz\n"
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 9.6, page 518"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nB=50*10**6 #post detection bandwidth\nCd=5*10**-12 #capacitance in farad\ne=1.602*10**-19 #1 electron volt\nK=1.38*10**-23 #boltzman constant\nT=291 #tempreture in kelvin\nib=10**-7 #photocurrent before gain\nx=0.3\n\n#Calculation\nRl=1/(2*math.pi*Cd*B) #maximum value of the load resistor\na=2*e*B*ib #shot noise\nb=4*K*T*B/Rl #thermal noise\nsn=ib**2/(a+b) #SNR, when M = 1,\nsnd=10*math.log10(sn) #SNR in dB\nMop=((4*K*T)/(x*e*Rl*ib))**0.435\nsn1=(Mop**2*ib**2)/((2*e*B*ib*Mop**2.3)+b) #SNR, when M = Mop,\nsdb=10*math.log10(sn1) #SNR in dB\n\n#Result\nprint'SNR (M=1) = %.2f dB'%(snd)\nprint'SNR (M=Mop) = %.1f dB'%(sdb)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "SNR (M=1) = 8.99 dB\nSNR (M=Mop) = 32.5 dB\n"
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 9.7, page 520"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\ne=1.602*10**-19 #1 electron volt\nK=1.38*10**-23 #boltzman constant\nT=120 #tempreture in kelvin\nB=10**7 #post detection bandwidth\nsn=3.5 #SNR/10\nfn=0.1 #noise figure/10\nRl=10**4 #load resistance\n\n#Calculation\nsn1=10**(sn)\nfn1=10**(fn)\na=12*K*T*B*fn1/Rl\nb=((4*K*T*fn1)/(1.1*e*Rl))**0.667\nIp=(sn1*a/b)**0.75 #minimum photocurrent\nMop=((4*K*T*fn1)/(e*Ip*1.1*10**3))**0.334 #optimum avalanche multiplication factor\n\n#Result\nprint'Optimum avalanche multiplication factor = %.1f '%(Mop)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Optimum avalanche multiplication factor = 8.9 \n"
- }
- ],
- "prompt_number": 22
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 9.8, page 528"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nr1=4*10**6 #effective input resistance in ohm\nr2=8*10**6 #resistance in ohm\nct=6*10**-12 #total capacitance in farad\nK=1.38*10**-23 #boltzman constant\nT=300 #tempreture in kelvin\nRf=10**5 #feedback resitor\nG=400 #open loop gain\n\n#Calculation\nRt=(r1**2)/r2 #total effective load resistance\nB=1/(2*math.pi*Rt*ct) #maximum bandwidth\ni2=4*K*T/Rt #for highimpedance config\nB1=G/(2*math.pi*Rf*ct) #maximum bandwidth for transimpedance config\nit=4*K*T/(Rf) #for transimpedance\n\n#transimpedance configuration factor of 20 greater than that obtained high-input-impedance configuration.\nn=it/i2\nndb=10*math.log10(n)\n\n#Result\nprint'(a) Maximum bandwidth = %.2f x10^4 Hz'%(B*10**-4)\nprint'(b) Mean square thermal noise current (high impedance config)= %.2f x10^-27 A^2 Hz^-1'%(i2*10**27)\nprint'\\n(c) Maximum bandwidth for transimpedance = %.2f X 10^6 Hz'%(B1*10**-8)\nprint' Mean square thermal noise current (transimpedance config) = %.2f x10^-25 A^2 Hz^-1'%(it*10**25)\nprint' Ratio of these noise power = %d dB'%ndb",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Maximum bandwidth = 1.33 x10^4 Hz\n(b) Mean square thermal noise current (high impedance config)= 8.28 x10^-27 A^2 Hz^-1\n\n(c) Maximum bandwidth for transimpedance = 1.06 X 10^6 Hz\n Mean square thermal noise current (transimpedance config) = 1.66 x10^-25 A^2 Hz^-1\n Ratio of these noise power = 13 dB\n"
- }
- ],
- "prompt_number": 21
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter9_1.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter9_1.ipynb
deleted file mode 100755
index 42d197be..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter9_1.ipynb
+++ /dev/null
@@ -1,188 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_9"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter 9 :Direct detection receiver performance considerations\n"
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 9.1, page 506"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nzm=20.7 #average number of photons\nh=6.626*10**-34 #plancks constant\nf=2.998*10**14 #frequency in hertz \nn=1 #for ideal detector\nBt=10**7 #bit rate\n\n#Calculation\npo=zm*h*f*Bt/(2*n) #output power in binary\npod=10*math.log10(po) #output power in dBW\npod1=10*math.log10(po*10**3) #output power in dBm\n\n#Result\nprint'Minimum incident optical power = %.1f dBW'%(pod)\nprint' = %.1f dBm'%(pod1)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Minimum incident optical power = -106.9 dBW\n = -76.9 dBm\n"
- }
- ],
- "prompt_number": 26
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 9.2, page 508"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nsn=50/10 #signal to noise ratio in dB\nf=2.998*10**14 #frequency in hertz\nn=1 #for an ideal detector\nB=5*10**6 #bandwidth\nh=6.626*10**-34 #plancks constant\n\n#Calculation\nSN=10**(sn) \npo=SN*f*2*h*B/n #incident optical power\npdb=10*math.log10(po*10**3) #incident optical power in dB\n\n#Result\nprint'Incident optical power = %.1f nW '%(po*10**9)\nprint' in dB = %.1f dBm'%(pdb)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Incident optical power = 198.6 nW \n in dB = -37.0 dBm\n"
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 9.3, page 512"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\npo=200*10**-9 #incident optical power in W\ne=1.602*10**-19 #1 electron volt\nh=0.9*10**-6 #operating wavelength\nh1=6.626*10**-34 #plancks constant\nc=2.998*10**8 #speed of light\nK=1.38*10**-23 #boltzman constant\nT=293 #tempreture in kelvin\nn=0.6 #quantum efficiency\nB=5*10**6 #post-detection bandwidth \nib=3*10**-9 #dark current in ampere\nRl=4*10**3 #load resistance\n\n#Calculation\nip=n*po*e*h/(h1*c) #photocurrent\ni2=2*e*B*(ib+ip) #total shot noise current\ni2rms=math.sqrt(i2) #RMS value \nit=4*K*T*B/Rl #thermal noise current\nitrms=math.sqrt(it) #RMS value\n\n#Result\nprint'RMS shot noise current = %.2f x10^-10 A'%(i2rms*10**10)\nprint'RMS thermal noise current = %.2f x10^-9 A'%(itrms*10**9)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "RMS shot noise current = 3.80 x10^-10 A\nRMS thermal noise current = 4.50 x10^-9 A\n"
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 9.4, page 514"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nip=87.1*10**-9 #photocurrent\nits=1.44*10**-19 #rms shot noise current \nit=2.02*10**-17 #rms thermal noise current\nfd=0.3 #frequency in 3 dB\n\n#Calculation\nf=10**(fd)\nsn=ip**2/(its+(it*f)) #signal to noise ratio\nsnr=10*math.log10(sn) #signal to noise ratio in dB\n\n#Result\nprint'SNR at output = %.2f dB'%snr",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "SNR at output = 22.73 dB\n"
- }
- ],
- "prompt_number": 39
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 9.5, page 516"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nB=8*10**6 #post detection bandwidth\nCd=6*10**-12 #capacitance in farad\nCa=12*10**-12 #input capacitance in farad\n\n\n#Calculation\nRl=1/(2*math.pi*Cd*B) #maximum load resistance\nB1=1/(2*math.pi*Rl*Ca) #maximum bandwidth\n\n#Result\nprint'Maximu load resistance = %.2f K\u03a9'%(Rl*10**-3)\nprint'Maximum bandwidth = %.1f MHz'%(B1*10**-6)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Maximu load resistance = 3.32 K\u03a9\nMaximum bandwidth = 4.0 MHz\n"
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 9.6, page 518"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nB=50*10**6 #post detection bandwidth\nCd=5*10**-12 #capacitance in farad\ne=1.602*10**-19 #1 electron volt\nK=1.38*10**-23 #boltzman constant\nT=291 #tempreture in kelvin\nib=10**-7 #photocurrent before gain\nx=0.3\n\n#Calculation\nRl=1/(2*math.pi*Cd*B) #maximum value of the load resistor\na=2*e*B*ib #shot noise\nb=4*K*T*B/Rl #thermal noise\nsn=ib**2/(a+b) #SNR, when M = 1,\nsnd=10*math.log10(sn) #SNR in dB\nMop=((4*K*T)/(x*e*Rl*ib))**0.435\nsn1=(Mop**2*ib**2)/((2*e*B*ib*Mop**2.3)+b) #SNR, when M = Mop,\nsdb=10*math.log10(sn1) #SNR in dB\n\n#Result\nprint'SNR (M=1) = %.2f dB'%(snd)\nprint'SNR (M=Mop) = %.1f dB'%(sdb)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "SNR (M=1) = 8.99 dB\nSNR (M=Mop) = 32.5 dB\n"
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 9.7, page 520"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\ne=1.602*10**-19 #1 electron volt\nK=1.38*10**-23 #boltzman constant\nT=120 #tempreture in kelvin\nB=10**7 #post detection bandwidth\nsn=3.5 #SNR/10\nfn=0.1 #noise figure/10\nRl=10**4 #load resistance\n\n#Calculation\nsn1=10**(sn)\nfn1=10**(fn)\na=12*K*T*B*fn1/Rl\nb=((4*K*T*fn1)/(1.1*e*Rl))**0.667\nIp=(sn1*a/b)**0.75 #minimum photocurrent\nMop=((4*K*T*fn1)/(e*Ip*1.1*10**3))**0.334 #optimum avalanche multiplication factor\n\n#Result\nprint'Optimum avalanche multiplication factor = %.1f '%(Mop)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Optimum avalanche multiplication factor = 8.9 \n"
- }
- ],
- "prompt_number": 22
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 9.8, page 528"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nr1=4*10**6 #effective input resistance in ohm\nr2=8*10**6 #resistance in ohm\nct=6*10**-12 #total capacitance in farad\nK=1.38*10**-23 #boltzman constant\nT=300 #tempreture in kelvin\nRf=10**5 #feedback resitor\nG=400 #open loop gain\n\n#Calculation\nRt=(r1**2)/r2 #total effective load resistance\nB=1/(2*math.pi*Rt*ct) #maximum bandwidth\ni2=4*K*T/Rt #for highimpedance config\nB1=G/(2*math.pi*Rf*ct) #maximum bandwidth for transimpedance config\nit=4*K*T/(Rf) #for transimpedance\n\n#transimpedance configuration factor of 20 greater than that obtained high-input-impedance configuration.\nn=it/i2\nndb=10*math.log10(n)\n\n#Result\nprint'(a) Maximum bandwidth = %.2f x10^4 Hz'%(B*10**-4)\nprint'(b) Mean square thermal noise current (high impedance config)= %.2f x10^-27 A^2 Hz^-1'%(i2*10**27)\nprint'\\n(c) Maximum bandwidth for transimpedance = %.2f X 10^6 Hz'%(B1*10**-8)\nprint' Mean square thermal noise current (transimpedance config) = %.2f x10^-25 A^2 Hz^-1'%(it*10**25)\nprint' Ratio of these noise power = %d dB'%ndb",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Maximum bandwidth = 1.33 x10^4 Hz\n(b) Mean square thermal noise current (high impedance config)= 8.28 x10^-27 A^2 Hz^-1\n\n(c) Maximum bandwidth for transimpedance = 1.06 X 10^6 Hz\n Mean square thermal noise current (transimpedance config) = 1.66 x10^-25 A^2 Hz^-1\n Ratio of these noise power = 13 dB\n"
- }
- ],
- "prompt_number": 21
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/Chapter9_2.ipynb b/Optical_Fiber_Communication_Principles_and_Practice/Chapter9_2.ipynb
deleted file mode 100755
index 42d197be..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/Chapter9_2.ipynb
+++ /dev/null
@@ -1,188 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_9"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": "Chapter 9 :Direct detection receiver performance considerations\n"
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 9.1, page 506"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nzm=20.7 #average number of photons\nh=6.626*10**-34 #plancks constant\nf=2.998*10**14 #frequency in hertz \nn=1 #for ideal detector\nBt=10**7 #bit rate\n\n#Calculation\npo=zm*h*f*Bt/(2*n) #output power in binary\npod=10*math.log10(po) #output power in dBW\npod1=10*math.log10(po*10**3) #output power in dBm\n\n#Result\nprint'Minimum incident optical power = %.1f dBW'%(pod)\nprint' = %.1f dBm'%(pod1)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Minimum incident optical power = -106.9 dBW\n = -76.9 dBm\n"
- }
- ],
- "prompt_number": 26
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 9.2, page 508"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nsn=50/10 #signal to noise ratio in dB\nf=2.998*10**14 #frequency in hertz\nn=1 #for an ideal detector\nB=5*10**6 #bandwidth\nh=6.626*10**-34 #plancks constant\n\n#Calculation\nSN=10**(sn) \npo=SN*f*2*h*B/n #incident optical power\npdb=10*math.log10(po*10**3) #incident optical power in dB\n\n#Result\nprint'Incident optical power = %.1f nW '%(po*10**9)\nprint' in dB = %.1f dBm'%(pdb)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Incident optical power = 198.6 nW \n in dB = -37.0 dBm\n"
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 9.3, page 512"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\npo=200*10**-9 #incident optical power in W\ne=1.602*10**-19 #1 electron volt\nh=0.9*10**-6 #operating wavelength\nh1=6.626*10**-34 #plancks constant\nc=2.998*10**8 #speed of light\nK=1.38*10**-23 #boltzman constant\nT=293 #tempreture in kelvin\nn=0.6 #quantum efficiency\nB=5*10**6 #post-detection bandwidth \nib=3*10**-9 #dark current in ampere\nRl=4*10**3 #load resistance\n\n#Calculation\nip=n*po*e*h/(h1*c) #photocurrent\ni2=2*e*B*(ib+ip) #total shot noise current\ni2rms=math.sqrt(i2) #RMS value \nit=4*K*T*B/Rl #thermal noise current\nitrms=math.sqrt(it) #RMS value\n\n#Result\nprint'RMS shot noise current = %.2f x10^-10 A'%(i2rms*10**10)\nprint'RMS thermal noise current = %.2f x10^-9 A'%(itrms*10**9)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "RMS shot noise current = 3.80 x10^-10 A\nRMS thermal noise current = 4.50 x10^-9 A\n"
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 9.4, page 514"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nip=87.1*10**-9 #photocurrent\nits=1.44*10**-19 #rms shot noise current \nit=2.02*10**-17 #rms thermal noise current\nfd=0.3 #frequency in 3 dB\n\n#Calculation\nf=10**(fd)\nsn=ip**2/(its+(it*f)) #signal to noise ratio\nsnr=10*math.log10(sn) #signal to noise ratio in dB\n\n#Result\nprint'SNR at output = %.2f dB'%snr",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "SNR at output = 22.73 dB\n"
- }
- ],
- "prompt_number": 39
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 9.5, page 516"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nB=8*10**6 #post detection bandwidth\nCd=6*10**-12 #capacitance in farad\nCa=12*10**-12 #input capacitance in farad\n\n\n#Calculation\nRl=1/(2*math.pi*Cd*B) #maximum load resistance\nB1=1/(2*math.pi*Rl*Ca) #maximum bandwidth\n\n#Result\nprint'Maximu load resistance = %.2f K\u03a9'%(Rl*10**-3)\nprint'Maximum bandwidth = %.1f MHz'%(B1*10**-6)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Maximu load resistance = 3.32 K\u03a9\nMaximum bandwidth = 4.0 MHz\n"
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 9.6, page 518"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nB=50*10**6 #post detection bandwidth\nCd=5*10**-12 #capacitance in farad\ne=1.602*10**-19 #1 electron volt\nK=1.38*10**-23 #boltzman constant\nT=291 #tempreture in kelvin\nib=10**-7 #photocurrent before gain\nx=0.3\n\n#Calculation\nRl=1/(2*math.pi*Cd*B) #maximum value of the load resistor\na=2*e*B*ib #shot noise\nb=4*K*T*B/Rl #thermal noise\nsn=ib**2/(a+b) #SNR, when M = 1,\nsnd=10*math.log10(sn) #SNR in dB\nMop=((4*K*T)/(x*e*Rl*ib))**0.435\nsn1=(Mop**2*ib**2)/((2*e*B*ib*Mop**2.3)+b) #SNR, when M = Mop,\nsdb=10*math.log10(sn1) #SNR in dB\n\n#Result\nprint'SNR (M=1) = %.2f dB'%(snd)\nprint'SNR (M=Mop) = %.1f dB'%(sdb)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "SNR (M=1) = 8.99 dB\nSNR (M=Mop) = 32.5 dB\n"
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 9.7, page 520"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\ne=1.602*10**-19 #1 electron volt\nK=1.38*10**-23 #boltzman constant\nT=120 #tempreture in kelvin\nB=10**7 #post detection bandwidth\nsn=3.5 #SNR/10\nfn=0.1 #noise figure/10\nRl=10**4 #load resistance\n\n#Calculation\nsn1=10**(sn)\nfn1=10**(fn)\na=12*K*T*B*fn1/Rl\nb=((4*K*T*fn1)/(1.1*e*Rl))**0.667\nIp=(sn1*a/b)**0.75 #minimum photocurrent\nMop=((4*K*T*fn1)/(e*Ip*1.1*10**3))**0.334 #optimum avalanche multiplication factor\n\n#Result\nprint'Optimum avalanche multiplication factor = %.1f '%(Mop)",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "Optimum avalanche multiplication factor = 8.9 \n"
- }
- ],
- "prompt_number": 22
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": "Example 9.8, page 528"
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": "import math\n\n#Variable declaration\nr1=4*10**6 #effective input resistance in ohm\nr2=8*10**6 #resistance in ohm\nct=6*10**-12 #total capacitance in farad\nK=1.38*10**-23 #boltzman constant\nT=300 #tempreture in kelvin\nRf=10**5 #feedback resitor\nG=400 #open loop gain\n\n#Calculation\nRt=(r1**2)/r2 #total effective load resistance\nB=1/(2*math.pi*Rt*ct) #maximum bandwidth\ni2=4*K*T/Rt #for highimpedance config\nB1=G/(2*math.pi*Rf*ct) #maximum bandwidth for transimpedance config\nit=4*K*T/(Rf) #for transimpedance\n\n#transimpedance configuration factor of 20 greater than that obtained high-input-impedance configuration.\nn=it/i2\nndb=10*math.log10(n)\n\n#Result\nprint'(a) Maximum bandwidth = %.2f x10^4 Hz'%(B*10**-4)\nprint'(b) Mean square thermal noise current (high impedance config)= %.2f x10^-27 A^2 Hz^-1'%(i2*10**27)\nprint'\\n(c) Maximum bandwidth for transimpedance = %.2f X 10^6 Hz'%(B1*10**-8)\nprint' Mean square thermal noise current (transimpedance config) = %.2f x10^-25 A^2 Hz^-1'%(it*10**25)\nprint' Ratio of these noise power = %d dB'%ndb",
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": "(a) Maximum bandwidth = 1.33 x10^4 Hz\n(b) Mean square thermal noise current (high impedance config)= 8.28 x10^-27 A^2 Hz^-1\n\n(c) Maximum bandwidth for transimpedance = 1.06 X 10^6 Hz\n Mean square thermal noise current (transimpedance config) = 1.66 x10^-25 A^2 Hz^-1\n Ratio of these noise power = 13 dB\n"
- }
- ],
- "prompt_number": 21
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/screenshots/Selection_001.png b/Optical_Fiber_Communication_Principles_and_Practice/screenshots/Selection_001.png
deleted file mode 100755
index effd888e..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/screenshots/Selection_001.png
+++ /dev/null
Binary files differ
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/screenshots/Selection_002.png b/Optical_Fiber_Communication_Principles_and_Practice/screenshots/Selection_002.png
deleted file mode 100755
index 394be49f..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/screenshots/Selection_002.png
+++ /dev/null
Binary files differ
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/screenshots/Total_channel_loss_against_number_of_nodes.png b/Optical_Fiber_Communication_Principles_and_Practice/screenshots/Total_channel_loss_against_number_of_nodes.png
deleted file mode 100755
index e92adc62..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/screenshots/Total_channel_loss_against_number_of_nodes.png
+++ /dev/null
Binary files differ
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/screenshots/Total_channel_loss_against_number_of_nodes_1.png b/Optical_Fiber_Communication_Principles_and_Practice/screenshots/Total_channel_loss_against_number_of_nodes_1.png
deleted file mode 100755
index e92adc62..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/screenshots/Total_channel_loss_against_number_of_nodes_1.png
+++ /dev/null
Binary files differ
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/screenshots/Total_channel_loss_against_number_of_nodes_2.png b/Optical_Fiber_Communication_Principles_and_Practice/screenshots/Total_channel_loss_against_number_of_nodes_2.png
deleted file mode 100755
index e92adc62..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/screenshots/Total_channel_loss_against_number_of_nodes_2.png
+++ /dev/null
Binary files differ
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/screenshots/Total_channel_loss_against_number_of_nodes_3.png b/Optical_Fiber_Communication_Principles_and_Practice/screenshots/Total_channel_loss_against_number_of_nodes_3.png
deleted file mode 100755
index e92adc62..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/screenshots/Total_channel_loss_against_number_of_nodes_3.png
+++ /dev/null
Binary files differ
diff --git a/Optical_Fiber_Communication_Principles_and_Practice/screenshots/Total_channel_loss_against_number_of_nodes_4.png b/Optical_Fiber_Communication_Principles_and_Practice/screenshots/Total_channel_loss_against_number_of_nodes_4.png
deleted file mode 100755
index e92adc62..00000000
--- a/Optical_Fiber_Communication_Principles_and_Practice/screenshots/Total_channel_loss_against_number_of_nodes_4.png
+++ /dev/null
Binary files differ