summaryrefslogtreecommitdiff
path: root/Optical_Fiber_Communication_Principles_and_Practice/Chapter13.ipynb
blob: 3392b3cedb9d41ebd485b908275e7c75dbf9d147 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
{
 "metadata": {
  "name": "Chapter_13"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "heading",
     "level": 1,
     "metadata": {},
     "source": "Chapter 13: Optical fiber systems 2: coherent and phase-modulated"
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": "Example 13.1, page 832"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "#Variable declaration\nf1=150*10**6                            #reciever IF\nf2=19*10**9                             #output frequency change\n\n\n#Calculation\nm=f1*f2**-1                             #maximum tempreture change\n\n#Result\nprint'Maximum tempreture change = %d \u00d7 10^-3 \u00b0C '%round(m*10**3)",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "Maximum tempreture change = 8 \u00d7 10^-3 \u00b0C \n"
      }
     ],
     "prompt_number": 5
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": "Example 13.2, page 834"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "import math\n\n#Variable declaration\np=-85.45/10\nn=0.86                                       #quantum efficiency\nh1=1.54*10**-6                               #homodyne receiver operating wavelength\nsn=10**-1.2                                  #SNR\nh=6.626*10**-34                             #plancks constant\nc=2.998*10**8                               #velocity of light\n\n\n#Calculation\nps=10**(p)                                 #incoming signal power in dB\nB=(n*ps*sn*h1)/(h*c)                       #Bandwidth\n\n#Result\nprint'Incoming signal power, Ps = %f nW'%(ps*10**9)\nprint'Operating bandwidth, B = %.1f GHz'%(B*10**-9)",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "Incoming signal power, Ps = 2.851018 nW\nOperating bandwidth, B = 1.2 GHz\n"
      }
     ],
     "prompt_number": 1
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": "Example 13.3, page 878"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "#Variable declaration\npe=4.24                             #probability error function\npe2=20                              #probability exponential function\n\n\n#Calculation\nNp=pe**2*4                           #no of photons\nNp2=pe2*4\nNp3=pe**2/2\n\n#Result\nprint'(a) ASK heterodyne synchronous detection = %d photons'%round(Np)\nprint'(b) ASK heterodyne asynchronous detection = %d photons'%round(Np2)\nprint'(c) pSK homodyne  detection = %d photons'%round(Np3)",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "(a) ASK heterodyne synchronous detection = 72 photons\n(b) ASK heterodyne asynchronous detection = 80 photons\n(c) pSK homodyne  detection = 9 photons\n"
      }
     ],
     "prompt_number": 8
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": "Example 13.4, page 881"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "import math\n\n#Variable declaration\nh1=6.626*10**-34                     #plancks constant\nc=2.998*10**8                        #speed of light\nBt=400*10**6                         #FSK signal bit rate\nh=1.55*10**-6                        #wavelength\n\n#Calculation\nps=(36*h1*c*Bt)/(h)                #optical power\n\n#Result\nprint'Minimum incoming optical power level = %.1f nW'%(ps*10**9)",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "Minimum incoming optical power level = 1.8 nW\n"
      }
     ],
     "prompt_number": 16
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": "Example 13.5, page 883"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "import math\n\n#Variable declaration\nNp=36                                     #average photons\nNp2=9                                     #average photons\nh=6.63*10**-34                            #plancks constant\nf=3*10**8                                 #frequency\nBt=50*10**6                               #bit rates\nBt2=10**9                                 #bit rates\nh1=1.55*10**-6                            #operating wavelength\na=0.2                                     #connector loss\n\n\n#Calculation\nPs=Np*h*f*Bt/h1                           #in watt\nPs1=10*math.log10(Ps*10**3)               #in dB\nma=4-Ps1                                  #Max. system margin\nmar=ma/a                                  #Max. repeater spacing \n \nPs2=Np*h*f*Bt2/h1                         #in watt\nPs3=10*math.log10(Ps2*10**3)              #in dB\nma1=4-Ps3                                 #Max. system margin\nmar1=ma1/a                                #Max. repeater spacing \n\nPs4=Np2*h*f*Bt/h1                         #in watt\nPs5=10*math.log10(Ps4*10**3)              #in dB\nma2=4-Ps5                                 #Max. system margin\nmar2=ma2/a                                #Max. repeater spacing \n\nPs6=Np2*h*f*Bt2/h1                        #in watt\nPs7=10*math.log10(Ps6*10**3)              #in dB\nma3=4-Ps7                                 #Max. system margin\nmar3=ma3/a                                #Max. repeater spacing \n\n\n#Result\nprint'(a)Max. repeater spacing (50 Mbit s^-1) = %.1f km'%round(mar)\nprint'                         (1 Gbit s^-1) = %.1f km'%round(mar1)\nprint'\\n(b)Max. repeater spacing (50 Mbit s^-1) = %.1f km'%round(mar2)\nprint'                         (1 Gbit s^-1) = %.1f km'%round(mar3)",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "(a)Max. repeater spacing (50 Mbit s^-1) = 352.0 km\n                         (1 Gbit s^-1) = 287.0 km\n\n(b)Max. repeater spacing (50 Mbit s^-1) = 382.0 km\n                         (1 Gbit s^-1) = 317.0 km\n"
      }
     ],
     "prompt_number": 37
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": "Example 13.6, page 888"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "import math\n\n#Variable declaration\nnp=150\nh1=6.626*10**-34                     #plancks constant\nc=2.998*10**8                        #speed of light\nbf=20*10**12                         #optical bandwidth\nh=1.3*10**-6                         #wavelength\n\n#Calculation\ntx=(np*h1*c*bf)/h                    #transmitter power\n\n#Result\nprint'Minimum transmitter power = %.1f mW' %(tx*1000)",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "Minimum transmitter power = 0.5 mW\n"
      }
     ],
     "prompt_number": 26
    }
   ],
   "metadata": {}
  }
 ]
}