高斯光束的mb仿真

合集下载

高斯光束的matlab仿真设计

高斯光束的matlab仿真设计

题目:根据高斯光束数学模型,模拟仿真高斯光束在谐振腔中某一位置处的归一化强度分布并给出其二维、三维强度分布仿真图;用Mat la b读取实际激光光斑照片中所记录的强度数据(读取照片中光斑的一个直径所记录的强度数据即可,Mat lab读取照片数据命令为imread),用该数据画出图片中激光光斑的强度二维分布图,与之前数学模型仿真图对比。

(如同时考虑高斯光束光斑有效截面半径和等相位面特点,仿真高斯光束光强、光斑有效截面半径以及等相位面同时随传播距离z的变化并给出整体仿真图可酌情加分。

)原始光斑如图1所示,用imread命令读入mat lab后宜接用i ms how命令读取即可,CCD采集的高斯光束光强分布图1 CCD釆集的高斯光束强度分布读入的数据是一个224 X 244的矩阵,矩阵中的数值代表光强分布。

用读入的数据取中间一行(122行)画出强度分布如图2所示。

页脚实验测量高斯曲线180160 - i i -140 - !;・120 - i i ・100 - -80・-60 - ![ -40 - -20 - -I Iyv/50 100 150 200图2实验测量高斯曲线用理论上的高斯曲线公式画出理论高斯曲线如图3所示。

理论高斯曲线页脚M文件如下:A=imread(r D:\documents\作业\激光原理与应用\高斯.bmp');A1=A(: J22);xl=l:l:224;x2=-100:1:100;a2=exp(-x2. *2/10);figureimshow(A);axis offtitleCAfontsizei^/CCD采集的高斯光束光强分布');figureplot(x2,a2t1linewidth1•1,* color*, b);axis([-40 40 0 1.2])title(* \fontsize{12:实验测童高斯曲线’)figureplot(xl.Al t linewidth1.1.* color*, * r )title(' \fontsize{12?理论高斯曲线')axis([50 200 0 180])画三维强度分布。

matlab高斯光束在自由传输过程中的强度变化。

matlab高斯光束在自由传输过程中的强度变化。

matlab高斯光束在自由传输过程中的强度变化。

文章标题:深度解析:matlab高斯光束在自由传输过程中的强度变化导言:在现代光学和通信领域,高斯光束一直是一个备受关注的研究对象。

其理论模型和实际应用广泛存在于激光技术、光通信、光学成像等众多领域。

本文将深入探讨matlab中高斯光束在自由传输过程中的强度变化规律,通过理论分析和数值模拟,为读者提供全面、深入的理解和应用指导。

一、高斯光束的基本概念我们需要了解高斯光束的基本概念。

高斯光束是一种特殊的光束模式,其幅度和相位分布呈现出高斯函数的特征。

在实际应用中,我们通常通过高斯光束来描述光束的传输特性和聚焦特性。

1. 高斯光束的数学表达高斯光束的数学表达是关于位置和时间的二维高斯函数。

它通常由振幅和相位两部分构成,可以用复数表示。

在matlab中,我们可以使用一系列函数来描述和模拟高斯光束的传播和变化。

2. 高斯光束的特性高斯光束具有许多独特的特性,比如其在自由传输过程中的强度变化规律、焦距、散焦等。

这些特性对于理解光束的传输和调控至关重要。

二、matlab中高斯光束的建模与仿真接下来,我们将重点介绍matlab中对高斯光束的建模和仿真。

matlab作为一种强大的科学计算软件,拥有丰富的工具和函数库,可以有效地模拟和分析光学系统中的高斯光束的传播和强度变化。

1. 高斯光束的建模在matlab中,我们可以使用GaussBeam类或者自定义函数来建立高斯光束的模型。

通过设定光束的初始参数、波长、焦距等,我们可以快速地建立起高斯光束的数学模型。

2. 高斯光束的传输仿真通过matlab的光学传输仿真工具包,我们可以对高斯光束在自由传输过程中的强度变化进行模拟和分析。

在仿真过程中,我们可以观察到光束的膨胀、散焦、衍射等现象,从而深入理解其传播规律。

三、高斯光束在自由传输过程中的强度变化规律现在,让我们来重点分析高斯光束在自由传输过程中的强度变化规律。

通过理论分析和数值模拟,我们可以得出一些重要结论。

matlab仿真光束的传输特性

matlab仿真光束的传输特性

一、课程设计题目:用matlab 仿真光束的传输特性。

二、任务和要求用matlab 仿真光束通过光学元件的变换。

① 设透镜材料为k9玻璃,对1064nm 波长的折射率为1.5062,镜片中心厚度为3mm ,凸面曲率半径,设为100mm ,初始光线距离透镜平面20mm 。

用matlab 仿真近轴光线(至少10条)经过平凸透镜的焦距,与理论焦距值进行对比,得出误差大小。

② 已知透镜的结构参数为101=r ,0.11=n ,51=d ,5163.121=='n n (K9玻璃),502-=r ,0.12='n ,物点A 距第一面顶点的距离为100,由A 点计算三条沿光轴夹角分别为10、20、30的光线的成像。

试用Matlab 对以上三条光线光路和近轴光线光路进行仿真,并得出实际光线的球差大小。

③ 设半径为1mm 的平面波经凸面曲率半径为25mm ,中心厚度3mm 的平凸透镜。

用matlab 仿真平面波在透镜几何焦平面上的聚焦光斑强度分布,计算光斑半径。

并与理论光斑半径值进行对比,得出误差大小。

(方法:采用波动理论,利用基尔霍夫—菲涅尔衍射积分公式。

)2、用MATLAB 仿真平行光束的衍射强度分布图样。

(夫朗和费矩形孔衍射、夫朗和费圆孔衍射、夫朗和费单缝和多缝衍射。

)3、用MATLAB 仿真厄米—高斯光束在真空中的传输过程。

(包括三维强度分布和平面的灰度图。

)4、(补充题)查找文献,掌握各类空心光束的表达式,采用费更斯-菲涅尔原理推导各类空心光束在真空中传输的光强表达式。

用matlab 对不同传输距离处的光强进行仿真。

三、理论推导部分✍将坐标原点选在透镜中心处,θ1=arcsin(y1/r),由n1*sinθ1=n2*sinθ2可得出θ2=arcsin(n1/n2)*(y1/r),由几何关系可得到θ=θ2-θ1,则出射光线的斜率k=tan(θ2-θ1),当入射直线y=y1时,x1=d-(r-(yr ),并设出射直线为y=k*x+b;由直线经过(x1,y1)即可求2^)2^1出b值,从而就可以求出射直线。

高斯光束的matlab仿真教学内容

高斯光束的matlab仿真教学内容

高斯光束的m a t l a b仿真题目:根据高斯光束数学模型,模拟仿真高斯光束在谐振腔中某一位置处的归一化强度分布并给出其二维、三维强度分布仿真图;用Matlab读取实际激光光斑照片中所记录的强度数据(读取照片中光斑的一个直径所记录的强度数据即可,Matlab读取照片数据命令为imread),用该数据画出图片中激光光斑的强度二维分布图,与之前数学模型仿真图对比。

(如同时考虑高斯光束光斑有效截面半径和等相位面特点,仿真高斯光束光强、光斑有效截面半径以及等相位面同时随传播距离z的变化并给出整体仿真图可酌情加分。

)原始光斑如图1所示,用imread命令读入matlab后直接用imshow命令读取即可,CCD采集的高斯光束光强分布图1 CCD采集的高斯光束强度分布读入的数据是一个224 X 244的矩阵,矩阵中的数值代表光强分布。

用读入的数据取中间一行(122行)画出强度分布如图2所示。

50100150200020406080100120140160180实验测量高斯曲线图2 实验测量高斯曲线用理论上的高斯曲线公式画出理论高斯曲线如图3所示。

-40-30-20-1001020304000.20.40.60.81理论高斯曲线图3 理论高斯曲线M 文件如下:A=imread('D:\documents\作业\激光原理与应用\高斯.bmp');A1=A(:,122);x1=1:1:224;x2=-100:1:100;a2=exp(-x2.^2/10);figureimshow(A);axis offtitle('\fontsize{12}CCD 采集的高斯光束光强分布');figureplot(x2,a2,'linewidth',1,'color','b');axis([-40 40 0 1.2])title('\fontsize{12}实验测量高斯曲线')figureplot(x1,A1,'linewidth',1,'color','r')title('\fontsize{12}理论高斯曲线')axis([50 200 0 180])画三维强度分布。

MATLAB 高斯光束传播轨迹的模拟

MATLAB 高斯光束传播轨迹的模拟

B1:xx光束传播轨迹的模拟设计任务:作图表示xx光束的传播轨迹(1)基模高斯光束在自由空间的传播轨迹;(2)基模高斯光束经单透镜变换前后的传播轨迹;(3)基模高斯光束经调焦望远镜变换前后的传播轨迹。

function vargout = B1(vargin)% B1 M-file forB1.fig%B1, by itself, creates a new B1 or raises the existing%singleton*.%%H = B1 returns the handle to a new B1 or the handle to%the existing singleton*.%%B1('CALLBACK',hObject,eventData,handles,...) calls the local%function named CALLBACK inB1.M with the given input arguments.%%B1('Property','Value',...) creates a new B1 or raises the%existing singleton*.Starting from the left, property value pairs are%applied to the GUI before B1_OpeningFunction gets called.An%unrecognized property name or invalid value makes property applicationGUIDE, GUIDATA, GUIHANDLES% Copyright 2002-2003 The MathWorks, Inc.% Edit the above text to modify the response to help B1% Last Modified by GUIDE v2.5 21-Oct-2010 17:52:32% Begin initialization code - DO NOT EDIT gui_Singleton = 1;gui_State = struct('gui_Name',mfilename, ... 'gui_Singleton',gui_Singleton, ...'gui_Callback',[]);if nargin && ischar(vargin{1})gui_State.gui_Callback = str2func(vargin{1}); endif nargout});else});end% End initialization code - DO NOT EDIT% --- Executes just before B1 is made visible. % hObjecthandle to figure% eventdatareserved - to be defined in a future version of MATLAB % handlesstructure with handles and user data (see GUIDATA)handles.output = hObject;% Update handles structureguidata(hObject, handles);% UIWAIT makes B1 wait for user response (see UIRESUME)% uiwait(handles.figure1);% vargoutcell array for returning output args (see VARGOUT);% hObjecthandle to figure% eventdatareserved - to be defined in a future version of MATLAB % handlesstructure with handles and user data (see GUIDATA) vargout{1} = handles.output;% --- Executes on button press in pushbutton1.function pushbutton1_Callback(hObject, eventdata, handles)% hObjecthandle to pushbutton1 (see GCBO)% eventdatareserved - to be defined in a future version of MATLAB % handlesstructure with handles and user data (see GUIDATA) handles.W0=str2double(get(handles.editW0,'string'));handles.B=str2double(get(handles.editB,'string'));guidata(hObject,handles);Z=-100:100;W=(handles.W0*10^4)*(sqrt(1+handles.B^2*(Z*10^6).^2./(pi^2*(handles.W0*10^4)^4)));plot(Z,W,'b',Z,-W,'b');% --- Executes on button press in pushbutton2.function pushbutton2_Callback(hObject, eventdata, handles)% hObjecthandle to pushbutton2 (see GCBO)% eventdatareserved - to be defined in a future version of MATLAB % handlesstructure with handles and user data (see GUIDATA)handles.W0=str2double(get(handles.editW0,'string'));handles.B=str2double(get(handles.editB,'string'))/1000;handles.Z=str2double(get(handles.editZ,'string'))*1000;handles.f=str2double(get(handles.editf,'string'))*10;L=(handles.Z-handles.f)*handles.f^2/((handles.Z-handles.f)^2+pi^2*handles.W0^4/handles.B^2)+handles.f;T1=-handles.Z:1:handles.Z;Y1=handles.W0*sqrt(1+T1.^2*handles.B^2/(pi^2*handles.W0^4));T2=handles.Z:1:(handles.Z+2*L);W1=(handles.W0*handles.f/sqrt((handles.f-handles.Z)^2+pi^2*handles.W0^4/handles.B^2));Y2=W1*sqrt(1+(T2-handles.Z-L).^2/(pi^2*W1^4/handles.B^2));plot(T1,Y1,'b',T1,-Y1,'b',T2,Y2,'r',T2,-Y2,'r');% --- Executes on button press in pushbutton3.function pushbutton3_Callback(hObject, eventdata, handles)% hObjecthandle to pushbutton3 (see GCBO)% eventdatareserved - to be defined in a future version of MATLAB% handlesstructure with handles and user data (see GUIDATA)handles.W0=str2double(get(handles.editW0,'string'));handles.B=str2double(get(handles.editB,'string'))/1000;handles.f1=str2double(get(handles.editf1,'string'))*10;handles.Z=str2double(get(handles.editZ,'string'))*1000;handles.f2=str2double(get(handles.editf2,'string'))*10;L=(handles.Z-handles.f1)*handles.f1^2/((handles.Z-handles.f1)^2+pi^2*handles.W0^4/handles.B^2)+handles.f1;T1=-handles.Z:1:handles.Z;Y1=handles.W0*sqrt(1+T1.^2*handles.B^2/(pi^2*handles.W0^4));T2=handles.Z:1:(handles.Z+L+handles.f2);W1=(handles.W0*handles.f1./sqrt((handles.f1-handles.Z)^2+pi^2*handles.W0^4./handles.B^2));Y2=W1*sqrt(1+(T2-handles.Z-L).^2./(pi^2*W1^4/handles.B^2));W2=W1*sqrt(1+handles.f2^2/(pi^2*W1^4/handles.B^2));T3=(handles.Z+L+handles.f2):1:3*(handles.Z+L+handles.f2);Y3=W2;plot(T1,Y1,'b',T1,-Y1,'b',T2,Y2,'r',T2,-Y2,'r',T3,Y3,'g',T3,-Y3,'g');grid on;function editW0_Callback(hObject, eventdata, handles)% hObjecthandle to editW0 (see GCBO)% eventdatareserved - to be defined in a future version of MATLAB% handlesstructure with handles and user data (see GUIDATA)% Hints:get(hObject,'String') returns contents of editW0 as text%str2double(get(hObject,'String')) returns contents of editW0 as a double % --- Executes during object creation, after setting all properties.% hObjecthandle to editW0 (see GCBO)% eventdatareserved - to be defined in a future version of MATLAB% Hint:edit controls usually have a white background on Windows.%See ISPC and COMPUTER.if ispcset(hObject,'BackgroundColor','white');elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); endfunction editB_Callback(hObject, eventdata, handles)% hObjecthandle to editB (see GCBO)% eventdatareserved - to be defined in a future version of MATLAB% handlesstructure with handles and user data (see GUIDATA)% Hints:get(hObject,'String') returns contents of editB as text%str2double(get(hObject,'String')) returns contents of editB as a double % --- Executes during object creation, after setting all properties.% hObjecthandle to editB (see GCBO)% eventdatareserved - to be defined in a future version of MATLAB% Hint:edit controls usually have a white background on Windows.%See ISPC and COMPUTER.if ispcset(hObject,'BackgroundColor','white');elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));endfunction editZ_Callback(hObject, eventdata, handles)% hObjecthandle to editZ (see GCBO)% eventdatareserved - to be defined in a future version of MATLAB% handlesstructure with handles and user data (see GUIDATA)% Hints:get(hObject,'String') returns contents of editZ as text%str2double(get(hObject,'String')) returns contents of editZ as a double % --- Executes during object creation, after setting all properties.% hObjecthandle to editZ (see GCBO)% eventdatareserved - to be defined in a future version of MATLAB% Hint:edit controls usually have a white background on Windows.%See ISPC and COMPUTER.if ispcset(hObject,'BackgroundColor','white');elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); endfunction editf_Callback(hObject, eventdata, handles)% hObjecthandle to editf (see GCBO)% eventdatareserved - to be defined in a future version of MATLAB% handlesstructure with handles and user data (see GUIDATA)% Hints:get(hObject,'String') returns contents of editf as text%str2double(get(hObject,'String')) returns contents of editf as a double % --- Executes during object creation, after setting all properties.% hObjecthandle to editf (see GCBO)% eventdatareserved - to be defined in a future version of MATLAB% Hint:edit controls usually have a white background on Windows.%See ISPC and COMPUTER.if ispcset(hObject,'BackgroundColor','white');elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); endfunction editf1_Callback(hObject, eventdata, handles)% hObjecthandle to editf1 (see GCBO)% eventdatareserved - to be defined in a future version of MATLAB% handlesstructure with handles and user data (see GUIDATA)% Hints:get(hObject,'String') returns contents of editf1 as text%str2double(get(hObject,'String')) returns contents of editf1 as a double % --- Executes during object creation, after setting all properties.% hObjecthandle to editf1 (see GCBO)% eventdatareserved - to be defined in a future version of MATLAB% Hint:edit controls usually have a white background on Windows.%See ISPC and COMPUTER.if ispcset(hObject,'BackgroundColor','white');elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); endfunction editf2_Callback(hObject, eventdata, handles)% hObjecthandle to editf2 (see GCBO)% eventdatareserved - to be defined in a future version of MATLAB% handlesstructure with handles and user data (see GUIDATA)% Hints:get(hObject,'String') returns contents of editf2 as text%str2double(get(hObject,'String')) returns contents of editf2 as a double % --- Executes during object creation, after setting all properties.% hObjecthandle to editf2 (see GCBO)% eventdatareserved - to be defined in a future version of MATLAB% Hint:edit controls usually have a white background on Windows.%See ISPC and COMPUTER.if ispcset(hObject,'BackgroundColor','white');elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end% --- Executes on mouse press over axes background.% hObjecthandle to axes1 (see GCBO)% eventdatareserved - to be defined in a future version of MATLAB% handlesstructure with handles and user data (see GUIDATA)% --- Executes on button press in pushbutton4.function pushbutton4_Callback(hObject, eventdata, handles)close(gcf)% hObjecthandle to pushbutton4 (see GCBO)% eventdatareserved - to be defined in a future version of MATLAB% handlesstructure with handles and user data (see GUIDATA)% --- Executes on key press over pushbutton4 with no controls selected. % hObjecthandle to pushbutton4 (see GCBO)% eventdatareserved - to be defined in a future version of MATLAB% handlesstructure with handles and user data (see GUIDATA)。

