matlab实现夫朗和费矩形和圆孔衍射

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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))

相关文档
最新文档