diff options
Diffstat (limited to 'Optical_fiber_communication_by_gerd_keiser/chapter6_2.ipynb')
-rwxr-xr-x | Optical_fiber_communication_by_gerd_keiser/chapter6_2.ipynb | 321 |
1 files changed, 321 insertions, 0 deletions
diff --git a/Optical_fiber_communication_by_gerd_keiser/chapter6_2.ipynb b/Optical_fiber_communication_by_gerd_keiser/chapter6_2.ipynb new file mode 100755 index 00000000..0d75f992 --- /dev/null +++ b/Optical_fiber_communication_by_gerd_keiser/chapter6_2.ipynb @@ -0,0 +1,321 @@ +{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:1d457d6d35a4d96cef8f5c393fb2ad194f0093b445ed9ceab1c1a00b3a80e8fa"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 6: Photodetectors"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.1, Page Number: 224"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#variable declaration\n",
+ "h = 6.625*10**-34 #planks constant(J*s)\n",
+ "C = 3*10**8 #free space velocity(m/s)\n",
+ "Eg = 1.43*1.6*10**-19 #(joules)\n",
+ "\n",
+ "#calculation\n",
+ "LambdaC = h*C/Eg #wavelength(nm)\n",
+ "\n",
+ "#result\n",
+ "print \"Maximum wavelength for photodiode GaAs = \", round(LambdaC*10**9,0),\"nm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum wavelength for photodiode GaAs = 869.0 nm\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.2, Page Number: 226"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#variable declaration\n",
+ "Ip_q = 5.4*10**6 #electron-hole pair generated\n",
+ "Pin_hv = 6*10**6 #number of incident photons\n",
+ "\n",
+ "#calculation\n",
+ "etta = Ip_q / Pin_hv #Quantum efficiency\n",
+ "\n",
+ "#result\n",
+ "print \"Quantum efficiency at 1300nm =\" ,etta*100,\"%\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Quantum efficiency at 1300nm = 90.0 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.3, Page Number: 226"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#variable declaration\n",
+ "R = 0.65 #Responsivity of photodiode(A/W)\n",
+ "Pin = 10*10**-6 #Optical power level(watts)\n",
+ "\n",
+ "#calculation\n",
+ "Ip = R*Pin #Photocurrent(A)\n",
+ "\n",
+ "#result\n",
+ "print \"Photocurrent =\",Ip*10**6,\"uA\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Photocurrent = 6.5 uA\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.4, Page Number: 227"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#variable declaration\n",
+ "Lambda = 1300*10**-9 #Wavelength (m)\n",
+ "C = 3*10**8 #freespace velocity(m/s)\n",
+ "q = 1.6*10**-19 #Charge (coulombs)\n",
+ "etta = 0.9 #Quantum efficiency\n",
+ "h = 6.625*10**-34 #planks constant(J*s)\n",
+ "Eg = 0.73 #energy gap(eV)\n",
+ "\n",
+ "#calculation\n",
+ "R = (etta*q*Lambda)/(h*C) #responsivity(A/W)\n",
+ "LambdaC = 1.24/ Eg #cut\udbc0\udc00off wavelength(meters)\n",
+ "\n",
+ "#result\n",
+ "print \"Responsivity = \",round(R,2),\"A/W\"\n",
+ "print \"Cutoff wavelength = \",round(LambdaC,1),\"um\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Responsivity = 0.94 A/W\n",
+ "Cutoff wavelength = 1.7 um\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.5, Page Number: 230"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#variable declaration\n",
+ "etta = 0.65 #Quantum efficiency\n",
+ "C = 3*10**8 #freespace velocity(m/s)\n",
+ "Lambda = 900*10**-9 #Wavelength (m)\n",
+ "q = 1.6*10**-19 #Charge (coulombs)\n",
+ "h = 6.625*10**-34 #planks constant(J*s)\n",
+ "Pin = 0.5*10**-06 #optical power(W)\n",
+ "Im = 10*10**-06 #multiplied photocurrent(uA)\n",
+ "\n",
+ "#calculation\n",
+ "Ip = ((etta*q*Lambda)/(h*C))*Pin #photocurrent(uA)\n",
+ "M = Im/Ip #multiplication\n",
+ "\n",
+ "#result\n",
+ "print \"Primary photocurrent = \",round(Ip*10**6,3),\"uA\"\n",
+ "print \"Primary photocurrent is multiplied by \" ,round(M+1,0)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Primary photocurrent = 0.235 uA\n",
+ "Primary photocurrent is multiplied by 43.0\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6, Page Number: 234"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#variable declaration\n",
+ "Lambda = 1330.0*10**-9 #Wavelength (m)\n",
+ "ID = 4.0*10**-9 #photdiode current(nA)\n",
+ "etta = 0.90 #Quantum efficiency\n",
+ "RL = 1000.0 #load resistance(ohms)\n",
+ "Pin = 300.0*10**-9 #incident optical power(nW)\n",
+ "Be = 20.0*10**6 #reciver bandwidth\n",
+ "q = 1.6*10**-19 #Charge (coulombs)\n",
+ "h = 6.625*10**-34 #planks constant(J*s)\n",
+ "T = 283.0 #room temperature(kelvin)\n",
+ "KB = 1.38*10**-23 #boltzmann's constant\n",
+ "\n",
+ "#calculation\n",
+ "Ip = (etta*q*Pin*1.3*10**-6)/(h*C) #primary current(uA)\n",
+ "Ishot = 2*q*Ip*Be #mean-squre shot noise current(A^2)\n",
+ "IDB = 2*q*ID*Be #mean-squre dark current(A^2)\n",
+ "IT = (4*KB*T)*Be/RL #mean-sqare thermal current(A^2)\n",
+ "\n",
+ "#result\n",
+ "print \"Primary current = \",round(Ip*10**6,3),\"uA\"\n",
+ "print \"Mean-squre shot noise current = \",round(Ishot*10**18,2)*10**-18,\"A^2 OR = \",round(math.sqrt(Ishot)*10**9,2),\"nA\"\n",
+ "print \"Mean-squre dark current = \",round(IDB*10**20,2)*10**-20,\"A^2 OR = \",round(math.sqrt(IDB)*10**9,2),\"nA\"\n",
+ "print \"Mean-squre thermal current = \",round(math.sqrt(IT)*10**9,0),\"nA\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Primary current = 0.283 uA\n",
+ "Mean-squre shot noise current = 1.81e-18 A^2 OR = 1.34 nA\n",
+ "Mean-squre dark current = 2.56e-20 A^2 OR = 0.16 nA\n",
+ "Mean-squre thermal current = 18.0 nA\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.7, Page Number: 239"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#variable declaration\n",
+ "CP = 3*10**-12 #photodiode capacitance(pF)\n",
+ "CA = 4*10**-12 #amplifier capacitance(pF)\n",
+ "CT = CP+CA #total capacitance\n",
+ "RT1 = 1000 #load resistance 1(ohms)\n",
+ "RT2 = 50 #load resistance 2(ohms)\n",
+ "\n",
+ "#calculation\n",
+ "BC1 = 1/(2*math.pi*RT1*CT) #circuit bandwidth 1 (Hz)\n",
+ "BC2 = 1/(2*math.pi*RT2*CT) #circuit bandwidth 2 (Hz)\n",
+ "\n",
+ "#result\n",
+ "print \"Circuit bandwidth for 1k ohms = \",round(BC1*10**-6,0),\"MHz\"\n",
+ "print \"Circuit bandwidth for 50 ohms = \",round(BC2*10**-6,0), \"MHz\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Circuit bandwidth for 1k ohms = 23.0 MHz\n",
+ "Circuit bandwidth for 50 ohms = 455.0 MHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file |