欢迎来到天天文库
浏览记录
ID:47332501
大小:332.04 KB
页数:9页
时间:2019-08-15
《非线性薛定谔方程数值解的MATLAB仿真设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、.admin[非线性薛定谔方程数值解的MATLAB仿真]——利用分步快速傅里叶变换对光纤中光信号的传输方程进行数值求解...1、非线性薛定谔方程非线性薛定谔方程(nonlinearSchrodingerequation,NLSE)是奥地利物理学家薛定谔于1926年提出的,应用在量子力学系统中。由于量子力学主要研究粒子的动力学运动状态,所以不能运用牛顿力学公式来表示。通常在量子力学中,研究系统的状态一般通过波函数(x,t)来表示。而对波函数的研究主要是求解非线性薛定谔方程。本文主要研究光脉冲在光纤中传输
2、状态下的演变。一般情况下,光脉冲信号在光纤中传输时,同时受到光纤的色散和非线性效应的影响。通过Maxwell方程,考虑到光纤的色散和非线性效应,可以推导出光信号在光纤中的传输方程,即非线性薛定谔方程。NLSE是非线性偏微分方程,一般很难直接求出解析解,于是通过数值方法进行求解。具体分为两大类:(1)分布有限差分法(split-stepfinitedifferencemethod,SSFD);(2)分步傅里叶变换法(split-stepFouriertransformmethod,SSFT)。一般情况,
3、在达到相同精度,由于分步傅里叶变换法采用运算速度快的快速傅里叶变换,所以相比较有限差分法运算速度快一到两个数量级。于是本文介绍分步傅里叶变换法来对光纤中光信号的传输方程,即非线性薛定谔方程进行数值求解。并通过MATLAB软件对结果数值仿真。非线性薛定谔方程的基本形式为:(I)其中u是未知的复值函数.目前,采用分步傅立叶算法(SplitstepFourierMethod)求解非线性薛定谔方程的数值解应用比较多。分步傅立叶方法最早是在1937年开始应用的,这种方法己经被证明是相同精度下数值求解非线性薛定愕
4、方程最快的方法,部分原因是它采用了快速傅立叶变换算法(FastFourierTransformAlgorithm)。基于MATLAB科学计算软件以及MATLAB强大的符号计算功能,完全可以实现分步傅立叶数值算法来对脉冲形状和频谱进行仿真。一般情况下,光脉冲沿光纤传播时受到色散和非线性效应的共同作用,假设当传输距离很小的时候,两者相互独立作用,那么,根据这种思想可建立如下分步傅立叶数值算法的数学模型:把待求解的非线性薛定谔方程写成以下形式:(II)¶...其中是线性算符,代表介质的色散和损耗,是非线性算
5、符,它决定了脉冲传输过程中光纤的非线性效应。一般来讲,沿光纤的长度方向,色散和非线性是同时作用的。分步傅立叶法假设在传输过程中,光场每通过一小段距离h,色散和非线性效应可以分别作用,得到近似结果。也就是说脉冲从z到z+h的传输过程中分两步进行。第一步,只有非线性作用,方程(II)式中的=0;第二步,再考虑线性作用,方程(II)式中的=0这样方程(2)在这两步中可分别简化为:(III)得到了上面两个方程(III),就可以分别求解非线性作用方程和线性作用方程,然后讨论分步傅立叶法的数值算法。由于方程(II
6、I)是一个偏微分方程,需要通过傅立叶变换把偏微分方程转换为代数方程,进行运算。傅立叶变换的定义如下:(IV)在计算时一般采用快速傅立叶变换(FFT)算。为了保证精度要求,一般还需要反复调整纵向传输步长z和横向脉冲取样点数T来保证计算精度。2、分步傅立叶数值算法的MATLAB实现现待求解的非线性薛定谔方程如下:(V)其中,A(z,T)是光场慢变复振幅,z是脉冲沿光纤传播的距离;,,vg是群速度;是色散系数;是非线性系数;是光纤损耗系数,它与用分贝表示的损耗系数的关系为:....首先,可以将方程(V)归一
7、化振幅:,是入射脉冲的峰值功率,此时方程(V)可改写为:(VI)为了使用分步傅立叶法求解方程(VI),将方程(VI)写成以下形式:进一步,可以得出如下方程(VII):(VII)然后,按照步骤1和步骤2,依次计算方程(VII)的线性算符和非线性算符。最后在步骤3中,运行步骤1和步骤2的MATLAB程序,得出线性算符和非线性算符的精确数值解及其仿真曲线。步骤1线性算符方程的求解线性算符的方程如下:(VIII)ba用傅立叶变换方法,得到一个常微分方程(IX):(IX)解方程(IX)得:(X)式中是初值的傅立
8、叶变换,将进行反傅立叶变换就得到了。方程(X)的求解公式为:(XI)其中和分别表示傅立叶变换和反傅立叶变换运算。...步骤2非线性算符方程的求解非线性部分的方程如下:(XII)同Step1的方法,解方程(XII),得到:(XIII)式中是初值的傅立叶变换,将进行反傅立叶变换就得到了。方程(XIII)的求解公式为:(XIV)其中和分别表示傅立叶变换和反傅立叶变换运算。步骤3算法在MATLAB中的实现在Matlab中,设有限时长序列的长度为,它对应于一个频域
此文档下载收益归作者所有