当前位置:文档之家› 工程光学matlab仿真设计

工程光学matlab仿真设计

工程光学仿真实验报告1、氏双缝干涉实验(1)氏干涉模型氏双缝干涉实验装置如图1所示: S 发出的光波射到光屏上的两个小孔S1 和S2 , S1 和S2 相距很近,且到S 等距;从S1 和S2 分别发散出的光波是由同一光波分出来的,所以是相干光波,它们在距离光屏为D 的屏幕上叠加,形成一定的干涉图样。

图1.1 氏双缝干涉假设S 是单色点光源,考察屏幕上某一点P ,从S1 和S2 发出的光波在该点叠加产生的光强度为:I = I1 + I2 + 2 I1 I2 cos δ (1-1)式中, I1 和I2 分别是两光波在屏幕上的光强度, 若实验装置中S1 和S2 两个缝大小相等, 则有I1 = I2 =I0 (1-2)δ= 2π(r2 - r1)/λ(1-3) (1-3) 2221)2/(D y d x r +++= (1-4) 2222)2/(D y d x r ++-= (1-5)可得 xd r r 22122=- (1-6)因此光程差:12r r -=∆ (1-7)则可以得到条纹的强度变化规律- 强度分布公式:]/)([cos 1220λπd r r I I -= (1-8) (2)仿真程序clear;Lambda=650; %设定波长,以Lambda 表示波长Lambda=Lambda*1e-9;d=input('输入两个缝的间距 )'); %设定两缝之间的距离,以d 表示两缝之间距离d=d*0.001;Z=0.5; %设定从缝到屏幕之间的距离,用Z 表示yMax=5*Lambda*Z/d;xs=yMax; %设定y方向和x方向的围Ny=101;ys=linspace(-yMax,yMax,Ny);%产生一个一维数组ys,Ny是此次采样总点数%采样的围从- ymax到ymax,采样的数组命名为ys%此数组装的是屏幕上的采样点的纵坐标for i=1:Ny %对屏幕上的全部点进行循环计算,则要进行Ny次计算L1=sqrt((ys(i)-d/2).^2+Z^2);L2=sqrt((ys(i)+d/2).^2+Z^2); %屏上没一点到双缝的距离L1和L2Phi=2*pi*(L2-L1)/Lambda; %计算相位差B(i,:)=4*cos(Phi/2).^2; %建立一个二维数组,用来装该点的光强的值end%结束循环NCLevels=255; %确定使用的灰度等级为255级Br=(B/4.0)*NCLevels; %定标:使最大光强(4. 0)对应于最大灰度级(白色) subplot(1,4,1),image(xs,ys,Br); %用subplot创建和控制多坐标轴colormap(gray(NCLevels)); %用灰度级颜色图设置色图和明暗subplot(1,4,2),plot(B(:),ys); %把当前窗口对象分成2块矩形区域%在第2块区域创建新的坐标轴%把这个坐标轴设定为当前坐标轴%然后绘制以( b (: ) , ys)为坐标相连的线title('氏双缝干涉');(3)仿真图样及分析a)双缝间距2mm b)双缝间距4mmc)双缝间距6mm d)双缝间距8mm图1.2改变双缝间距的条纹变化由上面四幅图可以看出,随着双缝之间的距离增大,条纹边缘坐标减小,也就是条纹间距减小,和理论公式d D e /λ=推导一致。

如果增大双缝的缝宽,会使光强I 增加,能够看到条纹变亮。

二、氏双孔干涉实验1、氏双孔干涉氏双孔干涉实验是两个点光源干涉实验的典型代表。

如图2所示。

当光穿过这两个离得很近小孔后在空间叠加后发生干涉,并在像屏上呈现出清晰的明暗相间的条纹。

由于双孔发出的波是两组同频率同相位的球面波, 故在双孔屏的光射空间会发生干涉。

于是, 在图2中两屏之间的空间里,如果一点P 处于两相干的球面波同时到达波峰(或波谷)的位置, 叠加后振幅达到最高, 图2.1 氏双孔干涉表现为干涉波的亮点; 反之, 当P 处处于一个球面波的波峰以及另一个球面波的波谷时候,叠加后振幅为零,变现是暗纹。

