summaryrefslogtreecommitdiff
path: root/Fiber_Optics_Communication_by_H._Kolimbiris
diff options
context:
space:
mode:
Diffstat (limited to 'Fiber_Optics_Communication_by_H._Kolimbiris')
-rwxr-xr-xFiber_Optics_Communication_by_H._Kolimbiris/README.txt10
-rwxr-xr-xFiber_Optics_Communication_by_H._Kolimbiris/chapter10_1.ipynb122
-rwxr-xr-xFiber_Optics_Communication_by_H._Kolimbiris/chapter11_1.ipynb143
-rwxr-xr-xFiber_Optics_Communication_by_H._Kolimbiris/chapter12_1.ipynb2095
-rwxr-xr-xFiber_Optics_Communication_by_H._Kolimbiris/chapter13_1.ipynb215
-rwxr-xr-xFiber_Optics_Communication_by_H._Kolimbiris/chapter1_1.ipynb799
-rwxr-xr-xFiber_Optics_Communication_by_H._Kolimbiris/chapter2_1.ipynb418
-rwxr-xr-xFiber_Optics_Communication_by_H._Kolimbiris/chapter3_1.ipynb351
-rwxr-xr-xFiber_Optics_Communication_by_H._Kolimbiris/chapter4_1.ipynb150
-rwxr-xr-xFiber_Optics_Communication_by_H._Kolimbiris/chapter5_1.ipynb93
-rwxr-xr-xFiber_Optics_Communication_by_H._Kolimbiris/chapter6_1.ipynb855
-rwxr-xr-xFiber_Optics_Communication_by_H._Kolimbiris/chapter7_1.ipynb145
-rwxr-xr-xFiber_Optics_Communication_by_H._Kolimbiris/chapter9_1.ipynb1175
-rwxr-xr-xFiber_Optics_Communication_by_H._Kolimbiris/screenshots/1.PNGbin0 -> 23308 bytes
-rwxr-xr-xFiber_Optics_Communication_by_H._Kolimbiris/screenshots/2.PNGbin0 -> 24646 bytes
-rwxr-xr-xFiber_Optics_Communication_by_H._Kolimbiris/screenshots/3.PNGbin0 -> 30842 bytes
16 files changed, 6571 insertions, 0 deletions
diff --git a/Fiber_Optics_Communication_by_H._Kolimbiris/README.txt b/Fiber_Optics_Communication_by_H._Kolimbiris/README.txt
new file mode 100755
index 00000000..3832614f
--- /dev/null
+++ b/Fiber_Optics_Communication_by_H._Kolimbiris/README.txt
@@ -0,0 +1,10 @@
+Contributed By: sanket khair
+Course: others
+College/Institute/Organization: Tondvalkar Mahavidyalaya
+Department/Designation: Arts
+Book Title: Fiber Optics Communication
+Author: H. Kolimbiris
+Publisher: Pearson Education, New Delhi
+Year of publication: 2001
+Isbn: 9788131715888
+Edition: 1 \ No newline at end of file
diff --git a/Fiber_Optics_Communication_by_H._Kolimbiris/chapter10_1.ipynb b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter10_1.ipynb
new file mode 100755
index 00000000..48dede08
--- /dev/null
+++ b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter10_1.ipynb
@@ -0,0 +1,122 @@
+{
+ "metadata": {
+ "celltoolbar": "Raw Cell Format",
+ "name": "",
+ "signature": "sha256:bca789cc7fd2ad14c612bcaec239833585e5ad7586678b40e30cb722f114286f"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 10: Optical Modulation"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.1,Page number 354"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Vpi=1; #Assumed 1 because we can not use a variable on RHS \n",
+ "#Vpi is Violtage swing\n",
+ "A=0.25; #chirping\n",
+ "#V1=(AV1p+Vp)/2\n",
+ "V1=(A*Vpi+Vpi)/2;\n",
+ "print\" V1=\",V1,\"Vpi\"; \n",
+ "V2=V1-Vpi;\n",
+ "print\" V2=\",V2,\"Vpi\";\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " V1= 0.625 Vpi\n",
+ " V2= -0.375 Vpi\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.2,Page number 354"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Vpi=1; #Assumed 1 because we can not use a variable on RHS\n",
+ "#Vpi is Violtage swing\n",
+ "\n",
+ "print\"for alpha=0.3\";\n",
+ "A=0.3; #chirping\n",
+ "\n",
+ "#V1=(AV1p+Vp)/2\n",
+ "V1=(A*Vpi+Vpi)/2;\n",
+ "print\" V1=\",V1,\"Vpi\"; \n",
+ "V2=V1-Vpi;\n",
+ "print\" V2=\",V2,\"Vpi\";\n",
+ "\n",
+ "print\"for alpha=0.8\";\n",
+ "A=0.8; #chirping\n",
+ "#V1=(AV1p+Vp)/2\n",
+ "V1x=(A*Vpi+Vpi)/2;\n",
+ "print\" V1=\",V1x,\"Vpi\"; \n",
+ "V2x=V1x-Vpi;\n",
+ "print\" V2=\",V2x,\"Vpi\";\n",
+ "\n",
+ "print\" Biasing range is\",V1,\"Vpi <= V1 <=\",V1x,\"Vpi\"; \n",
+ "print\" Biasing range is\",V2,\"Vpi <= V2 <=\",V2x,\"Vpi\"; \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "for alpha=0.3\n",
+ " V1= 0.65 Vpi\n",
+ " V2= -0.35 Vpi\n",
+ "for alpha=0.8\n",
+ " V1= 0.9 Vpi\n",
+ " V2= -0.1 Vpi\n",
+ " Biasing range is 0.65 Vpi <= V1 <= 0.9 Vpi\n",
+ " Biasing range is -0.35 Vpi <= V2 <= -0.1 Vpi\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fiber_Optics_Communication_by_H._Kolimbiris/chapter11_1.ipynb b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter11_1.ipynb
new file mode 100755
index 00000000..f8a54d63
--- /dev/null
+++ b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter11_1.ipynb
@@ -0,0 +1,143 @@
+{
+ "metadata": {
+ "celltoolbar": "Raw Cell Format",
+ "name": "",
+ "signature": "sha256:21e4ae5382ea70f09382be8b52555f5fbc8f74fe04eda894a464606ba56a00a7"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 11: Multiplexing"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.1,Page number 386"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "q=4.9*10**-18; #in m/W.GHz raman gain slope\n",
+ "f=100; #in GHz\n",
+ "A=50*10**-6; #cross sectional area in micro meter square\n",
+ "P0=3.5; #in mW\n",
+ "Le=10*10**3;\n",
+ "G=q*f*10**6/2/A;\n",
+ "N=20;\n",
+ "print\"G =\",\"{0:.3e}\".format(G);\n",
+ "CT=N*(N-1)*(P0*10**-3*G*Le)/2;\n",
+ "print\"CT(L) =\",round(CT,3);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "G = 4.900e-06\n",
+ "CT(L) = 0.033\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.2,Page number 410"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "K0=2*math.pi*625; #in MHz/V\n",
+ "Ip=0.6; #in mA\n",
+ "N=64; \n",
+ "w=2.44; #in Mhz\n",
+ "Z=5;\n",
+ "Vout=5; #in V\n",
+ "C=(4*K0*10**6*Ip*10**-3*Z)/(2*math.pi*N*w*w*10**12);\n",
+ "print\"The value of capacitance is\",round(C*10**9,4),\"nF\";\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of capacitance is 19.6835 nF\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.3,Page number 410"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "K0=2*math.pi*625; #in MHz/V\n",
+ "Ip=0.35; #in mA\n",
+ "N=64; \n",
+ "w=2.44; #in MHz\n",
+ "Z=5;\n",
+ "Vout=4; #in V\n",
+ "C=22; #in nF\n",
+ "Z=math.sqrt((2*math.pi*N*w**2*C)/(4*Ip*K0*0.25));\n",
+ "print\"Zeta is\",round(Z,4);\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Zeta is 6.1904\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fiber_Optics_Communication_by_H._Kolimbiris/chapter12_1.ipynb b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter12_1.ipynb
new file mode 100755
index 00000000..43b64692
--- /dev/null
+++ b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter12_1.ipynb
@@ -0,0 +1,2095 @@
+{
+ "metadata": {
+ "celltoolbar": "Raw Cell Format",
+ "name": "",
+ "signature": "sha256:03bffc5718fcd6defcb7667288d869c25c0041319549754d2fa9939094b7e52f"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 12: Optical Systems"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.1,Page number 431"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Pt=10.; #in microW\n",
+ "Pr=1.; #in microW\n",
+ "PtdBm=10*math.log10(Pt*10**-6/10**-3) #in dBm\n",
+ "print\"Transmitter Power =\",round(PtdBm,4),\"dBm\";\n",
+ "PrdBm=10*math.log10(Pr*10**-6/10**-3) #in dBm\n",
+ "print\"Receiver Power =\",round(PrdBm,4),\"dBm\";\n",
+ "Pm=PtdBm-PrdBm;\n",
+ "print\"Power margin=\",round(Pm,4),\"dBm\"; #misprint in book"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Transmitter Power = -20.0 dBm\n",
+ "Receiver Power = -30.0 dBm\n",
+ "Power margin= 10.0 dBm\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.2,Page number 431"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Pt=25.; #in microW\n",
+ "Prd=15.; #in dBm\n",
+ "Ptd=10*math.log10(Pt*10**-6/10**-3) #in dBm\n",
+ "print\"Transmitter Power =\",round(Ptd,4),\"dBm\";\n",
+ "Pm=Ptd-Prd;\n",
+ "print\"Power margin=\",round(Pm,4),\"dBm\";"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Transmitter Power = -16.0206 dBm\n",
+ "Power margin= -31.0206 dBm\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.3,Page number 432"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Pt1=-18; #in dBm for 50/125 micron fiber\n",
+ "Pt2=-10; #in dBm for 100/125 micron fiber\n",
+ "Pd=Pt1-Pt2;\n",
+ "print\" Additional Power =\",round(Pd,4),\"dBm\";"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " Additional Power = -8.0 dBm\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.4,Page number 432"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Plb=10; #in dBm for 50/125 micron fiber\n",
+ "Ps=3; #in dBm for safety margin\n",
+ "Prs=-30; #in dBm for receiver sensivity\n",
+ "Pt=Plb+Ps+Prs;\n",
+ "print\"Link power budget =\",round(Pt,4),\"dBm\";\n",
+ "Ptw=10**(Pt/10.)*1000;\n",
+ "print\"Transmitter Power =\",round(Ptw,4),\"microW\";"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Link power budget = -17.0 dBm\n",
+ "Transmitter Power = 19.9526 microW\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.5,Page number 433"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Is=0.5; #in A/W\n",
+ "Ir=1.5; #in microA\n",
+ "Xw=Ir/Is;\n",
+ "print\"Electrical power required by PIN diode is =\",round(Xw,4),\"microW\";\n",
+ "Pxw=10*math.log10(Xw/10**3);\n",
+ "print\"Therefore, Electrical power required by PIN diode is =\",round(Pxw,4),\"dBm\";\n",
+ "\n",
+ "Ps=3; #in dB for safety margin\n",
+ "Tp=5; #in dB\n",
+ "Pt=Tp+Ps+Pxw;\n",
+ "print\"Total Power Required =\",round(Pt,4),\"dBm\";"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Electrical power required by PIN diode is = 3.0 microW\n",
+ "Therefore, Electrical power required by PIN diode is = -25.2288 dBm\n",
+ "Total Power Required = -17.2288 dBm\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.6,Page number 442"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "fb=1.25; #in Gb/s\n",
+ "D=17; #in ps/nm.km\n",
+ "dL=0.5; #in nm\n",
+ "Lmax=1/fb/10**9/dL/10**-9/D/10**-12*10**-9;\n",
+ "print\"Maximum Link span,Lmax =\",round(Lmax,4),\"km\";\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum Link span,Lmax = 94.1176 km\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.7,Page number 442"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "fb=2.5; #in Gb/s\n",
+ "Lmax=50.; #in km\n",
+ "dL=0.4; #in nm\n",
+ "D=1./fb/10**9/dL/10**-9/Lmax/10**-12*10**-9;\n",
+ "print\"Maximum allowable dispersion,D =\",round(D,4),\"ps/nm-km\";\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum allowable dispersion,D = 20.0 ps/nm-km\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.8,Page number 443"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Lmax=60.; #in km\n",
+ "D=17.; #in ps/nm.km\n",
+ "dL=0.5; #in nm\n",
+ "fb=1/Lmax/10**9/dL/10**-9/D/10**-12*10**-9;\n",
+ "print\"Maximum system bit rate,fb =\",round(fb,4),\"Gb/s\";\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum system bit rate,fb = 1.9608 Gb/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.9,Page number 443"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "c1=4; #channel1\n",
+ "c2=8; #channel2\n",
+ "c3=16; #channel3\n",
+ "fb=2.5; #in Gb/s\n",
+ "Lmax1=6.1*10**3/(c1*fb)**2;\n",
+ "print\"Maximum Link span for\",c1,\"channel, Lmax =\",Lmax1,\"km\";\n",
+ "Lmax2=6.1*10**3/(c2*fb)**2;\n",
+ "print\"Maximum Link span for\",c2,\"channel, Lmax =\",Lmax2,\"km\";\n",
+ "Lmax3=6.1*10**3/(c3*fb)**2;\n",
+ "print\"Maximum Link span for\",c3,\"channel, Lmax =\",Lmax3,\"km\";\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum Link span for 4 channel, Lmax = 61.0 km\n",
+ "Maximum Link span for 8 channel, Lmax = 15.25 km\n",
+ "Maximum Link span for 16 channel, Lmax = 3.8125 km\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.10,Page number 444"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "L=200; #in km\n",
+ "dL=1550; #in nm\n",
+ "R=10; #in Gb/s\n",
+ "Cd=17; #in ps/nm-km\n",
+ "w=0.1; #Assused bandwidth\n",
+ "Cd200=Cd*L;\n",
+ "print\"Dispersion by 200km ofc =\",\"{0:.1e}\".format(Cd200),\"ps/nm\";\n",
+ "TCd=w*Cd200;\n",
+ "print\"total chromatic dispersion =\",\"{0:.1e}\".format(TCd),\"ps\";"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Dispersion by 200km ofc = 3.4e+03 ps/nm\n",
+ "total chromatic dispersion = 3.4e+02 ps\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.11,Page number 480"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "L=1.5; #in km\n",
+ "Ls=L/3; #in km\n",
+ "BwF=600; #in MHz\n",
+ "fb=1; #in Gbps\n",
+ "Bdlaser=0.71*BwF*L**-0.7*Ls**-0.25;\n",
+ "print\"Laser bandwidth is\",round(Bdlaser,4),\"MHz\"; \n",
+ "mD=0.85*(fb*10**3/Bdlaser)**2;\n",
+ "print\"Mean dispersion penalty is\",round(mD,4),\"dB\"; "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Laser bandwidth is 381.4198 MHz\n",
+ "Mean dispersion penalty is 5.8427 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.12,Page number 481"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "E=0.182; #from table 12-11 for 2dB dispersion penalty\n",
+ "fb=622; #in Mb/s\n",
+ "dl=4; #in nm\n",
+ "ofdisp=3; #in ps/km-nm\n",
+ "Dmax=E/(10**-6*fb*dl);\n",
+ "print\"Dmax is\",round(Dmax,4),\"ps/nm\"; \n",
+ "Lmax=Dmax/ofdisp;\n",
+ "print\"Maximum link distance is\",round(Lmax,4),\"km\"; "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Dmax is 73.1511 ps/nm\n",
+ "Maximum link distance is 24.3837 km\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.13,Page number 481"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "E=0.115; #from table 12-11 for 2dB dispersion penalty\n",
+ "fb=622; #in Mb/s\n",
+ "dl=4; #in nm\n",
+ "ofdisp=3; #in ps/km-nm\n",
+ "Dmax=E/(10**-6*fb*dl);\n",
+ "print\"Dmax is\",round(Dmax,4),\"ps/nm\"; \n",
+ "Lmax=Dmax/ofdisp;\n",
+ "print\"Maximum link distance is\",round(Lmax,4),\"km\"; "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Dmax is 46.2219 ps/nm\n",
+ "Maximum link distance is 15.4073 km\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.14,Page number 481"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "mc=0.4; #in dB\n",
+ "sc=0.0; #in dB\n",
+ "dmax=2.8; #in dB\n",
+ "mt=-4.9; #in dBm\n",
+ "st=0.5; #in dBm\n",
+ "mr=-38.1; #in dBm\n",
+ "sr=0.48; #in dBm\n",
+ "mco=0.35; #in dB\n",
+ "sco=0.20; #in dB\n",
+ "ms=0.2; #in dB\n",
+ "ss=0.1; #in dB\n",
+ "E=0.182; #from table 12-11 for 2dB dispersion penalty\n",
+ "fb=156; #in Mb/s\n",
+ "dl=4; #in nm\n",
+ "ofdisp=2.8; #in ps/nm-km\n",
+ "Nco=7;\n",
+ "mD=2;\n",
+ "sD=0.1;\n",
+ "sH=2;\n",
+ "sCR=0.25;\n",
+ "Ns=4;\n",
+ "mH=0;\n",
+ "mCR=0.5;\n",
+ "L=50;\n",
+ "Ls=10;\n",
+ "Dmax=E/(10**-6*fb*dl);\n",
+ "print\"Dmax is\",round(Dmax,4),\"ps/nm\"; \n",
+ "Lmax=Dmax/ofdisp;\n",
+ "print\"Maximum link distance is\",round(Lmax,4),\"km\"; \n",
+ "mM=mt-mr-(mc*L+mco*Nco+ms*Ns+mD+mH+mCR);\n",
+ "print\"Mean link margin is\",round(mM,4),\"dB\"; \n",
+ "sM=math.sqrt(st**2+sr**2+sc**2*L*Ls+sco**2*Nco+sD**2*sH**2+sCR**2);\n",
+ "print\"Sigma link margin is\",round(sM,4),\"dB\"; \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Dmax is 291.6667 ps/nm\n",
+ "Maximum link distance is 104.1667 km\n",
+ "Mean link margin is 7.45 dB\n",
+ "Sigma link margin is 0.9289 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.15,Page number 483"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "E=0.115; \n",
+ "fb=622; #in Mb/s\n",
+ "dl=4; #in nm\n",
+ "mt=0.1; #in dBm\n",
+ "mr=-31.5; #in dBm\n",
+ "mc=0.41; #in dB\n",
+ "L=25;\n",
+ "mco=0.12; #in dB\n",
+ "Nco=2;\n",
+ "ms=0.15; #in dB\n",
+ "Ns=4;\n",
+ "mD=1;\n",
+ "mH=0;\n",
+ "mCR=0;\n",
+ "sc=0.0; #in dB\n",
+ "st=-0.15; #in dBm\n",
+ "sr=0.3; #in dBm\n",
+ "sco=0.08; #in dB\n",
+ "ss=0.1; #in dB\n",
+ "ofdisp=2.8; #in ps/nm-km\n",
+ "sD=2;\n",
+ "sH=0;\n",
+ "sCR=0.0;\n",
+ "Ls=12;\n",
+ "\n",
+ "Dmax=E/(10**-6*fb*dl);\n",
+ "print\"Dmax is\",round(Dmax,4),\"ps/nm\"; \n",
+ "Lmax=Dmax/ofdisp;\n",
+ "print\"Maximum link distance is\",round(Lmax,4),\"km\"; #in book 4 is misprint for solving \n",
+ "mM=mt-mr-(mc*L+mco*Nco+ms*Ns+mD+mH+mCR);\n",
+ "print\"Mean link margin is\",round(mM,4),\"dB\"; #wrong in book\n",
+ "L=60;\n",
+ "Ls=12; \n",
+ "sM=math.sqrt(st**2+sr**2+sc**2*L*Ls+sco**2*Nco+ss**2*Ns+sD**2*sH**2+sCR**2);\n",
+ "print\"Sigma link margin is\",round(sM,4),\"dB\"; \n",
+ "spm=mM-2*sM-1;\n",
+ "print\"System power margin is\",round(spm,4),\"dB\"; #answer is slighty difeerent due to mM=19.5"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Dmax is 46.2219 ps/nm\n",
+ "Maximum link distance is 16.5078 km\n",
+ "Mean link margin is 19.51 dB\n",
+ "Sigma link margin is 0.4066 dB\n",
+ "System power margin is 17.6969 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.16,Page number 484"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "E=0.115; \n",
+ "fb=1062; #in Mb/s\n",
+ "dl=6; #in nm\n",
+ "mt=-8; #in dBm\n",
+ "mr=28.7; #in dBm\n",
+ "mc=0.4; #in dB\n",
+ "L=5;\n",
+ "mco=0.12; #in dB\n",
+ "Nco=8;\n",
+ "ms=0.2; #in dB\n",
+ "Ns=4;\n",
+ "mD=1;\n",
+ "mH=0;\n",
+ "mCR=1;\n",
+ "sc=0.0; #in dB\n",
+ "st=0.6; #in dBm\n",
+ "sr=0.75; #in dBm\n",
+ "sco=0.08; #in dB\n",
+ "ss=0.1; #in dB\n",
+ "ofdisp=2.8; #in ps/nm-km\n",
+ "sD=2;\n",
+ "sH=0;\n",
+ "sCR=0.25;\n",
+ "Ls=12;\n",
+ "\n",
+ "Dmax=round(E/(10**-6*fb*dl)); #taking to nearest integer in ps/nm\n",
+ "print\"Dmax is\",round(Dmax,4),\"ps/nm\"; \n",
+ "Lmax=Dmax/ofdisp;\n",
+ "print\"Maximum link distance is\",round(Lmax,4),\"km\"; \n",
+ "mM=mt+mr-(mc*L+mco*Nco+ms*Ns+mD+mH+mCR);\n",
+ "print\"Mean link margin is\",round(mM,4),\"dB\";\n",
+ "L=60;\n",
+ "Ls=12; \n",
+ "sM=math.sqrt(st**2+sr**2+sc**2*L*Ls+sco**2*Nco+ss**2*Ns+sD**2*sH**2+sCR**2);\n",
+ "print\"Sigma link margin is\",round(sM,4),\"dB\"; \n",
+ "mM=round(mM*10)/10; #talking only to 1 decimal place and rounding of other values\n",
+ "spm=mM-2*sM-1;\n",
+ "print\"mM-2*sM =\",mM-2*sM;\n",
+ "print\"System power margin is\",round(spm,4),\"dB\"; #answer is slighty diferent due to m\\sM=1.03"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Dmax is 18.0 ps/nm\n",
+ "Maximum link distance is 6.4286 km\n",
+ "Mean link margin is 14.94 dB\n",
+ "Sigma link margin is 1.0374 dB\n",
+ "mM-2*sM = 12.8251988047\n",
+ "System power margin is 11.8252 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.17,Page number 486"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Ncso=50;\n",
+ "a=3.6*10**-3;\n",
+ "m=0.05;\n",
+ "CSO=10*math.log10(Ncso*(a*m)**2);\n",
+ "print\"CSO distortion for 50 channel optical system =\",round(CSO,4),\"dB\"; "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "CSO distortion for 50 channel optical system = -57.9048 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.18,Page number 486"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "CSO=-59.8; #in dB\n",
+ "y=10**(CSO/10);\n",
+ "print\"AM modulation depth (m) = \",\"{0:.3e}\".format(y);\n",
+ "asq=3.6*10**-3;\n",
+ "Ncso=50;\n",
+ "msq=(y/Ncso/asq/asq);\n",
+ "print\"m^2 =\",\"{0:.3e}\".format(msq);\n",
+ "print\"Decrease of AM modulation depth decrease the CSO distortion by =\",round(math.sqrt(msq)*100,1),\"percent\";\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "AM modulation depth (m) = 1.047e-06\n",
+ "m^2 = 1.616e-03\n",
+ "Decrease of AM modulation depth decrease the CSO distortion by = 4.0 percent\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.19,Page number 486"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Ncto=50;\n",
+ "b=1.07*10**-2;\n",
+ "m=0.05;\n",
+ "CTO=10*math.log10(Ncto*(1.5*b*m)**2);\n",
+ "print\"CTO distortion for 50 channel optical system =\",round(CTO,4),\"dB\"; \n",
+ "#Answer in the book is misprinted\n",
+ "#The solution in the book is calculated without multipication of Ncto"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "CTO distortion for 50 channel optical system = -44.9214 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.20,Page number 487"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Ncso=80;\n",
+ "a=2.43*10**-3;\n",
+ "b=4.65*10**-3;\n",
+ "m=0.05;\n",
+ "\n",
+ "#Part (i)\n",
+ "CSO=10*math.log10(Ncso*(a*m)**2);\n",
+ "print\"CSO distortion for 50 channel optical system for m = 5 percent CSOdB =\",round(CSO,4),\"dB\"; \n",
+ "\n",
+ "#Part (ii)\n",
+ "CTO=10*log10(Ncso*(1.5*b*m)**2);\n",
+ "print\"CTO distortion for 50 channel optical system for m = 5 percent CTOdB =\",round(CTO,4),\"dB\";\n",
+ "\n",
+ "#Part (iii)\n",
+ "m=0.03;\n",
+ "\n",
+ "CSO=10*log10(Ncso*(a*m)**2); \n",
+ "# Value of a in the book is considered 2.4 instead of 2.43\n",
+ "print\"CSO distortion for 50 channel optical system for m = 3 percent CSOdB =\",round(CSO,4),\"dB\"; \n",
+ "\n",
+ "#Part (iv)\n",
+ "CTO=10*math.log10(Ncso*(1.5*b*m)**2);\n",
+ "print\"CTO distortion for 50 channel optical system for m = 3 percent CTOdB =\",round(CTO,4),\"dB\";"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "CSO distortion for 50 channel optical system for m = 5 percent CSOdB = -59.2776 dB\n",
+ "CTO distortion for 50 channel optical system for m = 5 percent CTOdB = -50.1188 dB\n",
+ "CSO distortion for 50 channel optical system for m = 3 percent CSOdB = -63.7145 dB\n",
+ "CTO distortion for 50 channel optical system for m = 3 percent CTOdB = -54.5558 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.21,Page number 487"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "RIN=-150; #in dB\n",
+ "B=4*10**6;\n",
+ "m=0.04;\n",
+ "CNR=10*math.log10(m**2/(2*10**-15*B));\n",
+ "print\" CNR =\",round(CNR,4),\"dB\";"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " CNR = 53.0103 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.22,Page number 488"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "CNR=50; #in dB\n",
+ "Bch=4*10**6;\n",
+ "m=0.03;\n",
+ "RIN=m**2/2/Bch/10**(CNR/10)\n",
+ "print\"RIN =\",\"{0:.3e}\".format(RIN);\n",
+ "#Miscalculated answer in the book\n",
+ "RINdB=10*log10(RIN);\n",
+ "print\"RIN in Db is\",round(RINdB,4);\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "RIN = 1.125e-15\n",
+ "RIN in Db is -149.4885\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.23,Page number 490"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Ipd=0.15; #in mA\n",
+ "n=0.75;\n",
+ "e=1.6*10**-19; #electron charge\n",
+ "hv=1.55*10**-19;\n",
+ "Pin=hv*Ipd/n/e;\n",
+ "print\"Pin =\",round(Pin,4),\"mW\"; #Result\n",
+ "#answer in book is misprint"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Pin = 0.1937 mW\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.24,Page number 492"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "OBR=-40; #in dB\n",
+ "#y=Pref/Pin\n",
+ "y=10**(OBR/10.);\n",
+ "print\" Prefl =\",round(y*100,4),\"percent Pin\";\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " Prefl = 0.01 percent Pin\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.25,Page number 493"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "R=800; #in V/W\n",
+ "Pin=1.5; #in mW\n",
+ "m=0.04;\n",
+ "Voutp=R*Pin*m;\n",
+ "print\"Vout(peak) =\",Voutp,\"mV\";\n",
+ "Vavg=Voutp/math.sqrt(2);\n",
+ "print\"Vavg =\",round(Vavg,4),\"mV\";\n",
+ "#in dB\n",
+ "Vavgd=20*math.log10(Vavg*10**-3);\n",
+ "print\"Vavg(in dBmV) =\",round(Vavgd,4);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vout(peak) = 48.0 mV\n",
+ "Vavg = 33.9411 mV\n",
+ "Vavg(in dBmV) = -29.3855\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.26,Page number 494"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Voutp=20; #in dB\n",
+ "Pin=1.2; #in mW\n",
+ "m=0.035;\n",
+ "Vavg=10**(Voutp/20); #in \n",
+ "R=Vavg*math.sqrt(2)/Pin/m;\n",
+ "print\"R =\",round(R,4),\"V/W\";"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "R = 336.7175 V/W\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.27,Page number 494"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Voutp=28.; #in dB\n",
+ "Pin=1; #in mW\n",
+ "R=800; #in V/W\n",
+ "Vavg=10**(Voutp/20); #in \n",
+ "m=Vavg*math.sqrt(2)/Pin/R;\n",
+ "print\"The modulation depth ,m =\",round(m*100,4),\"percent\";"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The modulation depth ,m = 4.4404 percent\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.28,Page number 495"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Ipd=1.2; #in mA\n",
+ "m=0.04; \n",
+ "RINd=-160.; #in dB/Hz\n",
+ "e=1.6*10**-19; \n",
+ "nth=8; #in pA/Hz\n",
+ "BW=4; #in MHz\n",
+ "Rin=10**(RINd/10); #in \n",
+ "\n",
+ "CNR=(0.5*(m*Ipd*10**-3)**2)/((2*e*Ipd*10**-3)+(Rin*Ipd*10**-3)**2+((nth*10**-12)**2)*BW/10**6);\n",
+ "print\"Value of CNR=\",\"{0:.3e}\".format(CNR);\n",
+ "CNRdB=10*math.log10(CNR)\n",
+ "print\"Value of CNR in dB=\",round(CNRdB,4),\"dB\"\n",
+ "#Answer in the book is misprinted or wrong calculation performed in the book\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of CNR= 3.000e+12\n",
+ "Value of CNR in dB= 124.7712 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.29,Page number 509"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "L1=40; #in km\n",
+ "L2=100; #in km\n",
+ "A=0.2; #in dB/Km\n",
+ "TFA1=A*L1;\n",
+ "\n",
+ "print\"Total fibre span attenuation\",round(TFA1,4),\"dB\";\n",
+ "TFA2=A*L2;\n",
+ "print\"Total fibre span attenuation\",round(TFA2,4),\"dB\";\n",
+ "nsd=TFA2-TFA1;\n",
+ "print\"Noise spectral density =\",round(nsd,4),\"dB\";\n",
+ "nsd_abs=10**(nsd/10)\n",
+ "print\"Absolute value of noise spectral density =\",round(nsd_abs,4),\"dB\";"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Total fibre span attenuation 8.0 dB\n",
+ "Total fibre span attenuation 20.0 dB\n",
+ "Noise spectral density = 12.0 dB\n",
+ "Absolute value of noise spectral density = 15.8489 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 33
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.30,Page number 510"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "P1=2.75; #in mW\n",
+ "NFd=5; #in dB\n",
+ "bw=5; #in GHz\n",
+ "G=10; #in dB\n",
+ "hv=1.6*10**-19; #photon energy in J\n",
+ "N=1; #no of amplifiers\n",
+ "NF=10**(NFd/10.); #amplifier noise figure\n",
+ "SNR=10*math.log10(P1*10**-3/(G*hv*bw*10**9*N*NF)); #signal to nois eratio\n",
+ "print\"Spectral Noise density =\",round(SNR,4),\"dB\";\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Spectral Noise density = 50.3624 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.31,Page number 510"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "SNRdB=40; #in dB\n",
+ "NFd=6; #in dB\n",
+ "bw=4; #in GHz\n",
+ "Gd=8; #in dB\n",
+ "hv=1.6*10**-19; #photon energy in J\n",
+ "N=8; #no of amplifiers\n",
+ "SNR=10**(SNRdB/10.);\n",
+ "NF=10**(NFd/10.); #amplifier noise figure\n",
+ "G=10**(Gd/10.); #amplifer gain\n",
+ "P1=10*(SNR/10.)*(G*hv*bw*10**9*N*NF)/10**-3; #optical power launched into fibre\n",
+ "print\"Optical power required , Pl =\",round(P1,4),\"mW \";"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Optical power required , Pl = 1.2861 mW \n"
+ ]
+ }
+ ],
+ "prompt_number": 36
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.32,Page number 518"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "l=1550; #wavelength in nm\n",
+ "fb=10; #system bit rate Gb/s\n",
+ "Df=17; #fiber dispersion in ps/nm-km\n",
+ "L=10**5/Df/fb**2; #fiber length in km \n",
+ "print\"Transmission length is\",round(L,4),\"km\";\n",
+ "fb2=2.5; #system bit rate Gb/s\n",
+ "print\"for fb=2.5 Gb/s\"\n",
+ "L2=10**5/Df/fb2**2; #fiber length in km \n",
+ "print\"Transmission length is\",round(L2,4),\"km\"; #answer misprint in book\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Transmission length is 58.0 km\n",
+ "for fb=2.5 Gb/s\n",
+ "Transmission length is 941.12 km\n"
+ ]
+ }
+ ],
+ "prompt_number": 37
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.33,Page number 518"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "lembda=1550; #wavelength in nm\n",
+ "Df=17; #fiber dispersion in ps/nm-km\n",
+ "L=80 #fiber length in km \n",
+ "fb=math.sqrt(10**5/Df/L)\n",
+ "print\"Maximum bit rate fb =\",round(fb,4),\"Mb/s\";\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum bit rate fb = 8.544 Mb/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 38
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.34,Page number 530"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "D=0.2; #dispersion constant in ps/nm/km\n",
+ "Tfwhm=18; #ps\n",
+ "Zs=0.25*Tfwhm**2/D; #Characteristic length\n",
+ "print\" Zs =\",Zs,\"km\"; #answer in book is miscalculated\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " Zs = 405.0 km\n"
+ ]
+ }
+ ],
+ "prompt_number": 40
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.35,Page number 530"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "lembda=1550; #wavelength in nm\n",
+ "c=3*10**5; #speed of light in km/s\n",
+ "Zs=600; #in km\n",
+ "Tfwhm=20; #in ps\n",
+ "D=1/1.763**2*(2*math.pi*c*Tfwhm**2/(lembda**2*Zs)); #dispersion constant\n",
+ "print\"dispersion constant, D =\",round(D,4),\"ps/nm/km\"; \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "dispersion constant, D = 0.1683 ps/nm/km\n"
+ ]
+ }
+ ],
+ "prompt_number": 42
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.36,Page number 530"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "l=1557; #wavelength in nm\n",
+ "c=3*10**5; #speed of light in km/s\n",
+ "Zs=550; #in km\n",
+ "D=0.25; #in ps/nm/km\n",
+ "Tfwhm=math.sqrt(1.763**2*l**2*D*Zs/(2*math.pi*c)); #Soliton pulse width \n",
+ "print\"Tfwhm =\",round(Tfwhm,3),\"ps\"; "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Tfwhm = 23.445 ps\n"
+ ]
+ }
+ ],
+ "prompt_number": 47
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.37,Page number 531"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Aeff=55; #in sq micrometer\n",
+ "l=1557; #wavelength in nm\n",
+ "c=3*10**5; #speed of light in km/s\n",
+ "n2=2.6*10**-16; #in cm**2/W\n",
+ "D=0.20; #Dispersion constant in ps/nm/km\n",
+ "Tfwhm=30; #in ps\n",
+ "Zs=(2*math.pi*c*Tfwhm**2/l**2/D)/(1.763)**2 ; #charecteristic length \n",
+ "print\" Zs =\",round(Zs,4),\"km\"; \n",
+ "Ps=(Aeff*10**-12*l*10**-9)/(2*math.pi*n2*10**-4*Zs*10**3); #Peak pulse power\n",
+ "#Miscalculation in the book\n",
+ "print\" Ps =\",round(Ps*1000,4),\"mW\"; "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " Zs = 1125.7236 km\n",
+ " Ps = 0.4657 mW\n"
+ ]
+ }
+ ],
+ "prompt_number": 48
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.38,Page number 533"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Z=10; #in mm\n",
+ "Tfwhm=22; #in ps\n",
+ "D=0.5; #ps/nm/km\n",
+ "Aeff=55; #in microm^2\n",
+ "A=0.05; #in km^-1\n",
+ "nsp=1.5; #spontaneous emission \n",
+ "F=2; #amplifier noise\n",
+ "s=3.6*10**3*nsp*F*A*D*Z**3/(Aeff*Tfwhm);\n",
+ "print\" sigma =\",round(s,4),\"ps\"; \n",
+ "#answer in book is misprint\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " sigma = 223.1405 ps\n"
+ ]
+ }
+ ],
+ "prompt_number": 49
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.39,Page number 533"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Q1=4; #quality factor\n",
+ "Q2=6; #quality factor\n",
+ "BER1=(2*math.pi*(Q1**2+2))**-0.5*math.e**(-Q1*Q1/2); \n",
+ "BER2=(2*math.pi*(Q2**2+2))**-0.5*math.e**(-Q2*Q2/2);\n",
+ "print\"For Q=4 ,BER =\",\"{0:.3e}\".format(BER1); \n",
+ "print\"For Q=6 ,BER =\",\"{0:.3e}\".format(BER2); \n",
+ "#Answer second is misprinted in the book"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "For Q=4 ,BER = 3.154e-05\n",
+ "For Q=6 ,BER = 9.856e-10\n"
+ ]
+ }
+ ],
+ "prompt_number": 52
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.40,Page number 534"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "D=0.5; #Dispersion constant ps/nm/km\n",
+ "Ts=22; #Pulse width in ps\n",
+ "fb=10; #system transmission rate in Gb/s\n",
+ "Z1=1; #System total length Mm\n",
+ "Z2=10; #System total length Mm\n",
+ "sa1=8.6*D*D*Z1*Z1*math.sqrt(fb-0.99)/22/2; #standard deviation based on accoustic effect\n",
+ "sa2=8.6*D*D*Z2*Z2*math.sqrt(fb-0.99)/22/2; #standard deviation based on accoustic effect\n",
+ "print\"For Z=1000km ,sigma acoustic =\",round(sa1,4),\"ps\"; \n",
+ "print\"For Z=10000km ,sigma acoustic =\",round(sa2,4),\"ps \"; "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "For Z=1000km ,sigma acoustic = 0.1467 ps\n",
+ "For Z=10000km ,sigma acoustic = 14.6672 ps \n"
+ ]
+ }
+ ],
+ "prompt_number": 50
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.41,Page number 535"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "D=0.45; #dispersion coefficient in ps/nm/km\n",
+ "Ts=22; #Pulse width in ps\n",
+ "l=0.5; #length in nm\n",
+ "Lcollision=2*Ts/l/D; #collision length in km\n",
+ "print\"Lcollision =\",round(Lcollision,4),\"km\"; \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Lcollision = 195.5556 km\n"
+ ]
+ }
+ ],
+ "prompt_number": 54
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.42,Page number 537"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "f=70; #Maximum frequencyshift in Ghz\n",
+ "Ts=22; #Pulse width in ps\n",
+ "CS=1.783*f*10**9*Ts*10**-12; #half channel seperation \n",
+ "print\"The half channel seperation\",round(CS,4);\n",
+ "\n",
+ "df=0.105/f/10**9/Ts/Ts/10**-24; #maximum frequency shift\n",
+ "print\"The maximum frequency shift\",round(df/10**9,4),\"GHz\";\n",
+ "\n",
+ "dt=0.1786/f/10**9/f/10**9/Ts/10**-12; #time displacement\n",
+ "print\"The time displacement\",round(dt*10**12,4),\"ps\";\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The half channel seperation 2.7458\n",
+ "The maximum frequency shift 3.0992 GHz\n",
+ "The time displacement 1.6568 ps\n"
+ ]
+ }
+ ],
+ "prompt_number": 56
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.43,Page number 538"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "M=1.; \n",
+ "N=1.; #no of collision \n",
+ "S1=4.; #soliton colllision \n",
+ "S2=5.; #soliton colllision \n",
+ "Nc=S1*S1/4*(M*S1/2-M+N); #minimum no of collision\n",
+ "print\"Ncollision for S=4,is\",Nc;\n",
+ "Nc2=(S2*S2-1)/4*(M*S2/2-M+N); #minimum no of collision\n",
+ "print\"Ncollision for S=5,is\",Nc2;"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Ncollision for S=4,is 8.0\n",
+ "Ncollision for S=5,is 15.0\n"
+ ]
+ }
+ ],
+ "prompt_number": 58
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.44,Page number 539"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "S=4.;\n",
+ "n=5;\n",
+ "print\"Maximum number of solition Collisions\";\n",
+ "for M in range(1,n+1):\n",
+ " N=M;\n",
+ " Nc=S*(M*S*S/3.+S*(N/2.-M)-N/2.+2*M/3.); #minimum no of collision\n",
+ " print\" M=\",M,\" N=\",N,\" S=\",S,\"is\",Nc;"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum number of solition Collisions\n",
+ " M= 1 N= 1 S= 4.0 is 14.0\n",
+ " M= 2 N= 2 S= 4.0 is 28.0\n",
+ " M= 3 N= 3 S= 4.0 is 42.0\n",
+ " M= 4 N= 4 S= 4.0 is 56.0\n",
+ " M= 5 N= 5 S= 4.0 is 70.0\n"
+ ]
+ }
+ ],
+ "prompt_number": 64
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.45,Page number 539"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "M=1; #number of solition Collisions\n",
+ "N=1; # number of solition Collisions\n",
+ "x=2; \n",
+ "y=1./2;\n",
+ "p=3;\n",
+ "p2=4;\n",
+ "Tb=100; #ps\n",
+ "l=1; #difference in wavelength in nm \n",
+ "D=7*10**-2; #ps/nm**2*km\n",
+ "Zr=y*y*(Tb/l/l/D); #regeration spacing in km\n",
+ "print\" Zr =\",Zr,\"km\";\n",
+ "P=(p-1)*N+(p-2)*(p-1)*M/2.;\n",
+ "print\" P(\",p,\") =\",P; #result number of Collisions\n",
+ "P2=(p2-1)*N+(p2-2)*(p2-1)*M/2.; \n",
+ "print\" P(\",p2,\") =\",P2; #result number of Collisions"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " Zr = 357.142857143 km\n",
+ " P( 3 ) = 3.0\n",
+ " P( 4 ) = 6.0\n"
+ ]
+ }
+ ],
+ "prompt_number": 82
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.46,Page number 540"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Tb=100; #bit period in ps\n",
+ "dZ=0.4; #in ps/nm/km\n",
+ "Zr=150; #Modulator spacing in km\n",
+ "Ta=Tb/(dZ*Zr); #channel spacing in nm\n",
+ "print\"Channel spacing\",round(Ta,4),\"nm\"; "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Channel spacing 1.6667 nm\n"
+ ]
+ }
+ ],
+ "prompt_number": 80
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.47,Page number 540"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Zr=200; #Modulator spacing in km\n",
+ "D=0.6; #in ps/nm/km\n",
+ "l=2; #in nm\n",
+ "Tb=l*(Zr*D); #bit period in ps\n",
+ "print\"Bit period Tb =\",Tb,\"ps\";"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Bit period Tb = 240.0 ps\n"
+ ]
+ }
+ ],
+ "prompt_number": 78
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.48,Page number 540"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "D=0.5; #ps/nm-km\n",
+ "Tb=80; #bit period in ps\n",
+ "l=1.5; #in nm\n",
+ "Zr=Tb/(D*l); #Modulator spacing in km\n",
+ "print\" Maximum modulator spacing Zr =\",round(Zr,4),\"km\";\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " Maximum modulator spacing Zr = 106.6667 km\n"
+ ]
+ }
+ ],
+ "prompt_number": 76
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.49,Page number 541"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Zd=100; #in km\n",
+ "Do=0.07; #in ps/nm**2\n",
+ "D1=-0.3; #in ps/nm**2\n",
+ "Ldsf=(Zd*Do)/(Do-D1); #length of dispersion compensation fiber in km\n",
+ "print\"Length of Dispersion compensation fiber, Ldsf =\",round(Ldsf,4),\"km\";"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Length of Dispersion compensation fiber, Ldsf = 18.9189 km\n"
+ ]
+ }
+ ],
+ "prompt_number": 73
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.50,Page number 542"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "m=3;\n",
+ "n=1;\n",
+ "Tb=100; #ps\n",
+ "l=1; #nm\n",
+ "D=0.07; #ps/nm**2*km\n",
+ "lmn=1; #nm\n",
+ "lmo=2; #nm\n",
+ "Do=0.1; #ps/nm-km\n",
+ "Lc=4*Tb/(5*D*lmn*(lmn+2*lmo)); #Collision length in km\n",
+ "print\"Collision length without dispersion slope compensation =\",round(Lc,4),\"km\";\n",
+ "Lc2=2*Tb/(5*Do*lmn); #Collision length in km\n",
+ "print\"Collision length with dispersion slope compensation =\",Lc2,\"km\";"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Collision length without dispersion slope compensation = 228.5714 km\n",
+ "Collision length with dispersion slope compensation = 400.0 km\n"
+ ]
+ }
+ ],
+ "prompt_number": 70
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.51,Page number 542"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Zr=200; #in km\n",
+ "S=4;\n",
+ "Ltot1=2*Zr*(S-1); #total solition collion length in km\n",
+ "print\"Total solition Collisions length With DSC ,Ltotal =\",round(Ltot1,4),\"km\";\n",
+ "Ltot2=(2./5)*Zr*(S-1); #total solition collion length in km\n",
+ "print\"Total solition Collisions length With non-DSC ,Ltotal =\",round(Ltot2,4),\"km\";\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Total solition Collisions length With DSC ,Ltotal = 1200.0 km\n",
+ "Total solition Collisions length With non-DSC ,Ltotal = 240.0 km\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fiber_Optics_Communication_by_H._Kolimbiris/chapter13_1.ipynb b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter13_1.ipynb
new file mode 100755
index 00000000..91064c2e
--- /dev/null
+++ b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter13_1.ipynb
@@ -0,0 +1,215 @@
+{
+ "metadata": {
+ "celltoolbar": "Raw Cell Format",
+ "name": "",
+ "signature": "sha256:e28be4b4750fe93970ef31bb773db3c88335b5f5785ee33c9c521af385d7bc8c"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 13: Networks"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.1,Page number 568"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Vcc=5; #in V\n",
+ "Vf=1.5; #in V\n",
+ "If=60; #in mA\n",
+ "B=3.97;\n",
+ "N=3;\n",
+ "R9=(Vcc-Vf)*(B+1)/If/10**-3;\n",
+ "print\"R9 =\",round(R9,4),\"ohm\";\n",
+ "R7=R9/2/B-3/N;\n",
+ "print\"R7 =\",round(R7,4),\"ohm\";\n",
+ "R8=R9/2/B;\n",
+ "print\"R8 =\",round(R8,4),\"ohm\";\n",
+ "C4=2*10**-9/R8;\n",
+ "print\"C4 =\",round(C4*10**12,4),\"pF\";\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "R9 = 289.9167 ohm\n",
+ "R7 = 35.5134 ohm\n",
+ "R8 = 36.5134 ohm\n",
+ "C4 = 54.7744 pF\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.2,Page number 569"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Vu3=1.24; #in V\n",
+ "Vbeq3=0.7; #in V\n",
+ "Vbeq4=0.7; #in V\n",
+ "R5=17.5; #in Ohm\n",
+ "R6=17.5; #in Ohm\n",
+ "Voh=5; #in V\n",
+ "Vol=0; #in V\n",
+ "\n",
+ "If=(Vu3-Vbeq3)/R5+(Vu3-Vbeq4)/R6;\n",
+ "print\"If=\",round(If*1000,4),\"mA\";\n",
+ "\n",
+ "R3=(Voh-Vol)/If;\n",
+ "print\"R3=\",round(R3,4),\"ohm\";\n",
+ "\n",
+ "C4=2*10**-9/R3;\n",
+ "print\"C4=\",round(C4*10**12,4),\"pF\";\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "If= 61.7143 mA\n",
+ "R3= 81.0185 ohm\n",
+ "C4= 24.6857 pF\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.2,Page number 581"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "##\"Page number 581 again Example 13-2 (numbering mistake)\";\n",
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Er=4.9;\n",
+ "h=5; #in mils\n",
+ "w=10; #in mils\n",
+ "t=0.5; #in mils\n",
+ "\n",
+ "Z=60.0/math.sqrt(0.475*Er+0.67)*log(4*h/0.67/(0.8*w+t));\n",
+ "print\"Z =\",round(Z,4),\"ohm\";\n",
+ "\n",
+ "tpd=1.017*sqrt(0.475*Er+0.67);\n",
+ "print\"tpd =\",round(tpd,4),\"ns/ft\";\n",
+ "\n",
+ "Tpd=tpd*1000/12; #converted into ps/in\n",
+ "print\"tpd =\",round(Tpd,4),\"ps/in\";\n",
+ "\n",
+ "Co=Tpd/Z;\n",
+ "print\"Co =\",round(Co,4),\"pF/in\";\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Page number 581 again Example 13-2 (numbering mistake)\n",
+ "Z = 43.5322 ohm\n",
+ "tpd = 1.7608 ns/ft\n",
+ "tpd = 146.7301 ps/in\n",
+ "Co = 3.3706 pF/in\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.3,Page number 583"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Er=4.7;\n",
+ "b=10; #in mils\n",
+ "w=4; #in mils\n",
+ "t=0.5; #in mils\n",
+ "\n",
+ "Z=60/math.sqrt(Er)*log(4*b/0.67/math.pi/(0.8*w+t));\n",
+ "print\" Z =\",round(Z,4),\"ohm\";\n",
+ "\n",
+ "tpd=1.017*sqrt(Er);\n",
+ "print\" tpd =\",round(tpd,4),\"ns/ft\";\n",
+ "\n",
+ "Tpd=tpd*1000/12; #converted into ps/in\n",
+ "print\" Also,tpd =\",round(Tpd,4),\"ps/in\";\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " Z = 45.286 ohm\n",
+ " tpd = 2.2048 ns/ft\n",
+ " Also,tpd = 183.7336 ps/in\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fiber_Optics_Communication_by_H._Kolimbiris/chapter1_1.ipynb b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter1_1.ipynb
new file mode 100755
index 00000000..a02d1494
--- /dev/null
+++ b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter1_1.ipynb
@@ -0,0 +1,799 @@
+{
+ "metadata": {
+ "celltoolbar": "Raw Cell Format",
+ "name": "",
+ "signature": "sha256:0fda5ad610d37dd806c4c513ae5112b4ea24471ff454c480ace9533d3079b418"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 1: Elements of Optics And Quantum Physics"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.1,Page number 5"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Given\n",
+ "\n",
+ "print\"(i) t1=d/c\";\n",
+ "print\"(ii) t2=[(d-5)/c]+[5/v2]\";\n",
+ "print\" v2=c/n2\";\n",
+ "print\" t2=(d+2.5)/c\";\n",
+ "print\"(iii)delta_t=t2-t1=(d+2.5-d)/c\";\n",
+ "c=3*10**8; #Speed of light in m/s\n",
+ "delta_t=2.5*10**-2/c; #converted 2.5 cm into meters\n",
+ "print\"The time difference\",\"{0:.3e}\".format(delta_t),\"s\" ;\n",
+ "print\"Arrival time difference of two monochromatic beams is\",delta_t*10**12,\"ps\";\n",
+ "# Answer misprinted in the book\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) t1=d/c\n",
+ "(ii) t2=[(d-5)/c]+[5/v2]\n",
+ " v2=c/n2\n",
+ " t2=(d+2.5)/c\n",
+ "(iii)delta_t=t2-t1=(d+2.5-d)/c\n",
+ "The time difference 8.333e-11 s\n",
+ "Arrival time difference of two monochromatic beams is 83.3333333333 ps\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.2,Page number 5"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given \n",
+ "\n",
+ "#Applying Snell's law\n",
+ "a=1*math.sin(428)/1.333; #a=sin(w2)\n",
+ "print\"Angle of refraction is\",round(math.degrees(math.asin(a)),3),\"degree\";\n",
+ "\n",
+ "c=3*10**8; #speed of light in m/s\n",
+ "n2=1.333; #refractive index of 2nd medium\n",
+ "v2=c/n2; #velocity in second medium in m/s\n",
+ "n1=1; #refractive index of 1st medium\n",
+ "l1=620; #in nm wavelength\n",
+ "\n",
+ "print\"Velocity of optical ray through medium second\",\"{0:.3e}\".format(v2),\"m/s\";\n",
+ "\n",
+ "l2= (n1*l1)/n2; #wavelength in 2nd medium in nm\n",
+ "print\"Wavelenght of optical ray through medium second\",round(l2,4),\"nm\"; #Result\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Angle of refraction is 30.512 degree\n",
+ "Velocity of optical ray through medium second 2.251e+08 m/s\n",
+ "Wavelenght of optical ray through medium second 465.1163 nm\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.3,Page number 5"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given \n",
+ "\n",
+ "n1=1; #refractive index of air\n",
+ "n2=1.56; #refractive index of medium\n",
+ "w1=60; #in deg C\n",
+ "#using snell's law\n",
+ "a= n1*sin(w1*math.pi/180)/n2; #a=sin(w1)\n",
+ "w2=math.degrees(math.asin(a)); #in degree\n",
+ "print\"Angle of refraction is\",round(w2,4),\"degree\";\n",
+ "B=w1-w2; #in degree\n",
+ "print\"Angle of deviation is\",round(B,4),\"degree\";\n",
+ "# The answer doesn't match because of priting errorsin calculation as sin(608)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Angle of refraction is 33.7207 degree\n",
+ "Angle of deviation is 26.2793 degree\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.4,Page number 6"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given \n",
+ "\n",
+ "print\"Solution (i)\";\n",
+ "w=5/12.5; #tan(w)=5/12.5;\n",
+ "print\"The value of tan(w2) is\",w;\n",
+ "w2=math.atan(w)*180/math.pi;\n",
+ "\n",
+ "print\"The value of w2 is\",round(w2,4),\"degree\";\n",
+ "print\"The value of sin(w2) is\",round(math.sin(w2*math.pi/180),4);\n",
+ "\n",
+ "print\"Solution (ii)\";\n",
+ "#Applying snell's law\n",
+ "n1=1.05;\n",
+ "n2=1.5;\n",
+ "w1=(n2*sin(w2*math.pi/180))/n1; #a=sin(w1)\n",
+ "print\"The value of sin(w1) is\",round(w1,4);\n",
+ "print\"The value of w1 is\",round(math.degrees(math.asin(w1)),4),\"degree\";\n",
+ "#value of w1\n",
+ "#tan(w1)=(p-x)12.5;\n",
+ "k=0.62*12.5;\n",
+ "d=1.05*((12.5)**2+(k)**2)**0.5 +1.5*(12.5**2+5**2)**0.5; #d=1.05[(h1)^2+(k)^2]^0.5 +n2(h2**2+x**2)^0.5;\n",
+ "print\"The optical distance is\",round(d,4),\"cm\";\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Solution (i)\n",
+ "The value of tan(w2) is 0.4\n",
+ "The value of w2 is 21.8014 degree\n",
+ "The value of sin(w2) is 0.3714\n",
+ "Solution (ii)\n",
+ "The value of sin(w1) is 0.5306\n",
+ "The value of w1 is 32.0432 degree\n",
+ "The optical distance is 35.6373 cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.5,Page number 11"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given \n",
+ "\n",
+ "c=3*10**8;\n",
+ "print\"Solution (i)\";\n",
+ "ri=1.5; #refractive index\n",
+ "u=830; # in nm\n",
+ "l=u/ri; #in nm\n",
+ "print\"Wavelength is\",round(l,4),\"nm\\n\";\n",
+ "\n",
+ "print\"Solution (ii)\";\n",
+ "l=round(l); # rounding to nearest integer\n",
+ "f=c/(l*10**-9)*10**-12; #in THz\n",
+ "print\"frequency is\",round(f,4),\"THz\\n\";\n",
+ "\n",
+ "print\"Solution (iii)\";\n",
+ "f=round(f); #rounding to nearest integer\n",
+ "v=l*10**-9*f*10**12; #in m/s\n",
+ "print\"phase velocity is\",\"{0:.3e}\".format(v),\"m/s\";\n",
+ "\n",
+ "#answer is getting rounding off due to larger calculation\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Solution (i)\n",
+ "Wavelength is 553.3333 nm\n",
+ "\n",
+ "Solution (ii)\n",
+ "frequency is 542.4955 THz\n",
+ "\n",
+ "Solution (iii)\n",
+ "phase velocity is 2.997e+08 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.6,Page number 12"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given \n",
+ "\n",
+ "print\"Solution (i)\";\n",
+ "l=720; #wavelength in nm\n",
+ "n=1.5; #refractive index\n",
+ "lm=l/n;\n",
+ "print\"Wavelenth is\",lm,\"nm\"; #result\n",
+ "\n",
+ "print\"Solution (ii)\";\n",
+ "c=3*10**8; #in m/s speed of light\n",
+ "u=c/n;\n",
+ "print\"Velocity is\",\"{0:.3e}\".format(u),\"m/s\"; #result\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Solution (i)\n",
+ "Wavelenth is 480.0 nm\n",
+ "Solution (ii)\n",
+ "Velocity is 2.000e+08 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.7,Page number 12"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given \n",
+ "\n",
+ "print\"Solution (i)\";\n",
+ "c=3*10**8; #in m/s speed of light\n",
+ "l=640; #in nm\n",
+ "u=2.2*10**8; #in m/s\n",
+ "lm=u*l/c; #wavelenth in medium\n",
+ "print\"The wavelength is\",round(lm,4),\"nm\"; #The answer in the book is misprinted\n",
+ "\n",
+ "print\"Solution (ii)\";\n",
+ "n=l/lm; #refractive index\n",
+ "print\"Refractive Index is\",round(n,4); #The answer in the book is misprinted\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Solution (i)\n",
+ "The wavelength is 469.3333 nm\n",
+ "Solution (ii)\n",
+ "Refractive Index is 1.3636\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.8,Page number 12"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given \n",
+ "\n",
+ "#k=aa+as=6.3;\n",
+ "#Given values from research\n",
+ "k=6.3; #combined attenuation due to absorption and scattering\n",
+ "d=25; #in cm\n",
+ "print\"Solution (ii)\";\n",
+ "#Io/Ii=exp(-(ao+ai)*d); d in m\n",
+ "j=math.e**(-(k)*d/100); #Io/Ii ratio\n",
+ "print\"Io is\",round(j,4),\"of Ii\"; #result"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Solution (ii)\n",
+ "Io is 0.207 of Ii\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.9,Page number 13"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given \n",
+ "\n",
+ "# Given formula Io/Ii=exp(-(ao+ai)*d);\n",
+ "# k=aa+as=63.1;\n",
+ "# Io/Ii=1.5\n",
+ "d=log(0.15)/-63.1; #length of tube\n",
+ "print\"Length of tube, d =\",round(d*100,4),\"cm\"; #Result\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Length of tube, d = 3.0065 cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.10,Page number 26"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "#p=m/{m+[2*n/(1-n)^2]^2};\n",
+ "\n",
+ "m=5; #no. of reflective plates\n",
+ "n=1.33; #refractive indices\n",
+ "p=m/(m+(2*n/(1-(n)**2))**2); #degree of polarisation\n",
+ "print\"The degree of polarisation is\",round(p,1);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The degree of polarisation is 0.3\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.11,Page number 26"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "#m= p*{m+[2*n/(1-n)^2]^2};\n",
+ "\n",
+ "n=1.5; #refractive indices\n",
+ "p=0.45; #degree of polarisation\n",
+ "m=(p*(2*n/(1-n**2))**2)/(1-p);\n",
+ "print\"Thus it will require\",round(m,4),\"reflective plate to achive a degree of polarization equal to 0.45\"; \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Thus it will require 4.7127 reflective plate to achive a degree of polarization equal to 0.45\n"
+ ]
+ }
+ ],
+ "prompt_number": 41
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.12,Page number 27"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "#I1/I0=cos(w)^2\n",
+ "#k=I1/I0;\n",
+ "\n",
+ "w=30; #angle bw polarizer and analyser in degee\n",
+ "k=math.cos(w*math.pi/180)**2;\n",
+ "print\"The ratio of optical ray intensity ,I1/I0=\",k; #Result\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The ratio of optical ray intensity ,I1/I0= 0.75\n"
+ ]
+ }
+ ],
+ "prompt_number": 43
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.13,Page number 27"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given data\n",
+ "\n",
+ "#I1/I0=cos(w)^2\n",
+ "#Given I1/I0=0.55\n",
+ "\n",
+ "k=math.sqrt(0.55); #from above formulae\n",
+ "\n",
+ "print\"The angle bw polarizer and analyser , w is\",round(math.degrees(math.acos(k)),4),\"degree\";\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The angle bw polarizer and analyser , w is 42.1304 degree\n"
+ ]
+ }
+ ],
+ "prompt_number": 48
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.14,Page number 29"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given \n",
+ "\n",
+ "print\"Solution (i)\";\n",
+ "ne=1.4; #refractive index\n",
+ "no=1.25; #refractive index\n",
+ "c=3*10**8; #in m/s\n",
+ "T=2*10**-5; #in m\n",
+ "l=740; #in nm\n",
+ "t=(ne-no)*T/c; #time difference\n",
+ "print\"Time difference, t is\",t*10**12,\"ps\";\n",
+ "print\"Solution (ii)\";\n",
+ "le=l/ne; \n",
+ "lo=l/no;\n",
+ "fi=2*math.pi*T*(1/le-1/lo)*10**9;\n",
+ "print\"Phase difference is\",round(fi,4),\"rad\"; \n",
+ "# Answer misprinted in book"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Solution (i)\n",
+ "Time difference, t is 0.01 ps\n",
+ "Solution (ii)\n",
+ "Phase difference is 25.4724 rad\n"
+ ]
+ }
+ ],
+ "prompt_number": 51
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.15,Page number 31"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given \n",
+ "\n",
+ "#E=h*v=h*c/l;\n",
+ "\n",
+ "E=3; #In KeV\n",
+ "#1eV=1.6*10^-19\n",
+ "h=6.63*10**-34; #plank constant in J/s\n",
+ "c=3*10**8; # speed of light in m/s\n",
+ "l=h*c/(E*10**3*1.6*10**-19); #wavelength in nm\n",
+ "print\"wavelength of a electromagnetic radiation is\",round(l*10**9,4),\"nm\";\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "wavelength of a electromagnetic radiation is 0.4144 nm\n"
+ ]
+ }
+ ],
+ "prompt_number": 53
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.16,Page number 31"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "print\"Solution (i)\";\n",
+ "l=670 #in nm\n",
+ "h=6.63*10**-34; #plank constant in J/s\n",
+ "c=3*10**17 #speed of light in nm/sec\n",
+ "Ek=0.75 #In eV\n",
+ "phi=(h*c/l)/(1.6*10**-19) -Ek;\n",
+ "phi=round(phi*10)/10; #round to 1 decimal point\n",
+ "print\"Characteristic of material =\",phi,\"eV\";\n",
+ "\n",
+ "print\"Solution (ii)\";\n",
+ "fc=phi*1.6*10**-19/h*10**-12; #frequency in THz#result\n",
+ "fc=round(fc);\n",
+ "print\"Cuttoff frequency is =\",fc,\"THz\";\n",
+ "lc=c/(fc*10**12); #in nm\n",
+ "print\"Cuttoff wavelength is =\",round(lc,4),\"nm\";\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Solution (i)\n",
+ "Characteristic of material = 1.1 eV\n",
+ "Solution (ii)\n",
+ "Cuttoff frequency is = 265.0 THz\n",
+ "Cuttoff wavelength is = 1132.0755 nm\n"
+ ]
+ }
+ ],
+ "prompt_number": 62
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.17,Page number 31"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "print\"Solution (i)\";\n",
+ "l=0.045; #wavelength in nm\n",
+ "h=6.63*10**-34; #planks constant in J/s\n",
+ "c=3*10**8; #speed of light in m/s\n",
+ "E=h*c/l/10**-9; #energy of photon in eV\n",
+ "print\"E =\",\"{0:.3e}\".format(E),\"J\";\n",
+ "\n",
+ "E1=E/(1.6*10**-19); # energy in joule\n",
+ "print\"E =\",\"{0:.3e}\".format(E1),\"eV\";\n",
+ " \n",
+ "e=1.6*10**-19; # charge of electron\n",
+ "\n",
+ "print\"Solution (ii)\";\n",
+ "V=E/e;\n",
+ "print\"Required voltage is =\",V/1000,\"KV\";\n",
+ "\n",
+ "#Value of wavelenght in problem is .45 but in the solution is .045 \n",
+ "#the value considered above is .045\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Solution (i)\n",
+ "E = 4.420e-15 J\n",
+ "E = 2.762e+04 eV\n",
+ "Solution (ii)\n",
+ "Required voltage is = 27.625 KV\n"
+ ]
+ }
+ ],
+ "prompt_number": 59
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.18,Page number 36"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "print\"Solution (i)\";\n",
+ "x=620 # difference in particle momentum In nm\n",
+ "h=6.63*10**-34 # planks constant In J/s\n",
+ "#p=h/(4*pi*x);\n",
+ "#m*v=h/(4*pi*x);\n",
+ "m=9.11*10**-31 #mass of electron in kg \n",
+ "v=h /(4*math.pi* x *10**-9*m); #electron velocity\n",
+ "print\"The uncertanity in electron velocity is\",round(v,4),\"m/s\";\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Solution (i)\n",
+ "The uncertanity in electron velocity is 93.41 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 61
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fiber_Optics_Communication_by_H._Kolimbiris/chapter2_1.ipynb b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter2_1.ipynb
new file mode 100755
index 00000000..82a94301
--- /dev/null
+++ b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter2_1.ipynb
@@ -0,0 +1,418 @@
+{
+ "metadata": {
+ "celltoolbar": "Raw Cell Format",
+ "name": "",
+ "signature": "sha256:f5d955431773596849dab1900f3dadd3740eea7cc2816449e90ee1d7309c3fc7"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 2: Fundamental of Semiconductor Theory"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.1,Page number 43"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "n=1;\n",
+ "Ne=2*n**2;\n",
+ "print\"Maximum number of electron in 1st shell is \",Ne; #Result\n",
+ "n2=2; #shell no\n",
+ "Ne2=2*n2**2; #shell no\n",
+ "print\"Maximum number of electron in 2nd shell is \",Ne2; #Result\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum number of electron in 1st shell is 2\n",
+ "Maximum number of electron in 2nd shell is 8\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2,Page number 45"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "#Given for silicon for temp 0-400K\n",
+ "Eg0_Si=1.17; #in eV\n",
+ "A=4.73*10**-4; #in eV/K\n",
+ "B=636;\n",
+ "for i in range(1,9):\n",
+ " T=50*i; #degree/Kelvin\n",
+ " Eg_Si=Eg0_Si-(A*T**2)/(B+T);\n",
+ " print\"Band gap energy of silicon at \",T,\" K is \",round(Eg_Si,3),\"eV \"; #result\n",
+ "\n",
+ "#Given for Germanium for temp 0-400K\n",
+ "print\"\\n\"\n",
+ "Eg0_Ge=0.7437; #in eV\n",
+ "A_Ge=4.774*10**-4; #in eV/K\n",
+ "B_Ge=235;\n",
+ "for i in range(1,9):\n",
+ " T=50*i; #degree/Kelvin\n",
+ " Eg_Ge=Eg0_Ge-(A_Ge*T**2)/(B_Ge+T);\n",
+ " print\"Band gap energy of germanium at \",T,\" K is \",round(Eg_Ge,3),\"eV \"; #result\n",
+ "\n",
+ "\n",
+ "#Given for GaAs for temp 0-400K\n",
+ "print\"\\n\"\n",
+ "Eg0_Ga=1.519; #in eV\n",
+ "A_Ga=5.405*10**-4; #in eV/K\n",
+ "B_Ga=204;\n",
+ "for i in range(1,9):\n",
+ " T=50*i; #degree/Kelvin\n",
+ " Eg_Ga=Eg0_Ga-(A_Ga*T**2)/(B_Ga+T);\n",
+ " print\"Band gap energy of GaAs at \",T ,\"K is \",round(Eg_Ga,3),\"eV\"; #result\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Band gap energy of silicon at 50 K is 1.168 eV \n",
+ "Band gap energy of silicon at 100 K is 1.164 eV \n",
+ "Band gap energy of silicon at 150 K is 1.156 eV \n",
+ "Band gap energy of silicon at 200 K is 1.147 eV \n",
+ "Band gap energy of silicon at 250 K is 1.137 eV \n",
+ "Band gap energy of silicon at 300 K is 1.125 eV \n",
+ "Band gap energy of silicon at 350 K is 1.111 eV \n",
+ "Band gap energy of silicon at 400 K is 1.097 eV \n",
+ "\n",
+ "\n",
+ "Band gap energy of germanium at 50 K is 0.74 eV \n",
+ "Band gap energy of germanium at 100 K is 0.729 eV \n",
+ "Band gap energy of germanium at 150 K is 0.716 eV \n",
+ "Band gap energy of germanium at 200 K is 0.7 eV \n",
+ "Band gap energy of germanium at 250 K is 0.682 eV \n",
+ "Band gap energy of germanium at 300 K is 0.663 eV \n",
+ "Band gap energy of germanium at 350 K is 0.644 eV \n",
+ "Band gap energy of germanium at 400 K is 0.623 eV \n",
+ "\n",
+ "\n",
+ "Band gap energy of GaAs at 50 K is 1.514 eV\n",
+ "Band gap energy of GaAs at 100 K is 1.501 eV\n",
+ "Band gap energy of GaAs at 150 K is 1.485 eV\n",
+ "Band gap energy of GaAs at 200 K is 1.465 eV\n",
+ "Band gap energy of GaAs at 250 K is 1.445 eV\n",
+ "Band gap energy of GaAs at 300 K is 1.422 eV\n",
+ "Band gap energy of GaAs at 350 K is 1.399 eV\n",
+ "Band gap energy of GaAs at 400 K is 1.376 eV\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.3,Page number 52"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "l=10*10**-3; #in m\n",
+ "w=2*10**-3; #in m\n",
+ "h=2*10**-3; #in m\n",
+ "V=12; #in V\n",
+ "u_n=0.14; #in m*m/V*s\n",
+ "u_p=0.05; #in m*m/V*s\n",
+ "q_n=1.6*10**-19; #in Columbs\n",
+ "q_p=1.6*10**-19; #in Columbs\n",
+ "p_i=2.4*10**19; #in columbs\n",
+ "n_i=2.4*10**19; #in columbs\n",
+ "E=V/l;\n",
+ "v_n=E*u_n;\n",
+ "v_p=E*u_p;\n",
+ "J_n=n_i*q_n*v_n;\n",
+ "J_p=p_i*q_p*v_p;\n",
+ "J=J_n+J_p;\n",
+ "print\"Electron velocity :vn is \",v_n,\"m/s\"; #result\n",
+ "print\"Hole velocity :vp is \",v_p/1000,\"km/s\"; #result\n",
+ "print\"Current density : Jn \",J,\"A/m^2\"; #result\n",
+ "A=88*10**-6;\n",
+ "I_T=J*A;\n",
+ "print\"Total current :I_T is\",round(I_T*1000,4),\"mA\"; #result\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Electron velocity :vn is 168.0 m/s\n",
+ "Hole velocity :vp is 0.06 km/s\n",
+ "Current density : Jn 875.52 A/m^2\n",
+ "Total current :I_T is 77.0458 mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.4,Page number 53"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "n_i=2*10**17; #electron/m*m*m\n",
+ "p=5.7*10**20; #holes/m*m*m\n",
+ "u_n=0.14; #in m*m/V*s\n",
+ "u_p=0.05; #in m*m/V*s\n",
+ "q_n=1.6*10**-19; #in Columbs\n",
+ "q_p=1.6*10**-19; #in Columbs\n",
+ "n=(n_i)**2/p;\n",
+ "print\"Electron :n is \",\"{0:.3e}\".format(n),\"electrons \"; #result\n",
+ "n=7*10**13\n",
+ "P=(n*u_n*q_n)+(p*u_p*q_p);\n",
+ "print\"Conductivity :P is \",round(P,4),\"S/m \"; #result\n",
+ "# answer misprinted\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Electron :n is 7.018e+13 electrons \n",
+ "Conductivity :P is 4.56 S/m \n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.5,Page number 55"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "NA=10**22; #acceptors/m*m*m\n",
+ "ND=1.2*10**21; #donors/m*m*m\n",
+ "T=298; #in Kelvin\n",
+ "k=1.38*10**-23; #Boltzman Constant in J/K\n",
+ "q=1.6*10**-19; #charge of electron in C\n",
+ "Vt=k*T/q; #thermal voltage in V\n",
+ "print\" VT is \",Vt*1000,\"mV\"; #result\n",
+ "n_i=2.4*10**17; #carrier/m**3 for silicon \n",
+ "VB=Vt*log(NA*ND/n_i**2); #barrier voltage in V\n",
+ "print\" Barrier Voltage of Silicon VB is \",round(VB*1000,4),\"mV\"; #result\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " VT is 25.7025 mV\n",
+ " Barrier Voltage of Silicon VB is 492.3224 mV\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.6,Page number 56"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Is=0.12; #in pAmp\n",
+ "V=0.6; #in V\n",
+ "T=293; #in Kelvin\n",
+ "k=1.38*10**-23; #Boltzmann's Constant in J/K\n",
+ "q=1.6*10**-19; # charge of electron in C\n",
+ "Vt=k*T/q; #thermal voltage\n",
+ "print\"VT(20 deg Cel) is \",round(Vt,4),\"V\"; #result in book is misprint\n",
+ "T1=373; #in Kelvin\n",
+ "n=1.25;\n",
+ "Vt1=k*T1/q; #thermal voltage\n",
+ "print\"VT(100 deg Cel) is \",round(Vt1,4),\"V\";\n",
+ "I=Is*(math.e**(V/(n*Vt1))-1); #forward biasing current in mircoA\n",
+ "print\"I(100 deg Cel) is \",round(I/10**6,4),\"microampere\"; #result\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "VT(20 deg Cel) is 0.0253 V\n",
+ "VT(100 deg Cel) is 0.0322 V\n",
+ "I(100 deg Cel) is 0.3622 microampere\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.7,Page number 56"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Is=100; #in nAmp \n",
+ "Ts=100; #in Kelvin\n",
+ "I_s=Is*10**-9*2**(Ts/10); #I_s will be in nm \n",
+ "print\" I(100 deg Cel) is \",I_s*10**6,\"microampere\"; #converted to microA from nm\n",
+ "# wrong calculation in the book\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " I(100 deg Cel) is 102.4 microampere\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.8,Page number 59"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Br_Si=1.79*10**-15; #Recombination coefficient for Si\n",
+ "Br_Ge=5.25*10**-14; #Recombination coefficient for Ge\n",
+ "Br_GeAs=7.21*10**-10; #Recombination coefficient for GeAs\n",
+ "Br_InAs=8.5*10**-11; #Recombination coefficient for InAs\n",
+ "P_N=2*10**20; #per cubic cm\n",
+ "\n",
+ "T_Ge=1/Br_Ge/P_N; #radiative minority carrier lifetime\n",
+ "print\"T_Ge is \",round(T_Ge/10**-6,4),\"micro-s\"; #result\n",
+ "\n",
+ "T_Si=1/Br_Si/P_N; #radiative minority carrier lifetime\n",
+ "print\"T_Si is \",round(T_Si/10**-6,4),\"micro-s\"; #result\n",
+ "\n",
+ "T_InAs=1/Br_InAs/P_N; #radiative minority carrier lifetime\n",
+ "print\"T_InAs is \",round(T_InAs/10**-12,4),\"ps\"; #result\n",
+ "\n",
+ "T_GeAs=1/Br_GeAs/P_N; #radiative minority carrier lifetime\n",
+ "print\"T_GeAs is \",round(T_GeAs/10**-12,4),\"ps\"; #result\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "T_Ge is 0.0952 micro-s\n",
+ "T_Si is 2.7933 micro-s\n",
+ "T_InAs is 58.8235 ps\n",
+ "T_GeAs is 6.9348 ps\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fiber_Optics_Communication_by_H._Kolimbiris/chapter3_1.ipynb b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter3_1.ipynb
new file mode 100755
index 00000000..f5cf6216
--- /dev/null
+++ b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter3_1.ipynb
@@ -0,0 +1,351 @@
+{
+ "metadata": {
+ "celltoolbar": "Raw Cell Format",
+ "name": "",
+ "signature": "sha256:7de1eb2fd64e83d84c3bac45fdde67bd6a1d3072bc4eaad0b7177ada2889ebc7"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 3: Optical Sources"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.1,Page number 67"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Pin=1; #microW\n",
+ "W=15; #in degree\n",
+ "NA=math.sin(W*math.pi/180);\n",
+ "NAA=0.26; #NA=0.2588190 which is rounded off\n",
+ "C_c=(NAA)**2;\n",
+ "print\"Coupling coefficient is \",C_c;\n",
+ "Pf=C_c*Pin;\n",
+ "print\"Power coupled into fiber \",Pf*1000,\"nW\\n\";\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Coupling coefficient is 0.0676\n",
+ "Power coupled into fiber 67.6 nW\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.2,Page number 67"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "n=0.02; #in percentage\n",
+ "W=20; #in degree\n",
+ "Vf=1.5; #in Volts\n",
+ "If=20; #in mAmps\n",
+ "Pin=If*Vf;\n",
+ "print\"Power coupled into fiber ,Pin = \",Pin,\"mW\";\n",
+ "\n",
+ "Po=n*Pin;\n",
+ "print\"Output Power of the optical source is \",Po,\"mW\";\n",
+ "\n",
+ "#from nc=20 degree\n",
+ "C_c=(math.sin(W*math.pi/180))**2;\n",
+ "Pf=C_c*Po\n",
+ "print\"Optical power coupled into fibre is ,Pf = \",round(Pf*1000,4),\"microW\";\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power coupled into fiber ,Pin = 30.0 mW\n",
+ "Output Power of the optical source is 0.6 mW\n",
+ "Optical power coupled into fibre is ,Pf = 70.1867 microW\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3,Page number 68"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "tr=10; #in nsec\n",
+ "BW=0.35/tr/10**-9;\n",
+ "print\" Maximum operating bandwidth is \",BW/10**6,\"MHz\\n\"; #divided by 10**6 to convert answer in MHz\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " Maximum operating bandwidth is 35.0 MHz\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.4,Page number 70"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "T=1; #Air\n",
+ "NA=0.3;\n",
+ "n0=1;\n",
+ "#x=y;\n",
+ "print\"for step index :A=infinite\";\n",
+ "#for infinite alpha\n",
+ "#nc=T*(NA/n0)^2*(x/y)^2*(A/(A+2))\n",
+ "nc=T*(NA/n0)**2*(1)**2*1; # A/(A+2)=1 for A=infinite\n",
+ "\n",
+ "print\"Coupling Coefficient,nc = \",nc*100,\"percent\";\n",
+ "\n",
+ "print\"for graded index :A=2\";\n",
+ "A=2;\n",
+ "#n_c=(T*(NA/n0)^2*(A+(1-(y/x)^2))/(A+2))\n",
+ "n_c=(T*(NA/n0)**2*(A+(1-(1)**2))/(A+2)) #x/y=1\n",
+ "print\"Coupling Coefficient,nc = \",n_c*100,\"percent\";\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "for step index :A=infinite\n",
+ "Coupling Coefficient,nc = 9.0 percent\n",
+ "for graded index :A=2\n",
+ "Coupling Coefficient,nc = 4.5 percent\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.5,Page number 71"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "T=1; #Air\n",
+ "NA=0.3;\n",
+ "n0=1;\n",
+ "A=2;\n",
+ "#y=0.75x;\n",
+ "print\"for step index :\";\n",
+ "#for infinite alpha\n",
+ "#nc=T*(NA/n0)^2*(x/y)^2*(A/(A+2))\n",
+ "nc=T*(NA/n0)**2*(1/0.75)**2*A/(A+2); #y/x=0.75\n",
+ "print\"Coupling Coefficient,nc = \",nc*100,\"percent\";\n",
+ "\n",
+ "print\"for graded index :A=2\";\n",
+ "A=2;\n",
+ "#n_c=(T*(NA/n0)^2*(A+(1-(y/x)^2))/(A+2))\n",
+ "n_c=(T*(NA/n0)**2*(A+(1-(0.75)**2))/(A+2)) #y/x=0.75\n",
+ "print\"Coupling Coefficient,nc = \",round(n_c*100,4),\"percent\";\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "for step index :\n",
+ "Coupling Coefficient,nc = 8.0 percent\n",
+ "for graded index :A=2\n",
+ "Coupling Coefficient,nc = 5.4844 percent\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.6,Page number 72"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "#calculate Tf\n",
+ "If=85; #in mAmps\n",
+ "Vf=2.5; #in Volts\n",
+ "Ta=25; #in deg C\n",
+ "\n",
+ "#calculate Tj\n",
+ "W=150; #in C/W for hermetric led\n",
+ "Pd=If*Vf;\n",
+ "Tj=Ta+W*Pd/1000;\n",
+ "print\"Value of Tj is \",Tj,\"deg C\";\n",
+ "\n",
+ "TF=8.01*10**12*math.e**-(8111/(Tj+273));\n",
+ "print\"Value of TF is \",round(TF,4),\"deg C\";\n",
+ "\n",
+ "#calculate RF\n",
+ "BF=6.5*10**-4; #from table\n",
+ "QF=0.5; #from table\n",
+ "EF=1; #from table\n",
+ "RF=BF*TF*EF*QF*1/10**6;\n",
+ "print\"Value of RF\",\"{0:.3e}\".format(RF);\n",
+ "print\"Value of MTBF is \",\"{0:.3e}\".format(1/RF),\"hours\";\n",
+ "\n",
+ "#Answer in book is misprint in last line"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of Tj is 56.875 deg C\n",
+ "Value of TF is 167.9406 deg C\n",
+ "Value of RF 5.458e-08\n",
+ "Value of MTBF is 1.832e+07 hours\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.7,Page number 74"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "#calculate Tf\n",
+ "If=120; #in mAmps\n",
+ "Vf=1.8; #in Volts\n",
+ "Ta=80; #in deg C\n",
+ "#calculate Tj\n",
+ "W=150; #in C/W for hermetric led\n",
+ "Pd=0.5*If*Vf;\n",
+ "Tj=75+W*Pd/1000;\n",
+ "print\"Value of Tj is \",Tj,\"degree cel\";\n",
+ "TF=8.01*10**12 *math.e**-(8111/(Tj+273));\n",
+ "print\"Value of TF is \",round(TF,4);\n",
+ "#calculate RF\n",
+ "BF=6.5*10**-4; #from table\n",
+ "QF=0.2; #from table\n",
+ "EF=0.75; #from table\n",
+ "RF=BF*TF*EF*QF*1/10**6;\n",
+ "print\"Value of RF is \",\"{0:.3e}\".format(RF);\n",
+ "print\"Value of MTBF is \",\"{0:.3e}\".format(1/RF),\"hours\";\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of Tj is 91.2 degree cel\n",
+ "Value of TF is 1704.4223\n",
+ "Value of RF is 1.662e-07\n",
+ "Value of MTBF is 6.018e+06 hours\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fiber_Optics_Communication_by_H._Kolimbiris/chapter4_1.ipynb b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter4_1.ipynb
new file mode 100755
index 00000000..a2733d07
--- /dev/null
+++ b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter4_1.ipynb
@@ -0,0 +1,150 @@
+{
+ "metadata": {
+ "celltoolbar": "Raw Cell Format",
+ "name": "",
+ "signature": "sha256:f9d07e6c589e609afd4c8688d217cbc506c0bab4bc60489a3937d03591d8cbc1"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 4: Optical Detectors"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.1,Page number 99"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Tn=5; #in micrometer\n",
+ "Vs=10**7; #in m/s\n",
+ "tr=Tn*10**-6/Vs;\n",
+ "print\"Response time\",tr/10**-12,\"ps\";\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Response time 0.5 ps\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.2,Page number 106"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "\n",
+ "Pd=1.15; #in mW\n",
+ "\n",
+ "TA=25; #in deg C\n",
+ "theta_JA=200; #in C/W for hermetric led\n",
+ "TJ=TA+theta_JA*Pd/10**3;\n",
+ "TF=8.01*10**12 *math.e**-(8111/(TJ+273));\n",
+ "print\"Value of TJ is\" ,round(TJ,4), \"deg C\";\n",
+ "print\"Value of TF is\" ,round(TF,4), \"deg C\";\n",
+ "\n",
+ "BF=1.1*10**-3; #from table\n",
+ "QF=0.5; #from table\n",
+ "EF=1; #from table\n",
+ "RF=BF*TF*EF*QF*1/10**6;\n",
+ "print\"Value of RF\",\"{0:.3e}\".format(RF);\n",
+ "print\"Value of MTBF is \",\"{0:.3e}\".format(1/RF),\"hours\";"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of TJ is 25.23 deg C\n",
+ "Value of TF is 12.3614 deg C\n",
+ "Value of RF 6.799e-09\n",
+ "Value of MTBF is 1.471e+08 hours\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.3,Page number 114"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "R1=0.7;\n",
+ "R2=0.99;\n",
+ "ad=0.1;\n",
+ "\n",
+ "Ld=1-R1*R2*math.e**-(2*ad);\n",
+ "print\"Decay Loss \",round(Ld,4);\n",
+ "trt=40; #fs\n",
+ "tph=trt/Ld;\n",
+ "print\"Photon lifetime \",round(tph,4),\"fs\";\n",
+ "BW=1/tph;\n",
+ "print\"Bandwidth\",round(BW*1000,4) ,\"Thz\"; #Answer in Thz \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Decay Loss 0.4326\n",
+ "Photon lifetime 92.46 fs\n",
+ "Bandwidth 10.8155 Thz\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fiber_Optics_Communication_by_H._Kolimbiris/chapter5_1.ipynb b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter5_1.ipynb
new file mode 100755
index 00000000..dccdb2b0
--- /dev/null
+++ b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter5_1.ipynb
@@ -0,0 +1,93 @@
+{
+ "metadata": {
+ "celltoolbar": "Raw Cell Format",
+ "name": "",
+ "signature": "sha256:1e4d0cb1e6af5f2ee5a73d38df1e61042145299577d4ca71b8e33e3c54289d1b"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 5: Optical Amplifiers"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.1,Page number 128"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Vrms=0.3; #in V\n",
+ "CF=0.75; #in V/mW\n",
+ "Pi=Vrms/CF; \n",
+ "print\" input power \",round(Pi,4),\"mW\";"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " input power 0.4 mW\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.2,Page number 131"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Di=155; #in Mb/s\n",
+ "sl=10**-3*Di*10**6; #in bitstream\n",
+ "#PRBS=2**x-1=sl;\n",
+ "x=log(sl+1)/log(2); #equation is made to pick value of x\n",
+ "print\" PRBS =(2^\",int(x),\")-1\";\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " PRBS =(2^ 17 )-1\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fiber_Optics_Communication_by_H._Kolimbiris/chapter6_1.ipynb b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter6_1.ipynb
new file mode 100755
index 00000000..1ec82776
--- /dev/null
+++ b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter6_1.ipynb
@@ -0,0 +1,855 @@
+{
+ "metadata": {
+ "celltoolbar": "Raw Cell Format",
+ "name": "",
+ "signature": "sha256:c5e698deaafe161660080eef1dfbc8ac0784ee1d8559414601680128905b4f30"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 6: Optical Transmittor"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.1,Page number 139"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Given\n",
+ "\n",
+ "Tj=125; #in degree celsius\n",
+ "Tamp=60; #n degree celsius\n",
+ "Pt=1.8; #in W\n",
+ "RthJ_a =34; #in k/w(Assumption)\n",
+ "Rth=(Tj-Tamp)/Pt;\n",
+ "print\"Rth =\",round(Rth,4),\"K/W\";\n",
+ "if Rth>RthJ_a:\n",
+ " print\"No Heat sink is required\";\n",
+ "else:\n",
+ " print\"Yes,Heat sink is required\"; \n",
+ " \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Rth = 36.1111 K/W\n",
+ "No Heat sink is required\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.2,Page number 140"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Given\n",
+ "\n",
+ "Tj=120; #in degree celsius\n",
+ "Tamp=80; #in degree celsius\n",
+ "Pt=2.1; #in W \n",
+ "RthJ_a =34; #in k/w(Assumption)\n",
+ "Rth=(Tj-Tamp)/Pt;\n",
+ "print\"Rth =\",round(Rth,4),\"K/W\";\n",
+ "if Rth>RthJ_a:\n",
+ " print\"No Heat sink is required\";\n",
+ "else:\n",
+ " print\"Yes,Heat sink is required\";"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Rth = 19.0476 K/W\n",
+ "Yes,Heat sink is required\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.3,Page number 140"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "#data insufficient\n",
+ "Rth=17.70; # Rth assumed minimum\n",
+ "Rthc_H=0.65; #k/w\n",
+ "Rthj_a=33.0; #k/w\n",
+ "Rthj_c=3; #k/w\n",
+ "RthH_a=1/(1/Rth-1/Rthj_a)-Rthj_c-Rthc_H;\n",
+ "print\"RthH-a <=\",round(RthH_a,4),\"K/W\";"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "RthH-a <= 34.5265 K/W\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.4,Page number 148"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Vcc=5; #in volt\n",
+ "Icc=24; #in mA\n",
+ "Vset=0.65; #in volt\n",
+ "Vf=1.5; #in volt\n",
+ "IMOD=15; #in mA\n",
+ "TA=25; #in degree celsius\n",
+ "Pdynamic=(Vcc-Vf-Vset)*Icc;\n",
+ "print\"Power dissipation under dynamic condition\",Pdynamic,\"mW\";\n",
+ "Pstatic=(Vcc*Icc);\n",
+ "print\"power dissipation under static condition\",Pstatic,\"mW\";\n",
+ "PD=Pdynamic+Pstatic;\n",
+ "print\"total power dissipation\",PD,\"mW\";\n",
+ "#Tj=TA+PD*wj_a;\n",
+ "TA=25; #in degree cel\n",
+ "wj_a=84; #degree cel/w\n",
+ "PD=188.4; #mW\n",
+ "Tj=TA+PD*10**-3*wj_a;\n",
+ "print\"Temp. of junction temp\",Tj,\"degree C\";\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power dissipation under dynamic condition 68.4 mW\n",
+ "power dissipation under static condition 120 mW\n",
+ "total power dissipation 188.4 mW\n",
+ "Temp. of junction temp 40.8256 degree C\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.5,Page number 150"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Ifon=120.0; #in mA\n",
+ "Vcc=5; #in V\n",
+ "Vfon=2; #in V\n",
+ "R3=(Vcc-Vfon)/Ifon/10**-3 +3.2*(Vcc-Vfon-1.4)/Ifon/10**-3;\n",
+ "print\" R3=\",round(R3,4),\"ohm\";\n",
+ "\n",
+ "R0=(R3-32)/3.2;\n",
+ "print\" R0=\",round(R0,4),\"ohm\";\n",
+ "\n",
+ "R1=(R0+10)/2;\n",
+ "print\" R1=\",round(R1,1),\"ohm\";\n",
+ "R2=R1-10;\n",
+ "print\" R2=\",round(R2,1),\"ohm\";\n",
+ "C1=2*10**-9/R1;\n",
+ "print\" C1=\",round(C1*10**12,4),\"pF\"; \n",
+ "\n",
+ "#answer in book is approximately written\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " R3= 67.6667 ohm\n",
+ " R0= 11.1458 ohm\n",
+ " R1= 10.6 ohm\n",
+ " R2= 0.6 ohm\n",
+ " C1= 189.1626 pF\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6,Page number 155"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Impd1=250; #in microA\n",
+ "Impd0=25; #in microA\n",
+ "Iref=(1./16)*Impd1*10**-6;\n",
+ "print\" Reference current is\",Iref*10**6,\"microA\";\n",
+ "Rref=1.5/Iref;\n",
+ "print\" External bias resistor value Rref1 is\",Rref/1000,\"kohm\";\n",
+ "\n",
+ "Rref1=24.0/Impd1/10**-6;\n",
+ "print\" Also,Rref1=24/Impd \\n External bias resistor value is\",Rref1/1000,\"kohm\";\n",
+ "Irefz=(1./4)*Impd0;\n",
+ "print\" Ref0 current is\",Irefz,\"microA\";\n",
+ "Rrefz=1.5/Irefz/10**-6;\n",
+ "print\" External bias resistor value Rrefz is\",Rrefz/1000,\"kohm\";\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " Reference current is 15.625 microA\n",
+ " External bias resistor value Rref1 is 96.0 kohm\n",
+ " Also,Rref1=24/Impd \n",
+ " External bias resistor value is 96.0 kohm\n",
+ " Ref0 current is 6.25 microA\n",
+ " External bias resistor value Rrefz is 240.0 kohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.7,Page number 157"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "R=400; #in mA\n",
+ "nEO=25; #in mW\n",
+ "n_laser=nEO*10**-3*R*10**-3;\n",
+ "print\"n_laser =\",n_laser;\n",
+ "Tone=(40*10**-12)*(80*10**3)/n_laser;\n",
+ "print\"Tone =\",Tone*10**6,\"micros\";\n",
+ "BWone=1./(2*math.pi*Tone);\n",
+ "print\"BWone =\",round(BWone,4),\"Hz \";\n",
+ "Tzero=(40*10**-12)*80*10**3/n_laser;\n",
+ "BWzero=1.0/2/math.pi/Tzero; #Hz\n",
+ "print\"BWzero =\",round(BWzero,4),\"Hz\";\n",
+ "\n",
+ "#answer misprinted\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "n_laser = 0.01\n",
+ "Tone = 320.0 micros\n",
+ "BWone = 497.3592 Hz \n",
+ "BWzero = 497.3592 Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.8,Page number 159"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "iol =5; #in mA\n",
+ "ioh=80; #bias current in mA\n",
+ "ralarmH=(1.5*1500)/ioh/10**-3;\n",
+ "print\" Alarm resistor RalarmH is\",ralarmH/1000,\"kOhm\";\n",
+ "ralarmL=(1.5*300)/iol/10**-3;\n",
+ "print\" Alarm resistor RalarmL is\",ralarmL/1000,\"kOhm\";\n",
+ "ialarmh=80*10**-3;\n",
+ "ialarmH=ioh*10**-3/1500;\n",
+ "print\" Alarm current IalarmH is\",round(ialarmH*10**6,4),\"microA\"; #unit of anwer misprinted in book\n",
+ "ialarml=5*10**-3;\n",
+ "ialarmL=iol*10**-3/300;\n",
+ "print\" Alarm current IalarmL is\",round(ialarmL*10**6,4),\"microA\";\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " Alarm resistor RalarmH is 28.125 kOhm\n",
+ " Alarm resistor RalarmL is 90.0 kOhm\n",
+ " Alarm current IalarmH is 53.3333 microA\n",
+ " Alarm current IalarmL is 16.6667 microA\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.9,Page number 160"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Ibias=15.; #in mA assumption\n",
+ "Ild=35.; #in mA\n",
+ "Rld=50.; #in ohm\n",
+ "Ildi=100.; #in mA\n",
+ "Ilde=50.; #in mA\n",
+ "Imod=(Ildi+Ilde)/Ildi*35; #mA\n",
+ "print\"Total modulation current is \\nImod=\",round(Imod,4),\"mA\";\n",
+ "Ildq=1.2/100*10**3; #in mA \n",
+ "print\"The current complementary output is Ildq=\",round(Ildq,4),\"mA\";\n",
+ "Vld=-1.2-Rld*(Ibias+Ild)*10**-3; #optical high\n",
+ "print\"The laser voltage for optical high is Vld=\",round(Vld,4),\"V\";\n",
+ "Vld=-1.2-Rld*(Ibias)*10**-3; #optical dark\n",
+ "print\"The laser voltage for optical dark is Vld=\",round(Vld,4),\"V\";\n",
+ "Vldq=-Ild*10**-3*Rld;\n",
+ "print\"The laser voltage at complimentary o/p is Vldq=\",round(Vldq,4),\"V\";\n",
+ "Rchock=5; #in Ohm\n",
+ "Vchock=-Rchock*Ibias*10**-3;\n",
+ "print\"Vchock=\",round(Vchock,4),\"V\";\n",
+ "Vbias=0.5*(-3.7+Vld)+Vchock;\n",
+ "print\"Vbias=\",round(Vbias,4),\"V\";\n",
+ "\n",
+ "#(i) Pdvee1\n",
+ "Pdvcc=5*2.5; #in mW\n",
+ "print\"Pdvcc=\",round(Pdvcc,4),\"mW\";\n",
+ "Pdvee1=4.5*80; #in mW\n",
+ "print\"Pdvee1=\",round(Pdvee1,4),\"mW\";\n",
+ "\n",
+ "#(ii) Pdvee2\n",
+ "Pdvee2=6*160; #in mW\n",
+ "print\"Pdvee2=\",Pdvee2,\"mW\";\n",
+ "\n",
+ "#(iii) PdLD\n",
+ "PdLD=0.5*(3.75*50); #in mW\n",
+ "print\"PdLD=\",round(PdLD,4),\"mW\";\n",
+ "\n",
+ "#(iv) PdLQ\n",
+ "PdLDQ=0.5*abs(Vld)*50; #in mW\n",
+ "print\"PdLDQ=\",round(PdLDQ,4),\"mW\";\n",
+ "\n",
+ "#(v) PdLDQ\n",
+ "Pdbias=abs(Vbias)*Ibias; #in mW\n",
+ "print\"Pdbias=\",round(Pdbias,4),\"mW\";\n",
+ "\n",
+ "#PT\n",
+ "PT=Pdvcc+Pdvee1+Pdvee2-(PdLD+PdLDQ+Pdbias);\n",
+ "print\"Total power dissipation (PT)=\",round(PT,4),\"mW\";\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Total modulation current is \n",
+ "Imod= 52.5 mA\n",
+ "The current complementary output is Ildq= 12.0 mA\n",
+ "The laser voltage for optical high is Vld= -3.7 V\n",
+ "The laser voltage for optical dark is Vld= -1.95 V\n",
+ "The laser voltage at complimentary o/p is Vldq= -1.75 V\n",
+ "Vchock= -0.075 V\n",
+ "Vbias= -2.9 V\n",
+ "Pdvcc= 12.5 mW\n",
+ "Pdvee1= 360.0 mW\n",
+ "Pdvee2= 960 mW\n",
+ "PdLD= 93.75 mW\n",
+ "PdLDQ= 48.75 mW\n",
+ "Pdbias= 43.5 mW\n",
+ "Total power dissipation (PT)= 1146.5 mW\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.10,Page number 161"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "vcc=-5; #in v\n",
+ "imod=35; #in mA\n",
+ "ibias=18; #in mA\n",
+ "vbias=-2; #in v\n",
+ "vout=2; #in v\n",
+ "tj=30; #degree cel\n",
+ "icc=140; #in mA\n",
+ "Pt=(-vcc*icc*10**-3)+(-vcc-vout)*imod*10**-3+(-vcc+vbias)*ibias*10**-3;\n",
+ "print\"Pt=\",Pt*1000,\"mW\";\n",
+ "Tj=30; #in degree\n",
+ "Tj_a=Tj*Pt;\n",
+ "Tcase=125-Tj_a; #in degree\n",
+ "print\"Tcase(max)=\",Tcase,\"degree Cel\";"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Pt= 859.0 mW\n",
+ "Tcase(max)= 99.23 degree Cel\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.11,Page number 174"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "z11=49.95; #in ohm\n",
+ "z12=0.15; #in ohm\n",
+ "z21=0.15; #in ohm\n",
+ "z22=49.95; #in ohm\n",
+ "zdiff=2*(z11-z12);\n",
+ "print\"Zdiff=\",zdiff,\"ohm\"; #answer misprinted\n",
+ "zcm=z11+z12;\n",
+ "print\"Zcm=\",zcm,\"ohm\";\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Zdiff= 99.6 ohm\n",
+ "Zcm= 50.1 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.12,Page number 174"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "z11=65.4; #in ohm\n",
+ "z12=8.2; #in ohm\n",
+ "z21=8.2; #in ohm\n",
+ "z22=65.4; #in ohm\n",
+ "zdiff=2*(z11-z12);\n",
+ "print\" Zdiff=\",zdiff,\"ohm\"; \n",
+ "zcm=z11+z12;\n",
+ "print\" Zcm=\",zcm,\"ohm\";\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " Zdiff= 114.4 ohm\n",
+ " Zcm= 73.6 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.13,Page number 181"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "dV=50; #in mV\n",
+ "di=3; #in Amp\n",
+ "Lcable=15; #in nH\n",
+ "fL=dV*10**-3/di/2/math.pi/Lcable/10**-9;\n",
+ "print\"fLcable =\",round(fL/1000,4),\"kHz\";\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "fLcable = 176.8388 kHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.14,Page number 181"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "dV=50; #in mV\n",
+ "di=4; #in Amp\n",
+ "fL=120; #in kHz\n",
+ "Lcable=dV*10**-3/di/2/math.pi/fL/10**3;\n",
+ "print\"The maximum allowed parasitic cable inductance (Lcable) must not exceed\",round(Lcable*10**9,4),\"nH\";\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum allowed parasitic cable inductance (Lcable) must not exceed 16.5786 nH\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.15,Page number 182"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "dV=40; #in mV\n",
+ "di=2.5; #in Amp\n",
+ "Lbypas=0.5; #in nH\n",
+ "fL=dV*10**-3/di/2/math.pi/Lbypas/10**-9;\n",
+ "print\"fHnoise =\",round(fL/10**6,4),\"MHz\";\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "fHnoise = 5.093 MHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.16,Page number 182"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "dV=50; #in mV\n",
+ "di=2.5; #in Amp\n",
+ "Cbypas=220; #in microF\n",
+ "fL=di/(dV*10**-3*2*math.pi*Cbypas*10**-6);\n",
+ "print\"fLnoise =\",round(fL/1000,4),\"kHz\"; #Result\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "fLnoise = 36.1716 kHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.17,Page number 182"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "dV=50; #in mV\n",
+ "di=4; #in Amp\n",
+ "Cbypas=200; #in microF\n",
+ "Lbypas=0.2; #in nH\n",
+ "fL=di/(dV*10**-3*2*math.pi*Cbypas*10**-6);\n",
+ "print\"fLnoise =\",round(fL/1000,4),\"kHz\"; #Result misprinted\n",
+ "fH=dV*10**-3/di/2/math.pi/Lbypas/10**-9;\n",
+ "print\"fHnoise =\",round(fH/10**6,4),\"MHz \"; \n",
+ "Bw=fH-fL;\n",
+ "print\"Bwnoise =\",round(Bw/10**6,4),\"MHZ\"; #Result miscalculated\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "fLnoise = 63.662 kHz\n",
+ "fHnoise = 9.9472 MHz \n",
+ "Bwnoise = 9.8835 MHZ\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.18,Page number 184"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "dV=40; #in mV\n",
+ "di=3; #in Amp\n",
+ "LT=0.05; #in nH\n",
+ "fH=dV*10**-3/di/2/math.pi/LT/10**-9;\n",
+ "print\"fCdecoupling(high) =\",round(fH/10**6,4),\"MHz\"; #Result"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "fCdecoupling(high) = 42.4413 MHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.19,Page number 184"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "dV=45; #in mV\n",
+ "di=2.5; #in Amp\n",
+ "CT=2.2; #in microF\n",
+ "LT=0.05; #in nH\n",
+ "fCL=di/(dV*10**-3*2*math.pi*CT*10**-6);\n",
+ "print\"fLnoise =\",round(fCL/10**6,4),\"MHz\"; #Result \n",
+ "fCH=42.3; #in MHz taken from last question i.e. 6.18 \n",
+ "print\"\",round(fCL/10**6,4),\"MHz <=B.W.noise <=\",round(fCH,4),\"MHZ\"; #Result\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "fLnoise = 4.0191 MHz\n",
+ " 4.0191 MHz <=B.W.noise <= 42.3 MHZ\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fiber_Optics_Communication_by_H._Kolimbiris/chapter7_1.ipynb b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter7_1.ipynb
new file mode 100755
index 00000000..3f1a375f
--- /dev/null
+++ b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter7_1.ipynb
@@ -0,0 +1,145 @@
+{
+ "metadata": {
+ "celltoolbar": "Raw Cell Format",
+ "name": "",
+ "signature": "sha256:43cf13b531fcbbf3e0bcc8a424eeecc0242f15398c3e29eba296dbb99947d4d8"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 7: Optical Receivers"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.1,Page number 203"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Trec=54; #in ns\n",
+ "Ttrans=40.0; #in ns\n",
+ "Pwd=(Trec-Ttrans)/Ttrans*100;\n",
+ "\n",
+ "print\"PWD=\",Pwd,\"percent\";\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "PWD= 35.0 percent\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.2,Page number 214"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "#Vc=Vdin-Vdinq\n",
+ "Vc=5; #in mV Vdin-Vdinq=Vc\n",
+ "Irset =1.8*10**-3*(Vc*10**-3); #in A\n",
+ "print\"Irset\",Irset*10**6,\"microA\";\n",
+ "Vs=1.5; #Voltage at signal level below Vcc in V\n",
+ "Radj=Vs/Irset; #in Ohm\n",
+ "print\"Radj\",round(Radj*10**-3,4),\"kohm\";"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Irset 9.0 microA\n",
+ "Radj 166.6667 kohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.3,Page number 223"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Rl=50; #in Ohm\n",
+ "Ro=100; #in Ohm\n",
+ "Vos=450; #in mV\n",
+ "Vref=(Rl+Ro)/Rl*Vos/2;\n",
+ "\n",
+ "print\"Vref= \",Vref,\"mV\";\n",
+ "\n",
+ "Vee=3.3; #in V\n",
+ "R1=500; #in Ohm\n",
+ "R2=16000.0; #in Ohm\n",
+ "\n",
+ "#Rref=(Vee/Vref/10**3-1)*R1/(1-(R1/R2*(Vee/Vref/10**3-1)))\n",
+ "Rref=(((Vee/Vref)/(10**-3)-1)*R1)/((1-(R1/R2)*((Vee/Vref)/(10**-3)-1)));\n",
+ "print\"Rref= \",round(Rref,4),\"ohm\";\n",
+ "print\"Approx. Rref= \",round(Rref*10**-3,4),\"kohm\";\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vref= 675 mV\n",
+ "Rref= 2213.4387 ohm\n",
+ "Approx. Rref= 2.2134 kohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fiber_Optics_Communication_by_H._Kolimbiris/chapter9_1.ipynb b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter9_1.ipynb
new file mode 100755
index 00000000..d242f3c9
--- /dev/null
+++ b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter9_1.ipynb
@@ -0,0 +1,1175 @@
+{
+ "metadata": {
+ "celltoolbar": "Raw Cell Format",
+ "name": "",
+ "signature": "sha256:203945c2a904a6f0edf3cdf28ac6e63e0d37dadb3a95128dce91cd424eb43420"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 9: Optical Fibers"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.1,Page number 296"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "n2=1.35; #refractive index\n",
+ "n1=1.4; #refractive index\n",
+ "Wo=math.degrees(math.asin(n2/n1)); #in radians\n",
+ "print\"Critical Angle,Wo =\",round(Wo,4),\"degree\";\n",
+ "NA=sqrt(n1**2-n2**2);\n",
+ "print\"Numerical Aperture,NA =\",round(NA,4);\n",
+ "Wa=math.degrees(math.asin(NA)); #in radians\n",
+ "print\"Angle of acceptance,Wa =\",round(Wa,4),\"degree\";"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Critical Angle,Wo = 74.6411 degree\n",
+ "Numerical Aperture,NA = 0.3708\n",
+ "Angle of acceptance,Wa = 21.7656 degree\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.2,Page number 300"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Po=8; #in mW\n",
+ "Pi=50.; #in mW\n",
+ "l=15; #in km\n",
+ "TA=-10*math.log10(Po/Pi);\n",
+ "print\"Total fibre Attenuation,L =\",round(TA,4),\"dB/\",l,\"km\";\n",
+ "Alpha=TA/l; \n",
+ "print\"Alpha is =\",round(Alpha,4),\"dB/km\";"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Total fibre Attenuation,L = 7.9588 dB/ 15 km\n",
+ "Alpha is = 0.5306 dB/km\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.3,Page number 300"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Po=10.; #in mW\n",
+ "Pi=150; #in mW\n",
+ "Alpha=0.8; #in dB/km\n",
+ "TA=-10*math.log10(Po/Pi);\n",
+ "print\" Total fibre Attenuation,L =\",round(TA,4),\"dB\";\n",
+ "l=TA/Alpha;\n",
+ "print\" maximum length is,l =\",round(l,4),\"km\";\n",
+ "\n",
+ "#Round off Variations appear"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " Total fibre Attenuation,L = 11.7609 dB\n",
+ " maximum length is,l = 14.7011 km\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.4,Page number 302"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "B=92*10**-12; #in m**2/N\n",
+ "Tf=1550; #in K\n",
+ "n=1.46; #refractive index\n",
+ "p=0.29;\n",
+ "K=1.38*10**-23; #in J/K\n",
+ "l=1; #in km\n",
+ "L1=630; #in nm\n",
+ "L2=1330; #in nm\n",
+ "L3=1550; #in nm\n",
+ "print\"Rayleight scattering coefficient\";\n",
+ "Y1=8*math.pi**3*n**8*p**2*B*K*Tf/3/(L1*10**-9)**4;\n",
+ "Y2=8*math.pi**3*n**8*p**2*B*K*Tf/3/(L2*10**-9)**4;\n",
+ "Y3=8*math.pi**3*n**8*p**2*B*K*Tf/3/(L3*10**-9)**4; \n",
+ "print\"for L1= 630nm, is\",\"{0:.3e}\".format(Y1);\n",
+ "print\"for L2= 1330nm, is\",\"{0:.3e}\".format(Y2);\n",
+ "print\"for L3= 1550nm, is\",\"{0:.3e}\".format(Y3);\n",
+ "#Misprinted answer\n",
+ "\n",
+ "print\"Rayleight scattering attenuation factor\";\n",
+ "Fr1=math.e**-(Y1*l*10**3);\n",
+ "Fr2=math.e**-(Y2*l*10**3);\n",
+ "Fr3=math.e**-(Y3*l*10**3);\n",
+ "print\"for Y1= 0.00179 is\",round(Fr1,4);\n",
+ "print\"for Y2= 0.00009 is\",round(Fr2,4);\n",
+ "print\"for Y3= 0.0000182 is\",round(Fr3,4);\n",
+ "\n",
+ "\n",
+ "print\"Rayleight scattering attenuation\";\n",
+ "Ar1=10*math.log10(Fr1**-1);\n",
+ "Ar2=10*math.log10(Fr2**-1);\n",
+ "Ar3=10*math.log10(Fr3**-1);\n",
+ "print\"for Ar1= 0.17 is\",round(Ar1,4),\"dB/km\";\n",
+ "print\"for Ar2= 0.91 is\",round(Ar2,4),\"dB/km\";\n",
+ "print\"for Ar3= 0.98 is\",round(Ar3,4),\"dB/km\";\n",
+ "#For L3 answers in book are misprinted"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Rayleight scattering coefficient\n",
+ "for L1= 630nm, is 1.793e-03\n",
+ "for L2= 1330nm, is 9.029e-05\n",
+ "for L3= 1550nm, is 4.895e-05\n",
+ "Rayleight scattering attenuation factor\n",
+ "for Y1= 0.00179 is 0.1664\n",
+ "for Y2= 0.00009 is 0.9137\n",
+ "for Y3= 0.0000182 is 0.9522\n",
+ "Rayleight scattering attenuation\n",
+ "for Ar1= 0.17 is 7.7886 dB/km\n",
+ "for Ar2= 0.91 is 0.3921 dB/km\n",
+ "for Ar3= 0.98 is 0.2126 dB/km\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.5,Page number 304"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "L=850; #in nm\n",
+ "L1=0.850; #converted L in micrometer for using in given formula\n",
+ "A=0.5; #in dB/km\n",
+ "d=5; #in micrometer\n",
+ "Bw=1; #in Gz\n",
+ "Po=4.4*10**-3*A*Bw*L1**2*d**2;\n",
+ "print\"Po(Th) =\",round(Po,4),\"W\";\n",
+ "print\"Therefore,Po(Th) =\",round(Po*1000,4),\"mW\";"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Po(Th) = 0.0397 W\n",
+ "Therefore,Po(Th) = 39.7375 mW\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.6,Page number 304"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "L=1330; #in nm\n",
+ "L1=1.330; #converted L in micrometer for using in given formula\n",
+ "A=0.5; #in dB/km\n",
+ "d=5; #in micrometer\n",
+ "Bw=1; #in Gz\n",
+ "Po=4.4*10**-3*A*Bw*L1**2*d**2;\n",
+ "print\"Po(Th) =\",round(Po,4),\"W\";\n",
+ "print\"Therefore,Po(Th) =\",round(Po*1000,4),\"mW\";"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Po(Th) = 0.0973 W\n",
+ "Therefore,Po(Th) = 97.2895 mW\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.7,Page number 304"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "L=1550; #in nm\n",
+ "L1=1.550; #converted L in micrometer for using in given formula\n",
+ "A=0.5; #in dB/km\n",
+ "d=5; #in micrometer\n",
+ "Bw=1; #in Gz\n",
+ "Po=4.4*10**-3*A*Bw*L1**2*d**2;\n",
+ "print\"Po(Th) =\",round(Po,4),\"W\";\n",
+ "print\"Therefore,Po(Th) =\",round(Po*1000,4),\"mW\";"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Po(Th) = 0.1321 W\n",
+ "Therefore,Po(Th) = 132.1375 mW\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.8,Page number 304"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "L=850; #in nm\n",
+ "L1=0.850; #converted L in micrometer for using in given formula\n",
+ "A=0.5; #in dB/km\n",
+ "d=8; #in micrometer\n",
+ "Bw=1; #in Gz\n",
+ "Po=4.4*10**-3*A*Bw*L1**2*d**2;\n",
+ "print\"Po(Th) =\",round(Po,4),\"W\";\n",
+ "print\"Therefore,Po(Th) =\",round(Po*1000,4),\"mW\";"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Po(Th) = 0.1017 W\n",
+ "Therefore,Po(Th) = 101.728 mW\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.9,Page number 304"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "L=850; #in nm\n",
+ "L1=0.850; #converted L in micrometer for using in given formula\n",
+ "A=0.5; #in dB/km\n",
+ "d=10; #in micrometer\n",
+ "Bw=1; #in Gz\n",
+ "Po=4.4*10**-3*A*Bw*L1**2*d**2;\n",
+ "print\"Po(Th) =\",round(Po,4),\"W\";\n",
+ "print\"Therefore,Po(Th) =\",round(Po*1000,4),\"mW\";"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Po(Th) = 0.159 W\n",
+ "Therefore,Po(Th) = 158.95 mW\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.10,Page number 305"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "L=850.; #in nm\n",
+ "L1=L/1000; #converted L in micrometer for using in given formula\n",
+ "A=0.4; #in dB/km\n",
+ "d=5; #in micrometer\n",
+ "Po=5.9*10**-2*A*L1*d**2;\n",
+ "print\"Po(Th) =\",round(Po,4),\"W\";\n",
+ "print\"Therefore,Po(Th) =\",round(Po*1000,4),\"mW\";"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Po(Th) = 0.5015 W\n",
+ "Therefore,Po(Th) = 501.5 mW\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.11,Page number 305"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "L=1330.; #in nm\n",
+ "L1=L/1000; #converted L in micrometer for using in given formula\n",
+ "A=0.4; #in dB/km\n",
+ "d=5; #in micrometer\n",
+ "Po=5.9*10**-2*A*L1*d**2;\n",
+ "print\"Po(Th) =\",round(Po,4),\"W\";\n",
+ "print\"Therefore,Po(Th) =\",round(Po*1000,4),\"mW\"; #unit in book is wrong\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Po(Th) = 0.7847 W\n",
+ "Therefore,Po(Th) = 784.7 mW\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.12,Page number 305"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "L=1550.; #in nm\n",
+ "L1=L/1000; #converted L in micrometer for using in given formula\n",
+ "A=0.4; #in dB/km\n",
+ "d=5; #in micrometer\n",
+ "Po=5.9*10**-2*A*L1*d**2;\n",
+ "print\"Po(Th) =\",round(Po,4),\"W\";\n",
+ "print\"Therefore,Po(Th) =\",round(Po*1000,4),\"mW\"; #unit in book is wrong"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Po(Th) = 0.9145 W\n",
+ "Therefore,Po(Th) = 914.5 mW\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.13,Page number 310"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "R=25; #in nm\n",
+ "R1=25*10**-6; #in m\n",
+ "L=1000; #in nm\n",
+ "L1=10**-6; #in m\n",
+ "NA=0.2; \n",
+ "V=2*math.pi/L1*R1*NA;\n",
+ "print\"Normalised frequency(V) =\",round(V,4);\n",
+ "y=2.; #for parabolic\n",
+ "Mmax=y/(y+2)*(V**2)/2;\n",
+ "print\"Maximum number of modes is equal to =\",round(Mmax,4); #answer mistake in book\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Normalised frequency(V) = 31.4159\n",
+ "Maximum number of modes is equal to = 246.7401\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.14,Page number 313"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Tp=0.25; #in microsec\n",
+ "fB=0.529/Tp/10**-6; #channel bitrate\n",
+ "fBw=fB; #channel bandwidth = channel bitrate when zero ISI and RZ input data is modulated\n",
+ "print\"Maximum operating bandwidth =\",round(fBw*10**-6,4),\"MHz\";\n",
+ "L=50; #in km\n",
+ "D=Tp*10**-6/L; #Dispersion\n",
+ "print\"Dispersion =\",round(D*10**9,4),\"ns/km\";\n",
+ "fBwL=fBw*10**-6*L; #bandwidth length product\n",
+ "print\"Bandwidth length product(fBw*L) =\",round(fBwL,4),\"MHz/km\";"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum operating bandwidth = 2.116 MHz\n",
+ "Dispersion = 5.0 ns/km\n",
+ "Bandwidth length product(fBw*L) = 105.8 MHz/km\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.15,Page number 314"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Tp=2; #in microsec\n",
+ "fB=0.529/Tp/10**-6; #channel bit rate\n",
+ "fBw=fB; #channel bandwidth = channel bitrate when zero ISI and RZ input data is modulated\n",
+ "print\"Maximum operating bandwidth =\",round(fBw*10**-6,4),\"MHz\";\n",
+ "L=50; #in km\n",
+ "D=Tp*10**-6/L; #Dispersion\n",
+ "print\"Dispersion =\",round(D*10**9,4),\"ns/km\"; #unit in book is wrong\n",
+ "fBwL=fBw*10**-6*L; #bandwidth length product\n",
+ "print\"Bandwidth length product(fBw*L) =\",round(fBwL,4),\"MHz/km\";"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum operating bandwidth = 0.2645 MHz\n",
+ "Dispersion = 40.0 ns/km\n",
+ "Bandwidth length product(fBw*L) = 13.225 MHz/km\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.16,Page number 314"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Tp=5; #in microsec\n",
+ "fB=0.529/Tp/10**-6; #channel bitrate\n",
+ "fBw=fB; #channel bandwidth = channel bitrate when zero ISI and RZ input data is modulated\n",
+ "print\"Maximum operating bandwidth =\",round(fBw*10**-6,4),\"MHz\";\n",
+ "L=50; #in km\n",
+ "D=Tp*10**-6/L; #Dispersion\n",
+ "print\"Dispersion =\",round(D*10**6,4),\"micro s/km\";\n",
+ "fBwL=fBw*10**-6*L; #bandwidth length product\n",
+ "print\"Bandwidth length product(fBw*L) =\",round(fBwL,4),\"MHz/km\";"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum operating bandwidth = 0.1058 MHz\n",
+ "Dispersion = 0.1 micro s/km\n",
+ "Bandwidth length product(fBw*L) = 5.29 MHz/km\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.17,Page number 315"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Slw=25; #in nm\n",
+ "L=850; #in nm given\n",
+ "c=3*10**5; #in km/s\n",
+ "ofmd=0.02; #optical fiber material dispersion\n",
+ "Mdp=1./L/c*ofmd; #answer mismatch due to differnt value chosen for calculation\n",
+ "print\"Material Dispersion parameter Mdp =\",round(Mdp*10**12,4),\"ps/nm.km\";\n",
+ "l=1; #in km\n",
+ "dmd=Slw*l*Mdp; #pulse chirping\n",
+ "print\"pulse chirping dmd =\",round(dmd*10**9,4),\"ns/km\";\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Material Dispersion parameter Mdp = 78.4314 ps/nm.km\n",
+ "pulse chirping dmd = 1.9608 ns/km\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.18,Page number 315"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Slw=2; #in nm\n",
+ "L=850; #in nm given\n",
+ "c=3*10**5; #in km/s\n",
+ "ofmd=0.02; #optical fiber material dispersion\n",
+ "Mdp=1./L/c*ofmd; #answer mismatch due to differnt value chosen for calculation\n",
+ "print\"Material Dispersion parameter Mdp =\",round(Mdp*10**12,4),\"ps/nm.km\";\n",
+ "l=1; #in km\n",
+ "dmd=Slw*l*Mdp; #pulse chirping\n",
+ "print\"pulse chirping dmd =\",round(dmd*10**9,4),\"ns/km\";\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Material Dispersion parameter Mdp = 78.4314 ps/nm.km\n",
+ "pulse chirping dmd = 0.1569 ns/km\n"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.19,Page number 325"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "fb1=2.5; #in Gb/s\n",
+ "D1=20; #in ps/nm.km\n",
+ "D2=5; #in ps/nm.km\n",
+ "fb2=D1/D2*fb1; \n",
+ "print\" fb2 =\",fb2,\"Gb/s\";\n",
+ "#Values of D1 and D2 are conflicted in question ,however solution is correct "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " fb2 = 10.0 Gb/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 34
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.20,Page number 325"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "fb1=2.5; #in Gb/s\n",
+ "DV1=100; #in GHz\n",
+ "DV2=50; #in GHz\n",
+ "fb2=DV1/DV2*fb1;\n",
+ "print\" fb2 =\",fb2,\"Gb/s\";"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " fb2 = 5.0 Gb/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.21,Page number 332"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "L=400; #in km\n",
+ "dAV=4; #in ps/km\n",
+ "dTL=L*dAV; #total chromatic dispersion\n",
+ "print\"dTL =\",round(dTL,4),\"ps/nm.km\";"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "dTL = 1600.0 ps/nm.km\n"
+ ]
+ }
+ ],
+ "prompt_number": 36
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.22,Page number 335"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "no=1; #refractive index\n",
+ "n1=1.35; #refractive index\n",
+ "Po=((n1-no)/(n1+no))**2; #fresnal reflection\n",
+ "print\" Po(refl)=\",round(Po,4);\n",
+ "Lrefl=-10*math.log10(1-Po); #attenuation loss\n",
+ "print\"L(refl)=\",round(Lrefl,4),\"dB\";"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " Po(refl)= 0.0222\n",
+ "L(refl)= 0.0974 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 39
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.23,Page number 335"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "no=1; #refractive index\n",
+ "n1=1.55; #refractive index\n",
+ "Po=((n1-no)/(n1+no))**2; #fresnal reflection\n",
+ "print\"Fresnel reflective coefficient,Po(refl)=\",round(Po,4);\n",
+ "Lrefl=-10*log10(1-Po); #attenuation loss\n",
+ "print\"Attenuation based on Fresnel reflective coefficient,L(refl)=\",round(Lrefl,4),\"dB\";\n",
+ "Ltot=5*Lrefl;\n",
+ "print\"Total link attenuation on Fresnel reflections,Ltotal =\",round(Ltot,4),\"dB\";"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Fresnel reflective coefficient,Po(refl)= 0.0465\n",
+ "Attenuation based on Fresnel reflective coefficient,L(refl)= 0.2069 dB\n",
+ "Total link attenuation on Fresnel reflections,Ltotal = 1.0344 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 40
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.24,Page number 336"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "n1=1;\n",
+ "n2=1.5;\n",
+ "a=25.; #in micrometer\n",
+ "y=3.; #in micrometer\n",
+ "Csim=16*(n1/n2)**2/math.pi/(1+(n1/n2))**4*(2*math.acos(y/2/a)-(y/a)*(1-(y/2/a)**2)**0.5); \n",
+ "\n",
+ "#lateral coupling coefficient\n",
+ "a=2*math.acos(y/2/a)-(y/a)*math.sqrt(1-(y/2./a)**2);\n",
+ "b=16*(n1/n2)**2/math.pi/(1+(n1/n2))**4;\n",
+ "print\"Lateral coupling coefficient,Csim=\",round(Csim,4);\n",
+ "Lsim=-10*math.log10(1-Csim);\n",
+ "print\"Insertion Loss,Lsim=\",round(Lsim,4),\"dB\";\n",
+ "#Answer wrong in book"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Lateral coupling coefficient,Csim= 0.8512\n",
+ "Insertion Loss,Lsim= 8.2751 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 57
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.25,Page number 337"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "Alpha=2.;\n",
+ "a=25.; #in micrometer\n",
+ "y=2.; #in micrometer\n",
+ "Cgim=2/math.pi*(y/a)*(Alpha+2)/(Alpha+1); #lateral coupling coefficient\n",
+ "print\" Csim=\",round(Cgim,4);\n",
+ "Lgim=-10*math.log10(1-Cgim); #insertion loss\n",
+ "print\" Insertion Loss,Lgim=\",round(Lgim,4),\"dB\";"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " Csim= 0.0679\n",
+ " Insertion Loss,Lgim= 0.3054 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 49
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.26,Page number 339"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "n1=1.5; #refractive index\n",
+ "n2=1.5; #refractive index\n",
+ "W=2.5; #in degree\n",
+ "NA1=0.3;\n",
+ "NA2=0.4;\n",
+ "Csim1=16*(n1/n2)**2/(1+(n1/n2)**4)*(1-n2*W/(180*NA1)); #angular coupling coefficient\n",
+ "#Answer wrong in book\n",
+ "print\"Csim=\",round(Csim1,4);\n",
+ "Lsim1=-10*math.log10(Csim1);\n",
+ "print\"Insertion Loss,Lsim=\",round(Lsim1,4),\"dB\";\n",
+ "Csim2=16*(n1/n2)**2/(1+(n1/n2)**4)*(1-n2*W/(180*NA2)); #angular coupling coefficient\n",
+ "#Answer wrong in book\n",
+ "print\"Csim=\",round(Csim2,4);\n",
+ "Lsim2=-10*math.log10(Csim2);\n",
+ "print\"Insertion Loss,Lsim=\",round(Lsim2,4),\"dB\";"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Csim= 7.4444\n",
+ "Insertion Loss,Lsim= -8.7183 dB\n",
+ "Csim= 7.5833\n",
+ "Insertion Loss,Lsim= -8.7986 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 52
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.27,Page number 340"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "a=4; #in micrometer\n",
+ "V=2.4;\n",
+ "aw=1; #in degree\n",
+ "NA1=0.2;\n",
+ "n1=1.45; #refractive index\n",
+ "y=1; #in micrometer\n",
+ "omega=a*(0.65+1.62*V**-1.5+2.88*V**-6)/math.sqrt(2);\n",
+ "print\"Normalised spot view (w)=\",round(omega,4),\"micrometer\";\n",
+ "Lsml=2.17*(y/omega)**2;\n",
+ "print\"Insertion loss due to lateral,Lsm=\",round(Lsml,4),\"dB\"; #answer is wrong in book \n",
+ "Lsmg=2.17*(aw*math.pi/180*omega*n1*V/a/NA1)**2;\n",
+ "print\"Insertion loss due to angular,Lsm=\",round(Lsmg,4),\"dB\";\n",
+ "\n",
+ "print\"Total Insertion loss,Lsmtotal=\",round(Lsml+Lsmg,4),\"dB\";"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Normalised spot view (w)= 3.1135 micrometer\n",
+ "Insertion loss due to lateral,Lsm= 0.2239 dB\n",
+ "Insertion loss due to angular,Lsm= 0.1213 dB\n",
+ "Total Insertion loss,Lsmtotal= 0.3451 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 53
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.28,Page number 340"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#given\n",
+ "\n",
+ "a1=4.5; #in micrometer\n",
+ "a2=4; #in micrometer\n",
+ "V=2.1;\n",
+ "aw=1; #in degree\n",
+ "NA=0.2;\n",
+ "n1=1.45;\n",
+ "y=1; #in micrometer\n",
+ "w1=a1*(0.65+1.62*V**-0.5+2.88*V**-6)/math.sqrt(2); #insertion loss\n",
+ "print\"Wo1=\",round(w1,4);\n",
+ "w2=a2*(0.65+1.62*V**-0.5+2.88*V**-6)/math.sqrt(2); #insertion loss\n",
+ "print\"Wo2=\",round(w2,4);\n",
+ "Lintr=-10*math.log10(4*((w1/w2+w2/w1)**-2)); #toatl insertion loss at joint\n",
+ "print\"Lintr=\",round(Lintr,4),\"dB\"; #Answer wrong in book\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Wo1= 5.7323\n",
+ "Wo2= 5.0954\n",
+ "Lintr= 0.0601 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 56
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fiber_Optics_Communication_by_H._Kolimbiris/screenshots/1.PNG b/Fiber_Optics_Communication_by_H._Kolimbiris/screenshots/1.PNG
new file mode 100755
index 00000000..1d7cb200
--- /dev/null
+++ b/Fiber_Optics_Communication_by_H._Kolimbiris/screenshots/1.PNG
Binary files differ
diff --git a/Fiber_Optics_Communication_by_H._Kolimbiris/screenshots/2.PNG b/Fiber_Optics_Communication_by_H._Kolimbiris/screenshots/2.PNG
new file mode 100755
index 00000000..4f853ee8
--- /dev/null
+++ b/Fiber_Optics_Communication_by_H._Kolimbiris/screenshots/2.PNG
Binary files differ
diff --git a/Fiber_Optics_Communication_by_H._Kolimbiris/screenshots/3.PNG b/Fiber_Optics_Communication_by_H._Kolimbiris/screenshots/3.PNG
new file mode 100755
index 00000000..b1ba3975
--- /dev/null
+++ b/Fiber_Optics_Communication_by_H._Kolimbiris/screenshots/3.PNG
Binary files differ