角谱衍射计算

角谱衍射

角谱衍射计算( D − F F T D-FFT DFFT),即采用两次傅里叶变换,原始公式和( S − F F T S-FFT SFFT)类似,衍射计算的 过程中,除了物面和衍射面的尺寸关系不一样外,其他与( S − F F T S-FFT SFFT)类似,角谱衍射计算中物面尺寸和观测面尺寸大小一致。具体的MATLAB程序如下:

clear all
I1=imread('1.jpg');
figure(1);imshow(I1);
f0=double(I1);
[N1,N2]=size(f0);
N=min(N1,N2);                        
h=0.000632;             %波长(mm)
pix=0.00465;            %像素宽(mm)
z0=input('重建距离z0=');
L=pix*N;                %CCD宽度(mm)                        
f=zeros(N,N);
Ih(1:N,1:N)=f0(1:N,1:N);

L0=L;              %赋值衍射面尺寸,单位:%赋值观察屏到衍射面的距离,单位:米 
fex=N/L;
kethi=[-fex/2:fex/N:fex/2-fex/N];
nenta=[-fex/2:fex/N:fex/2-fex/N];
[kethi,nenta]=meshgrid(kethi,nenta);
k=2*pi/h;	
H=exp(j*k*z0*sqrt(1-(h*kethi).^2+(h*nenta).^2)); %传递函数H
fa=fft2(Ih);                 %衍射面上光场的傅里叶变换
Fuf=fa.*H;                            %光场的频谱与传递函数相乘
U=ifft2(Fuf);                         %在观察屏上的光场分布
I=U.*conj(U);                         %在观察屏上的光强分布
Gma=max(max(abs(U)));
Gmi=min(min(abs(U)));
p=10;
while p
    imshow(abs(U),[Gmi  Gma/p]);
    p=input('Gma/p,p=10?');
end
figure,imshow(I,[0,max(max(I))]),colormap(gray)

参考书目
[1] 古德曼 ,傅里叶光学导论[M],北京:电子工业出版社,2006,第3版
[2]李俊昌,衍射计算及数字全息[M],北京:科学出版社,2014
[3] 钱晓凡,信息光学数字实验室[M],北京:科学出版社,2014
[4]陈家壁,苏显渝.光学信息技术原理及应用[M].北京:高等教育出版社,2001

  • 13
    点赞
  • 77
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
Matlab中的角谱衍射是一种用于模拟和分析光波通过衍射孔径或光栅时的衍射效应的技术。衍射是光线通过由孔径或光栅的物体时发生的现象,其中光线在物体的边缘或孔径的边缘上发生绕射和干涉。 在Matlab中,我们可以利用光学工具箱中的函数和工具来实现角谱衍射。这些函数包括fft2,ifft2以及相关的光学变换函数,如傅立叶变换和逆傅立叶变换。我们可以通过读取和处理输入光场的数据,生成光场的角谱,然后应用衍射孔径或光栅的过程来获得衍射光场。 对于衍射孔径,我们可以使用函数imresize和imrotate来处理输入孔径图像的数据,然后使用fft2函数计算其傅立叶变换。通过将傅立叶变换的结果与一个适当的传递函数相乘,我们可以获得光波在孔径上的角谱。最后,我们可以使用ifft2函数对角谱进行逆傅立叶变换,以获得衍射光场。 对于光栅衍射,我们可以使用通过计算光波在光栅上的传播,将光波分成一系列波的阵列。然后,我们可以使用fft2函数计算每个波的傅立叶变换,将它们与适当的相位因子相乘,并使用ifft2函数进行逆傅立叶变换,以获得衍射光场。 通过Matlab中的角谱衍射技术,可以更好地理解光波在物体上的衍射效应,并且可以模拟和分析光学系统的性能。这对于光学工程师和研究人员来说是非常有用的,可以帮助他们设计和优化光学系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值