function [couplingarea_Grating_designed,AngleInMaterial]=EquivalentGrating_cal...
(lambda_air_designed,light1_designed_R_material,light2_designed_O_material,n_HolographicMaterial,...
lambda_air_record)
% -----------------------------说明-----------------------------------
% 本函数用于计算等效曝光所需要的角度
% 本函数所有角度采用右手球坐标系,球坐标系下传播常数定义为[theta,phi],其中:
% -theta:传播角度,范围[0,180]
% -phi:传播方向,范围[0,360]
% 本函数中的光线传播角度指的是材料内部的传播角。如果已知的是空气中的角度,需要计算换算。
% 本函数的使用格式如下:
% [couplingarea_Grating_designed,AngleInMaterial]=EquivalentGrating_cal(lambda_air_designed,light1_designed_R_material,light2_designed_O_material,n_HolographicMaterial,lambda_air_record)
% 各个参数的意义如下:
% -输出参数:
% couplingarea_Grating_designed:设计的光栅周期,输出值:[P,Px,Py,Pz]
% AngleInMaterial:对应波长记录的角度,角度采用球坐标系,可能会有多组数据,选择一组即可;输出值:[theta1,phi1,theta2,phi2]
% !!!注意:AngleInMaterial得到的数据指的是材料内部的传播常数,实际可能会涉及到空气角度换算,请务必注意。
% -输入参数:
% lambda_air_designed:需求波长,单位m
% light1_designed_R_material:参考光的传播常数,格式[theta,phi]
% light2_designed_O_material:物光的传播常数,格式[theta,phi]
% n_HolographicMaterial:全息材料的折射率,一般默认1.5
% lambda_air_record:实际的记录波长,单位m
% -举例说明:
% 需求:波长612nm,空气中传播常数(10°,0),玻璃内部传播常数(65°,0)的反射波导。记录波长:639nm;材料折射率1.5
% 空气中入射角度10°,对应材料中传播角度为6.65°,则材料中传播常数为(6.65,0),故:
% [couplingarea_Grating_designed,dataInMaterial]=EquivalentGrating_cal(612e-9,[6.65,0],[180-65,0],1.5,639e-9)
% --------------------------------------------------------------------
% if or((light1_designed_R_material(1)>180 || light1_designed_R_material(1)<0),...
% (light2_designed_R_material(1)>180 || light2_designed_R_material(1)<0) )
% error("入射角必须在0-180°内")
% end
k_material_designed=2*pi*n_HolographicMaterial/lambda_air_designed;
lambda_material_designed=lambda_air_designed/n_HolographicMaterial;
couplingarea_GratingK_designed=R_GratingConstant_Cal(light1_designed_R_material,...
light2_designed_O_material,lambda_air_designed,n_HolographicMaterial);
couplingarea_GratingK_designed_mid=couplingarea_GratingK_designed./k_material_designed;
couplingarea_GratingP_designed=2*pi/norm(couplingarea_GratingK_designed);
couplingarea_GratingPx_designed=lambda_material_designed/abs(couplingarea_GratingK_designed_mid(1));
couplingarea_GratingPy_designed=lambda_material_designed/abs(couplingarea_GratingK_designed_mid(2));
couplingarea_GratingPz_designed=lambda_material_designed/abs(couplingarea_GratingK_designed_mid(3));
couplingarea_Grating_designed=[couplingarea_GratingP_designed,couplingarea_GratingPx_designed,couplingarea_GratingPy_designed,couplingarea_GratingPz_designed];
% 参数输入
k_material_record=2*pi*n_HolographicMaterial/lambda_air_record;
light1_recordAngle_air=(0:0.01:90)';
light1_recordphi=0;
num1=length(light1_recordAngle_air);
num2=length(light1_recordphi);
judgeparameter=zeros(num1,num2);
kk=1;
AngleInMaterial=zeros(1,4);
for ii=1:num1
for jj=1:num2
light1_record_material=[light1_recordAngle_air(ii),light1_recordphi(jj)];
light1_record_k=k_material_record.*...
[sind(light1_record_material(1))*cosd(light1_record_material(2)),...
sind(light1_record_material(1))*sind(light1_record_material(2)),...
cosd(light1_record_material(1))];
light2_record_k=light1_record_k-couplingarea_GratingK_designed;
judgeparameter_mid=light2_record_k./k_material_record;
judgeparameter(ii,jj)=norm(judgeparameter_mid);
light2_recordAngle_material=acosd(judgeparameter_mid(3)/judgeparameter(ii,jj));
if abs(judgeparameter(ii,jj)-1)<0.0001
light2_recordphi=rad2deg(atan2(judgeparameter_mid(2),judgeparameter_mid(1)));
light2_record_material=[light2_recordAngle_material,light2_recordphi];
AngleInMaterial(kk,:)=[light1_record_material,light2_record_material];
kk=kk+1;
end
end
end
end
基于耦合波理论的等效反射光栅计算
需积分: 0 193 浏览量
2024-05-14
10:25:39
上传
评论
收藏 7KB RAR 举报
zhouzhou0616
- 粉丝: 0
- 资源: 1
最新资源
- 基于Java的网上订餐系统设计源码 - online ordering system
- 基于Javascript的超级美眉网络资源管理应用模块设计源码
- 基于Typescript和PHP的编程知识储备库设计源码 - study-php
- Screenshot_2024-05-28-11-40-58-177_com.tencent.mm.jpg
- 基于Dart的Flutter小提琴调音器APP设计源码 - violinhelper
- 基于JavaScript和CSS的随寻订购网页设计源码 - web-order
- 基于MATLAB的声纹识别系统设计源码 - VoiceprintRecognition
- 基于Java的微服务插件集合设计源码 - wsy-plugins
- 基于Vue和微信小程序的监理日志系统设计源码 - supervisionLog
- 基于Java和LCN分布式事务框架的设计源码 - tx-lcn
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