-
Notifications
You must be signed in to change notification settings - Fork 1
/
F5_23.m
56 lines (42 loc) · 1.75 KB
/
F5_23.m
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
% This script is to simulate Fig 5.23 on Page 179, Nonlinear Fiber Optics (5th Edition)
% By Jiaye Wu, Copyright 2018. Distribute under Apache licence 2.0 and Additional Terms of Use.
% Ultilizing SSPROP-NFOL, https://github.com/TerenceWSK/SSPROP-NFOL..
close all
counter = 1;
T = 100; % time window (period)
nt = 2^12; % number of points
dt = T/nt; % timestep (dt)
t = ((1:nt)'-(nt+1)/2)*dt; % time vector
alpha = 0;
betap = [0,0,-1]; % dispersion polynomial
gamma = 1^2; % N^2
w = wspace(T,nt); % angular frequency vector
vs = fftshift(w/(2*pi)); % shifted for plotting
order = 2;
for zLD = 0:1:8
Line = 'b';
zLDLabel1 = strcat('$T/T_0, z/L_D = $',num2str(zLD));
zLDLabel2 = strcat('$(\nu-\nu_0)T_0, z/L_D = $',num2str(zLD));
z = zLD;
nz = 500; % total number of steps
dz = z/nz; % step-size
u0 = solitonpulse(t,0,1,order);
u1 = sspropc(u0,dt,dz,nz,alpha,betap,gamma,0.01);
U = fftshift(abs(dt*fft(u1)/sqrt(2*pi)).^2);
figure(1)
subplot(3,3,counter)
plot(t, abs(u1).^2, Line)
xlabel(zLDLabel1,'Interpreter','latex','fontsize',16)
ylabel('Intensity','Interpreter','latex','fontsize',16)
xlim([-20 20]);
%axis([-10 10 0 2]);
%text(3.5,3,'N = 3')
figure(2)
subplot(3,3,counter)
plot(vs, U, Line)
xlabel(zLDLabel2,'Interpreter','latex','fontsize',16)
ylabel('Intensity','Interpreter','latex','fontsize',16)
xlim([-4 4]);
%axis([-4 4 0 1]);
counter = counter + 1;
end