当前位置:文档之家› MATLAB 高斯光束传播轨迹的模拟

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

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

B1:xx光束传播轨迹的模拟

设计任务:

作图表示xx光束的传播轨迹

(1)基模高斯光束在自由空间的传播轨迹;

(2)基模高斯光束经单透镜变换前后的传播轨迹;

(3)基模高斯光束经调焦望远镜变换前后的传播轨迹。

function vargout = B1(vargin)

% 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

GUIDE, GUIDATA, GUIHANDLES

% Copyright 2002-2003 The MathWorks, Inc.

% Edit the above text to modify the response to help B1

% Last Modified by GUIDE v

2.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}); end

if 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 structure

guidata(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 pushbutton

1.

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 pushbutton

2.

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+T

1.^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 pushbutton

3.

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+T

1.^2*handles.B^2/(pi^2*handles.W0^4));

T2=handles.Z:1:(handles.Z+L+handles.f2);

W1=(handles.W0*handles.f

1./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 ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end

function 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 ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

function 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 ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end

function 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 ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end

function 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 ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end

function 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 ispc

set(hObject,'BackgroundColor','white');

else

set(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 pushbutton

4.

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)

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 -)2^1 r ),并设出射直线为y=k*x+b;由直线经过(x1,y1)即 2^(y

高斯光束的matlab仿真复习进程

高斯光束的m a t l a b 仿真

题目:根据高斯光束数学模型,模拟仿真高斯光束在谐振腔中某一位置处的归一化强度分布并给出其二维、三维强度分布仿真图;用Matlab读取实际激光光斑照片中所记录的强度数据(读取照片中光斑的一个直径所记录的强度数据即可,Matlab读取照片数据命令为imread),用该数据画出图片中激光光斑的强度二维分布图,与之前数学模型仿真图对比。(如同时考虑高斯光束光斑有效截面半径和等相位面特点,仿真高斯光束光强、光斑有效截面半径以及等相位面同时随传播距离z的变化并给出整体仿真图可酌情加分。) 原始光斑如图1所示,用imread命令读入matlab后直接用imshow命令读取即可, CCD采集的高斯光束光强分布 图1 CCD采集的高斯光束强度分布 读入的数据是一个224 X 244的矩阵,矩阵中的数值代表光强分布。用读入的数据取中间一行(122行)画出强度分布如图2所示。

图2 实验测量高斯曲线 用理论上的高斯曲线公式画出理论高斯曲线如图3所示。 图3 理论高斯曲线 50 100150200 020406080100120140160 180实验测量高斯曲线 -40 -30-20-10010203040 00.2 0.4 0.6 0.8 1 理论高斯曲线

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仿真

题目:根据高斯光束数学模型,模拟仿真高斯光束在谐振腔中某一位置处的归一化强度分布并给出其二维、三维强度分布仿真图;用Matlab读取实际激光光斑照片中所记录的强度数据(读取照片中光斑的一个直径所记录的强度数据即可,Matlab读取照片数据命令为imread),用该数据画出图片中激光光斑的强度二维分布图,与之前数学模型仿真图对比。(如同时考虑高斯光束光斑有效截面半径和等相位面特点,仿真高斯光束光强、光斑有效截面半径以及等相位面同时随传播距离z的变化并给出整体仿真图可酌情加分。) 原始光斑如图1所示,用imread命令读入matlab后直接用imshow命令读取即可, CCD采集的高斯光束光强分布 图1 CCD采集的高斯光束强度分布 读入的数据是一个224 X 244的矩阵,矩阵中的数值代表光强分布。用读入的数据取中间一行(122行)画出强度分布如图2所示。

图2 实验测量高斯曲线 用理论上的高斯曲线公式画出理论高斯曲线如图3所示。 图3 理论高斯曲线 50 100150200 020406080100120140160 180实验测量高斯曲线 -40 -30-20-10010203040 00.2 0.4 0.6 0.8 1 理论高斯曲线

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高斯光束经透射型体光栅后的光束传输特性分析(附源程序)

目录 1 基本原理 (1) 1.1耦合波理论 (1) 1.2高斯光波的基本理论 (9) 2 建立模型描述 (10) 3仿真结果及分析 (10) 3.1角度选择性的模拟 (10) 3.2波长选择性的模拟 (13) 3.3单色发散光束经透射型布拉格体光栅的特性 (15) 3.4多色平面波经透射型布拉格体光栅的特性 (17) 4 调试过程及结论 (18) 5 心得体会 (20) 6 思考题 (20) 7 参考文献 (20) 8 附录 (21)

高斯光束经透射型体光栅后的光束传输 特性分析 1 基本原理 1.1耦合波理论 耦合波理论分析方法基于厚全息光栅产生的布拉格衍射光。当入射波被削弱且产生强衍射效率时,耦合波理论分析方法适用耦合波理论分析方法适用于透射光栅。 1.1.1耦合波理论研究的假设条件及模型 耦合波理论研究的假设条件: (1) 单色波入射体布拉格光栅; (2) 入射波以布拉格角度或近布拉格角度入射; (3)入射波垂直偏振与入射平面; (4)在体光栅中只有两个光波:入射光波 R 和衍射光波 S; (5)仅有入射光波 R 和衍射光波 S 遵守布拉格条件,其余的衍射能级违背布拉格 条件,可被忽略; (6)其余的衍射能级仅对入射光波 R 和衍射光波 S 的能量交换有微小影响; (7)将耦合波理论限定于厚布拉格光栅中; 图1为用于耦合波理论分析的布拉格光栅模型。z 轴垂直于介质平面,x 轴在介质平面内,平行于介质边界,y 轴垂直于纸面。边界面垂直于入射面,与介质边界成Φ角。光栅矢量K垂直于边界平面,其大小为2/ =Λ,Λ为光栅周期,θ为入射角。 Kπ 图1布拉格光栅模型

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 "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDA TA, 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_OpeningFcn', @B1_OpeningFcn, ... 'gui_OutputFcn', @B1_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []);

高斯光束经透射型体光栅后的光束传输特性分析

目录 1 技术指标 (1) 1.1 初始条件 (1) 1.2 技术要求 (1) 1.3 主要任务 (1) 2 基本理论 (1) 2.1 高斯光波的基本理论 (1) 2.2 耦合波理论 (2) 3 建立模型描述 (4) 4 仿真结果及分析 (5) 4.1 角度选择性的模拟 (5) 4.1.1 不同光栅厚度下的角度选择性 (6) 4.1.2 不同光栅线对下的角度选择性 (7) 4.2 波长选择性的模拟 (8) 4.2.1不同光栅厚度下的波长选择性 (8) 4.2.2不同光栅线对下的波长选择性 (9) 4.3 单色发散光束经透射型布拉格体光栅的特性 (10) 4.4 多色平面波经透射型布拉格体光栅的特性 (11) 5 调试过程及结论 (12) 6 心得体会 (13) 7 思考题 (13) 8 参考文献 (14)

高斯光束经透射型体光栅后的光束传输 特性分析 1 技术指标 1.1 初始条件 Matlab软件,计算机 1.2 技术要求 根据耦合波理论,推导出透射体光栅性能参量(角度和波长选择性)与光栅参数(光栅周期,光栅厚度等)之间的关系式;数值分析平面波、谱宽和发散角为高斯分布的光束入射条件下,衍射效率受波长和角度偏移量的影响。 1.3 主要任务 1 查阅相关资料,熟悉体光栅常用分析方法,建立耦合波分析模型; 2 利用matlab软件进行模型仿真,程序调试使其达到设计指标要求及分析仿真结果; 3 撰写设计说明书,进行答辩。 2 基本理论 2.1 高斯光波的基本理论 激光谐振腔发出的基膜场,其横截面的振幅分布遵守高斯函数,称之为高斯脉冲光波。如图1所示为高斯脉冲光波及其参数的图。

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-r ),并设出射直线为y=k*x+b;由直线经过(x1,y1)即可求出b (y 2^ )2^1 值,从而就可以求出射直线。由单透镜焦点计算公式1/f=-(n-1)*(1/r1-1/r2)可求得f=193、6858。

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