高斯光束方孔衍射计算机仿真实验

高斯光束方孔衍射计算机仿真实验

目录摘要 (I)Abstract (II)1 绪论 (1)2 高斯光束的特性 (2)2.1 基模高斯光束 (2)2.2 基模高斯光束在空间的传输规律 (3)2.3 高斯光束的参数 (4)2.4 方孔衍射的实验装置 (5)2.5 方孔衍射场及其光强分布 (5)2.6 方孔衍射的特征 (6)3 特殊的高斯的光束方孔衍射 (8)3.1 高斯光束通过后宽孔径条件下的传播特性 (8)3.2 高斯光束通过单缝衍射后的光强分布 (8)3.3 高斯光束通过方孔衍射后的光强分布 (9)4 高斯光束方孔衍射计算机仿真实验 (11)4.1 方孔衍射实验的设计与MATLAB模拟仿真 (11)4.2 方孔衍射的实验 (11)4.2.1 参数的设定 (11)4.2.2 程序的编写和调试 (12)4.3 实验模拟结果分析 (12)5 高斯光束的质量因子 (14)5.1 基模高斯光束的质量因子 (14)5.2 非傍轴标量的高斯光束的质量因子 (15)6 结束语 (19)致谢 (20)参考文献 (21)附录 (22)摘要激光的应用已经遍及科技,经济,军事和社会发展的许多领域,40余年来激光科学技术以其强大的生命力谱写了一部经典的科学交叉的创造发明史,他生动的体现了人的知识和技术创新活动是如何推动社会的发展从而造福人类的物质与精神生活的。

