function output = Propagate(input,propagator,dx,lamda,z)
% 波前传播
%%%%%%%%%%%%%%%%%%%%%%%%%%%
% input: the wavefront to propagate
% propagator: one of 'fourier','fresnel' or 'angular spectrum'
% dx: the pixel spacing of input wavefront
% wavelength: the wavelength of the illumination
% z: the distance to propagate
% output: the distance to propagate
% 频域坐标
k = 2*pi/lamda;
[ysize, xsize] = size(input);
x = -xsize/2:xsize/2-1;
y = -ysize/2:ysize/2-1;
fx = x./(dx*xsize);
fy = y./(dx*ysize);
[fx, fy] = meshgrid(fx,fy);
switch propagator
case 'fourier'
if z>0
output = fftshift(fft2(fftshift(input)));
% output = fft2(input);
else
output = ifftshift(ifft2(ifftshift(input)));
% output = ifft2(input);
end
case 'angular spectrum'
% Calculate phase distribution for each plane wave component
w = sqrt(1/lamda^2 - fx.^2 - fy.^2);
% exclude evanescent waves
notEvanescent = imag(w) == 0;
% Compute FFT of input
F = fftshift(fft2(fftshift(input)));
% multiply FFT by phase-shift and inverse transform
output = ifftshift(ifft2(ifftshift(F.*exp(2i*pi*z*w).*notEvanescent)));
case 'fresnel'
% Calculate approx phase distribution for each plane wave component
w = fx.^2 + fy.^2;
% Comput FFT
F = fftshift(fft2(fftshift(input)));
% multiply by phase-shift and inverse transform
output = ifftshift(ifft2(ifftshift(F.*exp(-1i*pi*z*lamda*w))));
end
end
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于相干衍射成像模拟的matlab仿真完整源码(课程设计).zip 已获导师指导并通过的97分的高分课程设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 基于相干衍射成像模拟的matlab仿真完整源码(课程设计).zip 已获导师指导并通过的97分的高分课程设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。基于相干衍射成像模拟的matlab仿真完整源码(课程设计).zip 已获导师指导并通过的97分的高分课程设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。基于相干衍射成像模拟的matlab仿真完整源码(课程设计).zip 已获导师指导并通过的97分的高分课程设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。基于相干衍射成像模拟的matlab仿真完整源码(课程设计).zip 已获导师指导并通过的97分的高分课程设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。基于相干衍射成像模拟的matlab仿真完整源码(课程设计).zip 已获导师指导并通
资源推荐
资源详情
资源评论
收起资源包目录
基于相干衍射成像模拟的matlab仿真.zip (3个子文件)
主-master
Propagate.m 2KB
cdicode.m 669B
.gitignore 446B
共 3 条
- 1
资源评论
- weixin_579016612023-12-05资源不错,对我启发很大,获得了新的灵感,受益匪浅。
- 2301_768900712023-11-21这个资源内容超赞,对我来说很有价值,很实用,感谢大佬分享~
猰貐的新时代
- 粉丝: 1w+
- 资源: 2559
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功