summaryrefslogtreecommitdiff
path: root/3547/CH10/EX10.6/EX10_6.sce
blob: 1d641faf721d0b0b2ac28f18b01238996d36f2c1 (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
// Example 10.6
// to find the nonlinear phase shift at the center of the pulse. Compare the exact results with those obtained using first and second-order perturbation theory
// Page no 469

clc;
clear;
close;

//Given data
P=6*10^(-3);                                    // The peak power of rectangular pulse
L=40*10^3;                                      // Fiber of length
Floss=0.2;                                      // The fiber loss (dB/Km)
gamm=1.1*10^(-3);

alpha=Floss/4.343;                              // Attenuation coefficient
Zeff=(1-exp(-alpha*10^(-3)*L))/alpha*10^3;

// The nonlinear phase shift at the center of the pulse
phi=gamm*P*Zeff;                                // Nonlinear phase shift

//Displaying results in the command window
printf("\n The nonlinear phase shift at the center of the pulse = %0.4f rad ",phi);


// Results using first order
B01=sqrt(1+gamm^2*P^2*(Zeff)^2);                // Amplitude shift 
thet1=atan(gamm*P*Zeff);                        // Non-linear phase shift 

//Displaying results in the command window
printf("\n\n Amplitude shift using first order = %0.3f ",B01);
printf("\n Non-linear shift using first order = %0.5f rad",thet1);

// Results using second order
x=1-((gamm)^2/2*P^2*Zeff^2);
y=gamm*P*Zeff;
thet2=atan(y/x);                                // Nonlinear phase shift
B02=x/cos(thet2);                               // Amplitude shift

//Displaying results in the command window
printf("\n\n Amplitude shift using second order = %0.5f ",B02);             // Answer is varying due to round-off error
printf("\n Non-linear shift using second order = %0.5f rad",thet2);         // Answer is varying due to round-off error