How to undo the effect of ffts and fftshifts

9 vues (au cours des 30 derniers jours)
siddharth rawat
siddharth rawat le 24 Nov 2016
I have a field (C_ccd) at the CCD (output) plane, placed at distance 'd' from the object plane, which is calculated as follows:
if true
d = 10^-03; %const distance
g1 = k*sqrt(1-fX.^2-fY.^2);%const, k is the wavenumber
G = exp(i*d*g1);% const propagation function
FT_in = (fftshift(fft2(fftshift(CA2)))); %fourier transform
C_ccd = fftshift(fft2(fftshift(FT_in.*G))); % propagated field at CCD placed at distance d
end
I just want the original field 'CA2' back. I am sorry if some of you find this problem silly or trivial in nature.

Réponse acceptée

siddharth rawat
siddharth rawat le 24 Nov 2016
I found the answer:
if true
FT_in = fftshift(ifft2(fftshift(C_ccd.*G)));
CA2 = fftshift(ifft2(fftshift(FT_in.*G)));
end

Plus de réponses (0)

Catégories

En savoir plus sur Specialized Messages dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by