在这篇文章中,我们给出了非线性脉冲和孤子耦合的理论,它包含了2阶3阶色散,模间色散,损耗增益,色散不匹配,高阶非线性等等。文章主要说明了几个非线性耦合的基本问题: 非线性脉冲耦合行为主要依赖于参量Lcd (色散长度乘耦合系数),而不是输入脉冲形状,因而,孤子,高斯脉冲以及类高斯脉冲表现出同样的开关特性。根据Lcd, 耦合器可分为三个工作区,每个区有自己独特的耦合行为。一个脉冲是否表现为连续波的耦合行为还是超快脉冲的耦合行为,决定于Lcd 而不是脉宽。 我们显示0.8皮秒的脉冲也遵从连续波的方程和耦合行为, 可以当连续波一样来分析。

或 Journal of Lightwave Technology, Vol. 24, Issue 6, pp. 2458- (2006)

%  This Matlab script file solves the nonlinear Schrodinger equation

%  study input peak power vursus output total power for different Lcd, P~P CURVES

%  Simulate Fig.2,Fig.3 and Fig.6 Using wangs' equations (high order dispersion and IMD);

lcd=0.2;                        % 2nd dispersion length x coupling coefficient

ldd=-1300000000;                % 3rd dispersion length x coupling coefficient

lmd=-0.;                        % intermode dispersion (IMD)

M1=43,                          % number defines amplitude of input pulse

N =512;                         % Time domain sampling points

dz =0.5*0.0031415926/4;         % space step, make sure nonlinear<0.05

M3=4000;                        % dz*M3 is normalized length, M3*dz=3.14159/2 corresponds a half beat length coupler

% one beat length coupler: dz*M3=3.14159. usual coupler length is a half beat.

T =40;                          % length of time:T*T0, it can.t be too big ot too small, it affect accuracy

T0=60;                          % input pulse width

delt=-0.0;                      % normalized dispersion mismatch=(b1-b2)/2k

Ld=T0^2/20*1000;                % dispersion length=T0^2/abs(b2),b2=-20ps^2/Km for 1.55um

dt = T/N;                       % time step

n = [-N/2:1:N/2-1]';            % Indices

t = n.*dt;

ww = 4*n.*n*pi*pi/T/T;          % Square of frequency. Note i^2=-1.

w=2*pi*n./T;

www=w.*ww;

g1=i*(delt/T0)*w-i*ww./(2*lcd)-i*www./(6*ldd);

g2=i*(delt/T0)*w-i*ww./(2*lcd)-i*www./(6*ldd);         %w=2*pi*f*n./N, f=1/dt=N/T,so w=2*pi*n./TP=0;

P1=0;

P2=1;

P=0;

for m1=1:1:M1

p=0.5+0.03*m1,

%s10=p.*sech(p.*t).*exp(0.5*sqrt(-1.)*t.*t);

%s10=p.*sech(t);                                        % input

%s10=p.*exp(-0.5*(1+sqrt(-1.))*t.*t);

s10=p.*exp(-t.*t./(2*1.146*1.146));

%s10=p.*exp(-t.*t./2);

s1=s10;

s20=0*s10;

s2=s20;

p10=dt*(sum(abs(s10').*abs(s10'))-0.5*(abs(s10(N,1)*s10(N,1))+abs(s10(1,1)*s10(1,1)))); %energy in waveguide 1

p20=dt*(sum(abs(s20').*abs(s20'))-0.5*(abs(s20(N,1)*s20(N,1))+abs(s20(1,1)*s20(1,1)))); %energy in waveguide 2

for m3 = 1:1:M3                                    % Start space evolution

s1 = exp(dz*i*4*(abs(s1).*abs(s1))).*s1;        % Solve nonlinear part of NLS

s2 = exp(dz*i*4*(abs(s2).*abs(s2))).*s2;

sca1 = fftshift(fft(s1));                       % Take Fourier transform

sca2 = fftshift(fft(s2));

sc2=exp(g2.*dz).*(sca2+i*(1+lmd*w).*sca1.*dz);

sc1=exp(g1.*dz).*(sca1+i*(1+lmd*w).*sca2.*dz);  % frequency domain phase shift   % Advance in Fourier space

s2 = ifft(fftshift(sc2));                       % Return to physical space

s1 = ifft(fftshift(sc1));

end

p1=dt*(sum(abs(s1').*abs(s1'))-0.5*(abs(s1(N,1)*s1(N,1))+abs(s1(1,1)*s1(1,1))));

p2=dt*(sum(abs(s2').*abs(s2'))-0.5*(abs(s2(N,1)*s2(N,1))+abs(s2(1,1)*s2(1,1))));

P1=[P1 p1/p10];

P2=[P2 p2/p10];

P=[P p*p];

end

figure(1)

plot(P,P1, P,P2);

转载本文请联系原作者获取授权,同时请注明本文来自王又法科学网博客。

链接地址:http://blog.sciencenet.cn/blog-588007-459072.html

上一篇:超快脉冲或孤子在非线性耦合器中传播的研究的Matlab源程序Fig4&5

下一篇:Today I finally design an bipolar analog IC

