激光原理课程设计题目:方形镜平行平面腔自再现模Fox-Li数值迭代解法及MATLAB实现院系理学院专业班级0910101学生姓名指导教师提交日期2012年4月15日激光原理课程设计目录一、设计目的.................................................................................................................................................1二、设计要求和设计指标.............................................................................................................................1三、设计内容.................................................................................................................................................13.1Fox-Li平行平面腔的迭代解法....................................................................................................13.2matlab实现....................................................................................................................................33.2.1迭代解法的过程.................................................................................................................33.2.2程序实现.............................................................................................................................43.2.3自再现模形成的判断.........................................................................................................63.3GUI界面的制作..............................................................................................................................8四、本设计改进建议.....................................................................................................................................9五、设计感想.................................................................................................................................................9六、主要参考文献.........................................................................................................................................9附录激光原理课程设计1一、设计目的为了加深对激光原理中Fox-Li平行平面腔的迭代解法的理解,学习matlab的使用,锻炼运用数值方法解决专业问题的能力。二、设计要求和设计指标在matlab用Fox-Li平行平面腔的迭代解法求得激光器腔镜面上的光场分布。求出距离镜面中点为x处的光场的振幅A和相位P,并作出二维图像。在得出的一维图像的基础上作出镜面上光强的二维分布。三、设计内容3.1Fox-Li平行平面腔的迭代解法谐振腔是激光器必备条件之一,它使激光反复通过增益物质,从而实现光的自激振荡。在激光的发展史上最早提出的是平行平面腔,又称为F—P腔,它由两块平行平面反射镜组成,第一台红宝石激光器的谐振腔就是用它来做成的。对于开放式光腔,镜面上稳态场分布的形成可以看成是光在两个界面间往返传播的结果。因此,两个界面上的场必然是互相关联的:一个镜面上的场可以视为由另一个镜面上的场所产生,于是求解镜面上稳态场的分布问题就归结为求解一个积分方程。考虑在开腔中往返传播的一列波。设初始时刻在镜I上有某一个场分布1u,则当波在腔中经第一次渡越而到达镜II时,将在镜II上形成一个新的场分布2u,场2u经第二次渡越后又将在镜I上形成一个新的场分布3u。每次渡越时,波都将因为衍射损失一部分能量,并引起能量分布变化,如此重复下去……由于衍射主要是发生在镜的边缘附近,因此在传播过程中,镜边缘附近的场将衰落得更快,经多次衍射后所形成的场分布,其边缘振幅往往都很小(与中心处比较),具有这种特征的场分布受衍射的影响也将比较小。可以预期:在经过足够多次渡越之后,能形成这样一种稳态场:分布不再受衍射的影响,在腔内往返一次后能够“再现”出发时的场分布,即实现了模的“自再现”,具体过程图1所示:激光原理课程设计2图1开腔中自再现模的形成光学中的惠更斯—菲涅尔原理是从理论上分析衍射问题的基础,该原理的严格数学表示是菲涅尔—基尔霍夫衍射积分。设已知空间任意曲面S上光波场地振幅和相位分布函数为),(yxu,由它所要考察的空间任一点P处场分布为),(yxu,二者之间有以下关系式:SikdSeyxuikyxu')cos1()','(4),(式中,为),(yx与),(yx连线的长度,θ为S面上点),(yx处的法线和上述连线之间的夹角,sd为S面上的面积元,k为波矢的模。而对于方形镜平行平面镜222)()(Lyyxx将按(')/xxL,(')/yyL的幂级数展开,当满足22/(/)aLLa和22/(/)bLLb时22221(')1(')(')(')[][]2222xxyyxxyyikLikikikLLLLLeeee激光原理课程设计3从而得到22(')(')[]22(,)()(',')''xxyyabikikLLLabivxyevxyedxdyL将上式分离变量。令(,)()()vxyvxvy得到22(')2(')2()(,')'()(,')'(,')(,')axxabyybxxikikLLxyyikikLLyxyvxKxxvdxvyKyyvdyiKxxeeLiKyyeeL方形镜中ab。3.2matlab实现3.2.1迭代解法的过程本文采用Fox—Li数值迭代法得到了了镜面上自再现模在x方向的分布并推广到整个镜面,最终动态显示每次渡越镜面上光场分布。虽然是复数积分,但其和实数积分实现方法相同,即取一定步长,用矩形面积的和代替函数的定积分。下面是程序框图:激光原理课程设计43.2.2程序实现源程序:clear,clcglobalstepsLkalamda=input('波长lamda=');L=input('腔长L=');a=input('镜长a=');N=input('渡越次数N=');k=2*pi/lamda;%波失steps=500;%步长x=linspace(-a,a,steps);u_=ones(1,steps);form=1:Nformm=1:stepsu0(mm)=QU(x(mm),u_);end;u_=u0/max(abs(u0));endsubplot(2,1,1)激光原理课程设计5plot(x,abs(u0)/abs(u0(steps/2)))xlabel('x');ylabel('相对振幅');angle_u0=angle(u0)/pi*180;angle_u0=angle_u0-angle_u0(steps/2);subplot(2,1,2)plot(x,angle_u0)xlabel('x');ylabel('相对相位');functiony=QU(x,u)globalstepsLkax_=linspace(-a,a,steps);step_length=2*a/(steps-1);y=sqrt(1i/L*exp(-1i*k*L))*sum(exp(-1i*k/2/L*(-x_+x).^2).*u)*step_length;在菲涅耳数为6.25,渡越次数为1的时候做出下图:激光原理课程设计6在菲涅耳数为6.25,渡越次数为1的时候做出下图:3.2.3自再现模形成的判断画出每次渡越在x=0.5a处的相对振幅(N80),如下图:激光原理课程设计7图中连续的30个点中纵坐标最大值和纵坐标最小值的差可以作为自再现模是否形成的标志,认为x=a/2处振幅大小基本不变了就是自再现了。由此可以写判据判断自再现模在第几次渡越形成,并以此作为循环结束的标志。下面程序中写了的判据:在x=a/2处连续的30次渡越振幅最大值与最小值之差小于eps_u=0.01。用该判据得到渡越188次后可认为是自再现模。实现方法是这样的:设一次积分将计算steps个点,先迭代30次,用个30*steps的矩阵把这30次的结果储存下来,取出该矩阵的第steps/4列(对应x=-a/2处),判断该列最大值与最小值之差是否小于0.01,是则结束判断,第30次就自再现了,否则,计算第31次的振幅,用31次的结果去覆盖矩阵中的第一行数据,再取出该矩阵的第steps/4列,判断该列最大值与最小值之差是否小于0.01,是则结束判断,第31次就自再现了,否则,计算第32次的振幅……程序:clear,clcglobalstepsLkalamda=input('波长lamda=');L=input('腔长L=');a=input('镜长a=');eps_u=input('精度=');k=2*pi/lamda;steps=500;x=linspace(-a,a,steps);u_=ones(1,steps);form=1:30formm=1:stepsu0(mm)=QU(x(mm),u_);end;u_=u0/max(abs(u0));u30(m,:)=u0;endflag=1;%自再现标志位u30_flag=1;%判据矩阵维数标记为N=30;while(flag==1)ifmax(abs(u30(:,steps/4)))-min(abs(u30(:,steps/4)))eps_u%steps/4为x=-a/2处,判据为连续30次渡越中最大振幅减去最小振幅小于eps_uflag=0;elseN=N+1;formm=1:stepsu0(mm)=QU(x(mm),u_);end;u_=u0/max(abs(u0));ifu30_flag==31u30_flag=1;激光原理课程设计8endu30(u30_flag,:)=u0;u30_flag=u30_flag+1;endendNsubplot(2,1,1)plot(x,abs(u0)/abs(u0(st