展望未来,激光在科学发展与技术应用两方面都还有巨大的机遇,挑战和创新的空间。

作为激光应用技术中的重要部分光的衍射特性一直是人们研究与探讨的对象,而本文所要讨论的就是衍射中最常见的一种高斯光束的矩孔衍射的效应问题。

我们将对高斯光束的特性与孔径衍射原理的理论作分析与研究,再设计实验参数与程序通过在MATLAB的模拟与仿真中多次的改变参数的数值来分析孔径的大小与光波的波长对孔径衍射后的场强分布及衍射的图案的影响。

最后结合理论与实际掌握高斯光束的方孔衍射效应遵循的基本原理完成本次的设计。

关键词:激光;高斯光束;方孔衍射;MA TLAB仿真AbstractThe application of the laser has already spread over science and technology, economy, many realms of the military and social development, more than 40 year the laser science technique wrote a science of classic to cross by its strong vitality table of the creation invention history, his vivid body now the person's knowledge and technique creative activity is how push a society of the development brings benefit to mankind thus of material and spiritual life of.Prospect future, the laser develops to apply both side with technique to all still have huge opportunity in science, challenging with the creative space.Be the important part light in the laser application technique to shoot characteristic to has been object of people research and study, but this text wants to discuss of be the effect problem that the rectangular aperture diffraction shoots medium most familiar Gauss light beam shoot.We will shoot the theories of the principle to make the analysis and research to the characteristic and bore path of the Gauss light beam, designing again the experiment parameter and procedure to pass after the MATLAB of imitate with imitate really win many numbers of change parameters shoot to the bore path to analytical size of the bore path and the wave-length of the light wave of the field is strong to distribute and the rectangular aperture diffraction shoot of the influence of the pattern .Combine theories finally with controls the rectangular aperture diffractionof the Gauss light beam to shoot physically the effect follow of basic principle completion is time originally of design.Keywords:laser;Gauss light beam;Diffraction in Rectangular Aperture;matlab to imitate1 绪论自从世界上第一台激光器问世至今,激光已涉足于许多科学学科和技术领域,并分化出不少重要的分支学科和交叉学科,激光技术、纤维光学和集成光学,也打开了光计算机的信息传输、存储和处理的时代的大门。

