物理光学电子作业——波的叠加原理 + 数值仿真
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、要求
学习:波的叠加原理 + 数值仿真
使用Matlab 仿真两个相干光束在观察屏上的干涉条纹,一个光束是与光轴成θ 角的平面波,另一个光束是点光源发出的球面波,由于L>>λ,在观察屏上该球面波可以采用旁轴近似。
其中相关参数如下:θ=0,0.0001,0.0004,0.0008 时, L=2m, 观察屏D=0.01m, 振幅A=1,λ=1μm.
通过给定条件,完成如下要求:
1 建立观察屏上的任意点P 的光强表达式 I(x,y);
2 画出观察屏上的条纹图样。
3 分析各种不同θ 角度时干涉条纹的形状。
二、数学模型
基本思路:分别求屏上某一点P处的两列光波复振幅,叠加得合光复振幅,再对复振幅求模,平方即为P点处合光强I
先对平面波求解,假设在交S点波阵面上两相干光束相位差为0,如图:
对于x=X0的点(点B),合振幅可直接用两光束复振幅之和表示.
对于x≠X0的点,如点C,可视为其位置矢量r比B点的位置矢量r0变化了CE的长度,即r=r0-|CE|.
由几何关系,可知
r=ro+(y C-y B)=L/cosθ+(y-y0)sinθ
即可求得平面光束在C点处的复振幅.
对球面波,由近轴球面波在z=z0处的方程形式:
可以得到平面任意一点P(x,y)处的球面波复振幅.此时z=L.
由上述公式可以求得平面任一点处合光场强度I.
合振幅
E=A*exp(i*k*r)+A/L*exp(i*k*L)*exp(i*k/(2*L)*(X^2+Y^2)) 光强
I=E*E*
分析:当θ=0时,屏幕中心处光程差可视为0,即为中心零级亮纹,条纹为同心圆.
θ≠0时,如上图B点光程差可视为0,零级亮纹上移,条纹左右对称.
三、模拟仿真
θ=0时,获得的干涉条纹如下图所示:
θ=0.0001时,获得干涉条纹如下图所示:
θ=0.0004时的干涉条纹如下图所示:
θ=0.0008时的干涉条纹如下图所示:
四、结果分析
由以上仿真出来的图形可以看到,θ变大时,中心亮纹的位置向上偏移,且条纹保持左右对称.说明之前的定性分析结果正确.
五、总结感悟
本次实验我们学习了球面波和平面波的叠加干涉问题。以往的干涉问题都是两列球面波相干叠加形成干涉条纹,平面波的分析解决方法又有不同。这次我利用的是光波的叠加原理而不是理论知识中一直运用的光程差来求解干涉效应,最后在仿真的过程中也得到了清晰的干涉条纹。这说明同一个物理问题从不同的角度可以得到一样的结论,再次证明了科学事实的真理性,也体会到了研究过程殊途同归的
奇妙。
在求解球面波近轴情况下的波方程和绘制干涉条纹图时我遇到了麻烦,之后通过网上查找有关资料还是得以顺利解决。说明专业知识和MATLAB的使用上还有一定的漏洞和不熟练的地方,以后要多加练习和反思。
附:MATLAB代码
%θ=0时:
x=-0.005:0.00001:0.005;
y=-0.005:0.00001:0.005;
A=1;lamda=1e-6;L=2;
k=2*pi/lamda;
theta=0;
[X,Y]=meshgrid(x,y);
A1=A*exp(i*k*L/cos(theta));
A2=A/L*exp(i*k*L).*exp(i*k/(2*L).*(X.^2+Y.^2));
E=A1+A2;
E_=abs(E);
I=E_.^2;
figure;
colormap(gray);
clear x y A1 A2 E E_;
axis([-0.005,0.005,-0.005,0.005]);
mesh(X,Y,I);
view(0,90);
title('θ=0时的干涉条纹');xlabel('x');ylabel('y');
%θ≠0时,改变theta值=0.0001,0.0004,0.0008
x=-0.005:0.00001:0.005;
y=-0.005:0.00001:0.005;
A=1;lamda=1e-6;L=2;
k=2*pi/lamda;
theta=0.0001;
[X,Y]=meshgrid(x,y);
y0=L*tan(theta);
r=L/cos(theta)+(Y-y0).*sin(theta);
A1=A*exp(i*k*r);
A2=A/L*exp(i*k*L).*exp(i*k/(2*L).*(X.^2+Y.^2));
E=A1+A2;
E_=abs(E);
I=E_.^2;
figure;
colormap(gray);
clear x y A1 A2 E E_;
axis([-0.005,0.005,-0.005,0.005]);
mesh(X,Y,I);
view(0,90);
title('θ=0.0001时的干涉条纹');xlabel('x');ylabel('y');