1r 为S1到屏上一点的距离, 2221)2/(D y d x r +++= (2-1),2r 为S2到屏上这点的距离,2222)2/(D y d x r ++-= (2-2),如图2,d 为两孔之间的距离,D 为孔到屏的距离。

由孔S1和孔S2发出的光的波函数可表示为 )ex p(1111ikr r A E = (2-3) )ex p(2212ikr r A E =(2-4) 则两束光叠加后 21E E E += (2-5)干涉后光强 **E E I = (2-6)2、仿真程序clear;Lambda=632*10^(-9); %设定波长,以Lambda 表示波长d=0.001; %设定双孔之间的距离D=1; %设定从孔到屏幕之间的距离,用D 表示A1=0.5; %设定双孔光的振幅都是1A2=0.5;yMax=1; %设定y 方向的围xMax=yMax/500; %设定x 方向的围N=300; %采样点数为Nys=linspace(-yMax,yMax,N);%Y 方向上采样的围从-ymax 到ymaxxs=linspace(-xMax,xMax,N);%X 方向上采样的围从-xmax 到xmaxfor i=1:Nfor j=1:N %对屏幕上的全部点进行循环计算,则要进行N*N 次计算 r1(i,j)=sqrt((xs(i)-d/2)^2+ys(j)^2+D^2);r2(i,j)=sqrt((xs(i)+d/2)^2+ys(j)^2+D^2); %屏上一点到双孔的距离r1和r2 E1(i,j)=(A1/r1(i,j))*exp(2*pi*1j*r1(i,j)/Lambda);%S1发出的光的波函数 E2(i,j)=(A2/r2(i,j))*exp(2*pi*1j*r2(i,j)/Lambda);%S2发出的光的波函数 E(i,j)=E1(i,j)+E2(i,j); %干涉后的波函数B(i,j)=conj(E(i,j))*E(i,j); %叠加后的光强endend %结束循环NCLevels=255; %确定使用的灰度等级为255级Br=(B/4.0)*NCLevels; %定标:使最大光强(4. 0)对应于最大灰度级(白色) image(xs,ys,Br); %仿真出图像colormap('hot');title('氏双孔');(3)干涉图样及分析1)改变孔间距对干涉图样的影响d=1mm d=3mm图2.2 改变孔间距对干涉的影响如图2.2,分别是孔间距为1mm和3mm的干涉图样,可以看出,随着d的增加,视野中干涉条纹增加,条纹变细,条纹间距变小。

2)改变孔直径的影响图2.3 孔直径对干涉的影响如图2.3,这里改变孔直径指的是改变光强,不考虑光的衍射。

孔直径变大,光强变大,可以看出,干涉条纹变亮。

3、平面波干涉(1)干涉模型根据图3.1可以看出,这是两个平行光在屏上相遇发生干涉,两束平行光夹角为θ。

它们在屏上干涉叠加,这是平面波的干涉。

两束平行波波函数为:)ex p(111ikr A E = (3-1))ex p(222ikr A E = (3-2)两束光到屏上一点的光程差为θsin y =∆ (3-3) 图3.1 平行光干涉 垂直方向建立纵坐标系,y 是屏上点的坐标。

那么屏上点的光强为)cos(2212221∆++=k A A A A I (3-4)式中A1和A2分别是两束光的振幅。

(2)仿真程序clear;Lambda=632.8; %设定波长Lambda=Lambda*1e-9;t=input('两束光的夹角'); %设定两束光的夹角A1=input('光一的振幅'); %设定1光的振幅A2=input('光二的振幅'); %设定2光的振幅yMax=10*Lambda;xs=yMax; %X 方向和Y 方向的围N=101; %设定采样点数为Nys=linspace(-yMax,yMax,N); %Y 方向上采样的围从- ymax 到ymaxfor i=1:N %循环计算N 次phi=ys(i)*sin(t/2); %计算光程差B(i,:)=A1^2+A2^2+2*sqrt(A1^2*A2^2)*cos(2*pi*phi/Lambda);%计算光强end %结束循环NCLevels=255; %确定使用的灰度等级为255级Br=B*NCLevels/6; %定标:使最大光强(4. 0)对应于最大灰度级(白色) subplot(1,4,1),image(xs,ys,Br); %用subplot 创建和控制多坐标轴colormap(gray(NCLevels)); %用灰度级颜色图设置色图和明暗subplot(1,4,2),plot(B(:),ys); %把这个坐标轴设定为当前坐标轴%然后绘制以( b (: ) , ys)为坐标相连的折线(3)干涉图样及分析1)改变振幅比对干涉图样的影响a)振幅比1:1 b)振幅比1:2图3.2不同振幅比的干涉图样由图3.2看出,振幅比从1:1变成1:2后,干涉条纹变得不清晰了。

