模拟夫琅禾费衍射的matlab源代码.doc

上传人:11****ws 文档编号:3250846 上传时间:2019-05-27 格式:DOC 页数:3 大小:201.50KB
下载 相关 举报
模拟夫琅禾费衍射的matlab源代码.doc_第1页
第1页 / 共3页
模拟夫琅禾费衍射的matlab源代码.doc_第2页
第2页 / 共3页
模拟夫琅禾费衍射的matlab源代码.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、 源代码:N=512; disp(衍射孔径类型 1.圆 孔 2.单缝 3.方孔)kind=input(please input 衍射孔径类型:);% 输入衍射孔径类型while kind=1kind=input(please input 衍射孔径类型:); % 输入衍射孔径类型 endswitch(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、,2,1),imshow(I);title(生成的衍射 圆孔 );case 2a=input(please input 衍射缝宽:);% 输入衍射单缝的宽度b=1000;% 单缝 的长度I=zeros(N,N);m,n=meshgrid(linspace(-N/4,N/4,N);I(-amsubplot(1,2,1);imshow(I);title(生成的衍射 单缝 );case 3a=input(please input 方孔边长:);% 输入方孔边长I=zeros(N,N);m,n=meshgrid(linspace(-N/4,N/4,N);I(-a/2msubplot(1,2,1),im

3、show(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):); % 输入衍射波长;lamda=lamda_1/1e6k=2*pi/lamda;z=input(please input 衍射屏距离衍射孔的距离 (mm):); % 衍射屏距离衍射孔的距离h=exp(1j*k*z)*exp(1j*k*(x.2+y.2)/(2

4、*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(衍射后的 图样 );figuremeshz(x,y,abs(G);title(夫琅禾 费衍射强度分布 )实验输入:衍射孔径类型 1.圆孔 2.单缝 3.方孔please input 衍射孔径类型:1please input 衍射圆孔半径(mm):3please input 衍射波长(nm) :632lamda =6.3200e-04please input 衍射屏距离衍射孔的距离(mm):1000000实验结果:程序说明:本实验可以选择孔径类型、孔径半径、输入波长、衍射屏和衍射孔的距离等。当衍射屏和衍射孔的距离相对较小时,此衍射为菲涅耳衍射,当距离相对较大时满足夫琅禾费衍射的条件,两者的程序一样,只是距离 Z 的大小不一致。又由于夫琅禾费衍射与傅里叶变换成正比,只差一个系数关系。所以程序中的衍射既是直接对物光进行傅里叶变换即可。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。