平行平面腔自再现模FoxLi数值迭代解法及MATLAB实现

上传人:小** 文档编号:105329865 上传时间:2022-06-11 格式:DOC 页数:18 大小:612KB
收藏 版权申诉 举报 下载
平行平面腔自再现模FoxLi数值迭代解法及MATLAB实现_第1页
第1页 / 共18页
平行平面腔自再现模FoxLi数值迭代解法及MATLAB实现_第2页
第2页 / 共18页
平行平面腔自再现模FoxLi数值迭代解法及MATLAB实现_第3页
第3页 / 共18页
资源描述:

《平行平面腔自再现模FoxLi数值迭代解法及MATLAB实现》由会员分享,可在线阅读,更多相关《平行平面腔自再现模FoxLi数值迭代解法及MATLAB实现(18页珍藏版)》请在装配图网上搜索。

1、必籲懐7塞乂厚(威海)HARBININSTITUEOFTECHNOLOGYATWE1HAI激光原理课程设计题目:方形镜平行平面腔自再现模Fox-Li数值迭代解法及MATLAB实现院系理学院专业班级0910101学生姓名指导教师提交日期2012年4月15日激光原理课程设计激光原理课程设计四、五、六、设计目的1设计要求和设计指标1设计内容13.1Fox-Li平行平面腔的迭代解法132matlab实现33.2.1迭代解法的过程33.2.2实现43.2.3自再现模形成的判断63.3GUI界面的制作8本设计改进建议9设计感想主要参考文献附录激光原理课程设计一设计目的为了加深对激光原理中Fox-Li平行平

2、面腔的迭代解法的理解,学习matlab的使用,锻炼运用数值方法解决专业问题的能力。二、设计要求和设计指标在matlab用Fox-Li平行平面腔的迭代解法求得激光器腔镜面上的光场分布。求出距离镜面中点为x处的光场的振幅A和相位P,并作出二维图像。在得出的一维图像的基础上作出镜面上光强的二维分布。三、设计内容3.1Fox-Li平行平面腔的迭代解法谐振腔是激光器必备条件之一,它使激光反复通过增益物质,从而实现光的自激振荡。在激光的发展史上最早提出的是平行平面腔,乂称为FP腔,它由两块平行平面反射镜组成,第一台红宝石激光器的谐振腔就是用它来做成的。对于开放式光腔,镜面上稳态场分布的形成可以看成是光在两

3、个界面间往返传播的结果。因此,两个界面上的场必然是互相关联的:一个镜面上的场可以视为由另一个镜面上的场所产生,于是求解镜面上稳态场的分布问题就归结为求解一个积分方程。考虑在开腔中往返传播的一列波。设初始时刻在镜I上有某一个场分布“1,则当波在腔中经第一次渡越而到达镜II时,将在镜II上形成一个新的场分布“2,场“2经第二次渡越后乂将在镜I上形成一个新的场分布“3。每次渡越时,波都将因为衍射损失一部分能量,并引起能量分布变化,如此重复下去由于衍射主要是发生在镜的边缘附近,因此在传播过程中,镜边缘附近的场将衰落得更快,经多次衍射后所形成的场分布,其边缘振幅往往都很小(与中心处比较),具有这种特征的

