Professional Documents
Culture Documents
1 Funded
Book Description
Title: Optical Fiber Communication
Author: A. Kalavar
Publisher: Tech-Max Publications, Pune
Edition: 1
Year: 2012
ISBN: 978-81-8492-951-5
Scilab numbering policy used in this document and the relation to the
above book.
Exa Example (Solved example)
Eqn Equation (Particular equation of the above book)
AP Appendix to Example(Scilab Code that is an Appednix to a particular
Example of the above book)
For example, Exa 3.51 means solved example 3.51 of this book. Sec 2.3 means
a scilab code whose theory is explained in Section 2.3 of the book.
Contents
List of Scilab Codes
2 Optical Fibers
10
37
54
6 Optical Sources
63
72
88
95
10 Fiber Measurements
103
1.10.1
1.13.1
4.q
5.q
2.3.1
2.3.2
2.4.1
Exa
Exa
Exa
Exa
Exa
Exa
Exa
Exa
Exa
Exa
2.4.2
2.4.3
2.4.4
2.4.5
2.5.1
2.7.1
2.7.2
2.7.3
2.7.4
2.7.5
Exa 2.7.6
Exa 2.7.7
Exa 2.7.8
Exa 2.7.9
Exa 2.7.10
Exa 2.7.11
Exa 2.7.12
8
8
10
10
11
11
12
13
13
14
14
15
16
16
17
18
19
20
21
21
22
23
24
25
26
27
27
28
29
30
31
32
33
33
34
35
35
37
38
38
39
40
41
42
43
43
44
45
46
47
47
49
49
50
51
52
52
54
55
56
56
57
58
59
59
60
61
63
63
64
65
66
67
68
69
70
72
72
73
74
74
75
75
76
77
Exa
Exa
Exa
Exa
Exa
Exa
Exa
7.5.6
7.5.7
7.5.8
7.8.1
7.8.2
7.9.1
7.9.2
Exa
Exa
Exa
Exa
Exa
Exa
Exa
Exa
Exa
Exa
Exa
Exa
Exa
Exa
Exa
Exa
Exa
Exa
Exa
Exa
Exa
Exa
7.10.1
7.10.2
7.10.3
7.10.4
7.10.5
7.10.6
7.q
8.3.1
8.3.2
8.10.1
8.11.1
8.17.1
8.17.2
8.18.1
9.4.1
9.4.2
9.4.3
9.4.4
9.4.5
9.6.1
9.6.2
9.6.3
Exa 9.16.1
Exa 9.20.1
Exa 10.5.1
Exa 10.6.1
Determine wavelength . . . . . . . . . . . . . . . . . .
78
Calculate wavelength and incident optical power . . .
78
Find quantum efficiency . . . . . . . . . . . . . . . . .
79
Determine drift time and junction temperature . . . .
80
Find maximum response time . . . . . . . . . . . . . .
80
Calculate noise equivalent power and specific directivity 81
Find mean square quantum noise current and mean square
dark current . . . . . . . . . . . . . . . . . . . . . . .
82
Find multiplication factor . . . . . . . . . . . . . . . .
83
Find avalanche gain . . . . . . . . . . . . . . . . . . .
83
Find multiplication factor . . . . . . . . . . . . . . . .
84
Find wavelength incident optical power and responsivity 85
Find multiplication factor . . . . . . . . . . . . . . . .
85
Calculate quantum efficiency and output photocurrent
86
Determine maximum response time . . . . . . . . . . .
88
Find quantum efficiency and minimum incident power
88
Calculate incident optical power . . . . . . . . . . . .
89
Find signal to noise ratio . . . . . . . . . . . . . . . .
90
Find photon energy . . . . . . . . . . . . . . . . . . .
91
Calculate shot noise and thermal noise . . . . . . . . .
91
Find signal to noise ratio . . . . . . . . . . . . . . . .
92
Calculate maximum load resistance . . . . . . . . . . .
93
Find safty margin . . . . . . . . . . . . . . . . . . . .
95
Determine safety margin . . . . . . . . . . . . . . . . .
96
Determine safety margin . . . . . . . . . . . . . . . . .
96
Determine safety margin and link length . . . . . . . .
97
Determine link length . . . . . . . . . . . . . . . . . .
98
Find maximum bit rate . . . . . . . . . . . . . . . . .
99
Estimate maximum bit rate . . . . . . . . . . . . . . .
99
Determine whether or not combination of component
gives an adequate response . . . . . . . . . . . . . . . 100
Find amplifier gain and minimum pump power required 101
Maximum input and output power . . . . . . . . . . . 101
Calculate 3 dB pulse broadening and bandwidth length
product . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Determine attenuation and estimate accuracy . . . . . 104
Chapter 1
Introduction to Optical Fiber
Communication
Noise r a t i o of channel
8
9
Scilab code Exa 1.13.1 Determine duration of shortest and widest optical
pulse
1 // Example 1 . 1 3 . 1
page 1 . 3 0
2
3 clc ;
4 clear ;
5
6 Bit_rate = 2 d9 ;
// b i t r a t e o f c h a n n e l
7 // Given s e q u e n c e i s 0 1 0 1 1 1 1 0 1 1 1 0
8
9 Shortest_duration = 1 * (1/ Bit_rate ) ;
//
shortest duration i s 1
10 Widest_duration = 4 * (1/ Bit_rate ) ;
duration i s 1111
// w i d e s t
11
12
//
//
printf ( \ n S h o r t e s t d u r a t i o n i s %. 1 f nano s e c o n d . ,
Shortest_duration ) ;
16 printf ( \ nWidest d u r a t i o n i s %d nano s e c o n d . ,
Widest_duration ) ;
Chapter 2
Optical Fibers
);
page 2 . 7 6
10
b r i e f r i n g e n c e i s %. 1 e . ,Bh , Bl ) ;
Scilab code Exa 2.3.1 Estimate numerical aperture and critical angle
1 // Example 2 . 3 . 1
2
3 clc ;
4 clear ;
5
6 delta = 1/100;
page 2 . 1 0
// R e l a t i v e r e f r a c t i v e
d i f f e r e n c e index
7 n1 =1.46;
// Core r e f r a c t i v e i n d e x ( a s s u m p t i o n
)
8
9 NA = n1 * sqrt (2* delta ) ;
// c o m p u t i n g n u m e r i c a l
aperture
10 theta = 1 - delta ;
11 Critical_angle = asind ( theta ) ;
// c o m p u t i n g c r i t i c a l
angle
12
13
printf ( \ n N u m e r i c a l a p e r t u r e i s %. 2 f . \ n C r i t i c a l
a n g l e i s %. 1 f d e g r e e . ,NA , Critical_angle ) ;
// Example 2 . 3 . 2
page 2 . 1 0
11
2
3 clc ;
4 clear ;
5
6 delta = 1/100;
// R e l a t i v e r e f r a c t i v e
d i f f e r e n c e index
7 n1 =1.47;
// Core r e f r a c t i v e i n d e x
8
9 NA = n1 * sqrt (2* delta ) ;
// c o m p u t i n g n u m e r i c a l
aperture
10
11
printf ( \ n N u m e r i c a l a p e r t u r e i s %. 1 f . , NA )
Scilab code Exa 2.4.1 Determine critical angle numerical aperture and acceptance angle
1
2
3
4
5
6
7
8
9
10
// Example 2 . 4 . 1
page 2 . 1 1
clc ;
clear ;
n1 =1.49;
n2 =1.45;
// c o r e r e f r a c t i v e i n d e x
// c l a d d i n g r e f r a c t i v e i n d e x
phi = asind ( n2 / n1 ) ;
// c o m p u t i n g c r i t i c a l a n g l e
NA = sqrt ( n1 ^2 - n2 ^2) ; // c o m p u t i n g n u m e r i c l a
aperture
11 theta = asind ( NA ) ;
// c o m p u t i n g a c c e p t a n c e a n g l e
12
13
14
15
printf ( \ n C r i t i c a l a n g l e i s %. 2 f d e g r e e s . \ n N u m e r i c a l
a p e r t u r e i s %. 3 f . \ n A c c e p t a n c e a n g l e i s %. 2 f
d e g r e e . ,phi , NA , theta ) ;
// a n s w e r i n t h e book f o r N u m e r i c a l a p e r t u r e i s
0.343 , deviation of 0.003
12
16
// a n s w e r i n t h e book f o r A c c e p t a n c e a n g l e i s 2 0 . 2 4 ,
deviation of 0.18
page 2 . 1 2
// R e l a t i v e r e f r a c t i v e
d i f f e r e n c e index
7 n1 =1.47;
// Core r e f r a c t i v e i n d e x
8
9 NA = n1 * sqrt (2* delta ) ;
// c o m p u t i n g n u m e r i c a l
aperture
10 printf ( \ n N u m e r i c a l a p e r t u r e i s %. 1 f . , NA )
Scilab code Exa 2.4.3 Find numerical aperture and acceptance angle
1 // Example 2 . 4 . 3
2
3 clc ;
4 clear ;
5
6 delta = 1.2/100;
page 2 . 1 2
// R e l a t i v e r e f r a c t i v e
d i f f e r e n c e index
7 n1 =1.45;
// Core r e f r a c t i v e i n d e x
8
9 NA = n1 * sqrt (2* delta ) ;
// c o m p u t i n g n u m e r i c a l
aperture
10 Acceptance_angle = asind ( NA ) ;
// c o m p u t i n g
acceptance angle
13
11 si = %pi * NA ^2;
// c o m p u t i n g s o l i d a c c e p t a n c e
angle
12
13
14
15
printf ( \ n N u m e r i c a l a p e r t u r e i s %. 3 f . \ n A c c e p t a n c e
a n g l e i s %. 2 f d e g r e e . \ n S o l i d a c c e p t a n c e a n g l e i s
%. 3 f r a d i a n s . ,NA , Acceptance_angle , si ) ;
// a n s w e r
0.224 ,
16 // a n s w e r
0.157 ,
i n t h e book f o r N u m e r i c a l a p e r t u r e i s
deviation of 0.001
i n t h e book f o r s o l i d a c c e p t a n c e a n g l e i s
deviation of 0.002
acceptance angle .
9 printf ( \ n A c c e p t a n c e a n g l e i s %. 1 f d e g r e e . ,
Acceptance_angle ) ;
Scilab code Exa 2.4.5 Compute numerical aperture and full cone angle
1 // Example 2 . 4 . 5
2
3 clc ;
4 clear ;
5
page 2 . 1 3
14
6
7
8
9
10
diameter = 1;
Focal_length = 10;
// D i a m e t e r i n c e n t i m e t e r
// F o c a l l e n g t h i n c e n t i m e t e r
printf ( \ n N u m e r i c a l a p e r t u r e i s %. 2 f . \ n C o n i c a l f u l l
a n g l e i s %. 2 f d e g r e e . ,NA , Conical_full_angle ) ;
degree at each r e f l e c t i o n
8
9
Meridional_theta = asind ( NA ) ;
// c o m p u t i n g
acceptacne angle f o r m e r i d o i n a l ray
10 Skew_theta = asind ( NA / cosd ( betaB ) ) ;
// c o m p u t i n g
a c c e p t a c n e a n g l e f o r skew r a y
11
12
printf ( \ n A c c e p t a c n e a n g l e f o r M e r i d o i n a l r a y i s %. 2
f d e g r e e . \ n A c c e p t a n c e a n g l e f o r Skew r a y %. 1 f
d e g r e e . , Meridional_theta , Skew_theta ) ;
15
Scilab code Exa 2.7.1 Find normalized frequency and number of guided
modes
1
2
3
4
5
6
7
8
9
10
11
12
// Example 2 . 7 . 1
page 2 . 2 3
clc ;
clear ;
core_diameter =78 d -6;
// c o r e d i a m e t e r
delta =1.4/100;
// r e l a t i v e i n d e x d i f f e r e n c e
lamda =0.8 d -6;
// o p e r a t i n g w a v e l e n g t h
n1 =1.47;
// c o r e r e f r a c t i v e i n d e x
a = core_diameter /2;
// c o m p u t i n g c o r e r a d i u s
v = 2*3.14* a * n1 * sqrt (2* delta ) / lamda ;
// c o m p u t i n g
normalized frequency
13 M =( v ) ^2/2;
// c o m p u t i n g g u i d e d modes
14
15
printf ( \ n N o r m a l i z e d F r e q u e n c y i s %. 3 f . \ n T o t a l
number o f g u i d e d modes a r e %. 1 f ,v , M ) ;
16 printf ( \nNOTE C a l c u l a t i o n e r r o r , a n s w e r i n t h e
book f o r n o r m a l i z e d f r e q u e n c y i s g i v e n a s 7 5 . 1 5 6
which s h o u l d be 7 5 . 3 0 6 . ) ;
17
18
// a n s w e r i n t h e book f o r n o r m a l i z e d f r e q u e n c y i s
g i v e n a s 7 5 . 1 5 6 ( i n c o r r e c t ) and f o r Guided modes
is 5648.5( incorrect )
// Example 2 . 7 . 2
page 2 . 2 4
16
2
3 clc ;
4 clear ;
5
6 n1 =1.47
// r e f r a c t i v e i n d e x o f c o r e
7 a =4.3 d -6;
// r a d i u s o f c o r e
8 delta =0.2/100
// r e l a t i v e i n d e x d i f f e r e n c e
9
10 lamda = 2*3.14* a * n1 * sqrt (2* delta ) /2.405;
//
computing wavelength
11 lamda = lamda *10^9;
12 printf ( Wavelength o f f i b e r i s %d nm . , lamda ) ;
13 printf ( \n\ nNote : C a l c u l a t i o n e r r o r , a n s w e r g i v e n i n
t h e book ( 1 2 3 0nm) i s i n c o r r e c t . ) ;
14
15
Scilab code Exa 2.7.3 Find core radius NA and acceptance angle
1
2
3
4
5
6
7
8
9
10
// Example 2 . 7 . 3
page 2 . 2 4
clc ;
clear ;
n1 =1.482;
n2 =1.474;
lamda =820 d -9;
// r e f r a c t i v e i n d e x o f c o r e
// r e f r a c t i v e i n d e x o f c l a d d i n g
// Wavelength
NA = sqrt ( n1 ^2 - n2 ^2) ;
// c o m p u t i n g N u m e r i c a l
aperture
11 theta = asind ( NA ) ;
// c o m p u t i n g a c c e p t a n c e
angle
12 solid_angle = %pi *( NA ) ^2;
// c o m p u t i n g s o l i d a n g l e
13 a =2.405* lamda /(2*3.14* NA ) ;
// c o m p u t i n g c o r e
17
radius
14 a = a *10^6;
15
16
printf ( \ n N u m e r i c a l a p e r t u r e i s %. 3 f . \ n A c c e p t a n c e
a n g l e i s %. 1 f d e g r e e s . \ n S o l i d a n g l e i s %. 3 f
r a d i a n s . \ nCore r a d i u s i s %. 2 f m i c r o m e t e r . ,NA ,
theta , solid_angle , a ) ;
17
18
// a n s w e r i n t h e book f o r N u m e r i c a l a p e r t u r e i s
0.155 , deviation of 0.001.
19 // a n s w e r i n t h e book f o r a c c e p t a n c e a n g l e i s 8 . 9 ,
deviation of 0.1.
20 // a n s w e r i n t h e book f o r s o l i d a c c e p t a n c e a n g l e i s
0.075 , deviation of 0.001.
21 // a n s w e r i n t h e book f o r c o r e r a d i u s i s 2 . 0 2
micrometer , d e v i a t i o n o f 0 . 0 2 micrometer .
// Example 2 . 7 . 4
page 2 . 2 5
clc ;
clear ;
NA =0.16
// N u m e r i c a l a p e r t u r e
n1 =1.45
// c o r e r e f r a c t i v e i n d e x
d =60 d -6
// c o r e d i a m e t e r
lamda =0.82 d -6
// w a v e l e n g t h
a = d /2;
// c o r e r a d i u s
v =2*3.14* a * NA / lamda ;
// c o m p u t i n g n o r m a l i z e d
frequency
13 v = round ( v ) ;
14 M = v ^2/2;
// c o m p u t i n g g u i d e d modes
15 M = floor ( M ) ;
18
16
17
printf ( i f n o r m a l i z e d f r e q u e n c y i s t a k e n a s %d , t h e n
%d g u i d e d modes . ,v , M ) ;
Scilab code Exa 2.7.5 Determine normalized frequency and number of guided
modes
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
// Example 2 . 7 . 5
page 2 . 2 6
clc ;
clear ;
n1 =1.48;
// c o r e r e f r a c t i v e i n d e x
n2 =1.46;
// c l a d d i n g r e f r a c t i v e i n d e x
a =25 d -6;
// c o r e r a d i u s
lamda0 =850 d -9;
lamda1 =1320 d -9;
lamda2 =1550 d -9;
NA = sqrt ( n1 ^2 - n2 ^2) ;
// c o m p u t i n g n u m e r i c a l
aperture
v0 =2* %pi * a * NA / lamda0 ;
// c o m p u t i n g n o r m a l i z e d
frequency
M0 = v0 ^2/2;
// c o m p u t i n g g u i d e d modes
M0 = floor ( M0 ) ;
v1 =2* %pi * a * NA / lamda1 ;
M1 = v1 ^2/2;
M1 = floor ( M1 ) ;
v2 =2* %pi * a * NA / lamda2 ;
M2 = v2 ^2/2;
M2 = floor ( M2 ) ;
lamda0 = lamda0 *10^9;
lamda1 = lamda1 *10^9;
lamda2 = lamda2 *10^9;
printf ( \ n f o r %d nm , n o r m a l i z e d f r e q u e n c y = %. 2 f ,
19
// a n s w e r s i n t h e book ( s l i g t d e v i a t i o n s i n e a c h )
// f o r 850 nm , n o r m a l i z e d f r e q u e n c y = 4 5 , Guided
modes = 1 0 1 2
32 // f o r 1 3 2 0 nm , n o r m a l i z e d f r e q u e n c y = 2 8 . 9 1 , Guided
modes = 419
33 // f o r 1 5 5 0 nm , n o r m a l i z e d f r e q u e n c y = 2 4 . 6 7 , Guided
modes = 304
index
//
computing r a d i u s o f c o r e
d =2* a ;
// c o m p u t i n g d i a m e t e r o f c o r e
a = a *10^6;
d = d *10^6;
printf ( \ nCore r a d i u s i s %. 1 f m i c r o m e t e r \ nCore
d i a m e t e r i s %. 1 f m i c r o m e t e r ,a , d ) ;
printf ( \nNOTE I n t h e book t h e y have a s k e d
d i a m e t e r o f c o r e . However , t h e y have c a l c u l a t e d
only r a d i u s . );
20
// Example 2 . 7 . 7
page 2 . 2 7
clc ;
clear ;
n1 =1.48;
n2 =1.46;
// r e f r a c t i v e i n d e x o f c o r e
// r e f r a c t i v e i n d e x o f c l a d d i n g
NA = sqrt ( n1 ^2 - n2 ^2) ;
aperture
10 theta = asind ( NA ) ;
11
12
// c o m p u t i n g N u m e r i c a l
// c o m p u t i n g a c c e p t a n c e a n g l e
printf ( \ n N u m e r i c a l a p e r t u r e i s %. 3 f . \ n A c c e p t a n c e
a n g l e i s %. 2 f d e g r e e s . ,NA , theta ) ;
13
14
// a n s w e r i n t h e book f o r N u m e r i c a l a p e r t u r e i s
0.244 , deviation of 0.002.
15 // a n s w e r i n t h e book f o r A c c e p t a n c e a n g l e i s 1 4 . 1 2 ,
deviation of 0.09.
Scilab code Exa 2.7.8 Calculate normalized frequency and number of guided
modes
1 // Example 2 . 7 . 8
page 2 . 2 8
2
3 clc ;
4 clear ;
5
6 core_diameter =80 d -6;
// c o r e d i a m e t e r
21
7 delta =1.5/100;
// r e l a t i v e i n d e x d i f f e r e n c e
8 lamda =0.85 d -6;
// o p e r a t i n g w a v e l e n g t h
9 n1 =1.48;
// c o r e r e f r a c t i v e i n d e x
10
11 a = core_diameter /2;
// c o m p u t i n g c o r e r a d i u s
12 v = 2* %pi * a * n1 * sqrt (2* delta ) / lamda ;
// c o m p u t i n g
normalized frequency
13 M =( v ) ^2/2;
// c o m p u t i n g g u i d e d modes
14 printf ( \ n N o r m a l i z e d F r e q u e n c y i s %. 1 f . \ n T o t a l
number o f g u i d e d modes a r e %. d . ,v , M ) ;
15
16
// Example 2 . 7 . 9
page 2 . 2 8
clc ;
clear ;
delta =1/100;
// r e l a t i v e r e f r a c t i v e i n d e x
n1 =1.5;
// r e f r a c t i v e i n d e x o f c o r e
M =1100;
// Guided modes
lamda =1.3 d -6;
// w a v e l e n g t h
v = sqrt (2* M ) ;
// c o m p u t i n g n o r m a l i z e d f r e q u e c y
a =( v * lamda ) /(2*3.14* n1 * sqrt (2* delta ) ) ;
//
computing r a d i u s o f c o r e
13 d = a *2;
14 a = a *10^6;
15 d = d *10^6;
16
17
printf ( \ n N o r m a l i z e f r e q u e n c y i s %. 1 f . \ nCore r a d i u s
i s %. 2 f m i c r o m e t e r . \ nCore d i a m e t e r i s %. 1 f
22
m i c r o m e t e r . ,v ,a , d ) ;
18 printf ( \ n C a l c u l a t i o n e r r o r i n t h e book w h i l e
c a l c u l a t i n g r a d i u s and d i a m e t e r . ) ;
19
20
21
22
23
// c a l c u l a t i o n e r r o r i n t h e book .
// a n s w e r s i n t h e book
// Core r a d i u s i s 4 6 . 1 8 m i c r o m e t e r . ( i n c o r r e c t )
// Core d i a m e t e r i s 9 2 . 3 m i c r o m e t e r . ( i n c o r r e c t )
// Example 2 . 7 . 1 0
page 2 . 2 9
clc ;
clear ;
n1 =1.48;
// r e f r a c t i v e i n d e x o f c o r e
n2 =1.46;
// r e f r a c t i v e i n d e x o f c l a d d i n g
lamda1 =1320 d -9;
// Wavelength
lamda2 =1550 d -9;
// Wavelength
a =25 d -6;
// r a d i u s o f c o r e
NA = sqrt ( n1 ^2 - n2 ^2) ;
// c o m p u t i n g N u m e r i c a l
aperture
v1 =2* %pi * a * NA / lamda1 ;
// c o m p u t i n g n o r m a l i z e d
frequency
v1 = round ( v1 ) ;
M1 = v1 ^2/2;
// c o m p u t i n g number o f g u i d e d modes
M1 = round ( M1 ) ;
v2 =2* %pi * a * NA / lamda2 ;
M2 = v2 ^2/2;
M2 = round ( M2 ) ;
lamda1 = lamda1 *10^9;
lamda2 = lamda2 *10^9;
23
22
23
printf ( \ n f o r %d nm , n o r m a l i z e d f r e q u e n c y = %d ,
Guided modes = %d . , lamda1 , v1 , M1 ) ;
24 printf ( \ n f o r %d nm , n o r m a l i z e d f r e q u e n c y = %. 2 f ,
Guided modes = %d . , lamda2 , v2 , M2 ) ;
25
26
27
// a n s w e r i n t h e book ,
// f o r 1 5 5 0 nm , n o r m a l i z e d f r e q u e n c y = 2 4 . 6 9 (
d e v i a t i o n o f 0 . 0 8 ) , Guided modes = 3 0 5 ( d e v i a t i o n
of 3)
// Example 2 . 7 . 1 1
page 2 . 2 9
clc ;
clear all ;
n1 =1.5;
// r e f r a c t i v e i n d e x o f c o r e
n2 =1.38;
// r e f r a c t i v e i n d e x o f c l a d d i n g
lamda =1300 d -9;
// Wavelength
a =25 d -6;
// c o r e r a d i u s
NA = sqrt ( n1 ^2 - n2 ^2) ;
// c o m p u t i n g N u m e r i c a l
aperture
theta = asind ( NA ) ;
// c o m p u t i n g a c c e p t a n c e
angle
solid_angle = %pi *( NA ) ^2;
// c o m p u t i n g s o l i d a n g l e
v = 2* %pi * a * NA / lamda ;
// c o m p u t i n g n o r m a l i z e d
frequency
M =( v ) ^2/2;
// c o m p u t i n g g u i d e d modes
M = round ( M ) ;
printf ( \ n N u m e r i c a l a p e r t u r e i s %. 2 f . \ n N o r m a l i z e d
f r e q u e n c y i s %. 2 f . \ n A c c e p t a n c e a n g l e i s %. 2 f
d e g r e e s . \ n S o l i d a n g l e i s %. 3 f r a d i a n s . \ n T o t a l
24
// C a l c u l a t i o n e r r o r i n t h e book . ( 2 . 2 5 1 . 9 ) 0 . 5 = 0 . 5 9 ;
t h e y have t a k e n 0 . 3 5
// a n s w e r s i n t h e book ,
// N u m e r i c a l a p e r t u r e i s 0 . 3 5 . ( i n c o r r e c t )
// N o r m a l i z e d f r e q u e n c y i s 4 2 . 2 6 . ( i n c o r r e c t )
// A c c e p t a n c e a n g l e i s 2 0 . 4 8 d e g r e e s . ( i n c o r r e c t )
// S o l i d a n g l e i s 0 . 3 8 4 r a d i a n s . ( i n c o r r e c t )
Scilab code Exa 2.7.12 Compute core radius and acceptance angle
1
2
3
4
5
6
7
8
9
10
// Example 2 . 7 . 1 2
page 2 . 3 0
clc ;
clear ;
n1 =1.48;
n2 =1.478;
lamda =820 d -9;
// r e f r a c t i v e i n d e x o f c o r e
// r e f r a c t i v e i n d e x o f c l a d d i n g
// Wavelength
NA = sqrt ( n1 ^2 - n2 ^2) ;
aperture
11 theta = asind ( NA ) ;
angle
12 solid_angle = %pi *( NA ) ^2;
13
14
// c o m p u t i n g N u m e r i c a l
// c o m p u t i n g a c c e p t a n c e
// c o m p u t i n g s o l i d a n g l e
printf ( \ n N u m e r i c a l a p e r t u r e i s %. 3 f . \ n A c c e p t a n c e
a n g l e i s %. 2 f d e g r e e s . \ n S o l i d a n g l e i s %. 4 f
r a d i a n s . ,NA , theta , solid_angle ) ;
25
Scilab code Exa 2.7.13 Estimate range of wavelength for single mode transmission
1
2
3
4
5
6
7
8
9
10
11
12
// Example 2 . 7 . 1 3
page 2 . 3 1
clc ;
clear ;
n1 =1.447;
n2 =1.442;
lamda =1.3 d -6;
a =3.6 d -6;
// r e f r a c t i v e i n d e x o f c o r e
// r e f r a c t i v e i n d e x o f c l a d d i n g
// Wavelength
// c o r e r a d i u s
NA = sqrt ( n1 ^2 - n2 ^2) ;
aperture
13 v = 2* %pi * a * NA / lamda ;
frequency
14
15
// c o m p u t i n g N u m e r i c a l
// c o m p u t i n g n o r m a l i z e d
printf ( As n o r m a l i z e d f r e q u e n c y i s %. 2 f which i s
l e s s than 2 . 4 0 5 , t h i s f i b e r w i l l permit s i n g l e
mode t r a n s m i s s i o n ,v ) ;
16
17
18
19
// C a l c u l a t i o n e r r o r i n t h e book . ( 1 . 4 4 7 2 1 . 4 4 2 2 )
26
23
24
25
26
0 . 5 = 0 . 1 2 1 ; t h e y have t a k e n 0 . 1 4 1 . Hence
c a l c u l a t i o n s a f t e r t h a t a r e i n c o r r e c t i n t h e book
.
// They have t a k e n r a d i u s a s 2 . 6 d 6 , w h e r e a s i n
q u e s t i o n i t i s g i v e n 3 . 6 d 6.
// a n s w e r s i n t h e book
// N o r m a l i z e d f r e q u e n c y i s 1 . 7 7 . ( i n c o r r e c t )
// c u t o f f w a v e l e n g t h 956nm . ( i n c o r r e c t )
// Example 2 . 7 . 1 4
page 2 . 3 4
clc ;
clear ;
NA =0.2;
// N u m e r i c l a a p e r t u r e
d =50 d -6;
// D i a m e t e r o f c o r e
lamda =1 d -6;
// Wavelength
a = d /2;
// c o m p u t i n g r a d i u s
v =2*3.14* a * NA / lamda ;
// c o m p u t i n g n o r m a l i z e d
frequency
12 Mg = v ^2/4;
// c o m p u t i n g mode volume f o r
parabollic profile
13 Mg = round ( Mg ) ;
14 printf ( \ n N o r m a l i z e d F r e q u e n c y i s %. 1 f . \ n T o t a l
number o f g u i d e d modes a r e %. d . ,v , Mg ) ;
15
16
// a n s w e r i n t h e book f o r g u i d e d modes i s 2 4 7 ,
deviation of 1.
1 // Example 2 . 7 . 1 5
page 2 . 3 4
2
3 clc ;
4 clear ;
5
6 delta =0.015;
// r e l a t i v e r e f r a c t i v e
7 n1 =1.48;
// c o r e r e f r a c t i v e i n d e x
8 lamda =0.85 d -6;
// w a v e l e n g t h
9
10 a =(2.4* lamda ) /(2*3.14* n1 * sqrt (2* delta ) ) ;
11
12
13
14
15
16
index
//
computing r a d i u s o f c o r e
d =2* a ;
// c o m p u t i n g d i a m e t e r o f c o r e
a = a *10^7;
a = round ( a ) ;
a = a /10
d = d *10^6;
printf ( \ nCore r a d i u s i s %. 1 f m i c r o m e t e r . \ nCore
d i a m e t e r i s %. 1 f m i c r o m e t e r . ,a ,2* a ) ;
17
18 printf ( \n\nWhen d e l t a i s r e d u c e d by 10 p e r c e n t ) ;
19 delta =0.0015;
20 a =(2.4* lamda ) /(2*3.14* n1 * sqrt (2* delta ) ) ;
//
21
22
23
24
25
26
computing r a d i u s o f c o r e
d =2* a ;
// c o m p u t i n g d i a m e t e r o f c o r e
a = a *10^7;
a = round ( a ) ;
a = a /10
d = d *10^6;
printf ( \ nCore r a d i u s i s %. 1 f m i c r o m e t e r . \ nCore
d i a m e t e r i s %. 1 f m i c r o m e t e r . ,a ,2* a ) ;
// Example 2 . 7 . 1 6
page 2 . 3 5
28
3
4
5
6
7
8
9
10
11
clc ;
clear ;
NA =0.25;
// N u m e r i c l a a p e r t u r e
d =45 d -6;
// D i a m e t e r o f c o r e
lamda =1.5 d -6;
// Wavelength
a = d /2;
// c o m p u t i n g r a d i u s
v =2*3.14* a * NA / lamda ;
// c o m p u t i n g n o r m a l i z e d
frequency
12 Mg = v ^2/4;
// c o m p u t i n g mode volume f o r
parabollic profile
13 Mg = round ( Mg ) ;
14 printf ( \ n N o r m a l i z e d F r e q u e n c y i s %. 1 f . \ n T o t a l
number o f g u i d e d modes a r e %. d . ,v , Mg ) ;
15
16
// a n s w e r i n t h e book f o r n o r m a l i z e d f r e q u e n c y i s
23.55 , deviation 0.05
// Example 2 . 7 . 1 7
page 2 . 3 5
clc ;
clear ;
NA =0.25;
// N u m e r i c l a a p e r t u r e
d =45 d -6;
// D i a m e t e r o f c o r e
lamda =1.2 d -6;
// Wavelength
a = d /2;
// c o m p u t i n g r a d i u s
v =2*3.14* a * NA / lamda ;
// c o m p u t i n g n o r m a l i z e d
frequency
12 Mg = v ^2/4;
// c o m p u t i n g mode volume f o r
parabollic profile
29
13 Mg = round ( Mg ) ;
14 printf ( \ n N o r m a l i z e d F r e q u e n c y
i s %. 1 f . \ n T o t a l
number o f g u i d e d modes a r e %. d . ,v , Mg ) ;
15 printf ( \n\nNOTE I n t h e q u e s t i o n NA i s g i v e n 0 . 2 2 .
However w h i l e s o l v i n g i t i s t a k e n a s 0 . 2 5 ) ;
16
17
18
19
20
21
22
23
24
25
26
27
a = d /2;
// c o m p u t i n g r a d i u s
v =2*3.14* a * NA / lamda ;
// c o m p u t i n g n o r m a l i z e d
frequency
28 Mg = v ^2/4;
// c o m p u t i n g mode volume f o r
parabollic profile
29 Mg = round ( Mg ) ;
30 printf ( \ n N o r m a l i z e d F r e q u e n c y i s %. 1 f . \ n T o t a l
number o f g u i d e d modes a r e %. d . ,v , Mg ) ;
Scilab code Exa 2.7.18 Compute cutoff parameter and number of modes
1
2
3
4
5
6
7
8
// Example 2 . 7 . 1 8
page 2 . 3 6
clc ;
clear ;
n1 =1.54;
n2 =1.5;
a =25 d -6;
// r e f r a c t i v e i n d e x o f c o r e
// r e f r a c t i v e i n d e x o f c l a d d i n g
// R a d i u s o f c o r e
30
frequency
v = round ( v ) ;
Mg = v ^2/4;
// c o m p u t i n g mode volume f o r
parabollic profile
Mg = round ( Mg ) ;
lamda_cut_off = v * lamda /2.405;
// c o m p u t i n g c u t o f f
wavelength
lamda_cut_off = lamda_cut_off *10^6;
printf ( \ n N o r m a l i z e d F r e q u e n c y i s %. d . \ n T o t a l number
o f g u i d e d modes a r e %. d . \ nCut o f f w a v e l e n g t h i s
%. 1 f m i c r o m e t e r . ,v , Mg , lamda_cut_off ) ;
// Example 2 . 1 0 . 1
page 2 . 3 9
clc ;
clear ;
a =4.5 d -6;
// c o r e d i a m e t e r
delta =0.25/100;
// r e l a t i v e i n d e x d i f f e r e n c e
lamda =0.85 d -6;
// o p e r a t i n g w a v e l e n g t h
n1 =1.46;
// c o r e r e f r a c t i v e i n d e x
15
16 printf ( \n\nWhen d e l t a i s 1 . 2 5 p e r c e n t ) ;
17 delta =1.25/100;
18 v = 2* %pi * a * n1 * sqrt (2* delta ) / lamda ;
// c o m p u t i n g
19
20
21
22
23
24
25
normalized frequency
lamda_cut_off = v * lamda /2.405;
// c o m p u t i n g c u t
o f f wavelength
lamda_cut_off = lamda_cut_off *10^7;
lamda_cut_off = round ( lamda_cut_off ) ;
lamda_cut_off = lamda_cut_off *100;
printf ( \ nCut o f f w a v e l e n g t h i s %. d n a n o m e t e r . ,
lamda_cut_off ) ;
// a n s w e r i n t h e book f o r c u t o f f w a v e l e n g t h i n t h e
book i s g i v e n a s 1 2 1 4nm , d e v i a t i o n o f 1nm .
Scilab code Exa 2.10.2 Calculate cutoff number and number of modes
1
2
3
4
5
6
7
8
9
10
11
12
// Example 2 . 1 0 . 2
page 2 . 4 0
clc ;
clear ;
a =50 d -6;
// c o r e r a d i u s
lamda =1500 d -9;
// o p e r a t i n g w a v e l e n g t h
n1 =2.53;
// c o r e r e f r a c t i v e i n d e x
n2 =1.5;
// c l a d d i n g r e f r a c t i v e i n d e x
delta =( n1 - n2 ) / n1 ;
// c o m p u t i n g d e l t a
v = 2*3.14* a * n1 * sqrt (2* delta ) / lamda ;
// c o m p u t i n g
normalized frequency
13 M =( v ) ^2/2;
// c o m p u t i n g g u i d e d modes
14 printf ( \ n N o r m a l i z e d F r e q u e n c y i s %. 1 f \ n T o t a l number
o f g u i d e d modes a r e %. d ,v , M ) ;
15 printf ( \nNOTE C a l c u l a t i o n e r r o r i n book . \n
32
i s c a l c u l a t e d as
16
17
// C a l c u l a t i o n e r r o r i n book . N o r m a l i z e d f r e q u e n c y i s
477 , i t i s c a l c u l a t e d as 4 7 . 6 6 , hence answers
a f t e r that are erroneous .
18 // a n s w e r s
i n t h e book
19 // n o r m a l i z e d f r e q u e n c y = 4 8 . ( i n c o r r e c t )
20 // g u i d e d modes = 1 1 5 2 . ( i n c o r r e c t )
// Example 2 . 1 0 . 3
page 2 . 4 1
clc ;
clear ;
core_diameter =8 d -6;
// c o r e d i a m e t e r
delta =0.92/100;
// r e l a t i v e i n d e x d i f f e r e n c e
lamda =1550 d -9;
// o p e r a t i n g w a v e l e n g t h
n1 =1.45;
// c o r e r e f r a c t i v e i n d e x
a = core_diameter /2;
// c o m p u t i n g c o r e r a d i u s
v = 2* %pi * a * n1 * sqrt (2* delta ) / lamda ;
// c o m p u t i n g
normalized frequency
13 M =( v ) ^2/2;
// c o m p u t i n g g u i d e d modes
14 printf ( \ n N o r m a l i z e d F r e q u e n c y i s %. 1 f . \ n T o t a l
number o f g u i d e d modes a r e %. d . ,v , M ) ;
// Example 2 . 1 0 . 4
page 2 . 4 1
33
3
4
5
6
7
8
9
10
11
12
13
14
15
16
clc ;
clear ;
delta =1/100;
// r e l a t i v e i n d e x d i f f e r e n c e
n1 =1.5;
// c o r e r e f r a c t i v e i n d e x
c =3 d8 ;
L =6;
n2 = sqrt ( n1 ^2 -2* delta * n1 ^2) ;
// c o m p u t i n g
r e f r a c t i v e index of cladding
delta_T = L * n1 ^2* delta /( c * n2 ) ;
// c o m p u t i n g p u l s e
broadning
delta_T = delta_T *10^11;
delta_T = round ( delta_T ) ;
printf ( \ nDelay d i f f e r e n c e b e t w e e n s l o w e s t and
f a s t e s t mode i s %d n s /km . , delta_T ) ;
printf ( \ n T h i s means t h a t a p u l s e b r o a d n e s by %d n s
a f t e r t r a v e l t i m e a d i s t a n c e o f %d km . , delta_T , L
);
);
34
fiber
// c o m p u t i n g
i n p u t power i n dBm
Pin_dbm = round ( Pin_dbm ) ;
Pout_dbm = Pin_dbm - L * loss ;
// c o m p u t i n g o u t p u t
power l e v e l
Pout = 10^( Pout_dbm /10) ;
printf ( Output power i s %. 2 e mW. , Pout ) ;
// Example 2 . 1 6 . 1
page 2 . 6 7
clc ;
clear ;
n1 =1.48;
n2 =1.46;
// c o r e r e f r a c t i v e i n d e x
// c l a d d i n g r e f r a c t i v e i n d e x
phi = asind ( n2 / n1 ) ;
// c o m p u t i n g c r i t i c a l a n g l e
NA = sqrt ( n1 ^2 - n2 ^2) ; // c o m p u t i n g n u m e r i c l a
aperture
11 theta = asind ( NA ) ;
// c o m p u t i n g a c c e p t a n c e a n g l e
12 printf ( \ n C r i t i c a l a n g l e i s %. 2 f d e g r e e s . \ n N u m e r i c a l
a p e r t u r e i s %. 3 f . \ n A c c e p t a n c e a n g l e i s %. 2 f
35
d e g r e e . ,phi , NA , theta ) ;
13
14
15
// a n s w e r s i n t h e book
// C r i t i c a l a n g l e i s 8 0 . 5 6 d e g r e e s , d e v i a t i o n o f
0.01.
16 // N u m e r i c a l a p e r t u r e i s 0 . 2 4 4 , d e v i a t i o n o f 0 . 0 0 2 .
17 // A c c e p t a n c e a n g l e i s 1 4 . 1 7 d e g r e e , d e v i a t i o n o f
0.14.
36
Chapter 4
Signal Degradation in Fibers
Scilab code Exa 4.3.1 Find signal attenuation and InputOutput ratio
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Example 4 . 3 . 1
page 4 . 4
clc ;
clear ;
L =10;
// f i b e r l e n g t h i n km
Pin =150 d -6;
// i n p u t power
Pout =5 d -6;
// o u t p u t power
len =20;
// l e n g t h o f o p t i c a l l i n k
interval =1;
// s p l i c e s a f t e r i n t e r v a l o f 1 km
l =1.2;
// l o s s due t o 1 s p l i c e
attenuation =10* log10 ( Pin / Pout ) ;
alpha = attenuation / L ;
attenuation_loss = alpha *20;
splices_loss =( len - interval ) * l ;
total_loss = attenuation_loss + splices_loss ;
power_ratio =10^( total_loss /10) ;
37
printf ( \ n S i g n a l a t t e n u a t i o n i s %. 2 f dBs . \ n S i g n a l
a t t e n u a t i o n i s %. 3 f dB/Km. \ n T o t a l l o s s i n 20 Km
f i b e r i s %. 2 f dbs . \ n T o t a l a t t e n u a t i o n i s %. 2 f dBs
. \ n i n p u t / o u t p u t r a t i o i s %e . , attenuation , alpha ,
attenuation_loss , total_loss , power_ratio ) ;
23 printf ( \ nAs s i g n a l a t t e n u a t i o n i s a p p r o x i m a t e l y
e q u a l t o 1 0 5 , we can s a y t h a t l i n e i s v e r y l o s s y
. );
22
power
Pout = Pout *10^6;
printf ( \ nOutput power i s %. 3 f m i c r o w a t t . , Pout ) ;
printf ( \nNOTE c a l c u l a t i o n e r r o r i n t h e book . \
nThey have t a k e n 0 . 8 3 0 = 2 . 4 which a c t u a l l y i s 2 4 .
);
14
15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// Example 4 . 6 . 1
page 4 . 1 2
clc ;
clear ;
beta_c =8 d -11;
// i s o t h e r m a l c o m p r e s s i b i l i t y
n =1.46;
// r e f r a c t i v e i n d e x
P =0.286;
// p h o t o e l a s t i c c o n s t a t
k =1.38 d -23; // Boltzmnn c o n s t a n t
T =1500;
// t e m p e r a t u r e
L =1000;
// l e n g t h
lamda =1000 d -9; // w a v e l e n g t h
// Example 4 . 6 . 2
page 4 . 1 3
clc ;
clear ;
beta_c =7 d -11;
// i s o t h e r m a l c o m p r e s s i b i l i t y
n =1.46;
// r e f r a c t i v e i n d e x
P =0.29;
// p h o t o e l a s t i c c o n s t a t
k =1.38 d -23; // Boltzmnn c o n s t a n t
T =1400;
// t e m p e r a t u r e
L =1000;
// l e n g t h
lamda =0.7 d -6; // w a v e l e n g t h
39
14
15
16
17
18
19
20
21
Scilab code Exa 4.8.1 Compare SRS and SBS threshold powers
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// Example 4 . 8 . 1
page 4 . 1 7
clc ;
clear ;
d =5;
// c o r e d i a m e t e r
alpha =0.4; // a t t e n u a t i o n
B =0.5;
// Bandwidth
lamda =1.4;
// w a v e l e n g t h
PB =4.4 d -3* d ^2* lamda ^2* alpha * B ;
// c o m p u t i n g
t h r e s h o l d power f o r SBS
PR =5.9 d -2* d ^2* lamda * alpha ;
// c o m p u t i n g
t h r e s h o l d power f o r SRS
PB = PB *10^3;
PR = PR *10^3;
printf ( \ n T h r e s h o l d power f o r SBS i s %. 1 f mW. \
n T h r e s h o l d power f o r SRS i s %. 3 f mW. ,PB , PR ) ;
40
15
16
17
// C a l c u l a t i o n e r r o r i n t h e book w h i l e c a l c u l a t i n g
t h r e s h o l d f o r SBS . Also , w h i l e c a l c u l a t i n g SRS ,
f o r m u l a i s t a k e n i n c o r r e c t l y , Bandwidth i s
m u l t i p l i e d i n s e c o n d s t e p , which i s n o t i n t h e
formula
18 // a n s w e r s i n t h e book
19 //PB=30.8mW
20 //PR= 0 . 4 1 3mW
cladding r e f r a c t i v e index
11 Rc =(3* n1 ^2* lamda ) /(4*3.14*( n1 ^2 - n2 ^2) ^1.5) ;
//
computing c r i t i c a l r a d i u s
12 Rc = Rc *10^3;
13 printf ( \ n C r i t i c a l r a d i u s i s %. 1 f m i c r o m e t e r . , Rc ) ;
14
15
// a n s w e r i n t h e book i s 9 m i c r o m e t e r , d e v i a t i o n o f
0.1 micrometer .
41
Scilab code Exa 4.9.2 Find critical radius for both single mode and multi
mode fiber
1
2
3
4
5
6
7
8
9
10
11
// Example 4 . 9 . 2
page 4 . 2 0
clc ;
clear ;
n1 =1.45;
// r e f r a c t i v e i n d e x o f c o r e
delta =3/100;
// r e l a t i v e r e f r a c t i v e i n d e x
lamda =1.5 d -6;
// w a v e l e n g t h
a =5 d -6;
// c o r e r a d i u s
// C a l c u l a t i o n e r r o r i n t h e book . ( 2 . 7 4 8 0 . 9 9 6 lamda /
l a m d a c u t o f f ) 3; i n t h i s term r a i s e d t o 3 i s
42
n o t t a k e n i n t h e book .
24 // a n s w e r i n t h e book i s 7 . 2 3mm. ( i n c o r r e c t )
// c o m p u t i n g
material dispersion
11 Dt = Dt *10^9;
12 printf ( \ n M a t e r i a l d i s p e r s i o n a t 1 5 5 0 nm i s %. 1 f p s /
nm/km , Dt ) ;
13 printf ( \n\nNOTE S l i g h t d e v i a t i o n i n t h e a n s w e r
b e c a u s e o f p r i n t i g m i s t a k e \ n I n p r o b l e m t h e y have
g i v e n lamda0 a s 1 3 0 0 n a n o m e t e r \ nbut w h i l e
s o l v i n g t h e y have t a k e n i t a s 1 3 3 0 n a n o m e t e r ) ;
14
15
Scilab code Exa 4.15.1 Find maximum possible bandwidth pulse dispersion and bandwidth length product
1 // Example 4 . 1 5 . 1
2
3 clc ;
page 4 . 3 5
43
4 clear ;
5
6 tau =0.1 d -6;
// p u l s e b r o a d n i n g
7 dist =20 d3 ;
// d i s t a n c e
8
9 Bopt =1/(2* tau ) ;
// c o m p u t i n g o p t i c a l bandwidth
10 Bopt = Bopt *10^ -6;
11 dispertion = tau / dist ;
// c o m p u t i n g d i s p e r s i o n
12 dispertion = dispertion *10^12;
13 BLP = Bopt * dist ;
// c o m p u t i n g Bandwidth l e n g t h
product
14 BLP = BLP *10^ -3;
15 printf ( \ n o p t i c a l bandwidth i s %d MHz . \ n D i s p e r s i o n
p e r u n i t l e n g t h i s %d n s /km . \ nBandwidth l e n g t h
p r o d u c t i s %d MHz . km . , Bopt , dispertion , BLP ) ;
// Example 4 . 1 5 . 2
page 4 . 3 6
clc ;
clear ;
L =10;
// f i b e r l e n g t h i n km
Pin =100 d -6;
// i n p u t power
Pout =5 d -6;
// o u t p u t power
len =12;
// l e n g t h o f o p t i c a l l i n k
interval =1;
// s p l i c e s a f t e r i n t e r v a l o f 1 km
l =0.5;
// l o s s due t o 1 s p l i c e
// c o m p u t i n g
// c o m p u t i n g
19
20
printf ( \ n S i g n a l a t t e n u a t i o n i s %. 1 f dB/Km. \ n O v e r a l l
a t t e n u a t i o n i s %d dB f o r 10 km . \ n T o t a l
a t t e n u a t i o n i s %. 1 f dBs f o r 12km . , alpha ,
signal_attenuation , total_attenuation ) ;
product
14 BLP = BLP *10^ -3;
15 printf ( \ n o p t i c a l bandwidth i s %d MHz . \ n D i s p e r s i o n
p e r u n i t l e n g t h i s %. 1 f n s /km . \ nBandwidth l e n g t h
p r o d u c t i s %d MHz . km , Bopt , dispertion , BLP ) ;
45
// Example 4 . 1 5 . 4
page 4 . 3 8
clc ;
clear ;
tau01 =10;
// p u l s e b r o a d n i n g n s /mm
L1 =0.1;
// l e n g t h i n k i l o m e t e r
tau02 =20;
// p u l s e b r o a d n i n g n s /m
L2 =1;
// l e n g t h i n k i l o m e t e r
tau03 =2000; // p u l s e b r o a d n i n g n s /m
L3 =2;
// l e n g t h i n k i l o m e t e r
tau1 =10 d -9/1 d -6;
tau1 = tau1 * L1 ;
Bopt1 =1/(2* tau1 ) ;
tau2 =20 d -9/1 d -3;
tau2 = tau2 * L2 ;
Bopt2 =1/(2* tau2 ) ;
Bopt2 = Bopt2 *10^ -3;
tau3 =2000 d -9/1 d -3;
tau3 = tau3 * L3 ;
Bopt3 =1/(2* tau3 ) ;
// c o m p u t i n g o p t i c a l bandwidth
// c o m p u t i n g o p t i c a l bandwidth
// c o m p u t i n g o p t i c a l bandwidth
30
31
// C a l c u l a t i o n e r r o r b e c a u s e , I n f i r s t two c a s e s t a u
i s n o t m u l t i p l i e d by 2
32 // a n s w e r s
33 //When t a u i s 10 n s /mm, o v e r l e n g t h 0 . 1 km , o p t i c a l
bandwidth f o r RZ i s 1 0 0 0 MHz and f o r NRZ i s 500
MHz .
34 //When t a u i s 20 n s /m, o v e r l e n g t h 1 km , o p t i c a l
bandwidth f o r RZ i s 50 KHz and f o r NRZ i s 25 KHz .
Scilab code Exa 4.15.5 Calculate maximum possible bandwidth and dispersion
1 // Example 4 . 1 5 . 5
page 4 . 3 9
2
3 clc ;
4 clear ;
5
6 tau =0.1 d -6;
// p u l s e b r o a d n i n g
7 dist =15 d3 ;
// d i s t a n c e
8
9 Bopt =1/(2* tau ) ;
// c o m p u t i n g o p t i c a l bandwidth
10 Bopt = Bopt *10^ -6;
11 dispertion = tau / dist ;
// c o m p u t i n g d i s p e r s i o n
12 dispertion = dispertion *10^12;
13 printf ( \ n o p t i c a l bandwidth i s %d MHz . \ n D i s p e r s i o n
47
Scilab code Exa 4.15.6 Compute delay difference rms pulse broadening
and maximum bit rate
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Example 4 . 1 5 . 6
page 4 . 3 9
clc ;
clear ;
L =5;
// l e n g t h o f o p t i c a l l i n k
n1 =1.5
// r e f r a c t i v e i n d e x
c =3 d8 ;
// s p e e d o f l i g h t
delta =1/100;
// r e l a t i v e r e f r a c t i v e i n d e x
delTS = L * n1 * delta / c ;
// c o m p u t i n g d e l a y d i f f e r e n c e
delTS = delTS *10^12;
sigmaS = L * n1 * delta /(2* sqrt (3) * c ) ;
// c o m p u t i n g rms
pulse broadning
sigmaS = sigmaS *10^12;
B =1/(2* delTS ) ;
// c o m p u t i n g maximum b i t r a t e
B = B *10^3;
B_acc =0.2/( sigmaS ) ;
// c o m p u t i n g a c c u r a t e b i t
rate
B_acc = B_acc *10^3;
BLP = B_acc * L ;
// c o m p u t i n g Bandwidth l e n g t h
product
printf ( \ nDelay d i f f e r e n c e i s %d n s . \ nRMS p u l s e
b r o a d n i n g i s %. 2 f n s . \ n B i t r a t e i s %. 1 f Mbit / s . \
n A c c u r a t e b i t r a t e i s %. 2 f M b i t s / s . \ nBandwidth
l e n g t h p r o d u c t i s %. 2 f MHz . km . , delTS , sigmaS ,B ,
B_acc , BLP ) ;
22
23
// a n s w e r i n t h e book f o r RMS p u l s e b r o a d n i n g i s
7 2 . 2 5 ns , d e v i a t i o n o f 0 . 0 8 n s .
24 // a n s w e r i n t h e book f o r Bandwidth l e n g t h p r o d u c t i s
1 3 . 8 5 MHz . km , d e v i a t i o n o f 0 . 0 1MHz . km .
48
Scilab code Exa 4.15.7 Estimate rms pulse broadening and bandwidth
length product
1
2
3
4
5
6
7
8
// Example 4 . 1 5 . 7
clc ;
clear ;
NA =0.3;
n1 =1.45;
M =250;
/km
9 L =1;
10 BW =50;
11 c =3 d8 ;
12
13
14
15
16
17
18
19
20
21
22
page 4 . 4 0
// n u m e r i c a l a p e r t u r e
// r e f r a c t i v e i n d e x
// m a t e r i a l d i s p e r t i o n p a r a m e t e r i n p s /nm
// l e n g t h
// Bandwidth i n nm
// s p e e d o f l i g h t
sigmaLamda = BW * L ;
sigmaM = sigmaLamda * L * M *10^ -12;
sigmaS =10^3* L *( NA ) ^2/(4* sqrt (3) * n1 * c ) ;
sigmaT = sqrt ( sigmaM ^2+ sigmaS ^2) ;
// c o m p u t i n g
t o t a l RMS p u l s e b r o a d n i n g
BLP =0.2/ sigmaT ;
// c o m p u t i n g bandwidth l e n g t h
product
sigmaT = sigmaT *10^9;
sigmaM = sigmaM *10^9;
sigmaS = sigmaS *10^9;
BLP = BLP /10^6;
printf ( \ n T o t a l RMS p u l s e b r o a d n i n g i s %. 1 f n s /km . \
nBandwidth l e n g t h p r o d u c t i s %. 1 f MHz . km , sigmaT ,
BLP ) ;
49
product
14 BLP = BLP *10^ -3;
15 printf ( \ n o p t i c a l bandwidth i s %d MHz . \ n D i s p e r s i o n
p e r u n i t l e n g t h i s %. 1 f n s /km . \ nBandwidth l e n g t h
p r o d u c t i s %d MHz . km . , Bopt , dispertion , BLP ) ;
// Example 4 . 1 5 . 9
page 4 . 4 1
clc ;
clear ;
RSW =0.0012;
// r e l a t i v e s p e c t r a l w i d t h
lamda =0.85 d -6; // w a v e l e n g t h
L =1;
// d i s t a n c e i n km ( assumed )
M =100;
// m a t e r i a l d i s p e r s i o n p a r a m e t e r i n p s /nm
/km ( assumed )
10
50
11
12
Scilab code Exa 4.15.10 Estimate bandwidth pulse broadening and bandwidth length product
1 // Example 4 . 1 5 . 1 0
page 4 . 4 2
2
3 clc ;
4 clear ;
5
6 tau =0.1 d -6;
// p u l s e b r o a d n i n g
7 dist =18 d3 ;
// d i s t a n c e
8
9 Bopt =1/(2* tau ) ;
// c o m p u t i n g o p t i c a l bandwidth
10 Bopt = Bopt *10^ -6;
11 dispertion = tau / dist ;
// c o m p u t i n g d i s p e r s i o n
12 dispertion = dispertion *10^12;
13 BLP = Bopt * dist ;
// c o m p u t i n g Bandwidth l e n g t h
product
14 BLP = BLP *10^ -3;
15 printf ( \ n o p t i c a l bandwidth i s %d MHz . \ n D i s p e r s i o n
p e r u n i t l e n g t h i s %. 1 f n s /km . \ nBandwidth l e n g t h
p r o d u c t i s %d MHz . km , Bopt , dispertion , BLP ) ;
16 printf ( \nNOTE p r i n t i n g m i s t a k e i n t h e book a t
d i s p e r s i o n p e r u n i t l e n g t h . \ nThey have p r i n t e d p s
/km ; i t s h o u l d be n s /km ) ;
17
18
// p r i n t i n g m i s t a k e i n t h e book a t d i s p e r s i o n p e r
u n i t l e n g t h . They have p r i n t e d p s /km ; i t s h o u l d be
n s /km .
19 // a n s w e r i n t h e book 5 . 5 5 p s /km ( i n c o r r e c t )
51
// Example 4 . 1 6 . 1
page 4 . 4 3
clc ;
clear ;
RSW =0.0012;
// r e l a t i v e s p e c t r a l w i d t h
lamda =0.90 d -6; // w a v e l e n g t h
L =1;
// d i s t a n c e i n km ( assumed )
P =0.025;
// m a t e r i a l d i s p e r s i o n p a r a m e t e r
c =3 d5 ;
// s p e e d o f l i g h t i n km/ s
M =10^3* P /( c * lamda ) ;
// c o m p u t i n g m a t e r i a l
dispersion
13 sigma_lamda = RSW * lamda ;
14 sigmaM = sigma_lamda * L * M *10^7;
// c o m p u t i n g RMS
pulse broadning
15 sigmaB =25* L * M *10^ -3;
16
17
18
19
printf ( \ n M a t e r i a l d i s p e r s i o n p a r a m e t e r i s %. 2 f p s /
nm/km . \ nRMS p u l s r b r o a d n i n g when s i g m a l a m d a i s
25 i s %. 1 f n s /km . \ nRMS p u l s e b r o a d n i n g i s %. 1 f n s
/km . ,M , sigmaB , sigmaM ) ;
// a n s w e r i n t h e book f o r RMS p u l s e b r o a d n i n g i s 0 . 9 9
n s /km , d e v i a t i o n o f 0 . 0 1 n s /km .
Scilab code Exa 4.18.1 Find delay difference and rms pulse broadening
1
// Example 4 . 1 8 . 1
page 4 . 4 5
52
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
clc ;
clear ;
L =10;
// l e n g t h o f o p t i c a l l i n k
n1 =1.49
// r e f r a c t i v e i n d e x
c =3 d8 ;
// s p e e d o f l i g h t
delta =1/100;
// r e l a t i v e r e f r a c t i v e i n d e x
delTS = L * n1 * delta / c ;
// c o m p u t i n g d e l a y d i f f e r e n c e
delTS = delTS *10^12;
sigmaS = L * n1 * delta /(2* sqrt (3) * c ) ;
// c o m p u t i n g rms
pulse broadning
sigmaS = sigmaS *10^12;
B =1/(2* delTS ) ;
// c o m p u t i n g maximum b i t r a t e
B = B *10^3;
B_acc =0.2/( sigmaS ) ;
// c o m p u t i n g a c c u r a t e b i t
rate
B_acc = B_acc *10^3;
BLP = B_acc * L ;
// c o m p u t i n g Bandwidth l e n g t h
product
printf ( \ nDelay d i f f e r e n c e i s %d n s . \ nRMS p u l s e
b r o a d n i n g i s %. 1 f n s . \ n B i t r a t e i s %. 1 f Mbit / s . \
n A c c u r a t e b i t r a t e i s %. 3 f M b i t s / s . \ nBandwidth
l e n g t h p r o d u c t i s %. 1 f MHz . km , delTS , sigmaS ,B ,
B_acc , BLP ) ;
// a n s w e r f o r maximum b i t r a t e i s g i v e n a s 1 . 0 0 8 Mb/ s
, d e v i a t i o n o f 0 . 0 0 8 Mb/ s .
53
Chapter 5
Fiber Optic Splices Connectors
and Couplers
13
14
15
// Example 5 . 2 . 1
page 5 . 2
clc ;
clear ;
n1 =1.47;
n =1;
// r e f r a c t i v e i n d e x o f f i b e r
// r e f r a c t i v e i n d e x o f a i r
r =(( n1 - n ) /( n1 + n ) ) ^2;
// c o m p u t i n g f r a c t i o n o f
light reflected
loss = -10* log10 (1 - r ) ;
// l o s s
total_loss =2* loss ;
printf ( r = %. 3 f , which means %. 1 f p e r c e n t o f t h e
t r a n s i m i t t e d l i g h t i s r e f l e c t e d a t one i n t e r f a c e
,r , r *100) ;
printf ( \ n T o t a l l o s s i s %. 3 f dB , total_loss ) ;
// a n s w e r i n t h e book f o r t o t a l l o s s o f f i b e r
0 . 3 1 8 dB , d e v i a t i o n o f 0 . 0 0 2
54
is
Scilab code Exa 5.2.2 Estimate insertion loss due to lateral misalingment
1
2
3
4
5
6
7
8
9
10
11
12
// Example 5 . 2 . 2
page 5 . 4
clc ;
clear ;
n1 =1.47;
n =1;
d =40 d -6;
y =4 d -6;
// r e f r a c t i v e i n d e x o f f i b e r
// r e f r a c t i v e i n d e x o f a i r
// c o r e d i a m e t e r
// l a t e r a l d i s p a l c e m e n t
a = d /2;
// c o m p u t i n g c o r e r a d i u s
eta_lateral = (16*( n1 / n ) ^2) /( %pi *(1+( n1 / n ) ) ^4) *(2*
acos ( y /(2* a ) ) -( y / a ) *(1 -( y /(2* a ) ) ^2) ^0.5) ;
//
c o m p u t i n g e t a l a t e r a l w i t h a i r gap
13 loss = -10* log10 ( eta_lateral ) ;
// c o m p u t i n g l o s s
when a i r gap i s p r e s e n t
14 eta_lateral1 =(2* acos ( y /(2* a ) ) -( y / a ) *(1 -( y /(2* a ) ) ^2)
^0.5) / %pi ;
// c o m p u t i n g e t a l a t e r a l w i t h o u t
a i r gap
15 loss1 = -10* log10 ( eta_lateral1 ) ;
// c o m p u t i n g l o s s
when a i r gap i s n o t p r e s e n t
16
17
18
19
printf ( \ n l o s s w i t h a i r gap i s %. 2 f dB . \ n l o s s w i t h
no a i r gap i s %. 2 f dB . \ n Thus we can s a y t h a t
l o s s r e d u c e s c o n s i d e r a b l y i f t h e r e i s no a i r gap .
, loss , loss1 ) ;
// a n s w e r i n t h e book f o r l o s s w i t h a i r gap i s 0 . 9 1 dB
, d e v i a t i o n o f 0 . 0 1 dB .
55
12
13
14
15
16
// Example 5 . 2 . 3
page 5 . 5
clc ;
clear ;
n1 =1.48;
// r e f r a c t i v e i n d e x o f f i b e r
n =1;
// r e f r a c t i v e i n d e x o f a i r
theta =10;
// a n g l e i n d e g r e e
NA1 =0.3;
NA2 =0.6
eta_angular1 = (16*( n1 / n ) ^2) /((1+( n1 / n ) ) ^4) *(1 -(( n *
theta * %pi /180) /( %pi * NA1 ) ) ) ;
// c o m p u t i n g e t a
angular
eta_angular2 = (16*( n1 / n ) ^2) /((1+( n1 / n ) ) ^4) *(1 -(( n *
theta * %pi /180) /( %pi * NA2 ) ) ) ;
// c o m p u t i n g e t a
angular
loss1 = -10* log10 ( eta_angular1 ) ;
// c o m p u t i n g l o s s
loss2 = -10* log10 ( eta_angular2 ) ;
// c o m p u t i n g l o s s
printf ( \ n L o s s when NA i s %. 1 f i s %. 2 f dB . \ n L o s s
when NA i s %. 1 f i s %. 2 f dB . ,NA1 , loss1 , NA2 , loss2 )
;
printf ( \ nThus we can s a y t h a t i n s e r t i o n l o s s i s
c o n s i d e r a b l y r e d u c e d w i t h h i g h e r NA. ) ;
56
8
9 r =(( n1 - n ) /( n1 + n ) ) ^2;
10
11
12
13
14
15
// c o m p u t i n g f r a c t i o n o f
light reflected
loss = -10* log10 (1 - r ) ;
// l o s s
total_loss =2* loss ;
printf ( r = %. 2 f , which means %. 1 f p e r c e n t o f t h e
t r a n s i m i t t e d l i g h t i s r e f l e c t e d a t one i n t e r f a c e
,r , r *100) ;
printf ( \ n T o t a l l o s s i s %. 2 f dB , total_loss ) ;
// a n s w e r i n t h e book f o r t o t a l l o s s o f f i b e r
dB , d e v i a t i o n o f 0 . 0 1
i s 0.36
Scilab code Exa 5.2.5 Estimate insertion loss due to lateral misalignment
1
2
3
4
5
6
7
8
9
10
11
12
// Example 5 . 2 . 5
page 5 . 7
clc ;
clear ;
n1 =1.5;
n =1;
d =50 d -6;
y =5 d -6;
// r e f r a c t i v e i n d e x o f f i b e r
// r e f r a c t i v e i n d e x o f a i r
// c o r e d i a m e t e r
// l a t e r a l d i s p a l c e m e n t
a = d /2;
// c o m p u t i n g c o r e r a d i u s
eta_lateral = (16*( n1 / n ) ^2) /( %pi *(1+( n1 / n ) ) ^4) *(2*
acos ( y /(2* a ) ) -( y / a ) *(1 -( y /(2* a ) ) ^2) ^0.5) ;
//
c o m p u t i n g e t a l a t e r a l w i t h a i r gap
13 loss = -10* log10 ( eta_lateral ) ;
// c o m p u t i n g l o s s
when a i r gap i s p r e s e n t
14 eta_lateral1 =(2* acos ( y /(2* a ) ) -( y / a ) *(1 -( y /(2* a ) ) ^2)
^0.5) / %pi ;
// c o m p u t i n g e t a l a t e r a l w i t h o u t
a i r gap
15 loss1 = -10* log10 ( eta_lateral1 ) ;
// c o m p u t i n g l o s s
57
when a i r gap i s n o t p r e s e n t
16
17
18
19
printf ( \ n l o s s w i t h a i r gap i s %. 2 f dB . \ n l o s s w i t h
no a i r gap i s %. 2 f dB . , loss , loss1 ) ;
// a n s w e r i n t h e book f o r l o s s w i t h a i r gap i s 0 . 9 5 dB
, d e v i a t i o n o f 0 . 0 1 dB .
15
16
17
18
// Example 5 . 2 . 6
page 5 . 8
clc ;
clear ;
n1 =1.47;
// r e f r a c t i v e i n d e x o f f i b e r
n =1;
// r e f r a c t i v e i n d e x o f a i r
theta =3;
// a n g l e i n d e g r e e
d =80 d -6;
// c o r e d i a m e t e r
y =2 d -6;
// l a t e r a l d i s p a l c e m e n t
delta =2/100;
// r e l a t i v e r e f r a c t i v e i n d e x
a = d /2;
// c o m p u t i n g c o r e r a d i u s
eta_lateral = (16*( n1 / n ) ^2) /( %pi *(1+( n1 / n ) ) ^4) *(2*
acos ( y /(2* a ) ) -( y / a ) *(1 -( y /(2* a ) ) ^2) ^0.5) ;
//
computing e t a l a t e r a l
loss_lateral = -10* log10 ( eta_lateral ) ;
// c o m p u t i n g
l o s s due t o l a t e r a l m i s a l i g n m e n t
eta_angular = (16*( n1 / n ) ^2) /((1+( n1 / n ) ) ^4) *(1 -(( n *
theta * %pi /180) /( %pi * n1 *( sqrt (2* delta ) ) ) ) ) ;
//
computing e t a a n g u l a r
loss_angular = -10* log10 ( eta_angular ) ;
// c o m p u t i n g
l o s s due t o a n g u l a r m i s a l i g n m e n t
total_loss = loss_lateral + loss_angular ;
// c o m p u t i n g
t o t a l l o s s due t o m i s a l i g n m e n t
58
19
20
21
printf ( \ n l o s s due t o l a t e r a l m i s a l i g n m e n t i s %. 2 f
dB . \ n l o s s due t o a n g u l a r m i s a l i g n m e n t i s %. 2 f dB
. \ n T o t a l l o s s i s %. 2 f dB , loss_lateral ,
loss_angular , total_loss ) ;
// a n s w e r i n t h e
misalignment
22 // a n s w e r i n t h e
deviation of
book f o r l o s s due t o l a t e r a l
i s 0 . 4 8 dB , d e v i a t i o n o f 0 . 0 2 .
book f o r t o t a l l o s s due i s 1 . 0 5 dB ,
0.02.
// c o m p u t i n g
loss
printf ( \ n I n s e r t i o n l o s s i s %. 2 f dB . , Lsm_lat ) ;
59
8 n2 =1.465;
// c l a d d i n g r e f r a c t i v e i n d e x
9 W =4.95 d -6;
//MFD
10
11 Lsm_ang = -10* log10 ( %e ^( -( %pi * n2 * W *( theta * %pi /180) /
lamda ) ^2) ) ;
// c o m p u t i n g l o s s
12 printf ( \ n I n s e r t i o n l o s s i s %. 2 f dB . , Lsm_ang ) ;
Scilab code Exa 5.6.1 Determine excess loss insertion loss cross talk and
split ratio
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// Example 5 . 6 . 1
page 5 . 3 0
clc ;
clear ;
p1 =50 d -6;
p2 =0.003 d -6;
p3 =25 d -6;
p4 =26.5 d -6
EL =10* log10 ( p1 /( p3 + p4 ) ) ;
// c o m p u t i n g e x c e s s
loss
IL13 =10* log10 ( p1 / p3 ) ;
// c o m p u t i n g i n s e r t i o n l o s s
IL14 =10* log10 ( p1 / p4 ) ;
// c o m p u t i n g i n s e r t i o n l o s s
ct =10* log10 ( p2 / p1 ) ;
// c o m p u t i n g c r o s s t a l k
sr =( p3 /( p3 + p4 ) ) *100;
// c o m p u t i n g s p l i t r a t i o
printf ( \ n E x c e s s l o s s i s %. 2 f dB . \ n I n s e r t i o n l o s s
from p o r t 1 t o p o r t 3 i s %. 2 f dB . \ n I n s e r t i o n l o s s
from p o r t 1 t o p o r t 4 i s %. 2 f dB . \ n c r o s s t a l k i s
%. 2 f dB . \ n S p l i t r a t i o i s %. 2 f p e r c e n t ,EL , IL13 ,
IL14 , ct , sr ) ;
18 printf ( \nNOTE c a l c u l a t i o n e r r o r i n t h e book . \ n
Minus s i g n i s n o t p r i n t e d i n t h e a n s w e r o f e x c e s s
l o s s . \ nP1 i s t a k e n 25 i n s t e a d o f 50 w h i l e
60
c a l c u l a t i n g c r o s s t a l k . );
19
20
21
22
23
24
// c a l c u l a t i o n e r r o r i n t h e book . Minus s i g n i s n o t
p r i n t e d i n t h e a n s w e r o f e x c e s s l o s s . P1 i s t a k e n
25 i n s t e a d o f 50 w h i l e c a l c u l a t i n g c r o s s t a l k .
// a n s w e r s i n t h e book w i t h s l i g h t d e v i a t i o n s
// E x c e s s l o s s i s 0 . 1 2 dB . ( p r i n t i n g e r r o r )
// I n s e r t i o n l o s s from p o r t 1 t o p o r t 4 i s 2 . 7 5 dB .
// c r o s s t a l k i s 39.2 dB . ( c a l c u l a t i o n e r r o r )
Scilab code Exa 5.6.2 Find total loss and average insertion loss
1 // Example 5 . 6 . 2
page 5 . 3 2
2
3 clc ;
4 clear ;
5
6 N =16;
// Number o f p o r t s
7 Pin =1 d -3;
// i n p u t power
8 Pout =12 d -6; // o u t p u t power
9
10 split_loss =10* log10 ( N ) ;
// c o m p u t i n g s p l i t l o s s
11 excess_loss =10* log10 ( Pin /( Pout * N ) ) ;
// c o m p u t i n g
excess loss
total_loss = split_loss + excess_loss ;
total loss
13 insertion_loss = 10* log10 ( Pin / Pout ) ;
insertion loss
12
14
15
// c o m p u t i n g
// c o m p u t i n g
printf ( \ n T o t a l l o s s i s %. 2 f dB . \ n I n s e r t i o n l o s s i s
%. 2 f dB . , total_loss , insertion_loss ) ;
16
17
// a n s w e r i n t h e book f o r T o t a l l o s s i s 1 9 . 1 4 ,
d e v i a t i o n o f 0 . 0 6 dB .
18 // a n s w e r i n t h e book f o r i n s e r t i o n l o s s i s 1 9 . 2 0 ,
61
d e v i a t i o n o f 0 . 0 1 dB .
62
Chapter 6
Optical Sources
Scilab code Exa 6.3.2 Find out number of longitudinal modes and frequency separation
1 // Example 6 . 3 . 2
2
3 clc ;
4 clear ;
5
page 6 . 1 2
63
6
7
8
9
10
11
12
13
14
15
n =1.7;
// r e f r a c t i v e i n d e x
L =5 d -2;
// d i s t a n c e b e t w e e n m i r r o r
c =3 d8 ;
// s p e e d o f l i g h t
lamda =0.45 d -6; // w a v e l e n g t h
k =2* n * L / lamda ;
delf = c /(2* n * L ) ;
delf = delf *10^ -9;
// c o m p u t i n g number o f modes
// c o m p u t i n g mode s e p a r a t i o n
o f any n u m e r i c a l
computation
7
8
Scilab code Exa 6.21.1 Determine total recombination lifetime and internally generated power emission
1
2
3
4
5
6
7
8
9
10
11
12
// Example 6 . 2 1 . 1
page 6 . 5 9
clc ;
clear ;
tr =50;
// r a d i a t i v e r e c o m b i n a t i o n l i f e t i m e
tnr =85;
// nonr a d i a t i v e r e c o m b i n a t i o n l i f e t i m e
h =6.624 d -34; // p l a n k s c o n s t a n t
c =3 d8 ;
// s p e e d o f l i g h t
q =1.6 d -19; // c h a r g e o f e l e c t r o n
i =35 d -3;
// c u r r e n t
lamda =0.85 d -6;
// w a v e l e n g t h
65
13
14 t = tr * tnr /( tr + tnr ) ;
// c o m p u t i n g t o t a l
recombination time
15 eta = t / tr ;
quantum e f f i c i e n c y
16 Pint = eta * h * c * i /( q * lamda ) ;
g e n e r a t e d power
17 Pint = Pint *10^3
18
19
// c o m p u t i n g i n t e r n a l
// c o m p u t i n g i n t e r n a l l y
printf ( \ n T o t a l r e c o m b i n a i t o n t i m e i s %. 2 f n s . \
n I n t e r n a l quantum e f f i c i e n c y i s %. 3 f . \ n I n t e r n a l l y
g e n e r a t e d power i s %. 1 f mW. ,t , eta , Pint ) ;
20
21
// a n s w e r i n t h e book f o r I n t e r n a l quantum e f f i c i e n c y
is 0.629 , deviation of 0.001.
22 // a n s w e r i n t h e book f o r I n t e r n a l l y g e n e r a t e d power
i s 3 2 . 1 6 mW, d e v i a t i o n o f 0 . 0 4 mW.
Scilab code Exa 6.21.2 Determine total recombination life time internal
quantum efficiency internal power level
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// Example 6 . 2 1 . 2
page 6 . 5 9
clc ;
clear ;
tr =30;
// r a d i a t i v e r e c o m b i n a t i o n l i f e t i m e
tnr =100;
// nonr a d i a t i v e r e c o m b i n a t i o n l i f e t i m e
h =6.624 d -34; // p l a n k s c o n s t a n t
c =3 d8 ;
// s p e e d o f l i g h t
q =1.6 d -19; // c h a r g e o f e l e c t r o n
i =40 d -3;
// c u r r e n t
lamda =1310 d -9;
// w a v e l e n g t h
// c o m p u t i n g t o t a l
t = tr * tnr /( tr + tnr ) ;
66
recombination time
15 eta = t / tr ;
quantum e f f i c i e n c y
16 Pint = eta * h * c * i /( q * lamda ) ;
g e n e r a t e d power
17 Pint = Pint *10^3
18
19
20
21
// c o m p u t i n g i n t e r n a l
// c o m p u t i n g i n t e r n a l l y
printf ( \ n T o t a l r e c o m b i n a i t o n t i m e i s %. 2 f n s . \
n I n t e r n a l quantum e f f i c i e n c y i s %. 3 f . \ n I n t e r n a l l y
g e n e r a t e d power i s %. 2 f mW. ,t , eta , Pint ) ;
// a n s w e r i n t h e book f o r T o t a l r e c o m b i n a i t o n t i m e i s
2 3 . 0 7 ns , d e v i a t i o n o f 0 . 0 1 n s .
Scilab code Exa 6.21.3 Determine total recombination lifetime and internally generated power
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// Example 6 . 2 1 . 3
page 6 . 6 0
clc ;
clear ;
tr =50;
// r a d i a t i v e r e c o m b i n a t i o n l i f e t i m e
tnr =110;
// nonr a d i a t i v e r e c o m b i n a t i o n l i f e t i m e
h =6.624 d -34; // p l a n k s c o n s t a n t
c =3 d8 ;
// s p e e d o f l i g h t
q =1.6 d -19; // c h a r g e o f e l e c t r o n
i =40 d -3;
// c u r r e n t
lamda =0.87 d -6;
// w a v e l e n g t h
// c o m p u t i n g t o t a l
t = tr * tnr /( tr + tnr ) ;
recombination time
15 eta = t / tr ;
quantum e f f i c i e n c y
16 Pint = eta * h * c * i /( q * lamda ) ;
// c o m p u t i n g i n t e r n a l
// c o m p u t i n g i n t e r n a l l y
67
g e n e r a t e d power
17 Pint = Pint *10^3
18
19
printf ( \ n T o t a l r e c o m b i n a i t o n t i m e i s %. 2 f n s . \
n I n t e r n a l quantum e f f i c i e n c y i s %. 4 f . \ n I n t e r n a l l y
g e n e r a t e d power i s %. 2 f mW. ,t , eta , Pint ) ;
20
21
22
// a n s w e r s i n t h e book w i t h s l i g h t d e v i a i t o n s
// T o t a l r e c o m b i n a i t o n t i m e i s 3 4 . 3 7 ns , d e v i a t i o n o f
0 . 0 1 ns .
23 // I n t e r n a l quantum e f f i c i e n c y i s 0 . 6 8 7 4 , d e v i a i t o n
of 0.0001.
24 // I n t e r n a l l y g e n e r a t e d power i s 3 9 . 2 4 mW, d e v i a t i o n
o f 0 . 0 2mW.
// Example 6 . 2 2 . 1
page 6 . 6 8
clc ;
clear ;
f1 =10 d6 ;
// f r e q u e n c y
f2 =100 d6
t =4 d -9;
Pdc =280 d -6;
// o p t i n c a l o u t p u t power
w1 =2* %pi * f1 ;
// c o m p u t i n g omega
Pout1 = Pdc *10^6/( sqrt (1+( w1 * t ) ^2) ) ;
o u t p u t power
13
14 w2 =2* %pi * f2 ;
// c o m p u t i n g omega
15 Pout2 = Pdc *10^6/( sqrt (1+( w2 * t ) ^2) ) ;
o u t p u t power
16
68
// c o m p u t i n g
// c o m p u t i n g
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// c a l c u l a t i o n e r r o r . I n t h e book s q u a r e term i n t h e
denominater i s not taken .
// a n s w e r s i n t h e book
// Ouput power a t 10 MHz i s 2 2 8 . 7 m i c r o w a t t . (
incorrect )
// Ouput power a t 100 MHz i s 175 m i c r o w a t t . ( i n c o r r e c t
)
// 3 dB o p t i c a l power i s 6 8 . 8 MHz, d e v i a t i o n o f 0 . 1 2
// 3 dB e l e c t r i c a l power i s 4 8 . 7 9 MHz, d e v i a t i o n o f
0.06
page 6 . 6 9
69
6
7
8
9
10
11
12
n1 =3.5; // r e f r a c t i v e i n d e x
n =1;
// r e f r a c t i v e i n d e x o f a i r
F =0.69; // t r a n s m i s s i o n f a c t o r
// c o m p u t i n g e t a
printf ( \ n e t a e x t e r n a l i s %. 1 f p e r c e n t i . e . s m a l l
fraction of i n t r n a l l y generated opticalpower i s
e m i t t e d from t h e d e v i c e . , eta ) ;
13 printf ( \n\n OR we can a l s o a r r i v e a t s o l u t i o n , \ n ) ;
14
15 r = 100* F * n ^2/(4* n1 ^2) ;
// c o m p u t i n g r a t i o o f
Popt / P i n t
16
17
18
19
printf ( \n Popt / P i n t i s %. 1 f p e r c e n t ,r ) ;
printf ( \nNOTE p r i n t i n g m i s t a k e a t f i n a l a n s w e r . \
nThey have p r i n t e d 40 p e r c e n t i t s h o u l d be 1 . 4
p e r c e n t );
// Example 6 . 2 2 . 3
page 6 . 7 3
clc ;
clear ;
beta0 =1.85 d7 ;
T =293;
// t e m p e r a t u r e
k =1.38 d -23; // Boltzman c o n s t a n t
Ea =0.9*1.6 d -19;
theta =0.65; // t h e r s h o l d
betar = beta0 * %e ^( - Ea /( k * T ) ) ;
t = - log ( theta ) / betar ;
70
14
15
16
17
printf ( \ n D e g r a d a t i o n r a t e i s %. 2 e p e r h o u r . \
n O p e r a t i n g l i f e t i m e i s %. 1 e h o u r . , betar , t ) ;
// a n s w e r i n
p e r hour
18 // a n s w e r i n
+07 hour ,
t h e book f o r D e g r a d a t i o n r a t e i s 6 . 4 e 09
, d e v i a t i o n o f 0 . 0 8 e 9
t h e book f o r O p e r a t i n g l i f e t i m e i s 6 . 7 e
d e v i a i t o n o f 0 . 1 e1
71
Chapter 7
Source to Fiber Power
Launching and Photodetectors
Scilab code Exa 7.2.1 Find Fresnel reflection and power loss
1
2
3
4
5
6
7
8
9
// Example 7 . 2 . 1
page 7 . 1 1
clc ;
clear ;
n1 =3.4;
n =1.46;
// r e f r a c t i v e i n d e x o f o p t i c a l s o u r c e
// r e f r a c t i v e i n d e x o f s i l i c a f i b e r
r =(( n1 - n ) /( n1 + n ) ) ^2;
reflection
10 L = -10* log10 (1 - r ) ;
11
12
// c o m p u t i n g F r e n s e l
// c o m p u t i n g l o s s
printf ( \ n F r e n s e l r e f l e c t i o n
%. 2 f dB . ,r , L ) ;
i s %. 3 f . \ nPower l o s s i s
1
2
3
4
5
6
7
8
9
10
11
// Example 7 . 2 . 2
page 7 . 1 1
clc ;
clear ;
r =35 d -6;
// r a d i u s
R =150;
// L a m b e r t i a n e m i s s i o n p a t t e r n
NA =0.2;
// N u m e r i c a l a p e r t u r e
Pled = %pi ^2* r ^2* R * NA ^2;
Pled = Pled *10^7;
printf ( \ n O p t i c a l power f o r l a r g e r c o r e o f 35
m i c r o m e t e r i s %. 3 f mW. , Pled ) ;
12 r1 =25 d -6;
13 Pled1 =( r1 / r ) ^2* Pled ;
14 printf ( \ n O p t i c a l power f o r s m a l l e r c o r e o f 25
m i c r o m e t e r i s %. 2 f mW. , Pled1 ) ;
// Example 7 . 2 . 3
page 7 . 1 2
clc ;
clear ;
r =25 d -6;
// r a d i u s
R =39;
// L a m b e r t i a n e m i s s i o n p a t t e r n
NA =0.25;
// n u m e r i c a l a p e r t u r e
a =35 d -6;
// a r e a
Pc1 = %pi ^2* a ^2* R * NA ^2; // c o m p u t i n g c o u p l e d power
when r<a
11 Pc1 = Pc1 *10^7;
12 Pc = %pi ^2* r ^2* R * NA ^2;
// c o m p u t i n g c o u p l e d power
when r>a
13 Pc = Pc *10^7;
14
73
15
// Example 7 . 2 . 4
page 7 . 1 2
clc ;
clear ;
n1 =3.6; // r e f r a c t i v e i n d e x
n =1;
// r e f r a c t i v e i n d e x o f a i r
F =0.68; // t r a n s m i s s i o n f a c t o r
Pin =30/100; // p e r c e n t power s u p p l i e d
eta =( n1 *( n1 +1) ^2) ^ -1;
// c o m p u t i n g e t a
P = Pin * eta ;
// c o m p u t i n g o p t i c a l power e m i t t e d
eta = eta *100;
P = P *1000;
Pt = P * Pin ;
// c o m p u t i n g i n t e r n a l power
printf ( \ n e t a e x t e r n a l i s %. 1 f p e r c e n t . \ n O p t i c a l
power e m i t t e d i s %. 1 f mW. \ n I n t e r n a l power i s %. 2 f
mW. ,eta ,P , Pt ) ;
18 printf ( \ nNote P r i n t i n g e r r o r i n t h e book t h e y
have p r i n t e d 1 . 5 i n s t e a d o f 1 . 3 a s t h e a n s w e r o f
e t a . );
19
20
// P r i n t i n g e r r o r i n t h e book t h e y have p r i n t e d 1 . 5
i n s t e a d o f 1 . 3 as the answer o f eta
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// Example 7 . 5 . 1
page 7 . 2 4
clc ;
clear ;
h =6.626 d -34;
// p l a n k s c o n s t a n t
c =3 d8 ;
// s p e e d o f l i g h t
e =1.6 d -19; // c h a r g e o f e l e c t r o n
q =1.43;
// Bandgap e n e r g y
lamda = h * c /( q * e ) *10^9;
// c o m p u t i n g w a v e l e n g t h
printf ( \ nWavelength i s %d nm , lamda ) ;
printf ( \ n T h i s p r o v e s t h a t p h o t o d i o d e w i l l n o t
o p e r a t e f o r p h o t o n o f w a v e l e n g t h g r e a t e r t h a n %d
nm . , lamda ) ;
// a n s w e r i n t h e book 868nm ; d e v i a t i o n o f 1nm
// Example 7 . 5 . 2
page 7 . 2 4
clc ;
clear ;
R =0.6;
Pin =15;
// r e s p o n s i v i t y
// o p t i c a l power i n m i c r o w a t t
Ip = R * Pin ;
// c o m p u t i n g p h o t o c u r r e n t
printf ( \ n P h o t o c u r r e n t g e n e r a t e d i s %d microAmpere .
, Ip ) ;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// Example 7 . 5 . 3
page 7 . 2 4
clc ;
clear ;
lamda1 =1300 d -9;
lamda2 =1600 d -9;
h =6.625 d -34;
// p l a n k s c o n s t a n t
c =3 d8 ;
// s p e e d o f l i g h t
q =1.6 d -19; // c h a r g e o f e l e c t r o n
eta =90/100; // quantum e f f i c i e n c y
E =0.73;
// e n e r g y gap i n eV
R1 = eta * q * lamda1 /( h * c ) ;
R2 = eta * q * lamda2 /( h * c ) ;
lamdac =1.24/ E ;
printf ( \ n R e s p o n s i v i t y a t 1 3 0 0nm i s %. 2 f A/W. \
n R e s p o n s i v i t y a t 1 6 0 0nm i s %. 2 f A/W. \ nCut o f f
w a v e l e n g t h i s %. 1 f m i c r o m e t e r . ,R1 , R2 , lamdac ) ;
//R1 i s c a l c u l a t e d a s 0 . 9 2 i n t h e book , d e v i a t i o n o f
0.02.
// Example 7 . 5 . 4
page 7 . 2 5
clc ;
clear ;
lamda =0.8 d -6;
h =6.625 d -34;
// p l a n k
c =3 d8 ;
// s p e e d o f
q =1.6 d -19; // c h a r g e o f
ne =1.8 d11 ; // e l e c t r o n s
s constant
light
electron
collected
76
11 np =4 d11 ;
// p h o t o n s i n c i d e n t
12
13 eta = ne / np ;
// c o m p u t i n g quantum e f f i c i e n c y
14 R = eta * q * lamda /( h * c ) ;
// c o m p u t i n g r e s p o n s i v i t y
15
16 printf ( \ n R e s p o n s i v i t y o f p h o t o d i o d e a t 0 . 8
m i c r o m e t e r i s %. 3 f A/W. ,R ) ;
17
18
// a n s w e r i n t h e book i s 0 . 2 8 9 . d e v i a t i o n o f 0 . 0 0 1 A/
W
// Example 7 . 5 . 5
page 7 . 2 5
clc ;
clear ;
h =6.626 d -34;
// p l a n k s c o n s t a n t
c =3 d8 ;
// s p e e d o f l i g h t
eta =70/100; // quantum e f f i c i e n c y
I =3 d -6;
// p h o t o c u r r e n t
E =1.8 d -19; // e n e r g y o f p h o t n s
q =1.6 d -19; // c h a r g e o f e l e c t r o n
lamda = h * c / E ;
// c o m p u t i n g w a v e l e n g t h
R = eta * q * lamda /( h * c ) ;
// c o m p u t i n g r e s p o n s i v i t y
Popt = I / R ;
// c o m p u t i n g o p t i c a l power
lamda = lamda *10^6;
Popt = Popt *10^6;
printf ( \ nWavelength i s %. 2 f m i c r o m e t e r . \
n R e s p o n s i v i t y i s %. 3 f A/W. \ n I n c i d e n t o p t i c a l
power r e q u i r e d i s %. 3 f microWatt . , lamda ,R , Popt ) ;
77
21
22
// a n s w e r o f Popt i n t h e book i s c a l c u l a t e d a s 4 . 8 2 3 ,
deviation of 0.002
// Example 7 . 5 . 6
page 7 . 2 6
clc ;
clear ;
h =6.626 d -34;
// p l a n k s c o n s t a n t
c =3 d8 ;
// s p e e d o f l i g h t
q =1.6 d -19; // c h a r g e o f e l e c t r o n
E =1.35;
// e n e r g y gap i n eV
lamda = h * c /( q * E ) ;
lamda = lamda *10^6;
// c o m p u t i n g w a v e l e n g t h
// c a l c u l a t i o n e r r o r i n t h e book
// a n s w e r i n t h e book 1 . 4 7 m i c r o m e t e r . ( i n c o r r e c t )
Scilab code Exa 7.5.7 Calculate wavelength and incident optical power
1
2 // Example 7 . 5 . 7
3
4 clc ;
5 clear ;
page 7 . 2 7
78
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
h =6.626 d -34;
// p l a n k s c o n s t a n t
c =3 d8 ;
// s p e e d o f l i g h t
eta =65/100; // quantum e f f i c i e n c y
I =2.5 d -6;
// p h o t o c u r r e n t
E =1.5 d -19; // e n e r g y o f p h o t n s
q =1.6 d -19; // c h a r g e o f e l e c t r o n
lamda = h * c / E ;
// c o m p u t i n g w a v e l e n g t h
R = eta * q * lamda /( h * c ) ;
// c o m p u t i n g r e s p o n s i v i t y
Popt = I / R ;
// c o m p u t i n g o p t i c a l power
lamda = lamda *10^6;
Popt = Popt *10^6;
printf ( \ nWavelength i s %. 3 f m i c r o m e t e r . \
n R e s p o n s i v i t y i s %. 3 f A/W. \ n I n c i d e n t o p t i c a l
power r e q u i r e d i s %. 1 f microWatt . , lamda ,R , Popt ) ;
// a n s w e r o f R( r e s p o n s i v i t y ) i n t h e book i s
c a l c u l a t e d a s 0 . 6 9 4 A/W, d e v i a t i o n o f 0 . 0 0 1 .
// Example 7 . 5 . 8
page 7 . 2 7
clc ;
clear ;
ne =3.9 d6 ;
np =6 d6 ;
// e l e c t r o n s c o l l e c t e d
// p h o t o n s i n c i d e n t
eta =100* ne / np ; // c o m p u t i n g e f f i c i e n c y
printf ( \nQuantum e f f i c i e n c y i s %d p e r c e n t . , eta ) ;
79
Scilab code Exa 7.8.1 Determine drift time and junction temperature
1
2
3
4
5
6
7
8
9
10
11
12
// Example 7 . 8 . 1
page 7 . 3 9
clc ;
clear ;
w =25 d -6;
// w i d t h
v =1 d5 ;
// v e l o c i t y
r =40 d -6;
// r a d i u s
eps =12.5 d -13;
t=w/v;
// c o m p u t i n g d r i f t t i m e
c = eps *3.14*( r ) ^2/ w ;
// c o m p u t i n g j u n c t i o n
capacitance
13 c = c *10^16;
14 printf ( \ n D r i f t t i m e %. 1 e s e c . \ n J u n c t i o n c a p a c i t a n c e
%. 1 f p f . ,t , c ) ;
15 printf ( \ n C a l c u l a t i o n e r r o r i n t h e book a t t h e
answer o f d r i f t time . );
16
17
// c a l c u l a t i o n e r r o r i n d r i f t t i m e a n s w e r i n t h e book
i s 2510 10. i t s h o u l d be 2 . 5 1 0 1 0 .
80
7
8
9
10
11
12
13
14
15
16
17
v =4 d4 ;
// v e l o c i t y
t=w/v;
// c o m p u t i n g d r i f t t i m e
BW =(2* %pi * t ) ^ -1;
// c o m p u t i n g bandwidth
rt =1/ BW ;
// c o m p u t i n g r e s p o n s e t i m e
rt = rt *10^9;
printf ( \nMaximum r e s p o n s e t i m e i s %. 1 f n s . , rt ) ;
printf ( \nNOTE C a l c u l a t i o n e r r o r i n t h e book . ) ;
// C a l c u l a t i o n e r r o r i n t h e book , a n s w e r g i v e n i s 6 . 2
ns
Scilab code Exa 7.9.1 Calculate noise equivalent power and specific directivity
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// Example 7 . 9 . 1
page 7 . 4 5
clc ;
clear ;
lamda =1.4 d -6;
h =6.626 d -34;
// p l a n k s c o n s t a n t
c =3 d8 ;
// s p e e d o f l i g h t
q =1.6 d -19; // c h a r g e o f e l e c t r o n
eta =65/100; // quantum e f f i c i e n c y
I =10 d -9;
// c u r r e n t
NEP = h * c * sqrt (2* q * I ) /( eta * q * lamda ) ;
D = NEP ^ -1;
printf ( \ n N o i s e e q u i v a l e n t power i s %. 3 e W. \
n S p e c i f i c d i r e c t i v i t y i s %. 2 e . ,NEP , D ) ;
// a n s w e r s i n t h e book f o r NEP i s 7 . 6 8 3 1 0 1 4 ,
81
d e v i a t i o n of 0.0410 14.
19 // a n s w e r s i n t h e book f o r D i s 1 3 . 0 1 1 0 1 2 ,
deviation of 0.111012.
Scilab code Exa 7.9.2 Find mean square quantum noise current and mean
square dark current
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
// Example 7 . 9 . 2
page 7 . 4 6
clc ;
clear ;
lamda =1300 d -9;
h =6.626 d -34;
// p l a n k s c o n s t a n t
c =3 d8 ;
// s p e e d o f l i g h t
q =1.6 d -19; // c h a r g e o f e l e c t r o n
eta =90/100; // quantum e f f i c i e n c y
P0 =300 d -9; // o p t i c a l power
Id =4;
// d a r k c u r r e n t
B =20 d6 ;
// bandwidth
K =1.39 d -23; // Boltzman c o n s t a n t
T =298;
// t e m p e r a t u r e
R =1000;
// l o a d r e s i s t e r
Ip = 10^9* eta * P0 * q * lamda /( h * c ) ;
Its =10^9*(2* q * B *( Ip + Id ) ) ;
Its = sqrt ( Its ) ;
printf ( \ nrms s h o t n o i s e c u r r e n t i s %. 2 f nA . , Its ) ;
It = 4* K * T * B / R ;
It = sqrt ( It ) ;
printf ( \ nThermal n o i s e i s %. 2 e A . , It ) ;
// a n s w e r g i v e n i n book f o r s h o t n o i s e i s 1 . 3 4 nA ,
d e v i a t i o n o f 0 . 0 1 nA .
27 // a n s w e r g i v e n i n book f o r Thermal n o i s e i t i s
82
1.8110 8 A, d e v i a t i o n o f 0 . 0 1 1 0 8 .
// Example 7 . 1 0 . 1
page 7 . 5 3
clc ;
clear ;
lamda =0.85 d -6;
h =6.626 d -34;
// p l a n k s c o n s t a n t
c =3 d8 ;
// s p e e d o f l i g h t
q =1.6 d -19; // c h a r g e o f e l e c t r o n
eta =75/100; // quantum e f f i c i e n c y
P0 =0.6 d -6; // i n c i d e n t o p t i c a l power
Im =15 d2 ;
// a v a l a n c h e g a i n
R = eta * q * lamda /( h * c ) ;
// c o m p u t i n g r e s p o n s i v i t y
Ip =10^8* P0 * R ;
// c o m p u t i n g p h o t o c u r r e n t
Ip = floor ( Ip ) ;
M = Im / Ip ;
// c o m p u t i n g m u l t i p l i c a t i o n f a c t o r
printf ( \ n M u l t i p l i c a t i o n f a c t o r i s %d . ,M ) ;
83
9
10
11
12
13
14
15
16
17
18
19
q =1.6 d -19; // c h a r g e o f e l e c t r o n
eta =65/100; // quantum e f f i c i e n c y
P0 =0.5 d -6; // i n c i d e n t o p t i c a l power
Im =10 d2 ;
// a v a l a n c h e g a i n
R = eta * q * lamda /( h * c ) ;
// c o m p u t i n g r e s p o n s i v i t y
Ip =10^8* P0 * R ;
// c o m p u t i n g p h o t o c u r r e n t
M = Im / Ip ;
// c o m p u t i n g m u l t i p l i c a t i o n f a c t o r
printf ( \ n M u l t i p l i c a t i o n f a c t o r i s %d . ,M ) ;
// a n s w e r i n t h e book i s 4 1 . 7 d e v i a t i o n 0 . 3 .
// Example 7 . 1 0 . 3
page 7 . 5 4
clc ;
clear ;
lamda =900 d -9;
h =6.626 d -34;
// p l a n k s c o n s t a n t
c =3 d8 ;
// s p e e d o f l i g h t
q =1.6 d -19; // c h a r g e o f e l e c t r o n
eta =65/100; // quantum e f f i c i e n c y
P0 =0.5 d -6; // i n c i d e n t o p t i c a l power
Im =10 d2 ;
// a v a l a n c h e g a i n
R = eta * q * lamda /( h * c ) ;
// computong r e s p o n s i v i t y
Ip =10^8* P0 * R ;
// c o m p u t i n g p h o t o c u r r e n t
Ip = floor ( Ip ) ;
M = Im / Ip ;
// c o m p u t i n g m u l t i p l i c a t i o n f a c t o r
printf ( \ n M u l t i p l i c a t i o n f a c t o r i s %d . ,M ) ;
84
Scilab code Exa 7.10.4 Find wavelength incident optical power and responsivity
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// Example 7 . 1 0 . 4
page 7 . 5 4
clc ;
clear ;
h =6.626 d -34;
// p l a n k s c o n s t a n t
c =3 d8 ;
// s p e e d o f l i g h t
q =1.602 d -19; // c h a r g e o f e l e c t r o n
eta =70/100; // quantum e f f i c i e n c y
P0 =0.5 d -6; // i n c i d e n t o p t i c a l power
Ip =4 d -6;
// a v a l a n c h e g a i n
E =1.5 d -19;
lamda = h * c /( E ) ;
// c o m p u t i n g w a v e l e n g t h
R = eta * q * lamda /( h * c ) ;
// c o m p u t i n g r e s p o n s i v i t y
P0 = Ip / R ;
// c o m p u t i n g o p t i c a l power
lamda = lamda *10^6;
P0 = P0 *10^6;
printf ( \ nWavelength i s %. 3 f m i c r o m e t e r . \
n R e s p o n s i v i t y i s %. 4 f A/W. \ n O p t i c a l power i s %. 2 f
microWatt . , lamda ,R , P0 ) ;
// a n s w e r o f o p t i c a l power i n t h e book i s 5 . 5 3
microWatt , d e v i a t i o n o f 0 . 1 7 microWatt .
page 7 . 5 5
85
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Scilab code Exa 7.10.6 Calculate quantum efficiency and output photocurrent
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// Example 7 . 1 0 . 6
page 7 . 5 5
clc ;
clear ;
h =6.626 d -34;
// p l a n k s c o n s t a n t
c =3 d8 ;
// s p e e d o f l i g h t
q =1.602 d -19; // c h a r g e o f e l e c t r o n
P0 =0.5 d -6; // i n c i d e n t o p t i c a l power ( a s s u m p t i o n )
lamda =1.5 d -6;
// w a v e l e n g t h
M =20;
// M u l t i p l i c a t i o n f a c t o r
R =0.6;
// R e s p o n s i v i t y
eta =( R * h * c ) /( q * lamda ) ;
efficiency
// c o m p u t i n g quantum
86
15 Ip = P0 * R ;
// c o m p u t i n g p h o t o c u r r e n t
16 I = M * Ip *10^6;
// c o m p u t i n g o u t p u t c u r r e n t
17
18 printf ( \nQuantum e f f i c i e n c y i s %. 3 f m i c r o m e t e r . \
// a n s w e r o f quantum e f f i c i e n c y i n t h e book i s g i v e n
as 0.495 , d e v i a t i o n of 0 . 0 0 1 .
87
Chapter 8
Optical Receiver Operation
// Q u e s t i o n 7
page 8 . 5 5
clc ;
clear ;
w =25 d -6;
v =3 d4 ;
// w i d t h
// v e l o c i t y
t=w/v;
// c o m p u t i n g d r i f t t i m e
BW =(2* %pi * t ) ^ -1;
// c o m p u t i n g bandwidth
rt =1/ BW ;
// r e s p o n s e t i m e
rt = rt *10^9;
printf ( \nMaximum r e s p o n s e t i m e i s %. 2 f n s . , rt ) ;
// Answer i n t h e book i s g i v e n a s 5 . 2 4 n s d e v i a t i o n o f
0 . 0 1 ns
Scilab code Exa 8.3.1 Find quantum efficiency and minimum incident power
88
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// Example 8 . 3 . 1
page 8 . 9
clc ;
clear ;
P =10^ -9;
// p r o b a b i l i t y o f e r r o r
eta =1;
// i d e a l d e t e c t o r
h =6.626 d -34 // p l a n k s c o n s t a n t
c =3 d8 ;
// s p e e d o f l i g h t
lamda =1 d -6; // w a v e l e n g t h
B =10^7;
// b i t r a t e
Mn = - log ( P ) ;
printf ( \n The quantum i m i t a t t h e r e c e i v e r t o
m a i n t a i n b i t e r r o r r a t e 10 9 i s (%. 1 f h f ) / e t a .
, Mn ) ;
f = c / lamda
Popt = 0.5* Mn * h * f * B / eta ;
// c o m p u t i n g o p t i c a l
power
Popt_dB = 10 * log10 ( Popt ) + 30;
// o p t i c a l power
i n dbm
Popt = Popt *10^12;
printf ( \nMinimum i n c i d e n t o p t i c a l power i s %. 1 f W
o r %. 1 f dBm . , Popt , Popt_dB ) ;
89
ratio
8
9
10
11
12
13
14
15
16
c =3 d8 ;
// s p e e d o f l i g h t
lamda =1.3 d -6; // w a v e l e n g t h
eta =1;
B =6.5 d6 ;
// Bandwidth
20
21
// Example 8 . 1 0 . 1
page 8 . 2 5
clc ;
clear ;
// e r f c 4 . 2 4 i s g i v e n t o be 2d9
SN =(2* sqrt (2) *4.24) ^2; // c o m p u t i n g o p t i c a l SNR
SN = round ( SN ) ;
SN1 = sqrt ( SN ) ;
// c o m p u t i n g e l e c t r i c a l SNR
90
11
// Example 8 . 1 1 . 1
page 8 . 2 6
clc ;
clear ;
P =1 d -9;
// p r o b a b i l i t y o f e r r o r
eta =1;
N = - log ( P ) ;
N1 = round ( N ) ;
printf ( Thus %. 1 f o r %d p h o t o n s a r e r e q u i r e d f o r
m a i n t a i n i n g 10 9 BER. \ nAssuming e t a =1;\nE=%. 1 f
hv . ,N , N1 , N ) ;
Scilab code Exa 8.17.1 Calculate shot noise and thermal noise
1
2
3
4
5
6
7
8
9
10
11
12
13
// Example 8 . 1 7 . 1
page 8 . 4 6
clc ;
clear ;
lamda =0.85 d -6;
h =6.626 d -34;
// p l a n k s c o n s t a n t
c =3 d8 ;
// s p e e d o f l i g h t
q =1.6 d -19; // c h a r g e o f e l e c t r o n
eta =65/100; // quantum e f f i c i e n c y
P0 =300 d -9; // o p t i c a l power
Id =3.5;
// d a r k c u r r e n t
B =6.5 d6 ;
// bandwidth
91
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// Example 8 . 1 7 . 2
page 8 . 4 7
clc ;
clear ;
lamda =0.85 d -6;
h =6.626 d -34;
// p l a n k s c o n s t a n t
c =3 d8 ;
// s p e e d o f l i g h t
q =1.6 d -19; // c h a r g e o f e l e c t r o n
eta =65/100; // quantum e f f i c i e n c y
P0 =300 d -9; // o p t i c a l power
Id =3.5;
// d a r k c u r r e n t
B =6.5 d6 ;
// bandwidth
K =1.39 d -23; // Boltzman c o n s t a n t
T =293;
// t e m p e r a t u r e
R =5 d3 ;
// l o a d r e s i s t e r
F_dB =3;
// n o i s e f i g u r e
92
i s 4.58
18
19
20
21
22
23
24
25
26
27
28
29
// Example 8 . 1 8 . 1
page 8 . 4 8
clc ;
clear ;
Cd =7 d -12;
B =9 d6 ;
Ca =7 d -12;
R =(2*3.14* Cd * B ) ^ -1;
B1 =(2*3.14* R *( Cd + Ca ) ) ^ -1;
R = R /1000;
B1 = B1 /10^6;
printf ( \ nThus f o r 9MHz bandwidth maximum l o a d
r e s i s t a n c e i s %. 2 f Kohm\nNow i f we c o n s i d e r i n p u t
c a p a c i t a n c e o f f o l l o w i n g a m p l i f i e r Ca t h e n
Bandwidth i s %. 2 fMHz\nMaximum p o s t d e t e c t i o n
bandwidth i s h a l f . ,R , B1 ) ;
15
93
16
// a n s w e r f o r r e s i s t a n c e i n t h e book i s 4 . 5 1 Kohm ,
d e v i a t i o n o f 0 . 0 1 Kohm , w h i l e f o r bandwidth i t i s
4 . 5 1 MHz, d e v i a t i o n o f 0 . 0 1MHz
94
Chapter 9
Link Designs and Optical
Amplifiers
// Example 9 . 4 . 1
page 9 . 1 1
clc ;
clear ;
output =13;
// l a s e r o u t p u t
sensitivity = -31;
//APD s e n s i t i v i t y
coupling_loss =0.5;
L =80;
// l e n g t h i n km
sl =0.1; // l o s s c o r r e s p o n d t o one s p l i c e i n dB
fl =0.35;
// f i b e r l o s s i n dB/km
noise =1.5;
allowed_loss = output - sensitivity ;
splices_loss =( L -1) * sl ;
fiber_loss = L * fl ;
margin = allowed_loss -( splices_loss + fiber_loss +
coupling_loss + noise ) ;
18
95
19
printf ( \ n F i n a l m a r g i n i s %. 1 f dB . , margin ) ;
// Example 9 . 4 . 2
page 9 . 1 2
clc ;
clear ;
output =3;
// l a s e r o u t p u t
sensitivity = -54;
//APD s e n s i t i v i t y
coupling_loss =17.5;
L =6;
// l e n g t h i n km
sl =1.1; // l o s s c o r r e s p o n d t o one s p l i c e i n dB
n =3;
// number o f s p l i c e s
fl =5;
// f i b e r l o s s i n dB/km
connector_loss =0.8;
allowed_loss = output - sensitivity ;
splices_loss = n * sl ;
fiber_loss = L * fl ;
margin = allowed_loss -( splices_loss + fiber_loss +
coupling_loss + connector_loss ) ;
printf ( \ n F i n a l m a r g i n i s %. 1 f dB . , margin ) ;
page 9 . 1 3
96
6 output = -10;
// l a s e r o u t p u t
7 sensitivity = -41;
//APD s e n s i t i v i t y
8 L =7;
// l e n g t h i n km
9 sl =0.5; // l o s s c o r r e s p o n d t o one s p l i c e i n dB
10 fl =2.6;
// f i b e r l o s s i n dB/km
11 connector_loss =1.5;
12 saftey_margin =6;
13
14 allowed_loss = output - sensitivity ;
15 splices_loss =( L -1) * sl ;
16 fiber_loss = L * fl ;
17 margin = allowed_loss -( splices_loss + fiber_loss +
connector_loss + saftey_margin ) ;
18
19
printf ( \ n F i n a l m a r g i n i s %. 1 f dB . , margin ) ;
Scilab code Exa 9.4.4 Determine safety margin and link length
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// Example 9 . 4 . 4
page 9 . 1 4
clc ;
clear ;
output = -10;
// l a s e r o u t p u t
sensitivity = -25;
//APD s e n s i t i v i t y
L =2;
// l e n g t h i n km
sl =0.7; // l o s s c o r r e s p o n d t o one s p l i c e i n dB
fl =3.5;
// f i b e r l o s s i n dB/km
connector_loss =1.6;
saftey_margin =4;
allowed_loss = output - sensitivity ;
splices_loss = L * sl ;
fiber_loss = L * fl ;
margin = allowed_loss -( splices_loss + fiber_loss +
97
connector_loss + saftey_margin ) ;
18
19
20
21
printf ( \ n F i n a l m a r g i n i s %. 1 f dB . , margin ) ;
printf ( \n\ n I f l a s e r l a u n c h e s a o p t i c a l power o f 0
dBm then , \ n ) ;
22
23
24
25
26
27
output =0;
// l a s e r o u t p u t
sensitivity = -25;
//APD s e n s i t i v i t y
saftey_margin =7;
allowed_loss = output - sensitivity ;
length_fiber = ( allowed_loss -( splices_loss +
connector_loss + saftey_margin ) ) / fl ;
28 increase = length_fiber - L ;
29 printf ( \ n I n c r e a s e i n t h e f i b e r l e n g t h i s %. 2 f km . ,
increase ) ;
30
31
// a n s w e r i n t h e book i s 2 . 2 8 , d e v i a t i o n o f 0 . 0 1
98
saftey_margin ) ) /( sl + fl ) ;
15 Length = floor ( Length ) ;
16 printf ( \ nLink l e n g t h i s %d km . , Length ) ;
// Example 9 . 6 . 1
page 9 . 1 9
clc ;
clear ;
L =10;
ts =10;
tD =8;
tmod = L *6;
tt = L *2;
17
18
19
// c a l c u l a t i o n e r r o r i n t h e book
// a n s w e r g i v e n i n t h e book i s 1 0 . 3 m b i t s / s e c . (
incorrect )
page 9 . 2 0
99
4
5
6
7
8
9
10
11
12
13
14
15
clear ;
L =8;
ts =8;
tD =6;
tmod = L *1;
tt = L *5;
Tsys = sqrt ( ts ^2+ tmod ^2+ tt ^2+ tD ^2) ;
Bt =0.7/ Tsys ;
Bt = Bt *10^3;
printf ( \nMaximum b i t r a t e f o r l i n k u s i n g NRZ d a t a
f o r m a t i s %. 2 f M b i t s / s e c . \ nMaximum b i t r a t e f o r
l i n k u s i n g RZ d a t a f o r m a t i s %. 2 f M b i t s / s e c . ,Bt ,
Bt /2) ;
Scilab code Exa 9.6.3 Determine whether or not combination of component gives an adequate response
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// Example 9 . 6 . 3
page 9 . 2 1
clc ;
clear ;
L =5;
ts =10;
tD =3;
tmod = L *2;
tt = L *9;
Tsys = sqrt ( ts ^2+ tmod ^2+ tt ^2+ tD ^2) ;
Bt =0.7/ Tsys ;
Bt = Bt *10^3;
printf ( \nMaximum b i t r a t e f o r l i n k u s i n g NRZ d a t a
f o r m a t i s %. 1 f M b i t s / s e c . , Bt ) ;
100
16
printf ( \ n T h i s i s e q u i v a l e n t t o a 3 dB o p t i c a l
bandwidth o f %. 1 f MHz, h e n c e t h e d e s i r e d r e q u i r e d
bandwidth 6 MHz which w i l l be s u p p o r t e d , Bt /2) ;
Scilab code Exa 9.16.1 Find amplifier gain and minimum pump power
required
1 // Example 9 . 1 6 . 1
page 9 . 5 3
2
3 clc ;
4 clear ;
5
6 Pin =2;
7 Pout =27;
8
9 gain_db = Pout - Pin ;
10 gain = 10^( Pout /10) /10^( Pin /10) ;
11 min_pow = 10^( Pout /10) - 10^( Pin /10) ;
12
13 printf ( \ nGain i n dB i s %d dB . \ nGain i s %. 2 f . \
// a n s w e r i n t h e book f o r g a i n i s 3 1 7 , d e v i a t i o n o f
0 . 7 7 and f o r minimum pump power i t i s 4 9 9 . 4 ,
deviation of 0.2
page 9 . 6 5
101
5
6 gain_db =25;
7 lamdaP =980 d -9;
8 lamdaS =1550 d -9;
9 Pp =40 d -3;
10
11 gain =10^( gain_db /10) ;
// c o m p u t i n g g a i n
12 Pin =( lamdaP / lamdaS ) * Pp /( gain -1) ;
// c o m p u t i n g
13
14
15
16
17
maximum i n p u t power
Pout = Pin +( lamdaP / lamdaS ) * Pp ;
// c o m p u t i n g
maximum o u t p u t power
Pout_db =10* log10 ( Pout /10^ -3) ;
// c o m p u t i n g
maximum o u t p u t power i n dB
Pin = Pin *10^6;
printf ( \ nGain i s %. 2 f . \ nMaximum i n p u t power i s %. 2 f
microWatt . \ nMaximum o u t p u t power i s %. 2 f dbm . ,
gain , Pin , Pout_db ) ;
printf ( \n\nNOTE c a l c u l a t i o n e r r o r i n max i n p u t
power i n s t e a d o f G1 , G100 i s t a k e n . ) ;
18
19
102
Chapter 10
Fiber Measurements
// Example 1 0 . 5 . 1
page 1 0 . 2 4
clc ;
clear ;
To =12.6;
Ti =0.3;
l =1.2;
// w i d t h o f o u t p u t p u l s e
// w i d t h o f i n p u t p u l s e
// l e n g t h o f measurement
103
// Example 1 0 . 6 . 1
page 1 0 . 2 8
clc ;
clear ;
V2 =12;
V1 =2.5;
L2 =3;
L1 =0.004;
alpha_dB = 10* log10 ( V2 / V1 ) /( L2 - L1 ) ;
un = 0.2/( L2 - L1 ) ;
printf ( \ n A t t e n u a t i o n i s %. 2 f dB/km\ n U n c e r t a i n i t y
+/ %. 3 f dB . , alpha_dB , un ) ;
// a n s w e r f o r a t t e n u a t i o n i n t h e book i s 2 . 2 6
d e v i a t i o n o f 0 . 0 1 and f o r u n c e r t a i n i n t y i s 0 . 0 6 6
deviation of 0.001
104