




免费预览已结束,剩余12页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录1 技术指标12 基本原理12.1 单层光学薄膜12.2 多层光学薄膜及矩阵理论23 基于matlab的光学薄膜特性分析44 结论95 参考文献96 附录:基于matlab的光学薄膜特性分析源程序代码1016武汉理工大学能力拓展训练报告书基于matlab的光学薄膜特性分析1 技术指标对光学薄膜的理论进行分析,从电磁理论出发分析单层膜和多层膜的反射和透射率特性;并分析各参数对其光学性能的影响;运用Matlab对单层介质薄膜和多层介质薄膜的光学特性进行仿真;编写可用于一般多层膜的图形用户界面,并利用该程序对几种典型的薄膜系统进行验证。2 基本原理光射到任何一个光学零件的表面上都要发生反射和折射,不同的光学系统对反射率和透射率有不同的要求.对于透射成像的光学系统,反射不仅降低了透过光学系统的能量,而且造成杂散光,降低系统的成像清晰度.而对于一个有多个镜片的光学系统,其反射损失更为可观.为了降低反射损失,需要在镜片上镀光学薄膜,是每个光学面的反射损失都降到约等于百分之一,甚至更小。薄膜光学发展至今,已经形成一套比较完整的实用理论。本文将利用多光束的干涉理论和矩阵理论,并运用matlab对薄膜光学系统的光学性质做简要分析。2.1 单层光学薄膜折射率为的光学基底上镀上一层厚度为,折射率为的透明薄膜,就构成典型的单层光学薄膜结构。薄膜可以看成一块平行薄板,光在这个薄板上下表面发射和透射的光叠加将会发生多光束干涉。利用已有的结果,可得反射光叠加后的合震动的复振幅(2-1-1)式中,是薄膜表面上的反射振幅比,是下表面的反射振幅比,是两相邻光束之间的相位差 (2-1-2)而反射率(2-1-3)且透射率和反射率的关系:。2.2 多层光学薄膜及矩阵理论图(a) 两个界面的多膜系统下面根据电磁理论分析:在界面1 (2-2-1)由电磁场与电磁波H与E的关系得:,取则(2-2-2)在界面2 (2-2-3)在不考虑薄膜对光能的吸收时,的关系如下: (2-2-4)平面波通过薄膜一次A,B两点的位相变化。 (2-2-5) (2-2-6) (2-2-7)写成矩阵形式: (2-2-8)当膜系包含N层膜时,则有 (2-2-9)整个膜系的特征矩阵。令M的矩阵元为A,B,C,D即,则 (2-2-10)膜系反射系数(2-2-11)膜系透射系数(2-2-12)反射率:,透射率:。由两种不同介电常数()和厚度()的电磁材料所组成的一维周期性光学薄膜结构。利用传输矩阵计算光在介质薄膜。图(b)一维周期性光学薄膜结构本文中所选取的色散材料,如11,12,LiF(模型中的A层)的折射率在范围内的关系为:Si(模型中的B层)的折射率在同一波段为: 其中。在本课程设计中取,则3.4770。3 基于matlab的光学薄膜特性分析matlab是一种以矩阵运算为基础的交互式程序语言,广泛应用于自动控制、数学运算、信号分析、航天工业和绘图等各行各业本文使用Matlab计算膜系特征矩阵,进行数值的运算仿真研究与验证。仿真模拟的光学特性matlab程序见附录。 图(c) 光学特性分析的GUI交互界面图(d) 单膜反射率和透射率与入射波长的关系(正入射)图(e) 单膜反射率和透射率与入射波长的关系(斜入射)图(f) 多膜反射率和透射率与入射波长的关系(正入射)图(g) 单膜反射率和透射率与入射波长的关系(斜入射)图中,纵坐标表示反射率和透射率,其中,红实线表示反射率,蓝虚线表示透射率,二者之和等于1。横坐标则表示入射光的波长(um)。从图中分别对比分析知,对于一个介质折射率和厚度固定等参数固定的薄膜系统,其反射率或透射率达到最大值的时候所对应的这一固定波长称为中心波长,当入射光偏离中心波长的时候,其反射率必定会相应的下降,因此,每一种具体的膜系,只对一定波长范围的光波才能有反射率。以上各图反射率最大值(接近于1)时所对应的波长范围称为反射带的宽度。 图(h)8层膜(偶数)系反射率和透射率与波长的关系 图(i)9层膜(奇数)系反射率和透射率与波长的关系从上面两个图对比可知,在同一波长情况下,奇数层膜的反射率要比偶数层反射率略高。这是因为,膜系第一层的折射率高于第二层折射率,如果膜系为奇数层,那么最后一层的折射率也是高反射率层。层数为时,。犹豫,故可以获得更高的反射率。反之,膜系为偶数层时,达不到增加反射率的目的。4 结论由上述的计算公式可知,光学薄膜的特性计算在引入矩阵理论后成为一个相对简单的问题,只要给定每一层膜系的参数,多层膜就可以利用矩阵的连乘方便地求出在每一特定入射角和波长下的透射率、反射率等参数许多计算机软件的出现,能方便进行自动数值计算,如matlab软件的应用,不仅能计算并保存数据,而且更好地调用资源,作图、仿真模拟使得研究清晰明了,易于操作理解,为光学薄膜的研究提供了有利的计算工具因此,计算机软件的应用促进了光学薄膜的发展,它与传统的理论研究相辅相成,是理论应用与实践的有力保障,使光学薄膜的发展迈上了新的台阶光学薄膜已经在光学技术发展的历史中创造了光辉的成绩,如今广泛地渗透到各个新型的科技领域各种新型微结构的功能薄膜正在不断开发出来,并造福于人类5 参考文献 1 廖延彪.光学原理与应用.电子工业出版社.2006.10 2 蒙庆华,梁志铭,郑荣江. Matlab环境下多层光学薄膜的数值计算.广西师范学院学报.2010.09;27-036 附录:基于matlab的光学薄膜特性分析源程序代码function varargout = untitled(varargin)% UNTITLED M-file for untitled.fig% UNTITLED, by itself, creates a new UNTITLED or raises the existing% singleton*.% H = UNTITLED returns the handle to a new UNTITLED or the handle to% the existing singleton*.% UNTITLED(CALLBACK,hObject,eventData,handles,.) calls the local% function named CALLBACK in UNTITLED.M with the given input arguments.% UNTITLED(Property,Value,.) creates a new UNTITLED or raises the% existing singleton*. Starting from the left, property value pairs are% applied to the GUI before untitled_OpeningFunction gets called. An% unrecognized property name or invalid value makes property application% stop. All inputs are passed to untitled_OpeningFcn via varargin.% *See GUI Options on GUIDEs Tools menu. Choose GUI allows only one% instance to run (singleton).% See also: GUIDE, GUIDATA, GUIHANDLES% Copyright 2002-2003 The MathWorks, Inc.% Edit the above text to modify the response to help untitled% Last Modified by GUIDE v2.5 25-Aug-2011 12:50:11% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct(gui_Name, mfilename, . gui_Singleton, gui_Singleton, . gui_OpeningFcn, untitled_OpeningFcn, . gui_OutputFcn, untitled_OutputFcn, . gui_LayoutFcn, , . gui_Callback, );if nargin & ischar(varargin1) gui_State.gui_Callback = str2func(varargin1);endif nargout varargout1:nargout = gui_mainfcn(gui_State, varargin:);else gui_mainfcn(gui_State, varargin:);end% End initialization code - DO NOT EDIT% - Executes just before untitled is made visible.function untitled_OpeningFcn(hObject, eventdata, handles, varargin)% This function 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 untitled (see VARARGIN)% Choose default command line output for untitledhandles.output = hObject;% Update handles structureguidata(hObject, handles);% UIWAIT makes untitled wait for user response (see UIRESUME)% uiwait(handles.figure1);% - Outputs from this function are returned to the command line.function varargout = untitled_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT);% hObject handle to figure% 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 structurevarargout1 = handles.output;function edit1_Callback(hObject, eventdata, handles)% hObject handle to edit1 (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 edit1 as text% str2double(get(hObject,String) returns contents of edit1 as a doubleinput = str2num(get(hObject,String); if (isempty(input) set(hObject,String,0)endguidata(hObject, handles);% - Executes during object creation, after setting all properties.function edit1_CreateFcn(hObject, eventdata, handles)% hObject handle to edit1 (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 ispc set(hObject,BackgroundColor,white);else set(hObject,BackgroundColor,get(0,defaultUicontrolBackgroundColor);endfunction edit2_Callback(hObject, eventdata, handles)% hObject handle to edit2 (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 edit2 as text% str2double(get(hObject,String) returns contents of edit2 as a doubleinput = str2num(get(hObject,String); if (isempty(input) set(hObject,String,0)endguidata(hObject, handles);% - Executes during object creation, after setting all properties.function edit2_CreateFcn(hObject, eventdata, handles)% hObject handle to edit2 (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 ispc set(hObject,BackgroundColor,white);else set(hObject,BackgroundColor,get(0,defaultUicontrolBackgroundColor);endfunction edit3_Callback(hObject, eventdata, handles)% hObject handle to edit3 (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 edit3 as text% str2double(get(hObject,String) returns contents of edit3 as a doubleinput = str2num(get(hObject,String); if (isempty(input) set(hObject,String,0)endguidata(hObject, handles);% - Executes during object creation, after setting all properties.function edit3_CreateFcn(hObject, eventdata, handles)% hObject handle to edit3 (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 ispc set(hObject,BackgroundColor,white);else set(hObject,BackgroundColor,get(0,defaultUicontrolBackgroundColor);endfunction edit4_Callback(hObject, eventdata, handles)% hObject handle to edit4 (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 edit4 as text% str2double(get(hObject,String) returns contents of edit4 as a doubleinput = str2num(get(hObject,String); if (isempty(input) set(hObject,String,0)endguidata(hObject, handles);% - Executes during object creation, after setting all properties.function edit4_CreateFcn(hObject, eventdata, handles)% hObject handle to edit4 (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 ispc set(hObject,BackgroundColor,white);else set(hObject,BackgroundColor,get(0,defaultUicontrolBackgroundColor);endfunction edit5_Callback(hObject, eventdata, handles)% hObject handle to edit5 (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 edit5 as text% str2double(get(hObject,String) returns contents of edit5 as a doubleinput = str2num(get(hObject,String); if (isempty(input) set(hObject,String,0)endguidata(hObject, handles);% - Executes during object creation, after setting all properties.function edit5_CreateFcn(hObject, eventdata, handles)% hObject handle to edit5 (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 ispc set(hObject,BackgroundColor,white);else set(hObject,BackgroundColor,get(0,defaultUicontrolBackgroundColor);endfunction edit6_Callback(hObject, eventdata, handles)% hObject handle to edit6 (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 edit6 as text% str2double(get(hObject,String) returns contents of edit6 as a doubleinput = str2num(get(hObject,String); if (isempty(input) set(hObject,String,0)endguidata(hObject, handles);% - Executes during object creation, after setting all properties.function edit6_CreateFcn(hObject, eventdata, handles)% hObject handle to edit6 (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 ispc set(hObject,BackgroundColor,white);else set(hObject,BackgroundColor,get(0,defaultUicontrolBackgroundColor);end% - 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)%以下为计算模拟输出的主程序n0=1;n1 = get(handles.edit1,String);n1=str2num(n1);n2=get(handles.edit2,String);n2=str2num(n2);n=get(handles.edit6,String);n=str2num(n);theta1=get(handles.edit5,String);theta1=str2num(theta1);d1=get(handles.edit4,String);d1=str2num(d1);d1=d1*1e-6;d2=get(handles.edit3,String);d2=str2num(d2);d2=d2*1e-6;for lambda=1250:2350; theta2=asin(n0*sin(theta1)/n1); theta3=asin(n0*sin(theta2)/n2); delta1=2*pi*n1*d1/cos(theta1)/lambda*1e9; delta2=2*pi*n2*d2/cos(theta2)/lambda*1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 牛津深圳版初中英语单词表九年级下册
- 目标突破课件:3.4.1 同类项
- 河南省泌阳县2025年上半年公开招聘村务工作者试题含答案分析
- 2025年度健身中心场地租赁合同
- 2025版商铺租赁合同租赁期间合同解除条件承诺
- 2025版文化公司创意人员追诉期劳动合同示范
- 2025版租赁合同涵盖租赁物保险与风险承担
- 2025版养老院社会捐助服务合同
- 2025版银行信用卡分期付款合同规范模板下载
- 2025版三方大数据分析销售合作协议范本
- 深圳市生产安全事故调查处理工作规范
- 肺部穿刺护理查房
- GB/T 45701-2025校园配餐服务企业管理指南
- 培训班教师奖惩管理制度
- 成本加酬金管理制度
- 神经阻滞麻醉病例分享
- 2025-2030年中国聚烯烃弹性体(POP)行业市场现状供需分析及投资评估规划分析研究报告
- 第2课《中国人首次进入自己的空间站》课件
- 引水工程可行性研究报告
- 压力管道安全培训
- 《学术写作与研究方法》课件
评论
0/150
提交评论