资源简介
分步傅里叶法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;
代码片段和文件信息
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);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 646 2008-07-21 21:21 loadFile.do_files\blue_band_536x5.gif
文件 57 2008-07-21 21:21 loadFile.do_files\bullet.gif
文件 6904 2008-07-21 21:21 loadFile.do_files\Captcha.htm
文件 10514 2008-07-21 21:21 loadFile.do_files\cmnty1.css
文件 70 2008-07-21 21:21 loadFile.do_files\doc.gif
文件 97 2008-07-21 21:21 loadFile.do_files\dots_rnav.gif
文件 152 2008-07-21 21:21 loadFile.do_files\dots_rnav_top.gif
文件 64 2008-07-21 21:21 loadFile.do_files\exclamation.gif
文件 145 2008-07-21 21:21 loadFile.do_files\fullstar.gif
文件 145 2008-07-21 21:21 loadFile.do_files\fullstar_grey.gif
文件 117 2008-07-21 21:21 loadFile.do_files\ltblue_top_nav_trans.gif
文件 155 2008-07-21 21:21 loadFile.do_files\mail_brdr.gif
文件 2569 2008-07-21 21:21 loadFile.do_files\mlc_logo.gif
文件 15100 2008-07-21 21:21 loadFile.do_files\preview.jpg
文件 64 2008-07-21 21:21 loadFile.do_files\question.gif
文件 43 2008-07-21 21:21 loadFile.do_files\s28252052815367.gif
文件 3444 2008-07-21 21:21 loadFile.do_files\site3.css
文件 43 2008-07-21 21:21 loadFile.do_files\spacer.gif
文件 66 2008-07-21 21:21 loadFile.do_files\submitfile.gif
文件 39399 2008-07-21 21:21 loadFile.do_files\s_code.js
文件 260 2008-07-21 21:21 loadFile.do_files\xm
目录 0 2008-07-21 21:21 loadFile.do_files
文件 40537 2008-07-21 21:21 loadFile.do.htm
文件 2092 2008-07-21 21:19 split_step_fourier_method.m
----------- --------- ---------- ----- ----
122683 24
相关资源
- 船舶航向Backstepping控制器
- Matlab批量处理图片
- stepwise逐步回归
- 反步法实现对路径的追踪matlab 实现
- 基于反步法backstepping的船舶直线路径
- matlab 反演法/反步法 程序
- backstepping control 反步法/反演法 matla
- MATLAB中ifft函数用法、性质、特性以及
- mybackstepping.mdl
- 快速Fourier变换算法及Matlab程序实现
- 分数阶傅里叶变换fractional fourier tra
- matlab实现的利用backstepping算法设计的
-
Fourier_Disc
riptor 基于傅里叶描述子对 -
SteppingMotor 步进电机的SIMli
nk模型 -
Fourier-Desc
riptor 傅里叶描述子用来描 - Backstepping-Sliding-Mode 龙的线性化理论。
- Four-step-phase-shift-method 四步相移法程序
- chirp-fourier-transform chirp fourier transfor
- closednoloadstep
- fouriermellin
- fourier 基于radon的图像运动模糊参数估
- splitBregmanROF(Matlab-Code)(1) TV模型
- AUV-tarcking 基于反步法的船舶直线路径
- Backstepping_example 反步法的Matlab仿真学
- steppermotor 两项混合步进电机的MATLAB模
- PPC---step--3k3 同步电机电流预测控制
- FRFT matlab程序代码
- closed_loop_control_system_for_stepping_motor2
- 利用backstepping轨迹跟踪控制器
评论
共有 条评论