1、matlab仿真光束的传输特性 一、课程设计题目: 用matlab仿真光束的传输特性。二、任务和要求 用matlab仿真光束通过光学元件的变换。1设透镜材料为k9玻璃,对1064nm波长的折射率为1.5062,镜片中心厚度为3mm,凸面曲率半径,设为100mm,初始光线距离透镜平面20mm。用matlab仿真近轴光线(至少10条)经过平凸透镜的焦距,与理论焦距值进行对比,得出误差大小。2已知透镜的结构参数为,(K9玻璃),物点A距第一面顶点的距离为100,由A点计算三条沿光轴夹角分别为10、20、30的光线的成像。试用Matlab对以上三条光线光路和近轴光线光路进行仿真,并得出实际光线的球差大
2、小。3设半径为1mm的平面波经凸面曲率半径为25mm,中心厚度3mm的平凸透镜。用matlab仿真平面波在透镜几何焦平面上的聚焦光斑强度分布,计算光斑半径。并与理论光斑半径值进行对比,得出误差大小。(方法:采用波动理论,利用基尔霍夫菲涅尔衍射积分公式。)2、用MATLAB仿真平行光束的衍射强度分布图样。(夫朗和费矩形孔衍射、夫朗和费圆孔衍射、夫朗和费单缝和多缝衍射。)3、用MATLAB仿真厄米高斯光束在真空中的传输过程。(包括三维强度分布和平面的灰度图。)4、(补充题)查找文献,掌握各类空心光束的表达式,采用费更斯-菲涅尔原理推导各类空心光束在真空中传输的光强表达式。用matlab对不同传输距
3、离处的光强进行仿真。三、理论推导部分 将坐标原点选在透镜中心处,1=arcsin(y1/r),由n1*sin1=n2*sin2可得出2=arcsin(n1/n2)*(y1/r),由几何关系可得到=21,则出射光线的斜率k=tan(21),当入射直线y=y1时,x1=d(r),并设出射直线为y=k*x+b;由直线经过(x1,y1)即可求出b值,从而就可以求出射直线。由单透镜焦点计算公式1/f=(n-1)*(1/r11/r2)可求得f=193.6858。 利用近轴光学公式i1=(l1-r1)*u1/r1,i11=n1*i/n11,u11=u1+i1-i11l11=r1+r1*i11/u11和转面公
4、式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=h1d*u11,即为y3可求出第二个横坐标x00。再求在透镜中的直线斜率k2=(h2h1)/(x00x0),y2=k2*x2+b2经过(x0,h1)即可求得b2值,从而即可求得三条直线。实际光束求法
5、同理。 利用菲涅耳近似公式求衍射面上的光强要对孔径上的点求积分可以转换成对其x1,y1的微分求和,其中公式中的z1=f。2.(1)夫朗和费矩形孔衍射若衍射孔为矩形则在透镜焦平面上得到的衍射图样如图,衍射图样的主要特征为衍射亮斑集中分布在两个相互垂直的方向上,并且x轴上的亮斑宽度与y轴亮斑宽度之比,恰与矩形孔在两个轴上的宽度相反。 其中的为x,同样的中的为y,利用x=x/f,y=y/f进行求解。(2)夫朗和费圆形孔衍射夫朗和费圆孔衍射的讨论方法和矩形孔衍射的讨论方法相同,只是由于圆孔的几何对称性,采用极坐标更为方便。=ka(3)夫朗和费单缝衍射对于前面讨论的夫朗和费矩形孔衍射,如果矩形的一个方向
6、的尺寸比另一个方向大得多,则该矩形孔衍射就变成单缝衍射(如图),这时沿y方向的衍射效应不明显,只在x方向有亮暗变化的衍射图样。实验中通过利用=x/f进行求解(4)夫朗和费多缝衍射夫朗和费多缝衍射装置如图,其每条狭缝均平行于y1方向,沿x1方向的缝宽为a,相邻狭缝的间距为d,在研究多缝衍射时,由于后透镜的存在使衍射屏上每个单缝的衍射条纹位置与位置无关。因此,用平行光照射多缝时,其每一个单缝都要产生自己的衍射,形成各自一套衍射条纹。当每个单缝等宽时,各套衍射条纹在透镜焦平面上完全重叠,其总光强分布为它们的干涉叠加。四、Matlab仿真部分 clear allr=100;n1=1.5163;n2=1
7、;%透镜的曲率半径为100mm,透镜的折射率n1=1.5,空气的折射率n2=1d=3;%x=77:0.1:320;figure(1)for n=-5:5 y1=0.1*n; %hold on; %plot(x1,y1); a1=asin(y1/r);%入射角 a2=asin(n1/n2*(y1/r);%折射角 a=a2-a1; k=tan(a);%出射光线的斜率 x1=sqrt(r2-y12); x2=x1-r+d; b=y1+k*x2; %出射光线经过(x2,y1) x=-20:0.01:x2;%零坐标选在透镜中心,入射光线距透镜20mm,故x=-20 hold on plot(x,y1);
8、%平行光束 x3=x2:0.01:300; y=-k*x3+b;%出射光线 hold on plot(x3,y);End clear all%透镜的结构参数r1=10;r2=-50;l1=-100;L1=-100;n1=1.0;d1=5;n11=1.563n2=1.563;n22=1.0;figure(1)for n=-3:-1%沿光轴分别为1、2、3度的光线进行入射 %近轴光学成像公式第一个面 u1=n;i1=(l1-r1)*u1/r1i11=n1*i/n11;u11=u1+i1-i11;l11=r1+r1*i11/u11;%转面公式u2=u11;l2=l11-d1;%近轴光学成像公式第二个
9、面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;hold onplot(x1,y1);%输出入射光线k3=-u22*pi/180;%第二次折射后出射光线的斜率b3=-k3*(d1+l22);%因为第
10、二次折射后出射光线经过(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;hold onplot(x2,y2);%输出第一次折射在两个透镜中的光线x3=x00:0.01:30;%选在30是为了将输出图形看得更清晰些y3=k3*x3+b3;hold onplot(x3,y3);%输出经过第二个透镜
11、后的输出光线%实际光路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
12、(U1);%入射光线的斜率b4=100*k4;%因为入射光线经过(-100,0)点x01=(h3-b4)/k4;%入射光线与第一个透镜交点的横坐标x4=-100:0.01:x01;y4=k4*x4+b4;hold onplot(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*x0
13、2;%因为第一次折射后光线经过(x02,h4)点x5=x01:0.01:x02y5=k5*x5+b5;hold onplot(x5,y5,r);%输出第一次折射在两个透镜中的光线x6=x02:0.01:30;%选在30是为了将输出图形看得更清晰些x6=x02:0.01:30;y6=k6*x6+b6;hold onplot(x6,y6,r);%输出经过第二个透镜后的输出光线%球差m=(L22+d1)-(l22+d1);end clear alln=1.5062;%K9玻璃的折射率d=3;%透镜的中心厚度R=25;%透镜凸面曲率半径f=R/(n-1);%透镜焦距R0=1;%入射光束半径lambda
14、=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=l
15、inspace(0,R0,100);%将入射光束半径100等分eta0=linspace(0,2*pi,100);rho0,theta0=meshgrid(r0,eta0);x0,y0=pol2cart(theta0,rho0);for dx=1:100%都是为了建立网格 for dy=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(:);%积分公式的求和表达 endendIe=conj(E2).*E2;%光强表达式figure(1);surf(x,
16、y,Ie);figure(2)plot(x(50,:),Ie(50,:);2.(1)夫朗和费矩形孔衍射clear all;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;for i=1:m sinth2=ys./sqrt(ys.2+f2);%相当于x/f sinth1=xs(i)/sqrt(xs(i).2+f2);%xs(i)作用每给一个ys值,要遍历到所有的x值 angleA=pi*a*sinth1/lamda;%相当于书上的alfa=kax/2f k=2*pi/lam
17、da angleB=pi*b*sinth2./lamda;B(:,i)=(sin(angleA).2.*sin(angleB).2.*5000./(angleA.2.*angleB.2);%光强度公式endsubplot(1,2,1)image(xs,ys,B)colormap(gray(n)subplot(1,2,2)plot(B(m/2,:),ys)(2)夫朗和费圆孔衍射clearlam=500e-9a=1e-3f=1m=300;ym=5*0.61*lam*f/a;%取爱里光斑半径的5倍ys=linspace(-ym,ym,m);xs=ys;n=200;for i=1:m r=xs(i)2
18、+ys.2;%相当于r的平方 sinth=sqrt(r./(r+f2);%角度 fai=2*pi*a*sinth./lam;%fai=k*a*sinth hh=(2*BESSELJ(1,fai).2./fai.2;%贝塞尔函数 b(:,i)=hh.*5000;endsubplot(1,2,1)image(xs,ys,b)colormap(gray(n)subplot(1,2,2)b(:,m/2)plot(ys,b(:,m/2)(3)夫朗和费单缝衍射clear alllam=500e-9;a=3;f=1;xm=3*lam*f/a;nx=50;x=linspace(-xm,xm,nx);ny=50
19、;y=linspace(0,a,ny);for i=1:nysinphi=x/f;%角af=(pi*a*sin(sinphi)/lam; I(i,:)=5*(sin(af)./af).2;endN=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)夫朗和费多缝衍射clear all;lamda=500e-9; %波长N=2; %缝数,可以随意更改变换a=2e-4;f=5;d=5*a;ym=2*lamda*f/a;%选择坐标范围x
20、s=ym;n=1001;ys=linspace(-ym,ym,n);for i=1:nsinphi=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);%归一化光强endNC=256; %确定灰度的等级Br=(B/max(B)*NC;subplot(1,2,1)image(xs,ys,Br);colormap(gray(NC); %色调处理subpl
21、ot(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.在编写程序的过程中由于不懂原理而不会编写,
22、经老师讲解重新编写。七、分析和总结在实验时有好多不明白的地方,通过查看资料在用Matlab进行仿真,能够让我们更清楚的理解每个课题的实验原理,也让我们体会到了Matlab的重要性,同时通过对程序进行改动和观察现象能够让我们更好的掌握光学原理及其现象。这次实验也让我深刻的体会到理论与实践结合的重要性,我们不仅要学,而且要学着把知识用到实践中去,这才使学得有意义、有价值。而且我觉得不懂就要问,这次不懂,下次就懂了,一点一点的弄懂了也就会得多了才会有信心去做更难的题目。八、参考文献Matlab讲义及参考书物理光学与应用光学(第二版)石顺祥、王学恩、刘劲松编应用光学(第四版)李林编 北京理工大学出版社
23、九、过程考核表和成绩鉴定表 西安邮电大学电子工程学院专业课程设计过程考核表学生姓名班级/学号承担任务实验室(单位)光信息科学与技术所在部门光电子技术系实施时间2014年4月8 日 2014年4月18日具体内容第一周集中讲解设计的目的及要求;介绍Matlab仿真的一般方法和步骤;介绍部分函数及其应用;布置课程设计题目;分析仿真中可能出现的问题。学生选题,查阅资料,进行理论部分的推导;教师准备安装软件、参考资料等,同时为学生辅导答疑。学生完成理论推导部分。教师审阅,安装软件。第二周根据理论推导结果,学生进行Matlab程序的编写,并画出仿真图形,老师验收;验收调试成功的学生。验收通过的学生写出设计
24、报告;召开课程设计总结交流会,总结交流学生在课程设计中具有特色的设计思想和合理的调试方法。指导教师(师傅)姓名曾祥梅职务或职称讲师指导教师(师傅)对学生的评价学习态度 认真 一般 不认真学习纪律 全勤 偶尔缺勤 经常缺勤实践能力 很强 一般 较差指导教师(师傅)对学生专业知识或社会实践能力等情况的意见指导教师(师傅)签字 年 月 日 西安邮电大学电子工程学院专业课程设计成绩鉴定表学生姓名班级/学号进行时间2014年4月8 日 2014年4月18日成绩鉴定学习内容(20分)与教学任务计划结合程度(10分)与专业培养结合程度(6分)其它(4分)接受单位评价(20分)实践能力(10分)学习态度(6分)学习纪律(4分)报告鉴定(60分) 报告内容与实践过程紧密结合(15分)报告内容与教学计划内容紧密结合(15分)报告质量(主题、结构、观点、逻辑、资料、字数 30分)评阅教师姓名曾祥梅职称讲师成绩评语 评阅教师签字 年 月 日
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1