4、场分布受衍射的影响也将比较小。可以预期:在经过足够多次渡越之后,能形成这样一种稳态场:分布不再受衍射的影响,在腔内往返一次后能够“再现”出发时的场分布,即实现了模的“自再现”,具体过程图1所示:图1开腔中自再现模的形成光学中的惠更斯一菲涅尔原理是从理论上分析衍射问题的基础,该原理的严格数学表示是菲涅尔一基尔霍夫衍射积分。设己知空间任意曲面S上光波场地振幅和相位分布函数为(/,/),由它所要考察的空间任一点P处场分布为“(X,),),二者之间有以下关系式:r-ikp(x,刃二ff(1+cos&)dS7tJJsp式中,。为(#$)与(匕刃连线的长度,0为S面上点(玖旳处的法线和上述连线之间的夹角,

5、力为S面上的面积元,k为波矢的模。而对于方形镜平行平面镜p=J(x_x)2+(y_y)2+芒将Q按a-xL,(y-y/L的幕级数展开,当满足a2/LA(L/a)2和夕/(厶/疔时-zml+1(ay,)1(vv,)2i一旧gf+上空eikp_e2l2l=eikLe2L2L从而得到心刃*&)严广匚咻即弋%砂AL丿一“将上式分离变量。令心y)=v(x)v(y)得到vU)=/aKxxvdx1f+bv(y)=/J_/?Kv(y,y”azn一泌、f=叫2Li-沁_)KyW)=厂叫2LAL/.80),如下图:0Z807?O7G0740730711OT12051CTICOX0233?40TO2WW图中连续的3

6、0个点中纵坐标最大值和纵坐标最小值的差可以作为自再现模是否形成的标志,认为x二a/2处振幅大小基本不变了就是自再现了。由此可以写判据判断自再现模在第几次渡越形成,并以此作为循环结束的标志。下面程序中写了的判据:在x二a/2处连续的30次渡越振幅最大值与最小值之差小于eps_u=0.Olo用该判据得到渡越188次后可认为是自再现模。实现方法是这样的:设一次积分将计算steps个点,先迭代30次,用个30*steps的矩阵把这30次的结果储存下來,取出该矩阵的第steps/4列(对应x二-a/2处),判断该列最大值与最小值之差是否小于0.01,是则结束判断,第30次就自再现了,否则,计算第31次的

7、振幅,用31次的结果去覆盖矩阵中的第一行数据,再取出该矩阵的第steps/4列,判断该列最大值与最小值之差是否小于0.01,是则结束判断,第31次就自再现了,否则,计算第32次的振幅程序:clear.dcglobalstepsLkalamda=Hiput(波长lamda=,);L=mput(腔长L=?;a=mputC镜长a=,);eps_u=mput(,ln度=);k=2*pvlamda;steps=5OO;x=liiispace(-a5a,steps);u_=ones(l,steps);form=l:30forinin=l:stepsuO(mm)=QU(x(mm)、u_);end;u_=uO

