How to undo the effect of ffts and fftshifts

9 Ansichten (letzte 30 Tage)
siddharth rawat
siddharth rawat am 24 Nov. 2016
Beantwortet: siddharth rawat am 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.

Akzeptierte Antwort

siddharth rawat
siddharth rawat am 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

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by