任意孔型菲涅尔衍射matlab仿真(共7页).docx
《任意孔型菲涅尔衍射matlab仿真(共7页).docx》由会员分享,可在线阅读,更多相关《任意孔型菲涅尔衍射matlab仿真(共7页).docx(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上菲涅尔衍射Matlab仿真高等物理光学实验报告学院: 物理学院 姓名: 廖宝鑫 学号:7002 目录1. 菲涅尔衍射衍射原理假设一个有限孔径,设孔径屏的直角坐标系为(x0,y0),并且观察平面与孔屏平行,两个平面间的间距为z,观察平面的坐标系为(x,y),这时,观察平面上的场可以表示为(1)根据近轴近似条件 (2) 同时利用傅里叶变换关系先对进行积分,得到如下的菲涅尔公式(3)令则式(3)可以写为 (4)对(4)做傅里叶变换可以得到 (5)式中:对于单位振幅入射平面波2.实验想法及步骤2.1实验思路根据以上原理,传递函数已知,只需要求得透射孔径的透过率函数,然后对透过
2、率函数进行傅里叶变换得,并与传递函数相乘得到,最后做一个逆傅里叶变换得到。2.2实验步骤1) 用ps绘图软件做出1024*1024的像素点图,在上面绘制各种孔径图形,然后用imread()读入图像得到二维矩阵,即孔径的透过率函数;2) 对孔径二维矩阵做傅里叶变换,然后与传递函数相乘,最后对乘积做一次傅里叶逆变换得到菲涅尔衍射图像。3.程序源代码:N=1024; %图像像素点为1024*1024i=imread(star.jpg); %将读入图像用01二值矩阵表示lev = graythresh(i);u = im2bw(i,lev);subplot(2,2,1),imshow(u); %绘制孔
3、径图像title(孔径图像);lam=600e-6; %入射波长(mm)k=2*pi/lam; %波矢z=; %观察屏距离(mm)x,y=meshgrid(linspace(-N/4,N/4,N);U=fftshift(fft2(u); %对透过率函数做傅里叶变换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),plot(x(1,:),I(512,:),title(光强二维分布);4.运行结果展示图1 圆孔的菲涅尔衍射图2 方形孔的菲涅尔衍射图3 星形孔的菲涅尔衍射图4 字母B的菲涅尔衍射图5 光栅菲涅尔衍射5.结论采用这一方法理论上可以模拟任意孔型的菲涅尔衍射图像,对于学习菲涅尔衍射有了更直观、形象的认识。专心-专注-专业
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 任意 孔型 菲涅尔 衍射 matlab 仿真
限制150内