一、课程设计题目:用matlab仿真光束的传输特性。二、任务和要求用matlab仿真光束通过光学元件的变换。①设透镜材料为k9玻璃,对1064nm波长的折射率为1.5062,镜片中心厚度为3mm,凸面曲率半径,设为100mm,初始光线距离透镜平面20mm。用matlab仿真近轴光线(至少10条)经过平凸透镜的焦距,与理论焦距值进行对比,得出误差大小。②已知透镜的结构参数为101r,0.11n,51d,5163.121nn(K9玻璃),502r,0.12n,物点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^12^(yr),并设出射直线为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-i11l11=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值,从而即可求得三条直线。实际光束求法同理。利用菲涅耳近似公式11])2^122)^1(2)^1(1[1exp()1,1(1),(dydxzyyxxikzyxEziyxE求衍射面上的光强要对孔径上的点求积分可以转换成对其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仿真部分clearallr=100;n1=1.5163;n2=1;%透镜的曲率半径为100mm,透镜的折射率n1=1.5,空气的折射率n2=1d=3;%x=77:0.1:320;figure(1)forn=-5:5y1=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=-20holdonplot(x,y1);%平行光束x3=x2:0.01:300;y=-k*x3+b;%出射光线holdonplot(x3,y);Endclearall%透镜的结构参数r1=10;r2=-50;l1=-100;L1=-100;n1=1.0;d1=5;n11=1.563n2=1.563;n22=1.0;figure(1)forn=-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;%近轴光学成像公式第二个面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;holdonplot(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;holdonplot(x2,y2);%输出第一次折射在两个透镜中的光线x3=x00:0.01:30;%选在30是为了将输出图形看得更清晰些y3=k3*x3+b3;holdonplot(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;holdonplot(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:x02y5=k5*x5+b5;holdonplot(x5,y5,'r');%输出第一次折射在两个透镜中的光线x6=x02:0.01:30;%选在30是为了将输出图形看得更清晰些x6=x02:0.01:30;y6=k6*x6+b6;holdonplot(x6,y6,'r');%输出经过第二个透镜后的输出光线%球差m=(L22+d1)-(l22+d1);endclearalln=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:100Ep=-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,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:msinth2=ys./sqrt(ys.^2+f^2);%相当于x/fsinth1=xs(i)/sqrt(xs(i).^2+f^2);%xs(i)作用每给一个ys值,要遍历到所有的x值angleA=pi*a*sinth1/lamda;%相当于书上的alfa=kax/2fk=2*pi/lamdaangleB=pi*b*sinth2./lamda;B(:,i)=(sin(angleA).^2.*sin(angleB).^2.*5000./(angleA.^2.