| 查看: 1088 | 回复: 1 | |||
[交流]
【讨论】光纤中光信号非线性效应的传输方程仿真的有关讨论已有1人参与
|
|
Agrawal在其所著Nonlinear Fiber Optics(4ed)Appendix B中给出了该方程一个利用split-step解法Matlab程序。程序中按理用快速傅里叶变换fft处都用了反变换ifft,而应该用反变换ifft处都用了正变换fft(在程序中用黑体标注)。 讨论问题: 1. 这样反着用对结果有无影响? 2. 在理论层面分析为什么这样用?% This code solves the NLS equation with the split-step method % idu/dz - sgn(beta2)/2 d^2u/d(tau)^2 + N^2*|u|^2*u = 0 % Written by Govind P. Agrawal in March 2005 for the NLFO book %---Specify input parameters clear all; % distance = input(’Enter fiber length (in units of L_D) =’); % beta2 = input(’dispersion: 1 for normal, -1 for anomalous’);% N = input(’Nonlinear parameter N = ’); % soliton order mshape = input(’m = 0 for sech, m > 0 for super-Gaussian = ’); chirp0 = 0; % input pulse chirp (default value) %---set simulation parameters nt = 1024; Tmax = 32; % FFT points and window size step_num = round(20*distance*N^2); % No. of z steps to deltaz = distance/step_num; % step size in z dtau = (2*Tmax)/nt; % step size in tau %---tau and omega arrays tau = (-nt/2:nt/2-1)*dtau; % temporal grid omega = (pi/Tmax)*[(0:nt/2-1) (-nt/2:-1)]; % frequency grid %---Input Field profile if mshape==0 uu = sech(tau).*exp(-0.5i*chirp0*tau.^2); % soliton else % super-Gaussian uu = exp(-0.5*(1+1i*chirp0).*tau.^(2*mshape)); end %---Plot input pulse shape and spectrum temp = fftshift(ifft(uu)).*(nt*dtau)/sqrt(2*pi); % spectrum figure; subplot(2,1,1); plot(tau, abs(uu).^2, ’--k’); hold on; axis([-5 5 0 inf]); xlabel(’Normalized Time’); ylabel(’Normalized 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(’Normalized Frequency’); ylabel(’Spectral Power’); %---store dispersive phase shifts to speedup code dispersion = exp(i*0.5*beta2*omega.^2*deltaz); % phase factor hhz = 1i*N^2*deltaz; % nonlinear phase factor %*********[ Beginning of MAIN Loop]*********** % scheme: 1/2N -> D -> 1/2N; first half step nonlinear temp = uu.*exp(abs(uu).^2.*hhz/2); % note hhz/2 for n=1:step_num f_temp = ifft(temp).*dispersion; uu = fft(f_temp); temp = uu.*exp(abs(uu).^2.*hhz); end uu = temp.*exp(-abs(uu).^2.*hhz/2); % Final field temp = fftshift(ifft(uu)).*(nt*dtau)/sqrt(2*pi); %Final spectrum %***************[ End of MAIN Loop ]************** %----Plot output pulse shape and spectrum subplot(2,1,1) plot(tau, abs(uu).^2, ’-k’) subplot(2,1,2) plot(fftshift(omega)/(2*pi), abs(temp).^2, ’-k’) 欢迎大家讨论! 我试过,在循环迭代过程中,交换FFT和IFFT对结果没任何影响,说明FFT和IFFT只是成对出现时随便那个都可以定义为FFT,另一个就成了IFFT |
» 猜你喜欢
请问哪里可以有青B申请的本子可以借鉴一下。
已经有4人回复
真诚求助:手里的省社科项目结项要求主持人一篇中文核心,有什么渠道能发核心吗
已经有6人回复
孩子确诊有中度注意力缺陷
已经有14人回复
三甲基碘化亚砜的氧化反应
已经有4人回复
请问下大家为什么这个铃木偶联几乎不反应呢
已经有5人回复
请问有评职称,把科研教学业绩算分排序的高校吗
已经有5人回复
2025冷门绝学什么时候出结果
已经有3人回复
天津工业大学郑柳春团队欢迎化学化工、高分子化学或有机合成方向的博士生和硕士生加入
已经有4人回复
康复大学泰山学者周祺惠团队招收博士研究生
已经有6人回复
AI论文写作工具:是科研加速器还是学术作弊器?
已经有3人回复
» 本主题相关价值贴推荐,对您同样有帮助:
石墨烯复合材料种的协同效应(synergistic effect)怎么理解?
已经有8人回复
有关磁流体方程计算的询问
已经有8人回复
管理应该知道的效应
已经有42人回复
关于流体冲刷壁面的模拟,及壁面磨损的后处理
已经有9人回复
matlab拟合方程参数时初值的选择
已经有15人回复
求助这个非线性方程改怎么解啊??
已经有4人回复
matlab求解非线性方程组
已经有16人回复
matlab的fsove 命令求解非线性方程组
已经有6人回复
【资源】数值解 光纤中 非线性薛定谔方程 软件
已经有27人回复
2楼2010-12-23 17:17:17













回复此楼