平面波 高斯光束 干涉 virtuallab

平面波 高斯光束 干涉 virtuallab

平面波高斯光束干涉virtuallab摘要:I.引言- 介绍平面波、高斯光束和干涉的基本概念- 说明virtuallab的作用和重要性II.平面波- 定义平面波- 解释平面波的特性- 举例说明平面波的应用III.高斯光束- 定义高斯光束- 解释高斯光束的特性- 举例说明高斯光束的应用IV.干涉- 定义干涉- 解释干涉的原理- 举例说明干涉的应用V.virtuallab- 定义virtuallab- 解释virtuallab的作用- 举例说明virtuallab的应用VI.总结- 总结平面波、高斯光束和干涉的特点和应用- 强调virtuallab的重要性正文:I.引言在光学领域,平面波、高斯光束和干涉是三个重要的概念。

它们在光学研究和应用中都有着广泛的应用。

virtuallab是一个虚拟实验室,它可以模拟光学实验,帮助我们更好地理解和研究这些概念。

II.平面波平面波是一种电磁波,它的传播方向与波的传播方向相同,且波的振幅随距离的增加而减小。

平面波的特性包括:频率、波长、速度和振幅。

在光学中,平面波通常用于描述光的传播。

平面波的应用包括:光纤通信、光学测量和光学显示等。

III.高斯光束高斯光束是一种光束,它的振幅分布遵守高斯函数。

高斯光束的特性包括:束腰半径、发散角、功率和光斑尺寸等。

在光学中,高斯光束通常用于描述激光的传播。

高斯光束的应用包括:激光加工、激光通信和激光雷达等。

IV.干涉干涉是指两个或多个光波在空间某一点叠加所产生的现象。

干涉的原理是:当两个光波的相位差为2nπ(n为整数)时,它们在空间某一点叠加会产生增强干涉;当两个光波的相位差为(2n+1)π时,它们在空间某一点叠加会产生减弱干涉。

干涉的应用包括:光学测量、光学显示和光学通信等。

V.virtuallabvirtuallab是一个虚拟实验室,它可以模拟光学实验,帮助我们更好地理解和研究平面波、高斯光束和干涉等概念。

在virtuallab中,我们可以设置光波的参数,观察它们的传播和干涉现象,并进行分析和优化。

激光基横模TEM00高斯光束的振幅分布模拟

激光基横模TEM00高斯光束的振幅分布模拟

激光基横模TEM00高斯光束的振幅分布模拟1、激光基横模TEM00高斯光束原理激光器作为光源与普通光源的主要区别之一是激光器有一个谐振腔。

谐振腔的主要主用有:倍增激光增益介质的受激放大作用长度以形成光的高亮度;提高了光源发光的方向性;由于激光器谐振腔中这种稳态场分布应在腔内经单程渡越(传播)后即实现再现,这个稳定的横向场分布,就是激光谐振腔的自再现模。

通常叫作横模。

(1)自再现模(横模)积分方程由陈家壁、彭润玲主编《激光原理及应用》第二版一书得自再现模所足的积分方程为σmn μmn (x ,y )=∫∫K (x,y,x ˊ,y ˊ)μmn (x ˊ,y ˊ)ds ˊ 式中K (x,y, x ˊ,y ˊ)=L ik π2e )y',x',,(y x ik ρ- =Li λe )y',x',,(y x ik ρ- σmn 与μmn 的下标表示该方程存在一系的不连续的本征函数解与本征值解。

积分方程的本征函数解μmn 一般为复函数,它的模代表模)积分方程的本征函数近似解析解μmn ≈C mn H m (X)H n (Y)e-222Y X +决定了镜面上的光分布,式中m=0,1,2,…;n=0,1,2,…; C mn 为一个和m ,n 有关的常数;X=x L λπ2,Y=y Lλπ2,H m (X)和H n (Y)均为厄米多相式,其表示式为H 0(X)=1,H 1(X)=2X ,H 2(X)=4X 2-2,…,H m (X)=(-1)m e X m m dXd e-2X 若令F m (X)= H m (X)e-22X ,F n (Y)= H n (Y)e-22Y ,则镜面上的光场振幅分布为μmn ≈C mn F m (X) F n (Y)00 U 00= exp (-2s 22212ωζy x ++) 其中ζ=2z/L ,ωs =πλL ,式中忽略了常量因子C mn 。

(1) 当z=0时即在谐振腔中心平面时U00= exp(-Lλπ2(x2 +y2))(2)当z=±L/2时即在共焦谐振腔镜面上时U00= exp(-Lλπ(x2 +y2))(3)当z为谐振腔内任意一点时[X,Y]=meshgrid(x,y);u00=exp(-(X.^2+Y.^2)./2);mesh(X,Y,u00);Matlab模拟图形:现以一方形镜对称共焦腔腔长L=0.4m;λ=632.8nm光波的He-Ne激光器为例用Matlab计算软件模拟激光谐振腔内基横模TEM高斯光00束的振幅分布。

高斯光束及其传播特性的仿真

高斯光束及其传播特性的仿真
高斯光束及其传播特性的仿真
高斯光束的基本性质
稳态传输的电磁场满足亥姆霍兹方程: (4.1) 容易证明,平面波和球面波都是式 (4.1) 的特解。高斯 光束则不同,它不是式(4.1)的精确解,而是缓变振幅近似 (SVA)下的一个特解。在柱坐标系中设 (4.3) E (r , z ) A(r , z ) exp(ikz) 因此可得到形如
2

(4.15)
( z ) tan1
z 1 z tan 2 ZR w0
(4.16) (4.17)
将式(4.14)带入式(4.3)可将E(r,z)表示为
2 A0 w0 r2 r E (r , z ) exp 2 exp i k z ( z ) w( z ) w ( z) 2 R( z )
X2 (n1 / n2 )Y1 A2 2 X 1 AB ( X 12 Y12 ) B 2
2 1 2 1
( X Y ) BD X1 ( AD BC) AC X2 A2 2 X 1 AB ( X12 Y12 ) B 2
(4.46)
实际工作中最感兴趣的是X1=X2=0,即研究入射与出射高 斯光束束腰间的变换问.28)
用复参数q可将式(4.14)简洁地表示为
ikr 2 iZ R A(r , q ) A0 exp q 2q
(4.29)
这样高斯光束可由复参数q确定。当q已知时,R(z)、 w(z)可按下式求出:
1 1 Re R q
物像比例公式:
wi
(4.61)
(s
fw0 f) Z
2
0

高斯光束的matlab仿真

高斯光束的matlab仿真

题目:根据高斯光束数学模型,模拟仿真高斯光束在谐振腔中某一位置处的归一化强度分布并给出其二维、三维强度分布仿真图;用Matlab读取实际激光光斑照片中所记录的强度数据(读取照片中光斑的一个直径所记录的强度数据即可,Matlab读取照片数据命令为imread),用该数据画出图片中激光光斑的强度二维分布图,与之前数学模型仿真图对比。

