function [Eout] = Fresnelprog2D_3TFD (Ein,deltax,deltay,lambda,z)

% Calcul de la propagation de Fresnel selon l'algorithme de 
% convolution / 3 TFD

[N,M]=size(Ein);
p=[(0:(M/2)-1) (-M/2:-1)];
q=[(0:(N/2)-1) (-N/2:-1)]';
[pp,qq]=meshgrid(p,q);

xx=pp*deltax;
yy=qq*deltay;
hz=exp(1i*pi/(lambda*z)*(xx.^2+yy.^2));
Eout=deltax*deltay*...
    exp(1i*2*pi/lambda*z)/(1i*lambda*z)*...
        ifft2(fft2(Ein).*fft2(hz));