clc;
clear all;
%%菲涅尔衍射
N=1024;
lx0=2e-3; %%横向范围m
ly0=lx0; %%纵向范围m
dx0=lx0./N; %%采横向样间距
dy0=dx0; %%纵向采样间距
[m,n]=meshgrid(-lx0/2:dx0:lx0/2-dx0,-ly0/2:dy0:lx0/2-dy0); %%网格化
z=1; %%若是点光源球面波为点光源距离衍射面的距离
d=0.1; %%衍射距离
a=1; %%若是球面波 单位距离振幅
lam=0.47e-6; %%波长
k=2*pi/lam; %%波数
U=ones(1024); %%平面波复振幅
ph1=exp(1i*k/2/d.*(m.^2+n.^2)); %%积分式中的相位因子
U2=U.*ph1;
U2=fftshift(fft2(ifftshift(U2))); %%二维傅里叶变换
dx=lam*d/lx0; %%像面采样间距
dy=dx;
[p,q]=meshgrid(-N/2*dx:dx:(N/2-1)*dx,-N/2*dy:dy:(N/2-1)*dy);%%网格化
ph2=exp(1i*k/2/d.*(p.^2+q.^2)); %%积分式外相位因子
U3=exp(1i*k*d)./(1i*lam*d).*ph2.*U2.*(lx0/N).*(ly0/N); %%积分式的最后形式
I=abs(U3); %%光强分布
Imax=max(I(:));
Imin=min(I(:));
imshow(I,[Imin,Imax]);title('目标平面光强');
figure;
mesh(I);
figure;
Y=I(257,:);
X=linspace(-N/2*dx,(N/2-1)*dx,N);
plot(X,abs(Y));
figure;
%%% 以下是逆衍射过程
U4=U3.*exp((-1i*k/2/d).*(p.^2+q.^2));
U5=fftshift(ifft2(ifftshift(U4)));
U6=exp(-1i*k*d)./(-1i*lam*d).*exp(-1i*k/2/d.*(m.^2+n.^2)).*U4.*dx.*dy;
I1=abs(U6);
I1max=max(I1(:));
I1min=min(I1(:));
imshow(I1,[I1min,I1max]);title('目标平面光强');
参考程序.zip_菲涅尔衍射_菲涅尔衍射matlab实现_角谱理论_角谱理论matlab_角谱衍射
版权申诉
5星 · 超过95%的资源 76 浏览量
2022-07-15
19:28:55
上传
评论 8
收藏 2KB ZIP 举报
alvarocfc
- 粉丝: 105
- 资源: 1万+
最新资源
- 农村信用社联合社计算机信息系统投产与变更管理办.docx
- 农村信用社联合社计算机信息系统数据管理办法.docx
- 利用SPSS作临床效度分析线上计算网站介绍-医学研究部统计谘.(医学PPT课件).ppt
- 利用Zabbix监控mysqldump定时备份数据库状态.docx
- 利用计算机解决问题的基本过程.doc
- 化工铁路通信工程总结.doc
- 北京大学网络教育软件工程作业.docx
- 医药公司(连锁店)计算机操作规程未新系统的自行按照旧制修改-新系统过制的编号加修模版.doc
- 医药公司(连锁店)计算机系统操作规程模版.doc
- 医药连锁门店计算机系统的操作和管理程序未新系统的自行按照旧制修改-新系统过制的编号加修模版.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论14