summaryrefslogtreecommitdiff
path: root/backup/Optical_Communiation_by_Anasuya_Kalavar_version_backup/chapter7.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'backup/Optical_Communiation_by_Anasuya_Kalavar_version_backup/chapter7.ipynb')
-rwxr-xr-xbackup/Optical_Communiation_by_Anasuya_Kalavar_version_backup/chapter7.ipynb716
1 files changed, 716 insertions, 0 deletions
diff --git a/backup/Optical_Communiation_by_Anasuya_Kalavar_version_backup/chapter7.ipynb b/backup/Optical_Communiation_by_Anasuya_Kalavar_version_backup/chapter7.ipynb
new file mode 100755
index 00000000..59a13011
--- /dev/null
+++ b/backup/Optical_Communiation_by_Anasuya_Kalavar_version_backup/chapter7.ipynb
@@ -0,0 +1,716 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:7b09bc4939eefcfd52ab3af51ad805d4dcc13501d36382e73f4451d0d172843b"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter7 - Source to fiber power launching and photodetectors"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.2.1, page 7-11"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "from numpy import pi, sqrt, log10\n",
+ "n1=3.4 #refractive index of optical source\n",
+ "n=1.46 #refractive index of silica fiber\n",
+ "r=((n1-n)/(n1+n))**2 #computing Frensel reflection\n",
+ "L=-10*log10(1-r) #computing loss\n",
+ "print \"Frensel reflection is %.3f.\\nPower loss is %.2f dB.\" %(r,L) "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Frensel reflection is 0.159.\n",
+ "Power loss is 0.75 dB.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.2.2, page 7-11"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "r=35*10**-6 #radius\n",
+ "R=150 #Lambertian emission pattern\n",
+ "NA=0.2 #Numerical aperture\n",
+ "Pled = pi**2*r**2*R*NA**2 \n",
+ "Pled=Pled*10**7 \n",
+ "print \"Optical power for larger core of 35 micrometer is %.3f mW.\" %(Pled) \n",
+ "r1=25*10**-6 \n",
+ "Pled1=(r1/r)**2*Pled \n",
+ "print \"Optical power for smaller core of 25 micrometer is %.2f mW.\" %(Pled1) "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Optical power for larger core of 35 micrometer is 0.725 mW.\n",
+ "Optical power for smaller core of 25 micrometer is 0.37 mW.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.2.3, page 7-12"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "r=25*10**-6 #radius\n",
+ "R=39 #Lambertian emission pattern\n",
+ "NA=0.25 #numerical aperture\n",
+ "a=35*10**-6 #area\n",
+ "Pc1= pi**2*a**2*R*NA**2 #computing coupled power when r<a\n",
+ "Pc1=Pc1*10**7 \n",
+ "Pc= pi**2*r**2*R*NA**2 #computing coupled power when r>a\n",
+ "Pc=Pc*10**7 \n",
+ "print \"Optical power when r>a is %.2f mW.\\nOptical power when r<a is %.3f mW.\" %(Pc,Pc1) "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Optical power when r>a is 0.15 mW.\n",
+ "Optical power when r<a is 0.295 mW.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.5.1, page 7-23"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "h=6.626*10**-34 #plank's constant\n",
+ "c=3*10**8 #speed of light\n",
+ "e=1.6*10**-19 #charge of electron\n",
+ "q=1.43 #Bandgap energy\n",
+ "lamda=h*c/(q*e)*10**9 #computing wavelength\n",
+ "print \"Wavelength is %d nm\" %(lamda) "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Wavelength is 868 nm\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.5.2, page 7-23"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "R=0.6 #responsivity\n",
+ "Pin=15 #optical power in microwatt\n",
+ "Ip=R*Pin #computing photocurrent\n",
+ "print \"Photocurrent generated is %d microAmpere.\" %Ip "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Photocurrent generated is 9 microAmpere.\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.5.3, page 7-23"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "lamda1=1300*10**-9 \n",
+ "lamda2=1600*10**-9 \n",
+ "h=6.625*10**-34 #plank's constant\n",
+ "c=3*10**8 #speed of light\n",
+ "q=1.6*10**-19 #charge of electron\n",
+ "eta=90/100 #quantum efficiency\n",
+ "E=0.73 #energy gap in eV\n",
+ "R1=eta*q*lamda1/(h*c) \n",
+ "R2=eta*q*lamda2/(h*c) \n",
+ "lamdac=1.24/E \n",
+ "print \"Responsivity at 1300nm is %.2f A/W.\\nResponsivity at 1600nm is %.2f A/W.\\nCut-off wavelength is %.1f micrometer.\" %(R1,R2,lamdac) \n",
+ "#R1 is calculated wrong."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Responsivity at 1300nm is 0.94 A/W.\n",
+ "Responsivity at 1600nm is 1.16 A/W.\n",
+ "Cut-off wavelength is 1.7 micrometer.\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.5.4, page 7-24"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "lamda=0.8*10**-6 \n",
+ "h=6.625*10**-34 #plank's constant\n",
+ "c=3*10**8 #speed of light\n",
+ "q=1.6*10**-19 #charge of electron\n",
+ "ne=1.8*10**11 #electrons collected\n",
+ "np=4*10**11 #photons incident\n",
+ "eta=ne/np #computing quantum efficiency\n",
+ "R=eta*q*lamda/(h*c) #computing responsivity\n",
+ "print \"Responsivity of photodiode at 0.8 micrometer is %.3f A/W.\" %R \n",
+ "#answer in the book is wrong. "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Responsivity of photodiode at 0.8 micrometer is 0.290 A/W.\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.5.5, page 7-24"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "E=1.8*10**-19 # Energy of photon\n",
+ "nq=70/100 # Quantum\n",
+ "Ip=3 # current in uA\n",
+ "h=6.625*10**-34 #plank's constant\n",
+ "c=3*10**8 #speed of light\n",
+ "lamda=h*c/E*10**6 # wavelength in micro meter\n",
+ "print \"Photodiode operates at %0.2f micro meter\" %lamda\n",
+ "q=1.6*10**-19 #charge of electron\n",
+ "R=nq*q/E #computing responsivity\n",
+ "Popt=Ip/R\n",
+ "print \"Incident optical power required = %.3f uW.\" %Popt "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Photodiode operates at 1.10 micro meter\n",
+ "Incident optical power required = 4.821 uW.\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.5.6, page 7-25"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "h=6.626*10**-34 #plank's constant\n",
+ "c=3*10**8 #speed of light\n",
+ "q=1.6*10**-19 #charge of electron\n",
+ "E=1.35 #energy gap in eV\n",
+ "lamda=h*c/(q*E) #computing wavelength\n",
+ "lamda=lamda*10**6 \n",
+ "print \"The InP photodetector will stop operation above %.2f micrometer.\" %(lamda) \n",
+ "#calculation error in the book."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The InP photodetector will stop operation above 0.92 micrometer.\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.5.7, page 7-26"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "h=6.626*10**-34 #plank's constant\n",
+ "c=3*10**8 #speed of light\n",
+ "eta=65/100 #quantum efficiency\n",
+ "I=2.5*10**-6 #photocurrent \n",
+ "E=1.5*10**-19 #energy of photns\n",
+ "q=1.6*10**-19 #charge of electron\n",
+ "lamda=h*c/E #computing wavelength\n",
+ "R=eta*q*lamda/(h*c) #computing responsivity\n",
+ "Popt=I/R #computing optical power\n",
+ "lamda=lamda*10**6 \n",
+ "Popt=Popt*10**6 \n",
+ "print \"Wavelength is %.3f micrometer.\\nResponsivity is %.3f A/W.\\nIncident optical power required is %.1f microWatt.\" %(lamda,R,Popt) \n",
+ "#answer of R(responsivity) in the book is calculated as 0.694 A/W, deviation of 0.001."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Wavelength is 1.325 micrometer.\n",
+ "Responsivity is 0.693 A/W.\n",
+ "Incident optical power required is 3.6 microWatt.\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.5.8, page 7-26"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "ne=3.9*10**6 #electrons collected\n",
+ "np=6*10**6 #photons incident\n",
+ "eta=100*ne/np #computing efficiency\n",
+ "print \"Quantum efficiency is %d percent.\" %(eta) "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Quantum efficiency is 65 percent.\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.8.1, page 7-37"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "w=25*10**-6 #width\n",
+ "v=1*10**5 #velocity\n",
+ "r=40*10**-6 #radius\n",
+ "eps=12.5*10**-13 \n",
+ "t=w/v #computing drift time\n",
+ "c=eps*3.14*(r)**2/w #computing junction capacitance\n",
+ "c=c*10**16 \n",
+ "print \"Drift time %.1e sec.\\nJunction capacitance %.1f pf.\" %(t,c) \n",
+ "#calculation error in drift time answer."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Drift time 2.5e-10 sec.\n",
+ "Junction capacitance 2.5 pf.\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.8.2, page 7-38"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "w=20*10**-6 #width\n",
+ "v=4*10**4 #velocity\n",
+ "t=w/v #computing drift time\n",
+ "BW=(2*pi*t)**-1 #computing bandwidth\n",
+ "rt=1/BW #computing response time\n",
+ "rt=rt*10**9 \n",
+ "print \"Maximum response time is %.1f ns.\" %(rt)\n",
+ "#Calculation error in the book."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum response time is 3.1 ns.\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.9.1, page 7-43"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "lamda=1.4*10**-6 \n",
+ "h=6.626*10**-34 #plank's constant\n",
+ "c=3*10**8 #speed of light\n",
+ "q=1.6*10**-19 #charge of electron\n",
+ "eta=65/100 #quantum efficiency\n",
+ "I=10*10**-9 #current\n",
+ "NEP= h*c*sqrt(2*q*I)/(eta*q*lamda) \n",
+ "D=NEP**-1 \n",
+ "print \"Noise equivalent power is %.3e W.\\nSpecific directivity is %.2e.\" %(NEP,D) \n",
+ "#answers in the book for NEP & D is wrong."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Noise equivalent power is 7.723e-14 W.\n",
+ "Specific directivity is 1.29e+13.\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.9.2, page 7-44"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "lamda=1300*10**-9 \n",
+ "h=6.626*10**-34 #plank's constant\n",
+ "c=3*10**8 #speed of light\n",
+ "q=1.6*10**-19 #charge of electron\n",
+ "eta=90/100 #quantum efficiency\n",
+ "P0=300*10**-9 #optical power\n",
+ "Id=4 #dark current\n",
+ "B=20*10**6 #bandwidth\n",
+ "K=1.39*10**-23 #Boltzman constant\n",
+ "T=298 #temperature\n",
+ "R=1000 #load resister\n",
+ "Ip= 10**9*eta*P0*q*lamda/(h*c) \n",
+ "Its=10**9*(2*q*B*(Ip+Id)) \n",
+ "Its=sqrt(Its) \n",
+ "print \"rms shot noise current is %.2f nA.\" %(Its) \n",
+ "It= 4*K*T*B/R \n",
+ "It=sqrt(It) \n",
+ "print \"Thermal noise is %.2e A.\" %(It) \n",
+ "#answer given in book for shot noise & Thermal noise are wrong."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "rms shot noise current is 1.35 nA.\n",
+ "Thermal noise is 1.82e-08 A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.10.1, page 7-51"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from numpy import floor\n",
+ "lamda=0.85*10**-6 \n",
+ "h=6.626*10**-34 #plank's constant\n",
+ "c=3*10**8 #speed of light\n",
+ "q=1.6*10**-19 #charge of electron\n",
+ "eta=75/100 #quantum efficiency\n",
+ "P0=0.6*10**-6 #incident optical power\n",
+ "Im=15*10**2 #avalanche gain\n",
+ "R= eta*q*lamda/(h*c) #computing responsivity\n",
+ "Ip=10**8*P0*R #computing photocurrent\n",
+ "Ip=floor(Ip) \n",
+ "M=Im/Ip #computing multiplication factor\n",
+ "print \"Multiplication factor is %d.\" %(M) "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Multiplication factor is 50.\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.10.2, page 7-51"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "lamda=900*10**-9 # Wavelength in m\n",
+ "P0=0.5 # Optical power\n",
+ "Im=10 # Photocurrent\n",
+ "h=6.626*10**-34 #plank's constant\n",
+ "c=3*10**8 #speed of light\n",
+ "q=1.6*10**-19 #charge of electron\n",
+ "eta=65.0/100 #quantum efficiency\n",
+ "R= eta*q*lamda/(h*c) #computing responsivity\n",
+ "Ip=P0*R #computing photocurrent \n",
+ "M=Im/Ip #computing multiplication factor\n",
+ "print \"Multiplication factor is %0.2f.\" %(M) \n",
+ "# Answer is wrong in the textbook."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Multiplication factor is 42.47.\n"
+ ]
+ }
+ ],
+ "prompt_number": 46
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.10.3, page 7-52"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "lamda=900*10**-9 \n",
+ "h=6.626*10**-34 #plank's constant\n",
+ "c=3*10**8 #speed of light\n",
+ "q=1.6*10**-19 #charge of electron\n",
+ "eta=65/100 #quantum efficiency\n",
+ "P0=0.5*10**-6 #incident optical power\n",
+ "Im=10*10**2 #avalanche gain\n",
+ "R= eta*q*lamda/(h*c) #computing responsivity\n",
+ "Ip=10**8*P0*R #computing photocurrent\n",
+ "M=Im/Ip #computing multiplication factor\n",
+ "print \"Multiplication factor is %d.\" %(M) \n",
+ "#answer in the book is wrong."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Multiplication factor is 42.\n"
+ ]
+ }
+ ],
+ "prompt_number": 47
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.10.3, page 7-52"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "lamda=900*10**-9 \n",
+ "h=6.626*10**-34 #plank's constant\n",
+ "c=3*10**8 #speed of light\n",
+ "q=1.6*10**-19 #charge of electron\n",
+ "eta=65/100 #quantum efficiency\n",
+ "P0=0.5*10**-6 #incident optical power\n",
+ "Im=10*10**2 #avalanche gain\n",
+ "R= eta*q*lamda/(h*c) #computong responsivity\n",
+ "Ip=10**8*P0*R #computing photocurrent\n",
+ "M=Im/Ip #computing multiplication factor\n",
+ "print \"Multiplication factor is %d.\" %M "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Multiplication factor is 42.\n"
+ ]
+ }
+ ],
+ "prompt_number": 48
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file