Hello, This code solves the nonlinear in optical communication but, it only plots the time domain, I need to plot that frequency domain as well for both 3D and 2D plot. Thank you for help
if true clc; clear all; close all;clf;cputime=0;tic;p0=6;alpha=0.00;%Fiber loss value in dB/km
gamma=0;%fiber non linearity in /W/m
t0=1e-10;%%total initial pulse width in second
C=0;%Chirp parameter
s=0;b2=-20e-22;%second oder dispersion
N=1;% soliton oder
m=0;ln=1;i=sqrt(-1);pi=3.1415926535;alph=alpha/(4.343); % Fiber loss equation, Ref page#55 eqn 2.5.3 (Agrawal)
Ld=(t0^2)/(abs(b2)); %%Dispersion
Ao=sqrt(p0); %power amplitude
tau =- 4096e-12:1e-12: 4095e-12;% dt=t/to
dt=1e-12;h1=1000;%%step size
for ii=0.1:0.1:1.0;z=ii*Ld;u1=Ao*sech(tau/t0).*exp(-i*C*(tau/t0).^2); %
% u1=N*exp(-((1+i*(-C))/2)*(tau/t0).^2)
u2=Ao*sech(tau/t0);% u=N*sech(tau/to);%fundamental soliton pulse % first order soliton N=3
% u=Ao*exp(-((1+i*(-C))/2)*(tau/to).^2) %%%N=1
% u = Ao*sech(tau/to+1.5).*exp((-i*C/2).*(tau/to+1.5).^2)% first order with Chirp parameter
%%%%%%%%%%Plot Input Pulse%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
A11=u1;A12=u2;% figure(1)
% plot(tau/1e-10,abs(u1).^2,'r'); % Plot input pulse (with dispersion)
% % axis([min(tau)/1e-9 max(tau)/1e-9,0 Ao])
grid on;% figure(2)
% plot(tau/1e-9,abs(u2).^2,'r'); % Plot input pulse (without pulse)
% axis([min(tau)/1e-10 max(tau)/1e-10,0 Ao])
h=h1/Ld;%soliton conditions
Z=z/Ld;%soliton conditionsl=max(size(u1)); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
fwhm1=find(abs(u1)>abs(max(u1)/2));fwhm1=length(fwhm1);spectrum1=fft(fftshift(u1)); %Pulse spectrum
spectrum2=fft(fftshift(u2)); %Pulse spectrumdw=(1/l)/dt*2*pi;w=(-1*l/2:1:l/2-1)*dw; w=fftshift(w);d=0;for jj=h:h:Zspectrum1=spectrum1.*exp(gamma*(h/2)+i*s/2*w.^2*(h/2)) ; f1=ifft(spectrum1);f1=f1.*exp(i*(N^2)*((abs(f1)).^2)*(h));% f=fftshift(f);
spectrum1=fft(f1);spectrum1=spectrum1.*exp(gamma*(h/2)+i*s/2*w.^2*(h/2)) ; spectrum2=spectrum2.*exp(gamma*(h/2)+i*s/2*w.^2*(h/2)) ; f2=ifft(spectrum2);f2=f2.*exp(i*(N^2)*((abs(f2)).^2)*(h));% f=fftshift(f);spectrum2=fft(f2);spectrum2=spectrum2.*exp(gamma*(h/2)+i*s/2*w.^2*(h/2)) ; d=d+1;endf1=ifft(spectrum1);f1=fftshift(f1);op_pulse1(ln,:)=abs(f1);%saving output pulse at all intervals
fwhm=find(abs(f1)>abs(max(f1)/2));fwhm=length(fwhm);ratio=fwhm/fwhm1; %PBR at every value
pbratio1(ln)=ratio;%saving PBR at every step size
dd=atand((abs(imag(f1)))/(abs(real(f1))));phadisp1(ln)=dd;%saving pulse phase
f2=ifft(spectrum2);f2=fftshift(f2);op_pulse2(ln,:)=abs(f2);%saving output pulse at all intervalsfwhm=find(abs(f2)>abs(max(f2)/2));fwhm=length(fwhm);ratio=fwhm/fwhm1; %PBR at every valuepbratio2(ln)=ratio;%saving PBR at every step sizedd=atand((abs(imag(f2)))/(abs(real(f2))));phadisp2(ln)=dd;%saving pulse phaseln=ln+1;endtoc;cputime=toc;figure(3);mesh(tau/1e-12,(1:1:ln-1)./12,op_pulse1(1:1:ln-1,:));% axis([min(tau)/1e-12 max(tau)/1e-12,0 Ao])
axis([-500 500 0 1 0 inf]);colormap([0,0,1]);title('Pulse Evolution');xlabel('Time (ps)'),ylabel('Distance(km)'); zlabel('Power (W)');set(gca,'FontSize',24);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%frequency
% figure(110)
spectrum1=fft(fftshift(u1)).*(N*tau)/sqrt(2*pi); % spectrum
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Add optisystem data%%%%%%%%%%%
figure(10)plot(tau/1e-12,abs(op_pulse2(ln-1,:)).^2,'r-',tau/1e-12,abs(A12).^2,':b','Linewidth',12);axis([min(tau)/1e-12 max(tau)/1e-12,0 Ao]);axis([-300,300 0 6]);grid on;title('Pulse Evolution');xlabel('Time (ps) ');ylabel('Power (W)');set(gca,'FontSize',24);legend ('Matlab IN','Matlab SPM-OUT');legend boxon;grid on; end
Best Answer