資源簡介
我自己已經跑過了,非常好用,有問題聯系我
代碼片段和文件信息
function?[?outU_time?]?=?split_step(u_timebetagammadziterationtwEsatg0dt)
%Split_Step?Fourier?Method
%u_time:?pulse?description?in?time?domain
%beta:?GVD?(+:normal)?(fs^2/cm)
%gamma:?nonlinear?coefficient?(W^-1*cm^-1)
%dz:?step?interval?(cm)
%iteration:?number?of?iterations?in?each?segment?of?fiber
%t:?time?vector
%w:?frequency?vector
%dt:?time?interval?(fs)
npoints=length(u_time);
u_freq=fftshift(fft(u_time));
%split-step?loop
for?Num=1:iteration;
????A=ifft(ifftshift(exp(-beta/2*0.5*j*w.^2*dz).*u_freq));
????B=exp(gamma*-j*abs(A).^2*dz).*A;
????u_freq=exp(-beta/2*0.5*j*w.^2*dz).*fftshift(fft(B));
????
????energy=sum(abs(u_freq).^2)*dt*1e-15;?????%equal?to?sum(abs(u_time).^2)*dt*npoints*1e-15;???%(J)
????u_freq=u_freq*exp(g0*dz/(1+energy/Esat));
end;
outU_time=ifft(ifftshift(u_freq));
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????836??2008-05-12?00:33??newfolder2\split_step.m
?????文件????????506??2008-05-12?00:34??newfolder2\split_step_dispersion.m
?????文件????????671??2008-05-12?00:35??newfolder2\split_step_nogain.m
?????目錄??????????0??2008-05-12?00:35??newfolder2
-----------?---------??----------?-----??----
?????????????????2013????????????????????4
- 上一篇:基于matlab的圖像處理源程序
- 下一篇:基于MATLAB的快速傅里葉變換
評論
共有 條評論