资源预览内容
第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
亲,该文档总共3页全部预览完了,如果喜欢就下载吧!
资源描述
源代码:N=512; disp(衍射孔径类型 1.圆孔 2.单缝 3.方孔)kind=input(please input 衍射孔径类型:);% 输入衍射孔径类型while kind=1&kind=2&kind=3 disp(超出选择范围,请重新输入衍射孔径类型); kind=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,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(-am&ma&-bn&nb)=1;subplot(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/2m&ma/2&-a/2n&na/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):);% 输入衍射波长;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*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的大小不一致。又由于夫琅禾费衍射与傅里叶变换成正比,只差一个系数关系。所以程序中的衍射既是直接对物光进行傅里叶变换即可。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号