B1:xx光束传播轨迹的模拟 设计任务: 作图表示xx光束的传播轨迹 (1)基模高斯光束在自由空间的传播轨迹; (2)基模高斯光束经单透镜变换前后的传播轨迹; (3)基模高斯光束经调焦望远镜变换前后的传播轨迹。 function vargout = B1(vargin) % 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 GUIDE, GUIDATA, GUIHANDLES % Copyright 2002-2003 The MathWorks, Inc. % Edit the above text to modify the response to help B1

拉盖尔高斯光束 厄米高斯光束MATLAB仿真

激光原理by贾而穑 130212114 厄米高斯光束MATLAB仿真 其中主程序文件:plotHermiteGaussianBeams.m 子程序文件:HermitePoly.m 程序如下: plotHermiteGaussianBeams.m %-------------------------------------------------------------------------% % auther:Erse Jia % Student ID 130212114 %-------------------------------------------------------------------------% %% Hermite Gaussian Beams %% SET PARAMETERS % Physical parameters lambda = 500; % nm k = 2*pi/lambda; % The two parameters for the gaussian beam (and derived quantities) z0 = 1; A0 = 1; W0 = sqrt(lambda*z0/pi); W = @(z) W0*sqrt(1+(z/z0)^2); R = @(z) z*(1+(z/z0)^2); Zeta = @(z) atan(z/z0); % The coefficients for the Hermite-Gaussian (HG) beam of order (l,m) A = [ 1 0 0 0; 1 1 0 0; 0 0 0 0; 0 0 .2 0]; % Display Parameters res = 800; z = 1e-9; x = linspace(-2*W(z),2*W(z),res); y = linspace(-2*W(z),2*W(z),res); [X Y] = meshgrid(x,y); X = X(:); Y = Y(:); %% RUN THE SIMULATION % Preallocate Memory

高斯光束传播 matlab

%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;

高斯光束传播及其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 仿真光束通过光学元件的变换。 ① 设透镜材料为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-)2^1 (y r ),并设出射直线为y=k*x+b;由直线经过 ^ 2 (x1,y1)即可求出b值,从而就可以求出射直线。由单透镜焦点计算公式1/f=-(n-1)*(1/r1-1/r2)可求得f=193.6858。

相关主题
文本预览
相关文档 最新文档