非线性动力学 matlab,科学网—非线性脉冲耦合动力学以及Matlab 源程序 - 王又法的博文...相关推荐

  1. matlab 非线性仿真,科学网—含高阶色散和高阶非线性项的非线性耦合仿真Matlab源程序 - 王又法的博文...

    如下Matlab 程序计算 论文Youfa Wang and Wenfeng Wang,  Study of ultrafast pulse coupling dynamics considering ...

  2. ipadpython代码_科学网—如何用iPad运行Python代码? - 王树义的博文

    其实,不只是iPad,手机也可以. 痛点 我组织过几次线下编程工作坊,带着同学们用Python处理数据科学问题. 其中最让人头疼的,就是运行环境的安装. 实事求是地讲,参加工作坊之前,我已经做了认真准 ...

  3. python牛顿法解非线性方程组_科学网—求解多元非线性方程组F(x)=0的Newton-Raphson方法及其MATLAB实现 - 王福昌的博文...

    科学网对公式支持不太好,在博客园有相同博文 牛顿迭代法可以推广到多元非线性方程组 $boldsymbol{F}(boldsymbol{x})=boldsymbol{0}$的情况,称为牛顿-- 拉夫逊方 ...

  4. 文本框赋值guide matlab,科学网-Matlab: 学习GUI (使用GUIDE时需注意的几个问题)-刘磊的博文...

    在博文<Matlab:学习GUI(一个简单的例子)>(介绍的方法是完全用代码来建立一个GUI,实际上Matlab本身有一个设计GUI的交互系统--GUIDE,用户可以使用该系统更方便的建立 ...

  5. 归并有效排序算法matlab,科学网—[用MATLAB写算法]之排序算法2)归并排序merge sort - 徐勇刚的博文...

    归并排序(merge sort)是一种利用分治策略(divide and conquer)进行排序的算法,算法复杂度为 $\Theta (nlog_{2}n)$ . filename: merge_s ...

  6. 乐符识别matlab,科学网—[原][Matlab][04] Midi音乐键盘 - 王楠的博文

    以前在网上读到一个用matlab播canon音乐的源码感觉很有意思,但声音还不够好. 于是想做个自己的音乐播放器,有键盘,有对应的钢琴声音,读取乐谱就能播.如下. (1)按键的音高与频率 从1到下一个 ...

  7. 音频剪切matlab,科学网—matlab的音频处理:读取,裁剪,输出和命名 - 张智昊的博文...

    网易云下架了周杰伦的几乎所有歌曲,于是尝试下载一套周杰伦的音乐全集.从微盘上下载到的音乐前面有一段奇葩的广告,长约8秒.因为广告长度一样可以轻松的裁剪处理,于是想到可以用matlab写一个简单的小程序 ...

  8. 主成分回归预测matlab,科学网—Matlab: princomp() 主成分分析 - 杨建功的博文

    Matlab 提供了进行主成分分析的函数 princomp().由于主成分分析(principile component analysis,PCA)这个概念在不同领域(统计学.数学等)的解释差异较大, ...

  9. matlab调和级数求和,科学网—疯狂的绝技------级数加速收敛的艺术 - 张江敏的博文...

    很多时候,我们需要计算一个无穷级数之和.比如,历史上著名的Basel问题是要计算级数 之和.这个问题之所以叫巴塞尔问题,是因为来自巴塞尔的约翰-伯努利和雅克比-伯努利为之苦恼了很久,尔后解决之的数学家 ...

最新文章

  1. 计算机技能测试小学老师,小学信息技术教师专业技能测习题-20210726171728.docx-原创力文档...
  2. fguillot json rpc_hyperf与go基于jsonrpc2.0通信
  3. 在Delphi7中调试COM
  4. 机器学习算法Python实现:gensim里的similarities文本相似度计算
  5. NYOJ995硬币找零(简单dp)
  6. Open3d之交互式可视化
  7. delphi 断点调试android,Delphi 2010远程调试 - 无法使断点工作
  8. 如何在python中实现capl语言里的回调函数
  9. 深度测试oppo软件,OPPO深度测试app
  10. 百练_2801:填词
  11. Win10 VSCode Java OUTPUT乱码
  12. 如何建立网站登录系统?
  13. 干掉保险丝和继电器,自动驾驶才能更安全
  14. [kafka]kafka中的zookeeper是做什么的?
  15. 每日一得--常用英语口语1000句
  16. OPC配置客户端和服务端
  17. 网易运营微专业_数据驱动运营
  18. 自然语言理解中的意图识别
  19. 高并发学生选课系统设计
  20. 建筑模式语言(美)c.亚历山大.pdf,建筑模式语言下街区设计.pdf

热门文章

  1. Dotty —— Scala 的下一代编译器和技术研究平台
  2. 手把手教你如何搭建web静态网站
  3. python爬虫初探,爬取我爱牙齿网,存取内容
  4. 万丈高楼平地起之两数之和
  5. python系统学习日记 L13 参数, 解包, 变量
  6. STL 算法vector/set集合-交集,并集,差集,对称差
  7. 电商详情页系统实战(1) - 简介
  8. TIANBOT MINI机器人使用blender进行贴图并导出详细教程
  9. python爬取空气质量指标_python爬虫之静态网页——全国空气质量指数(AQI)爬取
  10. 基于python3写的源码剖析_基于python3生成标签云代码解析