有会相位恢复算法的吗?能帮我看看下面的代码错哪儿了吗?不胜感激 BqQ] x'AF
nHrP>zN
2d centered Fourier transform,居中的傅里叶变换 U$A/bEhw
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% I|H,)!Z
% Citation for this code and algorithm: D0f*eSXE{
% Tatiana Latychevskaia and Hans-Werner Fink ,oBlJvm
% "Practical algorithms for simulation and reconstruction of digital in-line holograms", OWqrD@
% Appl. Optics 54, 2424 - 2434 (2015) B,4q>KQA
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% JRD8Lz]Q3
% The code is written by Tatiana Latychevskaia, 2002 z9^c]U U)E
% The version of Matlab for this code is R2010b $+7 ci~gs
D`en%Lf!m
function [out] = FT2Dc(u0); f(!E!\&n^
FX7M4t#<
[Nx, Ny] = size(1i,1j); =D{B}=D\IM
{z=j_;<]
f1 = zeros(Nx,Ny); 9t#P~>:jY}
'c#IMlv
for ii = 1:Nx pG(Fz0b{
for jj = 1:Ny +a #lofhv
f1(ii,jj) = exp(1i*pi*(ii + jj)); i^R{Ul[
end tzPC/?
end Rl1$?l6Rf
e$HQuA~Q;
FT = fft2(f1.*in); 4b]_
#7Qm
JfbKf~g
out = f1.*FT; `N$!s7M
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%