(如同时考虑高斯光束光斑有效截面半径和等相位面特点,仿真高斯光束光强、光斑有效截面半径以及等相位面同时随传播距离z的变化并给出整体仿真图可酌情加分。

)原始光斑如图1所示,用imread命令读入matlab后直接用imshow命令读取即可,CCD采集的高斯光束光强分布图1 CCD采集的高斯光束强度分布读入的数据是一个224 X 244的矩阵,矩阵中的数值代表光强分布。

用读入的数据取中间一行(122行)画出强度分布如图2所示。

图2 实验测量高斯曲线用理论上的高斯曲线公式画出理论高斯曲线如图3所示。

图3 理论高斯曲线50100150200020406080100120140160180实验测量高斯曲线-40-30-20-1001020304000.20.40.60.81理论高斯曲线M文件如下:A=imread('D:\documents\作业\激光原理与应用\高斯.bmp');A1=A(:,122);x1=1:1:224;x2=-100:1:100;a2=exp(-x2.^2/10);figureimshow(A);axis offtitle('\fontsize{12}CCD采集的高斯光束光强分布');figureplot(x2,a2,'linewidth',1,'color','b');axis([-40 40 0 1.2])title('\fontsize{12}实验测量高斯曲线')figureplot(x1,A1,'linewidth',1,'color','r')title('\fontsize{12}理论高斯曲线')axis([50 200 0 180])画三维强度分布。

zemax对激光高斯光束波形仿真--演示文稿

zemax对激光高斯光束波形仿真--演示文稿
通过一段时间的资料收集以及自己的学习和研究, 我终于弄清楚了zemax的操作方法,了解了zemax 如何模拟各种光学元器件以及我们所学的各种光 学系统,并对各种光学模拟软件及其优缺点有了 基本的了解和分析,并对激光有了更深一步的认 识
谢谢
Sampling and Width
Beam Profile
初始光束由以下几种类型定义: Gaussian Waist Gaussian Angle Gaussian Size+Angle Top Hat User defined table in a file User defined DLL program 光束可以定义在任何视场内,方向沿着主光线,
Size of Pinhole
• 减小针孔的大小,会发现Gaussian光斑周围的暗环少了,
光斑质量比较好。
高斯光束三维波形
总结
通过对zemax软件的学习在这次毕业论文的设计中, 我不仅回顾了以前的理论知识,而且还学到了很 多新的知识和实践经验。在准备期间,我利用图 书馆和网络搜索了大量的资料,锻炼了我自主寻找 资料的能力;
1.4高斯光束的特点
在研究普通光学系统的成像时,我们都假定点光 源发出的球面波在各个方向上的光强度是相同的, 即光束波面上各点的振幅是相等的。而激光作为 一种光源,其光束截面内的光强分布是不均匀的, 即光束波面上各点的振幅是不相等的,其振幅A 与光束截面半径r的函数关系为: (1)其中A0为光束截面中心的振幅,w为一个与光 束截面半径有关的参数,r为光束截面半径。光束波 面的振幅A呈高斯(Guass)型函数分布所以激光光束 又称为 高斯光束。
束腰: 相对光腰的Z位置为:
Zr是Rayleigh范围。
Surface specific settings

平面波 高斯光束 干涉 virtuallab

平面波 高斯光束 干涉 virtuallab

平面波高斯光束干涉virtuallab
摘要:
一、平面波与高斯光束的概念与关系
二、干涉现象及其在虚拟实验室中的应用
三、总结
正文:
一、平面波与高斯光束的概念与关系
平面波是一种波面平行于传播方向的波,其波面是一系列相互平行的平面。

在离波源较远处,沿波的传播方向取一局部范围来看,在这范围内的波面都是平行的,这样的波可以近似看成平面波。

例如,射到地面的太阳光波可以看成平面波。

高斯光束通常情况下,激光谐振腔发出的基模辐射场,其横截面的振幅分布遵守高斯函数,故称高斯光束。

高斯光束的传输特性是在远处沿传播方向成特定角度扩散,该角度即是光束的远场发散角,与波长成正比,与其束腰半径成反比。

二、干涉现象及其在虚拟实验室中的应用
干涉现象是波特有的现象,指两个或多个波在相同的空间位置和时间上相互叠加,其振幅的矢量和随时间变化。

在虚拟实验室(VirtualLab)中,可以利用光学元件(如透镜、反射镜等)和光源(如激光器、LED 等)模拟产生平面波和高斯光束,并观察它们的干涉现象。

在VirtualLab 中,用户可以自定义光源、光学元件和探测器等参数,搭
建光路并进行模拟。

在模拟过程中,可以观察到不同光束之间的干涉现象,如波的叠加、干涉条纹等。

此外,还可以通过调整光源、光学元件等参数,探究干涉现象与参数之间的关系,从而加深对光学知识的理解。

三、总结
平面波与高斯光束是光学中的基本概念,它们在虚拟实验室中的应用有助于学生更好地理解光学原理和干涉现象。

高斯光束传播及其MATLAB仿真

高斯光束传播及其MATLAB仿真

目录一、高斯光束 (1)1简介: (1)2. 命名 (1)二、高斯定律的传播 (2)1.振幅分布特性 (2)2.等相位面特性 (2)3.高斯光束的瑞利长度 (3)4.高斯光束的远场发散角 (4)三、用MATLAB仿真高斯光束的优势 (4)四、提出高斯光束的问题 (4)五、问题的求解 (5)六、问题的MATLAB程序 (7)1、程序如下: (7)2.最终运行 (10)七、结束语 (17)八、参考文献 (17)九、成绩评定 (18)一、高斯光束1简介:通常情形,激光谐振腔发出的基模辐射场,其横截面的振幅分布遵守高斯函数,故称高斯光束。

2.命名关于光斑大小的查询,其实问的就是光斑的束腰直径或束腰半径。

束腰,是指高斯光绝对平行传输的地方。

半径,是指在高斯光的横截面考察,以最大振幅处为原点,振幅下降到原点处的0.36788倍,也就是1/e倍的地方,由于高斯光关于原点对称,所以1/e的地方形成一个圆,该圆的半径,就是光斑在此横截面的半径;如果取束腰处的横截面来考察,此时的半径,即是束腰半径。

沿着光斑前进,各处的半径的包络线是一个双曲面,该双曲面有渐近线。

高斯光束的传输特性,是在远处沿传播方向成特定角度扩散,该角度即是光束的远场发散角,也就是一对渐近线的夹角,它与波长成正比,与其束腰半径成反比,故而,束腰半径越小,光斑发散越快;束腰半径越大,光斑发散越慢。

我们用感光片可以看到,在近距离时,准直器发出的光在一定范围内近似成平行光,距离稍远,光斑逐渐发散,亮点变弱变大;可是从光纤出来的光,很快就发散;这是因为,准直器的光斑直径大约有400微米,而光纤的光斑直径不到10微米。

同时,对于准直器最大工作距离的定义,往往可理解为该准直器输出光斑的共焦参数,该参数与光斑束腰半径平方成正比,与波长成反比,计算式是:3.1415926*束腰半径*束腰半径/波长。

