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

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

菲涅尔衍射Matlab仿真

——《高等物理光学》实验报告

学院:姓名:学号:

物理学院

目录

菲涅尔衍射衍射原理 3

实验想法及步骤 3

实验思路 3

实验步骤 4

程序源代码: 4

运行结果展示 5

结论 7

菲涅尔衍射衍射原理

假设一个有限孔径,设孔径屏的直角坐标系为(x0,y0),并且观察平面与孔屏平行,两个平面间的间距为z,观察平面的坐标系为(x,y),这时,观察平面上的场可以表示为

U?x,y,z????dfdf?dx

?? x y

?

dyU ?x,y

0 0 0 0 0

,0?exp(j2?z 1??2f2??2f2)

? x x

(1)

??exp{j2??f

?

x

根据近轴近似条件

?x?x

0

??f

y

?y?y

0

???}

1??2

1??2f2??2f2

?1? ?2 f2?f2

(2)

x x 2 x y

同时利用傅里叶变换关系先对f,f

x y

进行积分,得到如下的菲涅尔公式

exp?jkz? ?

U?x,y,z??

?dxdyU ?x,y??exp{j

??x?x

?2??y?y

?2?}(3)

j?z

0 0 0 0 0

?

?z?

0 0 ?

令h?x,y??

exp?jkz? ?

??? ? ??exp{j x

??? ? ??

j?z ?z? ?

则式(3)可以写为

U?x,y,z???U

0

?

?x,y

0 0

?h?x?x

0

,y?y

0

?dxdy

0 0

?U?x,y??h?x,y? (4)

对(4)做傅里叶变换可以得到

A?f,f,z??A?f,f

x y 0 x y

?H?f,f

x y

,z? (5)

式中:A

0

?f,f

x y

??FFT?U ?x,y??

0

对于单位振幅入射平面波A

0

?f,f

x y

??FFT?t

0

?x,y??

H?f,f

x y

??FFT?h?x,y??

实验想法及步骤

实验思路

根据以上原理,传递函数H?f,f

x y

?已知,只需要求得透射孔径的透过率函数t

0

?x,y?,然

后对透过率函数进行傅里叶变换得,并与传递函数相乘得到A?f,f

x y

,z?,最后做一个逆傅

里叶变换得到U?x,y,z?=IFFT{A?f,f,z?}。

x y

实验步骤

用ps绘图软件做出1024*1024的像素点图,在上面绘制各种孔径图形,然后用imread()

读入图像得到二维矩阵,即孔径的透过率函数;

对孔径二维矩阵做傅里叶变换,然后与传递函数相乘,最后对乘积做一次傅里叶逆变换得到菲涅尔衍射图像。

程序源代码:

N=1024;

N=1024;

%图像像素点为1024*1024

i=imread(star.jpg);

lev=graythresh(i);u=im2bw(i,lev);

%将读入图像用01二值矩阵表示

subplot(2,2,1),imshow(u);

title(孔径图像);lam=600e-6;k=2*pi/lam;z=5000000;

[x,y]=meshgrid(linspace(-N/4,N/4,N));

U=fftshift(fft2(u));

%绘制孔径图像

%入射波长(mm)

%波矢

%观察屏距离(mm)

%对透过率函数做傅里叶变换

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(光强二维分布);

运行结果展示

图1 圆孔的菲涅尔衍射

图2方形孔的菲涅尔衍射

图3星形孔的菲涅尔衍射

图4字母B的菲涅尔衍射

结论

图5光栅菲涅尔衍射

采用这一方法理论上可以模拟任意孔型的菲涅尔衍射图像,对于学习菲涅尔衍射有了更

文档评论(0)

tianya189 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体阳新县融易互联网技术工作室
IP属地上海
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档