- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
源代码:
N=512;
disp( 衍射孔径类型 1. 圆孔 2. 单缝 3. 方孔 )
kind=input( please input 衍射孔径类型: ); % 输入衍射孔径类型
while kind~=1kind~=2kind~=3
disp( 超出选择范围,请重新输入衍射孔径类型 );
kind=input( please input 衍射孔径类型: ); % 输入衍射孔径类型
end
switch (kind)
case 1
r=input( please input 衍射圆孔半径 (mm) : ); % 输入衍射圆孔的半径
I=zeros(N,N);
[m,n]=meshgrid(linspace(-N/16,N/16-1,N));
D=(m.^2+n.^2).^(1/2);
I(find(D=r))=1;
subplot(1,2,1),imshow(I);
title( 生成的衍射圆孔 );
case 2
a=input( please input 衍射缝宽: ); % 输入衍射单缝的宽度
b=1000; % 单缝的长度
I=zeros(N,N);
[m,n]=meshgrid(linspace(-N/4,N/4,N));
I(-amma-bnnb)=1;
subplot(1,2,1);imshow(I);
title( 生成的衍射单缝 );
case 3
a=input( please input 方孔边长: ); % 输入方孔边长
I=zeros(N,N);
[m,n]=meshgrid(linspace(-N/4,N/4,N));
I(-a/2mma/2-a/2nna/2)=1;
subplot(1,2,1),imshow(I);
title( 生成的方孔 );
otherwise kind=input( please input 衍射孔径类型: ); % 输入衍射孔径
类型
end
% 夫琅禾费衍射的实现过程
L=500;
[x,y]=meshgrid(linspace(-L/2,L/2,N));
lamda_1=input( please input 衍射波长 (nm) : ); % 输入衍射波长 ;
word.
lamda=lamda_1/1e6
k=2*pi/lamda;
z=input( please input 衍射屏距离衍射孔的距离 (mm) : ); % 衍射屏距离衍射孔
的距离
h=exp(1j*k*z)*exp((1j*k*(x.^2+y.^2))/(2*z))/(1j*lamda*z); %脉冲相应
H =fftshift(fft2(h)); %传递函数
B=fftshift(fft2(I)); %孔频谱
G=fftshift(ifft2(H.*B));
subplot(1,2,2),imshow(log(1+abs(G)),[]);
title( 衍射后的图样 );
figure
meshz(x,y,abs(G));
title( 夫琅禾费衍射强度分布 )
实验输入:衍射孔径类型 1.圆孔 2.单缝 3.方孔
please input 衍射孔径类型: 1
please input 衍射圆孔半径 (mm) :3
please input 衍射波长 (nm) :632
lamda =6.3200e-04
please input 衍射屏距离衍射孔的距离
文档评论(0)