所以要做成长工作距离(意味着在更长的传输距离里高斯光束仍近似成平行光)的准直器,必然要把光斑做大,透镜相应要加长加粗。

高斯光束的matlab仿真设计

高斯光束的matlab仿真设计

题目:根据高斯光束数学模型,模拟仿真高斯光束在谐振腔中某一位置处的归一化强度分布并给出其二维、三维强度分布仿真图;用Matlab读取实际激光光斑照片中所记录的强度数据(读取照片中光斑的一个直径所记录的强度数据即可,Matlab读取照片数据命令为imread),用该数据画出图片中激光光斑的强度二维分布图,与之前数学模型仿真图对比。

(如同时考虑高斯光束光斑有效截面半径和等相位面特点,仿真高斯光束光强、光斑有效截面半径以及等相位面同时随传播距离z的变化并给出整体仿真图可酌情加分。

)原始光斑如图1所示,用imread命令读入matlab后直接用imshow命令读取即可,CCD采集的高斯光束光强分布图1 CCD采集的高斯光束强度分布读入的数据是一个224 X 244的矩阵,矩阵中的数值代表光强分布。

用读入的数据取中间一行(122行)画出强度分布如图2所示。

50100150200020406080100120140160180实验测量高斯曲线图2 实验测量高斯曲线用理论上的高斯曲线公式画出理论高斯曲线如图3所示。

-40-30-20-1001020304000.20.40.60.81理论高斯曲线图3 理论高斯曲线M文件如下:A=imread('D:\documents\作业\激光原理与应用\高斯.bmp');A1=A(:,122);x1=1:1:224;x2=-100:1:100;a2=exp(-x2.^2/10);figureimshow(A);axis offtitle('\fontsize{12}CCD采集的高斯光束光强分布');figureplot(x2,a2,'linewidth',1,'color','b');axis([-40 40 0 1.2])title('\fontsize{12}实验测量高斯曲线')figureplot(x1,A1,'linewidth',1,'color','r')title('\fontsize{12}理论高斯曲线')axis([50 200 0 180])画三维强度分布。

Zmax关于激光高斯光束波形仿真

Zmax关于激光高斯光束波形仿真

目录绪论 (2)第一章激光原理 (4)1.1激光的产生 (4)1.2激光的特点: (4)1.3激光的应用 (6)第二章高斯光束 (6)2.1、高斯光束的特性 (6)2.2、高斯光束的传播 (7)2.3、高斯光束的透镜变换 (9)2.4、高斯光束的聚焦和准直 (12)第三章ZEMAX软件介绍 (13)3.1ZEMAX简介: (13)3.2传统的镜头设计,和大多数成像系统; (14)3.3R AY T RACING的3种方式 (14)3.4软件界面介绍 (16)第五章结论 (23)Zmax关于激光高斯光束波形仿真绪论在时代发展的今天;激光作为目前应用领域不论是在工业切割还是在医学光子领域各种各样的场合越来越需要引进这种光源。

但由于激光具有单位面积能量高不易进行实物实验;还有就是各种光学元器件价格昂贵为了减少损失各种光学模拟软件应运而生。

光学模拟软件可以极大程度的还原真实的实验过程可以做各种各样的光路模拟波形仿真。

ZEMAX 是一套综合性的光学设计仿真软件,它将实际光学系统的设计概念、优化、分析、公差以及报表集成在一起。

ZEMAX 不只是透镜设计软件而已,更是全功能的光学设计分析软件,具有直观、功能强大、灵活、快速、容易使用等优点,与其他软件不同的是ZEMAX 的CAD 转档程序都是双向的,如IGES 、STEP 、SAT 等格式都可转入及转出。

而且ZEMAX可仿真Sequential 和Non-Sequential 的成像系统和非成像系统,ZEMAX 当前有:SE 及EE 两种版本。

Zmax作为一款光学模拟软件其具有上手容易功能强大基本可以满足光学设计的要求,目前市面上主要的光学辅助设计软件有■Zemax (光学设计软件)■TracePro(光学仿真软件)■ASAP(光学仿真软件)■LightTools(光学仿真软件)■CODEV (Optical Research Associates )■OSLO (Lambda光学设计软件)•ZEMAX 是将实际光学系统的设计概念、优化、分析、公差以及报表集成在一起的一套综合性的光学设计仿真软件。

Zemax激光高斯光束仿真——开题报告

Zemax激光高斯光束仿真——开题报告

Zemax激光高斯光束仿真_____开题报告学生:陈琪物理与信息工程学院指导老师:陈翔宇江汉大学一.研究的目的和意义激光自60年代初问世以来,由于其亮度高、单色性好、方向性强等优点,在许多领域得到了广泛应用。

例如激光加工、激光精密测量与定位、光学信息处理和全息术、模式识别和光计算、光通信等。

但无论激光在哪方面的应用,都离不开激光束的传输,因此研究激光束在各种不同介质中的传输形式和传输规律,并设计出实用的激光光学系统,是激光技术应用的一个重要问题。

激光具有方向性好能量散射少接近与单色光单位面积能量高等优点所以在光纤通信材料加工等方面有广泛应用。

光作为目前应用领域不论是在工业切割还是在医学光子领域各种各样的场合越来越需要引进这种光源。

但由于激光具有单位面积能量高不易进行实物实验;还有就是各种光学元器件价格昂贵为了减少损失各种光学模拟软件应运而生。

光学模拟软件可以极大程度的还原真实的实验过程可以做各种各样的光路模拟波形仿真。

Zmax作为一款光学模拟软件其具有上手容易功能强大基本可以满足光学设计要求。

二.国内外现状及发展趋势Zmax作为一款光学模拟软件其具有上手容易功能强大基本可以满足光学设计的要求,目前市面上主要的光学辅助设计软件有■Zemax (光学设计软件)■TracePro(光学仿真软件)■ASAP(光学仿真软件)■LightTools(光学仿真软件)■CODEV (Optical Research Associates )■OSLO (Lambda光学设计软件)•ZEMAX 是将实际光学系统的设计概念、优化、分析、公差以及报表集成在一起的一套综合性的光学设计仿真软件。

•OSLO 是处理光学系统的布局和优化的代表性光学设计软件。

•CODE V是Optical Research Associates推出的大型光学设计软件,功能非常强大,价格相当昂贵。

•TracePro 是能进行常规光学分析、设计照明系统、分析辐射度和亮度的软件。

MATLAB 高斯光束传播轨迹的模拟

MATLAB 高斯光束传播轨迹的模拟

MATLAB 高斯光束传播轨迹的模拟B1:高斯光束传播轨迹的模拟设计任务:作图表示高斯光束的传播轨迹(1)基模高斯光束在自由空间的传播轨迹;(2)基模高斯光束经单透镜变换前后的传播轨迹;(3)基模高斯光束经调焦望远镜变换前后的传播轨迹。

