matlab实现夫朗和费矩形和圆孔衍射
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2、用MATLAB仿真平行光束的衍射强度分布图样。(夫朗和费矩形孔衍射、夫朗和费圆孔衍射、夫朗和费单缝和多缝衍射。)
理论推导部分
2.(1)夫朗和费矩形孔衍射
若衍射孔为矩形则在透镜焦平面上得到的衍射图样如图,衍射图样的主要特征为衍射亮斑集中分布在两个相互垂直的方向上,并且x轴上的亮斑宽度与y轴亮斑宽度之比,恰与矩形孔在两个轴上的宽度相反。
其中的θ为θx,同样的β中的θ为θy,利用θx=x/f,θy=y/f进行求解。(2)夫朗和费圆形孔衍射
夫朗和费圆孔衍射的讨论方法和矩形孔衍射的讨论方法相同,只是由于圆孔的几何对称性,采用极坐标更为方便。
Ф=kaθ
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+f^2);%相当于x/f
sinth1=xs(i)/sqrt(xs(i).^2+f^2);%xs(i)作用每给一个ys值,要遍历到所有的x值
angleA=pi*a*sinth1/lamda;%相当于书上的alfa=kax/2f k=2*pi/lamda
angleB=pi*b*sinth2./lamda;
B(:,i)=(sin(angleA).^2.*sin(angleB).^2.*5000./(angleA.^2.*a ngleB.^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;
for i=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))