任意孔型菲涅尔衍射matlab仿真

任意孔型菲涅尔衍射matlab仿真

ID:39540146

大小:485.61 KB

页数:7页

时间:2019-07-05

任意孔型菲涅尔衍射matlab仿真_第1页
任意孔型菲涅尔衍射matlab仿真_第2页
任意孔型菲涅尔衍射matlab仿真_第3页
任意孔型菲涅尔衍射matlab仿真_第4页
任意孔型菲涅尔衍射matlab仿真_第5页
资源描述:

《任意孔型菲涅尔衍射matlab仿真》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、菲涅尔衍射Matlab仿真——《高等物理光学》实验报告学院:物理学院姓名:廖宝鑫学号:201628017307002目录1.菲涅尔衍射衍射原理22.实验想法及步骤32.1实验思路32.2实验步骤33.程序源代码:34.运行结果展示45.结论61.菲涅尔衍射衍射原理假设一个有限孔径,设孔径屏的直角坐标系为(x0,y0),并且观察平面与孔屏平行,两个平面间的间距为z,观察平面的坐标系为(x,y),这时,观察平面上的场可以表示为(1)根据近轴近似条件(2)同时利用傅里叶变换关系先对进行积分,得到如下的菲涅尔公式(3)令则式

2、(3)可以写为(4)对(4)做傅里叶变换可以得到(5)式中:对于单位振幅入射平面波2.实验想法及步骤2.1实验思路根据以上原理,传递函数已知,只需要求得透射孔径的透过率函数,然后对透过率函数进行傅里叶变换得,并与传递函数相乘得到,最后做一个逆傅里叶变换得到。2.2实验步骤1)用ps绘图软件做出1024*1024的像素点图,在上面绘制各种孔径图形,然后用imread()读入图像得到二维矩阵,即孔径的透过率函数;2)对孔径二维矩阵做傅里叶变换,然后与传递函数相乘,最后对乘积做一次傅里叶逆变换得到菲涅尔衍射图像。3.程序源

3、代码:N=1024;%图像像素点为1024*1024i=imread('star.jpg');%将读入图像用01二值矩阵表示lev=graythresh(i);u=im2bw(i,lev);subplot(2,2,1),imshow(u);%绘制孔径图像title('孔径图像');lam=600e-6;%入射波长(mm)k=2*pi/lam;%波矢z=5000000;%观察屏距离(mm)[x,y]=meshgrid(linspace(-N/4,N/4,N));U=fftshift(fft2(u));%对透过率函数做傅

4、里叶变换h=exp(1j*k*z)*exp((1j*k*(x.^2+y.^2))/(2*z))/(1j*lam*z);%空间域传递函数H=fftshift(fft2(h));%空间频率域传递函数A=fftshift(ifft2(H.*U));%通过逆傅里叶变换得到衍射波的振幅subplot(2,2,2),imshow(log(1+abs(A)));title('衍射图像');I=abs(A).^2;%光强subplot(2,2,3),mesh(x,y,I),title('光强分布');subplot(2,2,4),p

5、lot(x(1,:),I(512,:)),title('光强二维分布');4.运行结果展示图1圆孔的菲涅尔衍射图2方形孔的菲涅尔衍射图3星形孔的菲涅尔衍射图4字母B的菲涅尔衍射图5光栅菲涅尔衍射5.结论采用这一方法理论上可以模拟任意孔型的菲涅尔衍射图像,对于学习菲涅尔衍射有了更直观、形象的认识。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。