function varargout = B1(varargin) % B1 M-file for B1.fig% B1, by itself, creates a new B1 or raises the existing % singleton*. %% H = B1 returns the handle to a new B1 or the handle to % the existing singleton*. %% B1('CALLBACK',hObject,eventData,handles,...) calls the local% function named CALLBACK in B1.M with the given input arguments. %% B1('Property','Value',...) creates a new B1 or raises the% existing singleton*. Starting from the left, property value pairs are % applied to the GUI before B1_OpeningFunction gets called. An% unrecognized property name or invalid value makes property application % stop. All inputs are passed to B1_OpeningFcn via varargin. %% *See GUI Options on GUIDE's Tools menu. Choose \% instance to run (singleton)\%% See also: GUIDE, GUIDATA, GUIHANDLES% Copyright 2002-2021 The MathWorks, Inc.% Edit the above text to modify the response to help B1% Last Modified by GUIDE v2.5 21-Oct-2021 17:52:32% Begin initialization code - DO NOT EDIT gui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ...'gui_Singleton', gui_Singleton, ...'gui_OpeningFcn', @B1_OpeningFcn, ... 'gui_OutputFcn',@B1_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []);if nargin && ischar(varargin{1})gui_State.gui_Callback = str2func(varargin{1}); endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); elsegui_mainfcn(gui_State, varargin{:}); end% End initialization code - DO NOT EDIT% --- Executes just before B1 is made visible.function B1_OpeningFcn(hObject, eventdata, handles, varargin) % Thisfunction has no output args, see OutputFcn. % hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB %handles structure with handles and user data (see GUIDATA) % varargin command line arguments to B1 (see VARARGIN)% Choose default command line output for B1 handles.output = hObject;% Update handles structure guidata(hObject, handles);% UIWAIT makes B1 wait for user response (see UIRESUME) %uiwait(handles.figure1);% --- Outputs from this function are returned to the command line.function varargout = B1_OutputFcn(hObject, eventdata, handles) % varargoutcell array for returning output args (see VARARGOUT); % hObject handle tofigure% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% Get default command line output from handles structure varargout{1} = handles.output;% --- Executes on button press in pushbutton1.function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)handles.W0=str2double(get(handles.editW0,'string'));handles.B=str2double(get(handles.editB,'string'));guidata(hObject,handles); Z=-100:100;W=(handles.W0*10^4)*(sqrt(1+handles.B^2*(Z*10^6).^2./(pi^2*(handles.W0*10^4)^4 ))); plot(Z,W,'b',Z,-W,'b');% --- Executes on button press in pushbutton2.function pushbutton2_Callback(hObject, eventdata, handles) % hObject handle to pushbutton2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)handles.W0=str2double(get(handles.editW0,'string'));handles.B=str2double(get(handles.editB,'string'))/1000;handles.Z=str2double(get(handles.editZ,'string'))*1000;handles.f=str2double(get(handles.editf,'string'))*10;L=(handles.Z-handles.f)*handles.f^2/((handles.Z-handles.f)^2+pi^2*handles.W0^4/handles.B^2)+handles.f;T1=-handles.Z:1:handles.Z;Y1=handles.W0*sqrt(1+T1.^2*handles.B^2/(pi^2*handles.W0^4));T2=handles.Z:1:(handles.Z+2*L);W1=(handles.W0*handles.f/sqrt((handles.f-handles.Z)^2+pi^2*handles.W0^4/handles.B^2)); Y2=W1*sqrt(1+(T2-handles.Z-L).^2/(pi^2*W1^4/handles.B^2)); plot(T1,Y1,'b',T1,-Y1,'b',T2,Y2,'r',T2,-Y2,'r');% --- Executes on button press in pushbutton3.function pushbutton3_Callback(hObject, eventdata, handles) % hObject handle to pushbutton3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)handles.W0=str2double(get(handles.editW0,'string'));handles.B=str2double(get(handles.editB,'string'))/1000;handles.f1=str2double(get(handles.editf1,'string'))*10;handles.Z=str2double(get(handles.editZ,'string'))*1000;handles.f2=str2double(get(handles.editf2,'string'))*10;L=(handles.Z-handles.f1)*handles.f1^2/((handles.Z-handles.f1)^2+pi^2*handles.W0^4/handles.B^2)+handles.f1;T1=-handles.Z:1:handles.Z;Y1=handles.W0*sqrt(1+T1.^2*handles.B^2/(pi^2*handles.W0^4));T2=handles.Z:1:(handles.Z+L+handles.f2);W1=(handles.W0*handles.f1./sqrt((handles.f1-handles.Z)^2+pi^2*handles.W0^4./handles.B^2)); Y2=W1*sqrt(1+(T2-handles.Z-L).^2./(pi^2*W1^4/handles.B^2));W2=W1*sqrt(1+handles.f2^2/(pi^2*W1^4/handles.B^2));T3=(handles.Z+L+handles.f2):1:3*(handles.Z+L+handles.f2); Y3=W2;plot(T1,Y1,'b',T1,-Y1,'b',T2,Y2,'r',T2,-Y2,'r',T3,Y3,'g',T3,-Y3,'g'); grid on;function editW0_Callback(hObject, eventdata, handles) % hObject handle to editW0 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of editW0 as text% str2double(get(hObject,'String')) returns contents of editW0 as a double% --- Executes during object creation, after setting all properties. function editW0_CreateFcn(hObject, eventdata, handles) % hObject handle to editW0 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispcset(hObject,'BackgroundColor','white'); elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); endfunction editB_Callback(hObject, eventdata, handles) % hObject handle to editB (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of editB as text% str2double(get(hObject,'String')) returns contents of editB as a double% --- Executes during object creation, after setting all properties. function editB_CreateFcn(hObject, eventdata, handles) % hObject handle to editB (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispcset(hObject,'BackgroundColor','white'); elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); endfunction editZ_Callback(hObject, eventdata, handles) % hObject handle to editZ (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of editZ as text% str2double(get(hObject,'String')) returns contents of editZ as a double% --- Executes during object creation, after setting all properties. function editZ_CreateFcn(hObject, eventdata, handles) % hObject handle to editZ (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispcset(hObject,'BackgroundColor','white'); elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); endfunction editf_Callback(hObject, eventdata, handles) % hObject handle to editf (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB感谢您的阅读,祝您生活愉快。

comsol仿真高斯光束

comsol仿真高斯光束

寒假每日作息学习活动计划寒假即将到来,是一个放松、休息的好时机,也是一个提高学习能力、充实知识的好时机。

为了更好地安排寒假学习生活,让寒假更有意义,更充实,我制定了寒假每日作息学习活动计划,希望可以有所收获,提升自己的学习能力。

以下是寒假每日作息学习活动计划。

一、作息时间1. 起床:早晨7:30,利用清晨的时间做一些身体锻炼,比如慢跑、散步等。

2. 早餐:8:00,吃充足的早餐,保持身体供能。

3. 学习时间:9:00-11:30,认真复习上学期所学的知识。

4. 午餐:12:00,吃充足的午餐,补充能量。

5. 午休:12:30-14:00,午休一会,让身体得到休息。

6. 学习时间:14:00-16:00,学习新的知识,并做相关练习题。

7. 活动时间:16:30-18:00,参加一些社会活动或者运动活动,让自己得到放松。

8. 晚餐:18:30,吃晚餐。

9. 自习时间:19:00-21:00,独立自主地进行学习。

10. 休息时间:21:30-22:30,休息一会,放松身心。

11. 睡觉时间:23:00。

二、学习计划1. 复习上学期所学的知识,查漏补缺,巩固基础。

2. 充实新的知识,学习新的课本知识,进行拓展学习。

3. 阅读一些经典名著,增长知识面。