8、/max(abs(uO);u30(m,:)=u0;endflag=l;%自再现标志位u30_flag=l;%判据矩阵维数标记为N=30;wliile(flag=l)ifmax(abs(u30(:,steps/4)-mm(abs(u30(:,steps/4)eps_u%steps/4为x=a/2处,判据为连续30次渡越中最大振幅减去最小振幅小于eps_uflag=O;elseN=N+1;forinin=l:stepsu0(mm)=QU(x(mm)、u_);end;u_=u0/max(abs(u0);ifu3O_flag=31u30_flag=l;8激光原理课程设计endu30(u3O_flagJ

9、=uO;u30_flag=u30_flag+l;endendNsubplot(2,l,l)plot(x,abs(u0)/abs(u0(steps/2)xlabelCx);ylabelCffl对振幅?;angle_uO=angle(uO)/pi*180;angle_uO=angle_uO-angle_uO(steps/2);subplot(2,l,2)plot(x.angle.uO)xlabelCx);ylabelCffl对相位,);functionv=QU(x.u)globalstepsLkax_=liiispace(-a,a,steps);step_length=2*a/(steps-l);

10、y=sqn(li/L*exp(-li*k*L)*sum(exp(-li*k/2/L*(-x_+x).A2).*u)*step_length;3.3GUI界面的制作由于制作了多种图像显示方式,为了方便使用,设计了如下图的GUI界面:归一化振幅分布动态二维显示动态三维显示归一化相位分布激光原理课程设计在GUI中可以动态地显示振幅和相位在x方向以及在镜面上相对分布。程序见附录。U!本设计改进建议9激光原理课程设计由于时间有限,只讨论了方形镜平行平面腔。而且在计算积分的时候运用了循环的嵌套,使得计算效率比较低。相位分布图像由于matlab函数问题有一段会变得很大(略小于360,其实应该为0)。五、设计

11、感想通过这个课程设计收获主要有两点:一是练习了matlab软件的使用,学会了一些用matlab做光学仿真的方法;二是更深入理解了激光谐振腔在激光器中的地位和作用,巩固了课本上的知识。六、主要参考文献1 周炳琨.激光原理(第六版)M北京:国防工业出版社,2009.2 A.GFox,TingyeLi.ResonantModesinaMaserInterferometerLj.BellSystemTechnology,1961,40:453-488附录GUI程序:functionvarargout=Laser_GUI(varargin)%LASER_GUIM-fileforLaser.GUI.fig

12、%LASER_GUI,byitself,createsanewLASER_GUIorraisestheexisting%singleton*.%H=LASER_GUIreturnstliehandletoanewLASER_GUIorthehandleto%theexistingsingleton*.%LASERGALLBACK.hObjecteventDataJiandles,.)callsthelocal%functionnamedCALLBACKinLASER_GUI.Mwiththegivenmputarguments.%LASERGUPiopeny1,Value1,.)creates

13、anewLASER_GUIorraisesthe%existingsingleton*.Startingfromtheleft,propertyvaluepaiisare%appliedtotheGUIbeforeLaser_GUI_OpeniiigFcngetscalled.An%umecognizedpiopeitynameorinvalidvaluemakespropeityapplication%stopAllinputsaiepassedtoLaser_GUI_OpenmgFcnviavaiargiii%*SeeGUIOptionsonGUIDESToolsmuiu.ChooseGU

14、Iallowsonlyone10激光原理课程设计%instancetomn(singleton)H.%Seealso:GUIDE,GUIDATA,GUIHANDLES%EdittheabovetexttomodifytheresponsetohelpLaser_GUI%LastModifiedbyGUIDEv2.521-Apr-201216:07:57%Begininitializationcode-DONOTEDITguLSingleton=1;gui_State=stmct(gui_Name;mfilename,.,gui_Singleton;gui_Smgleton,.gui_Op亡ni

15、ngFcn;Laser_GUI_OpenuigFcn,.Lasei_GUI_OutputFcn,.,);,gui_OutputFcn,guLLavoutFcngui_Callback;ifnargiii&ischai(vaia】gin1)guLState.gui_Callback=sti-2fiinc(vaiaigm1);激光原理课程设计激光原理课程设计激光原理课程设计ifnargoutvarargout1:nargout=gui_mamfcn(guLState,varaigm:);elseguLmainfcn(guLState,vaiaigm:);end%Enduutializationco

16、de-DONOTEDIT%-一ExecutesjustbeforeLaseiGUIismadevisiblefunctionLaser_GUI_OpeningFcn(hObject,eventdata,handles,vaiargin)%Thisfunctionhasnooutputaigs,seeOutputFcn.%hObjecthandletofigure%eventdatareseived-tobedefinedinafutureversionofMATLAB%handles%varargiiistiuctuiewithhandlesanduserdata(seeGUIDATA)coi

17、niuandlmeaigumentstoLasei_GUI(seeVARARGIN)%ChoosedefaultcommandlineoutputforLaser_GUIhaiidles.output=hObject;%Updatehandlesstmctureguidata(hObject,handles);%UIWAITmakesLaser_GUIwaitforuserresponse(seeUIRESUME)%uiwait(handles.figure1);激光原理课程设计axes(handles.axes3)LOGO=inuead(lhit.jpg,);iinshow(LOGO)%Ou

18、tputsfromthisfunctionarereturnedtotheconmiandline,functionvarargout=Laser_GUI_OutputFcn(hObject,eventdata,handles)%varargoutcellarrayforretuniuigoutputaigs(seeVARARGOUT);%hObjecthandletofigure%eventdatareseived-tobedefinedinafutureversionofMATLAB%handlesstiuctuiewithhandlesanduserdata(seeGUIDATA)%Ge

19、tdefaultconmiandlineoutputfromhandlesstmcturevaiaigout1=handles.output;functionwavelengtli_Callback(hObject,eventdata,handles)%hObjecthandletowavelength(seeGCBO)%eventdatareseived-tobedefinedinafutureversionofMATLAB%handlesstiuctuiewithhandlesanduserdata(seeGUIDATA)%Hmts:get(hObject/Strmg,)returnsco

20、ntentsofwavelengthastext%sti-2double(get(hObject/Strmgf)returnscontentsofwavelengthasadouble%Executesduimgobjectcreation,aftersettmgallpiopeitiesfunctionwavelengtli_CreateFcn(hObject,eventdata,handles)%hObjecthandletowavelength(seeGCBO)%eventdatareseived-tobedefinedinafutureversionofMATLAB%handlesem

21、pty-handlesnotcreateduntilafterallCreateFcnscalled%Hmt:editcontiolsusuallyhaveawliitebackgroundonWindows.%SeeISPCandCOMPUTERifispc&isequal(get(hObject/BackgroundColor),get(0/defaultUicontrolBackgioundColof)setyiObject.BackgroundColorVwhite*);endfunctionLength_Callback(hObject,eventdata,handles)%hObj

22、ecthandletoLength(seeGCBO)%eventdatareseived-tobedefinedinafutureversionofMATLAB11激光原理课程设计%handlesstiuctuiewithhandlesanduserdata(seeGUIDATA)%Hmts:get(hObj亡ct,Stnng)returnscontentsofLengthastext%sti2double(get(hObject/Strmg,)returnscontentsofLengthasadouble%Executesdurmgobjectcreation,aftersettmgall

23、propertiesfunctionLength_CreateFcn(hObject,eventdata,handles)%hObjecthandletoLength(seeGCBO)%eventdatareseived-tobedefinedinafutureversionofMATLAB%handlesempty-handlesnotcreateduntilafterallCreateFcnscalled%Hmt:editcontiolsusuallyhaveawliitebackgroundonWindows.%SeeISPCandCOMPUTERifispc&isequal(get(h

24、Object/BackgroundColor,),get(0/defaultUicontrolBackgioundColor*)setyiObject.BackgroundColorVwhite*);endfunctionarea_Callback(hObject,eventdata,handles)%hObjecthandletoaiea(seeGCBO)%eventdatareseived-tobedefinedinafutureversionofMATLAB%handlesstiuctuiewithhandlesanduserdata(seeGUIDATA)%Hmts:get(hObj亡

25、ct,Stnng)returnscontentsofaieaastext%sti2double(get(hObject/Strmg,)returnscontentsofareaasadouble%Executesdurmgobjectcreation,aftersettmgallpropertiesfunctionarea_CreateFcn(hObject,eventdata,handles)%hObjecthandletoaiea(seeGCBO)%eventdatareseived-tobedefinedinafutureversionofMATLAB%handlesempty-hand

26、lesnotcreateduntilafterallCreateFcnscalled%Hmt:editcontiolsusuallyhaveawliitebackgroundonWindows.%SeeISPCandCOMPUTERifispc&isequal(get(hObject/BackgroundColor,),get(0/defaultUicontrolBackgioundColor*)setyiObject.BackgroundColorVwhite*);endfunctiontmies_Callback(hObject,eventdata,handles)激光原理课程设计%hOb

27、jecthandletotimes(seeGCBO)%eventdatareseived-tobedefinedinafutureversionofMATLAB%handlesstiuctuiewithhandlesanduserdata(seeGUIDATA)%Hmts:getyiObject/Stimg*)returnscontentsoftimesastext%sti2double(get(hObject/Strmg,)returnscontentsoftimesasadouble%Executesdurmgobjectcreation,aftersettmgallpiopeities.

28、functiontmies_CieateFcn(hObject,eventdata,handles)%hObjecthandletotimes(seeGCBO)%eventdatareseived-tobedefinedinafutureversionofMATLAB%handlesempty-handlesnotcreateduntilafterallCreateFcnscalled%Hmt:editcontiolsusuallyhaveawliitebackgroundonWindows.%SeeISPCandCOMPUTERifispc&isequal(get(hObject/Backg

29、roundColor,),get(0/defaultUicontiolBackgroundColor*)setyiObject/BackgroundColof/white*);end%Executesonbuttonpressmpushbutton2functionpushbutton2_Callback(hObject,eventdata,handles)%hObjecthandletopushbuttoii2(seeGCBO)%eventdatareseived-tobedefinedinafutureversionofMATLAB%handlesstiuctuiewithhandlesa

30、nduserdata(seeGUIDATA)globalstepsLkalainda=sti-2num(get(haiidles.wavelengthJStiing,);L=sti2num(get(haiidles.Length/Stiing,);a=str2num(get(handles.aiea/Strmg,);N=str2num(get(haiidles.tunes/Strmg,);k=2*pvlamda;steps=500;x=liiispace(-a,a,steps);u_=ones(l,steps);form=l:Nfornun=l:stepsuO(mm)=QU(x(mm),u_)

31、;endaxes(handles.axesl)plot(x,abs(u0)/abs(u0(steps/2)axis(-aa01.3)angle_uO=aiigle(uO)/pi*180;angle_u0=aiigle_u0-angle_u0(steps/2);axes(handles.axes2)plot(x,angle_uO)u_=uO/niax(abs(uO);end%-Executesonbuttonpressmpushbutton3functionpushbutton3_Callback(hObject,eventdata,handles)%hObjecthandletopushbut

32、ton3(seeGCBO)%eventdataeserved-tobedefinedinafutureversionofMATLAB%handlesstiuctuiewithhandlesanduserdata(seeGUIDATA)globalstepsLkalainda=sti-2num(get(haiidles.wavelengthJStimg,);L=sti2num(get(haiidles.Length/Stiing,);a=str2num(get(handles.aiea/Strmg,);N=str2num(get(haiidles.tunes/Strmg,);k=2*pilamd

33、a;steps=500;x=lmspace(-a5a,steps);X.Y=meshgiid(lmspace(-a.a,50),lmspace(-a,a,50);u_=ones(l,steps);fbrm=l:Nfornim=l:stepsuO(mm)=QU(x(mm),u_);endabs_uO=abs(uO)/abs(uO(steps/2);Z_A=sqrt(mteip1(x,abs_uO,X).A2+(interp1(x,abs_uO.Y).A2);axes(handles.axes1)surf(XXZ_A)axis(-aaaa01.5)angle_uO=aiigle(uO)/pi*18

34、0;angle_u0=aiigle_u0-angle_u0(steps/2);Z_P=sqrt(mterp1(x,aiigle_uO,X).A2+(mterp1(x、angle_u0,Y)人2);axes(handles.axes2)surf(XXZ_P)axis(-aa-aa-1090)u_=uO/niax(abs(uO);end%functionUntitled_l_Callback(hObject,eventdata,handles)%hObjecthandletoUntitled_l(seeGCBO)%eventdatareseived-tobedefinedinafutureversionofMATLAB%handlesstiuctuiewithhandlesanduserdata(seeGUIDATA)functiony=QU(x、u)globalstepsLkax_=liiispace(-a,a,steps);step_length=2*az(steps-l);y=sqn(li/L*exp(-li*k*L)*suni(exp(-li*k/,,2/L*(-x-+x).A2).*u)*step_length;14

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!