clc; clear all; close all; clf;
cputime=0;
tic;
ln=1;
i=sqrt(-1);
Po=.00064; %input pwr in watts
alpha=0; % Fiber loss value in dB/km
alph=alpha/(4.343); %Ref page#55 eqn 2.5.3 Fiber optic Comm by GP Agrawal
gamma=0.003; %fiber non linearity in /W/m
to=125e-12; %initial pulse width in second
C=-2; %Input chirp parameter for first calculation
b2=-20e-27; %2nd order disp. (s2/m)
Ld=(to^2)/(abs(b2)); %dispersion length in meter
pi=3.1415926535;
Ao=sqrt(Po); %Amplitude
%----------------------------------------------------------
tau =- 4096e-12:1e-12: 4095e-12;% dt=t/to
dt=1e-12;
rel_error=1e-5;
h=1000;% step size
for ii=0.1:0.1:1.5 %the various fiber lengths can be varied and this vector can be changed
z=ii*Ld;
u=Ao*exp(-((1+i*(-C))/2)*(tau/to).^2);%page#47 G.P.AGrawal
figure(1)
plot(abs(u),'r');
title('Input Pulse'); xlabel('Time'); ylabel('Amplitude');
grid on;
hold on;
l=max(size(u));
%%%%%%%%%%%%%%%%%%%%%%%
fwhm1=find(abs(u)>abs(max(u)/2));
fwhm1=length(fwhm1);
dw=1/l/dt*2*pi;
w=(-1*l/2:1:l/2-1)*dw;
u=fftshift(u);
w=fftshift(w);
spectrum=fft(fftshift(u)); %Pulse spectrum
for jj=h:h:z
spectrum=spectrum.*exp(-alph*(h/2)+i*b2/2*w.^2*(h/2)) ;
f=ifft(spectrum);
f=f.*exp(i*gamma*((abs(f)).^2)*(h));
spectrum=fft(f);
spectrum=spectrum.*exp(-alph*(h/2)+i*b2/2*w.^2*(h/2)) ;
end
f=ifft(spectrum);
op_pulse(ln,:)=abs(f);%saving output pulse at all intervals
fwhm=find(abs(f)>abs(max(f)/2));
fwhm=length(fwhm);
ratio=fwhm/fwhm1; %PBR at every value
pbratio(ln)=ratio;%saving PBR at every step size
dd=atand((abs(imag(f)))/(abs(real(f))));
phadisp(ln)=dd;%saving pulse phase
ln=ln+1;
end
toc;
cputime=toc;
figure(2);
mesh(op_pulse(1:1:ln-1,:));
title('Pulse Evolution');
xlabel('Time'); ylabel('distance'); zlabel('amplitude');
figure(3)
plot(pbratio(1:1:ln-1),'k');
xlabel('Number of steps');
ylabel('Pulse broadening ratio');
grid on;
hold on;
figure(5)
plot(phadisp(1:1:ln-1),'k');
xlabel('distance travelled');
ylabel('phase change');
grid on;
hold on;
disp('CPU time:'), disp(cputime);
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
分步傅里叶法Matlab代码共享代码 clc; clear all; close all; clf; cputime=0; tic; ln=1; i=sqrt(-1); Po=.00064; %input pwr in watts alpha=0; % Fiber loss value in dB/km alph=alpha/(4.343); %Ref page#55 eqn 2.5.3 Fiber optic Comm by GP Agrawal gamma=0.003; %fiber non linearity in /W/m to=125e-12; %initial pulse width in second C=-2; %Input chirp parameter for first calculation b2=-20e-27; %2nd order disp. (s2/m) Ld=(to^2)/(abs(b2)); %dispersion length in meter pi=3.1415926535;
资源推荐
资源详情
资源评论
收起资源包目录
Split-Step-Fourier.rar (23个子文件)
loadFile.do.htm 40KB
split_step_fourier_method.m 2KB
loadFile.do_files
submitfile.gif 66B
dots_rnav_top.gif 152B
ltblue_top_nav_trans.gif 117B
s28252052815367.gif 43B
xmlicon_30x12.gif 260B
blue_band_536x5.gif 646B
fullstar.gif 145B
doc.gif 70B
dots_rnav.gif 97B
spacer.gif 43B
site3.css 3KB
question.gif 64B
s_code.js 38KB
exclamation.gif 64B
preview.jpg 15KB
fullstar_grey.gif 145B
Captcha.htm 7KB
bullet.gif 57B
mlc_logo.gif 3KB
cmnty1.css 10KB
mail_brdr.gif 155B
共 23 条
- 1
alexyan16888
- 粉丝: 1
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页