Borrar filtros
Borrar filtros

i tried to fix the problem i didnt know how :( please help

4 visualizaciones (últimos 30 días)
abed
abed el 4 de Dic. de 2013
Editada: Friedrich el 4 de Dic. de 2013
clear all;
distance=15;
beta2=1;
N=1;
mshape=input('m=0 for seech, m>0 for super-gaussian= ');
chirp0=0;
nt=1024;tmax=32;
stepnum=round(20*distance*N.^2);
deltaz=distance/stepnum;
dtau=(2*tmax)/nt;
tau=(-nt/2:nt/2-1)*dtau;
omega=(pi/tmax)*(0:nt/2-1) (-nt/2:-1);
if mshape==0
uu=sech(tau).*exp(-0.5i*chirp0*tau.^2);
else
uu=exp(-0.5*(1+1i*chirp0).*tau.^(2*mshape));
end
%%%%%
temp=fftshift(ifft(uu)).*(nt*dtau)/sqrt(2*pi);
figure;
subplot(2,1,1);
plot(tau,abs(uu).^2,'--k');hold on;
axis([-5 5 0 inf]);
xlabel('time');
ylabel('power');
title('input and output pulse shape and spectrum');
subplot(2,1,2);
plot(fftshift(omega)/(2*pi),abs(temp).^2,'--k');hold on;
axis([-.5 .5 0 inf]);
xlabel('frequency');
ylabel('power');
%%%%%
dispersion=exp(0.5*1i*beta2*omega.^2*delta2);
hhz=1i*N^2*deltaz;
%%%%%
temp=uu.*exp(abs(uu).^2.*hhz/2);
for n=1:stepnum
ftemp=ifft(temp).*dispersion;
uu=fft(f_temp);
temp=uu.*exp(abs(uu).^2.*hhz);
end
uu=temp.*exp(-abs(uu).^2.*hhz);
temp=fftshift(ifft(uu)).*(nt*dtau)/sqrt(2*pi);
subplot(2,1,1)
plot(tau,abs(uu).^2,'-k')
subplot(2,1,2)
plot(fftshift(omega)/(2*pi),abs(temp).^2,'-k')
  2 comentarios
Andreas Goser
Andreas Goser el 4 de Dic. de 2013
What's the problem?
dpb
dpb el 4 de Dic. de 2013
And format the code--insert a couple of blanks before the first line of code and observe the preview window...if it isn't legible yet, read the Help...

Iniciar sesión para comentar.

Respuestas (0)

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by