4. 扩大视野,增强写作能力,锻炼写作技巧。

5. 利用网络资源,进行课外拓展学习,增强自学能力。

三、活动计划1. 参加一些社会实践活动,增强社会经验。

2. 参加一些义工活动,为社会做出一定的贡献。

3. 运动锻炼,增强体质,维持良好的身体健康。

4. 参与一些课外学习兴趣班,丰富自己的课余生活。

5. 参加一些文体活动,增强团队协作能力。

四、学习心得1. 通过寒假学习生活的安排,可以更好地规划时间,让学习生活更有条理。

2. 通过寒假的学习,可以更好地深化和拓展知识面。

3. 通过寒假的学习,可以更好地提高自己的学习能力,增强自学能力。

4. 通过寒假的学习,可以更好地提高自己的写作能力,语言表达能力。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

题目:根据高斯光束数学模型,模拟仿真高斯光束在谐振腔中某一位置处的归一化强度分布并给出其二维、三维强度分布仿真图;用Matlab读取实际激光光斑照片中所记录的强度数据(读取照片中光斑的一个直径所记录的强度数据即可,Matlab读取照片数据命令为imread),用该数据画出图片中激光光斑的强度二维分布图,与之前数学模型仿真图对比。

(如同时考虑高斯光束光斑有效截面半径和等相位面特点,仿真高斯光束光强、光斑有效截面半径以及等相位面同时随传播距离z的变化并给出整体仿真图可酌情加分。


原始光斑如图1所示,用imread命令读入matlab后直接用imshow命令读取即可,
图1 CCD采集的高斯光束强度分布
读入的数据是一个224 X 244的矩阵,矩阵中的数值代表光强分布。

用读入的数据取中间一行(122行)画出强度分布如图2所示。

图2 实验测量高斯曲线
用理论上的高斯曲线公式画出理论高斯曲线如图3所示。

图3 理论高斯曲线
M文件如下:
A=imread('D:\documents\作业\激光原理与应用\高斯.bmp');
A1=A(:,122);
x1=1:1:224;
x2=-100:1:100;
a2=exp(-x2.^2/10);
figure
imshow(A);
axis off
title('\fontsize{12}CCD采集的高斯光束光强分布');
figure
plot(x2,a2,'linewidth',1,'color','b');
axis([-40 40 0 1.2])
title('\fontsize{12}实验测量高斯曲线')
figure
plot(x1,A1,'linewidth',1,'color','r')
title('\fontsize{12}理论高斯曲线')
axis([50 200 0 180])
画三维强度分布。

取图片矩阵的中间层,用mesh命令画出三维图如图4所示。

图4 三维强度分布
由于读入的图片有一行白边,需要手动去除掉,否则三维图会有一边整体竖起来,影响观察。

最终的M文件如下。

A=imread('D:\documents\作业\激光原理与应用\高斯.bmp');
[high, width, color] = size(A);
x=1:width;
y=1:high-1;
mesh(x', y', double(A(2:224,:,1)));
grid on
xlabel('x'),ylabel('y'),zlabel('z');
title('三维强度分布');
再用matlab仿真理论上传播过程中高斯光束的变化
这次先给出M文件:
%Gaussian_propagation.m
%Simulation of diffraction of Gaussian Beam
clear;
%Gaussian Beam
%N:sampling number
N=input('Number of samples(enter from 100 to 500)='); L=10*10^-3;
Ld=input('wavelength of light in [micrometers]=');
Ld=Ld*10^-6;
ko=(2*pi)/Ld;
wo=input('Waist of Gaussian Beam in [mm]=');
wo=wo*10^-3;
z_ray=(ko*wo^2)/2*10^3;
sprintf('Rayleigh range is %f [mm]',z_ray)
z_ray=z_ray*10^-3;
z=input('Propagation length (z) in [mm]');
z=z*10^-3;%dx:step size
dx=L/N;
for n=1:N+1
for m=1:N+1
%Space axis
x(m)=(m-1)*dx-L/2;
y(n)=(n-1)*dx-L/2;
%Gaussian Beam in space domain
Gau(n,m)=exp(-(x(m)^2+y(n)^2)/(wo^2));%Frequency axis
Kx(m)=(2*pi*(m-1))/(N*dx)-((2*pi*(N))/(N*dx))/2;
Ky(n)=(2*pi*(n-1))/(N*dx)-((2*pi*(N))/(N*dx))/2;
%Free space transfer function
H(n,m)=exp(j/(2*ko)*z*(Kx(m)^2+Ky(n)^2));
end
end
%Gaussian Beam in Frequency domain
FGau=fft2(Gau);
FGau=fftshift(FGau);
%Propagated Gaussian beam in Frequency domain
FGau_pro=FGau.*H;
%Peak amplitude of the initial Gaussian beam
Peak_ini=max(max(abs(Gau)));
sprintf('Initial peak amplitude is %f [mm]',Peak_ini)%Propagated
Gaussian beam in space domain
Gau_pro=ifft2(FGau_pro);
Gau_pro=Gau_pro;
%Peak amplitude of the propagated Gaussian beam
Peak_pro=max(max(abs(Gau_pro)));
sprintf('Propagated peak amplitude is %f
[mm]',Peak_pro)%Calculated Beam Width
[N M]=min(abs(x));
Gau_pro1=Gau_pro(:,M);
[N1 M1]=min(abs(abs(Gau_pro1)-abs(exp(-1)*Peak_pro)));
Bw=dx*abs(M1-M)*10^3;
sprintf('Beam width(numerical) is %f[mm]',Bw)%Theoretical Beam Width
W=(2*z_ray)/ko*(1+(z/z_ray)^2);
W=(W^0.5)*10^3;
sprintf('Beam width(theoretical) is %f[mm]',W)%axis in mm scale x=x*10^3;
y=y*10^3;
figure(1);
mesh(x,y,abs(Gau))
title('Initial Gaussian Beam')
xlabel('x [mm]')
ylabel('y [mm]')
axis([min(x) max(x) min(y) max(y) 0 1])
axis square
figure(2);
mesh(x,y,abs(Gau_pro))
title('propagated Gaussian Beam')
xlabel('x [mm]')
ylabel('y [mm]')
axis([min(x) max(x) min(y) max(y) 0 1])
axis square
程序主要根据高斯光束的传播规律计算传播过程中任意z处的高斯光强分布。

运行结果:
Number of samples(enter from 100 to 500)=500
wavelength of light in [micrometers]=0.568
Waist of Gaussian Beam in [mm]=1
ans =
Rayleigh range is 5530.972982 [mm]
Propagation length (z) in [mm]100000
ans =
Initial peak amplitude is 1.000000 [mm]
ans =
Propagated peak amplitude is 0.210252 [mm]
ans =
Beam?width(numerical) is 1.940000[mm]
ans =
Beam?width(theoretical) is 18.107635[mm]
>>
束腰半径处的理想高斯光强分布
传播1m处的理想高斯光强分布
传播10m处的理想高斯光强分布
传播20m处的理想高斯光强分布
传播30m处的理想高斯光强分布
传播50m处的理想高斯光强分布
传播100m处的理想高斯光强分布而用实验测得的光斑仿真的结果是:
原始光斑的光强分布
0.1m处
1m处
1.8m处
5m处
10m以后,已经基本是均匀强度的光斑。

相关文档
最新文档