Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

I need an assistant with Coupled Nonlinear schrodinger equation

Status
Not open for further replies.

Janneh

Newbie level 1
Newbie level 1
Joined
May 4, 2012
Messages
1
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,307
I am Mohammed Janneh working on Nonlinear Optical fiber. I need an assistant on how to solve the coupled nonlinear schrodinger equation using fast Fourier trnasform method.
below is the code I have be trying but I still can figure out the solution. note the fiber losses, birefringence coefficient and higher order term are neglected.


clear all,
clc,
% 1i=sqrt(-1);

q=1;
alpha=0;

LS=3^8; %speed of light in m/s
to=125e-12; %input pulse width in seconds
b2=2e-27; %GVD coefficnet
L=1.5; %length of th fiber
Po=.064;%peak power measured in watt
pi=3.14;
n2=2.3e-29;
lamda=1.55e-6;%measured in um
Aeff=80e-12; %effective amplitude in micrometer sqr
Ld=(to^2)/(abs(b2));% dispersion length
%P=z/Ld==0.1;
gamma=(2*pi*n2)/(lamda*Aeff);
Lnl=1/(gamma*Po);% nonlinear length

%first we try to plot the pulse for the propagation in the fiber

tau =- 4096e-12:1e-12: 4095e-12;% dt=t/to
s0 = eye(2); s1 = [1, 0;0, -1]; s2 = [0, 1;1, 0]; s3 = 1i*[0, -1;1,0 ];

B1=2/3;
b = randn(1,3); %% generates random gaussian vectors -- see rand and randn in the help
b = b/norm(b);
phi = 2*pi*rand;

dt=1e-12;
tol=1e-5;
dw=(1/dt*2*pi);%angular frequency
w=(1/2:1/2)*dw;%create array of radial frequency points



t =[-10:0.01:10]';
Ao= sqrt(Po); %amplitude o
Ax=Ao.*exp(-t.^2); % the Gaussian pulse
Ay=Ao.*exp(-2*t.^2);% creating the gaussian pulse
A=[Ax Ay];
%ifftshift(fft(fftshift(A,1)),1);

%U = A*expm( - 1i*(phi/2)*(b(1)*s1 + b(2)*s2 + b(3)*s3) );
%spect=ifftshift(fft(fftshift(A,1)),1);
figure(1)
plot(abs(A))
hold on
teta=pi/4;
Ax=ifftshift(fft(fftshift(Ax)));
Ay=ifftshift(fft(fftshift(Ay)));
%calculation of the linear part
for h=0.1:0.1:100
for n=1:length(w)

A0x=exp(1i*(-(b2/2)*w.^2)*h/2).*[Ax(1), Ax(2)]*exp(1i*((b(1)*s1+b(2)*s2+b(3)*s3)));
%A0x:),n)=exp(1i*((b(1)*s1+b(2)*s2+b(3)*s3)-(b2/2)*w.^2)*h).*A0x(%:,n);
A0y=exp(1i*(-(b2/2)*w.^2)*h/2).*[Ay(1), Ay(2)]*exp(1i*((b(1)*s1+b(2)*s2+b(3)*s3)));
%A0y:),n)=exp(1i*((b(1)*s1+b(2)*s2+b(3)*s3)-(b2/2)*w.^2)*h).*A0y:),n);
end
%A1=Ax.*expm((((1i*b2/2)*w^2)-(1i*(b(1)*s1+b(2)*s2+b(3)*s3)*w))*h/2);
%A2=Ay.*expm((((1i*b2/2)*w^2-1i*(b(1)*s1+b(2)*s2+b(3)*s3)*w)*h/2));

Ao1=ifftshift(ifft(fftshift(A0x)));
Ao2=ifftshift(ifft(fftshift(A0y)));
BB=[Ao1 Ao2];

%nonlinear calculation
Box=BB.*(((1i*gamma*abs(Ao1).^2+B1*abs(Ao2).^2))*h);
Boy=Ao2.*(((1i*gamma*abs(Ao2).^2+B1*abs(Ao1).^2))*h);
%By=Ao2.*(((1i*gamma*abs(Ao2).^2+(2/3)*abs(Ao1).^2))*h);
%Box=ifftshift(fft(fftshift(Box)));
%B2=ifftshift(fft(fftshift(By)));
end
f=ifftshift(ifft(fftshift(Box)));
ou_pulse(q,:)=abs(f);
dd=atand((abs(imag(f)))/(abs(real(f))));
phadisp(q)=dd;%saving pulse phase
q=q+1;
figure(2)
mesh(ou_pulse(1:1:q-2,:));
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top