有会相位恢复算法的吗?能帮我看看下面的代码错哪儿了吗?不胜感激 hWX% 66
m9/}~Y#k
2d centered Fourier transform,居中的傅里叶变换 9<KAXr#
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% _cXqAo[V
% Citation for this code and algorithm: trAkcYd
% Tatiana Latychevskaia and Hans-Werner Fink s8}@=]aA
% "Practical algorithms for simulation and reconstruction of digital in-line holograms", &L^+BQ`O?
% Appl. Optics 54, 2424 - 2434 (2015) ]\!?qsT3}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Q[nEsYP
% The code is written by Tatiana Latychevskaia, 2002 ;<leKcvhQ&
% The version of Matlab for this code is R2010b o<N nV
EW3(cQbK
function [out] = FT2Dc(u0); rwGKfoKI
)oyIe)
[Nx, Ny] = size(1i,1j); V,$0p1?J
je!-J8{
f1 = zeros(Nx,Ny); Rz.? i+
>Q(3*d >
for ii = 1:Nx I
:vs;-
for jj = 1:Ny at)~]dG
f1(ii,jj) = exp(1i*pi*(ii + jj)); }mAa}{_
end |`cKD >
end ^k9kJ+x^S2
}K&7%N4LZ
FT = fft2(f1.*in); 3g >B"t
&}A[x1x06)
out = f1.*FT; [D!jv"
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%