matlab仿真光束的传输特性.docx
- 文档编号:23124332
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:23
- 大小:250.36KB
matlab仿真光束的传输特性.docx
《matlab仿真光束的传输特性.docx》由会员分享,可在线阅读,更多相关《matlab仿真光束的传输特性.docx(23页珍藏版)》请在冰豆网上搜索。
matlab仿真光束的传输特性
一、课程设计题目:
用matlab仿真光束的传输特性。
二、任务和要求
用matlab仿真光束通过光学元件的变换。
1设透镜材料为k9玻璃,对1064nm波长的折射率为1.5062,镜片中心厚度为3mm,凸面曲率半径,设为100mm,初始光线距离透镜平面20mm。
用matlab仿真近轴光线(至少10条)经过平凸透镜的焦距,与理论焦距值进行对比,得出误差大小。
2已知透镜的结构参数为
,
,
,
(K9玻璃),
,
,物点A距第一面顶点的距离为100,由A点计算三条沿光轴夹角分别为10、20、30的光线的成像。
试用Matlab对以上三条光线光路和近轴光线光路进行仿真,并得出实际光线的球差大小。
3设半径为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-
),并设出射直线为y=k*x+b;由直线经过(x1,y1)即可求出b值,从而就可以求出射直线。
由单透镜焦点计算公式1/f=-(n-1)*(1/r1-1/r2)可求得f=193.6858。
利用近轴光学公式i1=(l1-r1)*u1/r1,i11=n1*i/n11,u11=u1+i1-i11
l11=r1+r1*i11/u11和转面公式u2=u11,l2=l11-d1可以求得u11、
u22、l22、h2等。
入射光线的夹角为u1,设入射光线为y1=k1*x1+b1其中的斜率k1=-u1又由于入射光线经过经过(-100,0)就可以求出b1。
由h1=l1*u1即为y1,当y1为定值时就可以得到第一个横坐标x0,再利用最后的出射光线公式y3=k3*x3+b3,k3=-u22,又因为最终出射经过(d+l22,0)可求出b3,利用转面公式h2=h1-d*u11,即为y3可求出第二个横坐标x00。
再求在透镜中的直线斜率k2=((h2-h1)/(x00-x0)),y2=k2*x2+b2经过(x0,h1)即可求得b2值,从而即可求得三条直线。
实际光束求法同理。
利用菲涅耳近似公式
求衍射面上的光强要对孔径上的点求积分可以转换成对其x1,y1的微分求和,其中公式中的z1=f。
2.
(1)夫朗和费矩形孔衍射
若衍射孔为矩形则在透镜焦平面上得到的衍射图样如图,衍射图样的主要特征为衍射亮斑集中分布在两个相互垂直的方向上,并且x轴上的亮斑宽度与y轴亮斑宽度之比,恰与矩形孔在两个轴上的宽度相反。
其中的θ为θx,同样的β中的θ为θy,利用θx=x/f,θy=y/f进行求解。
(2)夫朗和费圆形孔衍射
夫朗和费圆孔衍射的讨论方法和矩形孔衍射的讨论方法相同,只是由于圆孔的几何对称性,采用极坐标更为方便。
Ф=kaθ
(3)夫朗和费单缝衍射
对于前面讨论的夫朗和费矩形孔衍射,如果矩形的一个方向的尺寸比另一个方向大得多,则该矩形孔衍射就变成单缝衍射(如图),这时沿y方向的衍射效应不明显,只在x方向有亮暗变化的衍射图样。
实验中通过利用θ=x/f进行求解
(4)夫朗和费多缝衍射
夫朗和费多缝衍射装置如图,其每条狭缝均平行于y1方向,沿x1方向的缝宽为a,相邻狭缝的间距为d,在研究多缝衍射时,由于后透镜的存在使衍射屏上每个单缝的衍射条纹位置与位置无关。
因此,用平行光照射多缝时,其每一个单缝都要产生自己的衍射,形成各自一套衍射条纹。
当每个单缝等宽时,各套衍射条纹在透镜焦平面上完全重叠,其总光强分布为它们的干涉叠加。
四、Matlab仿真部分
clearall
r=100;
n1=1.5163;
n2=1;%透镜的曲率半径为100mm,透镜的折射率n1=1.5,空气的折射率n2=1
d=3;
%x=77:
0.1:
320;
figure
(1)
forn=-5:
5
y1=0.1*n;
%holdon;
%plot(x1,y1);
a1=asin(y1/r);%入射角
a2=asin(n1/n2*(y1/r));%折射角
a=a2-a1;
k=tan(a);%出射光线的斜率
x1=sqrt(r^2-y1^2);
x2=x1-r+d;
b=y1+k*x2;
%出射光线经过(x2,y1)
x=-20:
0.01:
x2;%零坐标选在透镜中心,入射光线距透镜20mm,故x=-20
holdon
plot(x,y1);%平行光束
x3=x2:
0.01:
300;
y=-k*x3+b;%出射光线
holdon
plot(x3,y);
End
clearall
%透镜的结构参数
r1=10;
r2=-50;
l1=-100;
L1=-100;
n1=1.0;
d1=5;
n11=1.563
n2=1.563;
n22=1.0;
figure
(1)
forn=-3:
-1%沿光轴分别为1、2、3度的光线进行入射
%近轴光学成像公式第一个面
u1=n;
i1=(l1-r1)*u1/r1
i11=n1*i/n11;
u11=u1+i1-i11;
l11=r1+r1*i11/u11;
%转面公式
u2=u11;
l2=l11-d1;
%近轴光学成像公式第二个面
i2=(l2-r2)*u2/r2;
i22=n2*i2/n22;
u22=u2+i2-i22;
l22=r2+r2*i22/u22;
%入射光线与第一个透镜交点的纵坐标,坐标原点选在第一个透镜的顶点处
h1=l1*(u1*pi/180);
k1=-u1*pi/180;%入射光线的斜率
b1=100*k1;%因为入射光线经过(-100,0)点
x0=(h1-b1)/k1;%入射光线与第一个透镜交点的横坐标
x1=-100:
0.01:
x0;
y1=k1*x1+b1;
holdon
plot(x1,y1);%输出入射光线
k3=-u22*pi/180;%第二次折射后出射光线的斜率
b3=-k3*(d1+l22);%因为第二次折射后出射光线经过(d1+l22,0)点
h2=h1-d1*(u11*pi/180);%第一次折射后入射到第二个透镜的纵坐标
x00=(h2-b3)/k3;%第一次折射后入射到第二个透镜的横坐标
k2=(h2-h1)/(x00-x0);%第一次折射后光线的斜率
b2=h1-k2*x0;%因为第一次折射后光线经过(x0,h1)点
x2=x0:
0.01:
x00;
y2=k2*x2+b2;
holdon
plot(x2,y2);%输出第一次折射在两个透镜中的光线
x3=x00:
0.01:
30;%选在30是为了将输出图形看得更清晰些
y3=k3*x3+b3;
holdon
plot(x3,y3);%输出经过第二个透镜后的输出光线
%实际光路
U1=n*pi/180;
I1=asin((L1-r1)*sin(U1)/r1);
I11=asin(n1*sin(I1)/n11);
U11=U1+I1-I11;
L11=r1+r1*sin(I11)/sin(U11);
%转面公式
U2=U11;
L2=L11-d1;
%实际光学成像公式第二个面
I2=asin((L2-r2)*sin(U2)/r2);
I22=asin(n2*sin(I2)/n22);
U22=U2+I2-I22;
L22=r2+r2*sin(I22)/sin(U22);
%入射光线与第一个透镜交点的纵坐标,坐标原点选在第一个透镜的顶点处
h3=L1*tan(U1);
k4=-tan(U1);%入射光线的斜率
b4=100*k4;%因为入射光线经过(-100,0)点
x01=(h3-b4)/k4;%入射光线与第一个透镜交点的横坐标
x4=-100:
0.01:
x01;
y4=k4*x4+b4;
holdon
plot(x4,y4,'r');%输出入射光线
k6=-tan(U22);
b6=-k6*(d1+L22);%因为第二次折射后出射光线经过(d1+L22,0)点
h4=h3-d1*tan(U11);%第一次折射后入射到第二个透镜的纵坐标
x02=(h4-b6)/k6;%第一次折射后入射到第二个透镜的横坐标
k5=(h4-h3)/(x02-x01);%第一次折射后光线的斜率
b5=h4-k5*x02;%因为第一次折射后光线经过(x02,h4)点
x5=x01:
0.01:
x02
y5=k5*x5+b5;
holdon
plot(x5,y5,'r');%输出第一次折射在两个透镜中的光线x6=x02:
0.01:
30;%选在30是为了将输出图形看得更清晰些
x6=x02:
0.01:
30;
y6=k6*x6+b6;
holdon
plot(x6,y6,'r');%输出经过第二个透镜后的输出光线
%球差
m=(L22+d1)-(l22+d1);
end
clearall
n=1.5062;%K9玻璃的折射率
d=3;%透镜的中心厚度
R=25;%透镜凸面曲率半径
f=R/(n-1);%透镜焦距
R0=1;%入射光束半径
lambda=1.064e-3;%波长
k=2*pi/lambda;
phy=lambda*0.61/R0;%角半径
w0=sqrt(f*lambda/pi);%实际光斑半径
data=w0-f*phy;%误差
z=f;
rmax=3*f*phy;%艾利斑半径
r=linspace(0,rmax,100);%产生从0到rmax之间的100点行矢量将衍射半径100等分
eta=linspace(0,2*pi,100);%将0到2*pi100等分
[rho,theta]=meshgrid(r,eta);%生成绘制3D图形所需的网格数据
[x,y]=pol2cart(theta,rho);%衍射斑某点的坐标转换极坐标到直角坐标
r0=linspace(0,R0,100);%将入射光束半径100等分
eta0=linspace(0,2*pi,100);
[rho0,theta0]=meshgrid(r0,eta0);
[x0,y0]=pol2cart(theta0,rho0);
fordx=1:
100%都是为了建立网格
fordy=1:
100
Ep=-i/(lambda*z)*exp(i*k*z)*exp(i*k*((x-x0(dx,dy)).^2+(y-y0(dx,dy)).^2)/(2*z));
E2(dx,dy)=sum(Ep(:
));%积分公式的求和表达
end
end
Ie=conj(E2).*E2;%光强表达式
figure
(1);
surf(x,y,Ie);
figure
(2)
plot(x(50,:
),Ie(50,:
));
2.
(1)夫朗和费矩形孔衍射
clearall;
lamda=500e-9;
a=1e-3;
b=1e-3;
f=1;
m=500;
ym=8000*lamda*f;
ys=linspace(-ym,ym,m)
xs=ys;
n=255;
fori=1:
m
sinth2=ys./sqrt(ys.^2+f^2);%相当于x/f
sinth1=xs(i)/sqrt(xs(i).^2+f^2);%xs(i)作用每给一个ys值,要遍历到所有的x值
angleA=pi*a*sinth1/lamda;%相当于书上的alfa=kax/2fk=2*pi/lamda
angleB=pi*b*sinth2./lamda;
B(:
i)=(sin(angleA).^2.*sin(angleB).^2.*5000./(angleA.^2.*angleB.^2));%光强度公式
end
subplot(1,2,1)
image(xs,ys,B)
colormap(gray(n))
subplot(1,2,2)
plot(B(m/2,:
),ys)
(2)夫朗和费圆孔衍射
clear
lam=500e-9
a=1e-3
f=1
m=300;
ym=5*0.61*lam*f/a;%取爱里光斑半径的5倍
ys=linspace(-ym,ym,m);
xs=ys;
n=200;
fori=1:
m
r=xs(i)^2+ys.^2;%相当于r的平方
sinth=sqrt(r./(r+f^2));%角度
fai=2*pi*a*sinth./lam;%fai=k*a*sinth
hh=(2*BESSELJ(1,fai)).^2./fai.^2;%贝塞尔函数
b(:
i)=hh.*5000;
end
subplot(1,2,1)
image(xs,ys,b)
colormap(gray(n))
subplot(1,2,2)
b(:
m/2)
plot(ys,b(:
m/2))
(3)夫朗和费单缝衍射
clearall
lam=500e-9;
a=3;f=1;
xm=3*lam*f/a;
nx=50;
x=linspace(-xm,xm,nx);
ny=50;
y=linspace(0,a,ny);
fori=1:
ny
sinphi=x/f;%角
af=(pi*a*sin(sinphi))/lam;
I(i,:
)=5*(sin(af)./af).^2;
end
N=255;%确定灰度等级
Br=(I/max(I(1,:
)))*N;
subplot(1,2,1)
image(x,y,Br);
colormap(gray(N));%颜色
subplot(1,2,2)
plot(x,I(1,:
));
(4)夫朗和费多缝衍射
clearall;
lamda=500e-9;%波长
N=2;%缝数,可以随意更改变换
a=2e-4;f=5;d=5*a;
ym=2*lamda*f/a;%选择坐标范围
xs=ym;
n=1001;
ys=linspace(-ym,ym,n);
fori=1:
n
sinphi=ys(i)/f;
alpha=pi*a*sinphi/lamda;
fai=2*pi*d*sinphi/lamda;
I1=(sin(alpha)./alpha).^2;%单缝衍射因子
B(i,:
)=I1*(sin(N*fai/2)./sin(fai/2)).^2;%多缝衍射光强的计算公式
B1=B/max(B);%归一化光强
end
NC=256;%确定灰度的等级
Br=(B/max(B))*NC;
subplot(1,2,1)
image(xs,ys,Br);
colormap(gray(NC));%色调处理
subplot(1,2,2)
plot(B1,ys,'k');
五、画出仿真图形
2.
(1)夫朗和费矩形孔
(2)夫朗和费圆孔衍射
(3)夫朗和费单缝衍射
(4)夫朗和费多缝衍射
六、仿真过程中发生的问题及解决的方法
1.在用matlab写程序时一定要保证是在英文状态下输入标点符号的
不然程序运行时会报错。
2.在求第一个图形y=-k*x+b时由于忘记加负号,使出射光线是发散的。
由于在算b值,忘记了加负号将b=y-k*x使入射光线和出射光线接不上。
3.在仿真的工程中由于正、余弦函数内只对弧度值识别,在计算的忘
记了导致出现的图形出现的是错误的,后来经过老师指导将其改正
输出图形正确。
4.在编写程序的过程中由于不懂原理而不会编写,经老师讲解重新编写。
七、分析和总结
在实验时有好多不明白的地方,通过查看资料在用Matlab进行仿真,能够让我们更清楚的理解每个课题的实验原理,也让我们体会到了Matlab的重要性,同时通过对程序进行改动和观察现象能够让我们更好的掌握光学原理及其现象。
这次实验也让我深刻的体会到理论与实践结合的重要性,我们不仅要学,而且要学着把知识用到实践中去,这才使学得有意义、有价值。
而且我觉得不懂就要问,这次不懂,下次就懂了,一点一点的弄懂了也就会得多了才会有信心去做更难的题目。
八、参考文献
Matlab讲义及参考书
物理光学与应用光学(第二版)石顺祥、王学恩、刘劲松编
应用光学(第四版)李林编北京理工大学出版社
九、过程考核表和成绩鉴定表
西安邮电大学电子工程学院专业课程设计过程考核表
学生姓名
班级/学号
承担任务实验室(单位)
光信息科学与技术
所在部门
光电子技术系
实施时间
2014年4月8日—2014年4月18日
具体内容
第一周
集中讲解设计的目的及要求;介绍Matlab仿真的一般方法和步骤;介绍部分函数及其应用;布置课程设计题目;分析仿真中可能出现的问题。
学生选题,查阅资料,进行理论部分的推导;教师准备安装软件、参考资料等,同时为学生辅导答疑。
学生完成理论推导部分。
教师审阅,安装软件。
第二周
根据理论推导结果,学生进行Matlab程序的编写,并画出仿真图形,老师验收;验收调试成功的学生。
验收通过的学生写出设计报告;召开课程设计总结交流会,总结交流学生在课程设计中具有特色的设计思想和合理的调试方法。
指导教师(师傅)姓名
曾祥梅
职务或职称
讲师
指导教师(师傅)
对学生的评价
学习态度
□认真□一般□不认真
学习纪律
□全勤□偶尔缺勤□经常缺勤
实践能力
□很强□一般□较差
指导教师(师傅)对学生专业知识或社会实践能力等情况的意见
指导教师(师傅)签字
年月日
西安邮电大学电子工程学院专业课程设计成绩鉴定表
学生姓名
班级/学号
进行时间
2014年4月8日—2014年4月18日
成绩鉴定
学习内容(20分)
与教学任务计划结合程度(10分)
与专业培养结合程度(6分)
其它(4分)
接受单位评价
(20分)
实践能力(10分)
学习态度(6分)
学习纪律(4分)
报告鉴定
(60分)
报告内容与实践过程紧密结合(15分)
报告内容与教学计划内容紧密结合(15分)
报告质量(主题、结构、观点、逻辑、资料、字数30分)
评阅教师姓名
曾祥梅
职称
讲师
成绩
评语
评阅教师签字
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 仿真 光束 传输 特性