干涉叠加后的波峰波谷位置没有变化,条纹间距没有变化,但是叠加后的波振幅变小了,即不清晰。

2)改变平行光夹角对干涉图样的影响a)两束光夹角60度 b)两束光夹角90度图3.3平面波不同夹角的干涉图样图3.3是两束平行光夹角为60度和90度的干涉条纹,由于夹角不同,光程差不同,改变叠加后光波波峰波谷位置,因此干涉明条纹和暗条纹的位置和间距不同。

4、两点光源的干涉(1)干涉模型如图4.1,S1和S2是两个点光源,距离是d 。

两个点光源发出的光波在空间中相遇发生干涉。

在接收屏上,发生干涉的两束波叠加产生干涉条纹。

S2与屏距离是z ,S1与屏的距离是(d+z )。

两个点光源的干涉是典型的球面波干涉,屏上一点到S1 图4.1 点光源干涉 和S2的距离可以表示为 2221)(z d y x r +++= (4-1) 2222z y x r ++= (4-2)则 )ex p(1111ikr r A E = (4-3) )ex p(2222ikr r A E = (4-4) 其中A1和A2分别是S1、S2光的振幅。

干涉后的光为21E E E += (4-5)因此干涉后光波光强为**E E I = (4-6)(2)仿真程序clear;Lambda=650; %设定波长Lambda=Lambda*1e-9;A1=2; %设定S1光的振幅A2=2; %设定S2光的振幅d=input('输入两点光源距离'); %设定两个光源的距离z=5; %设定S2与屏的距离xmax=0.01 %设定x 方向的围ymax=0.01; %设定y 方向的围N=200; %采样点数为Nx=linspace(-xmax,xmax,N);%X 方向上采样的围从-xmax 到xmax,采样数组命名为x y=linspace(-ymax,ymax,N);%Y 方向上采样的围从-ymax 到ymax,采样数组命名为y for i=1:Nfor k=1:N %对屏幕上的全部点进行循环计算,则要进行N*N 次计算l1(i,k)=sqrt((d+z)^2+y(k)*y(k)+x(i)*x(i)); %计算采样点到S1的距离l2(i,k)=sqrt(z^2+y(k)*y(k)+x(i)*x(i)); %计算采样点到S2的距离E1(i,k)=(A1/l1(i,k))*exp((2*pi*1j.*l1(i,k))/Lambda);%S1复振幅E2(i,k)=(A2/l2(i,k))*exp((2*pi*1j.*l2(i,k))/Lambda);%S2复振幅E(i,k)=E1(i,k)+E2(i,k); %干涉叠加后复振幅B(i,k)=conj(E(i,k)).*E(i,k);%干涉后光强endendNclevels=255; %确定使用的灰度等级为255级Br=B*Nclevels; %定标image(x,y,Br); %做出干涉图像colormap('hot');title('双点光源干涉');(3)干涉图样及分析改变点光源的间距对干涉图样的影响a)d=1m b)d=2m c)d=3m图4.2改变点光源间距的干涉图样图4.2是根据图4.1仿真干涉出的图样,S1和S2之间距离分别为1m、2m、3m,由图样可以看出,随着d的增加,光程差变大,视野的干涉圆环逐渐增多,圆环之间的距离变小。

相关主题