Manual 2D fft

11 visualizzazioni (ultimi 30 giorni)
ritika malik
ritika malik il 2 Dic 2019
Commentato: ritika malik il 2 Dic 2019
I want to do 2D FFT manually, but the result is different fro what we get from MATLAB buit in function. Here is my code I have used for 2d FFT. Can anyone figure it out where is my code running wrong?
r = zeros(40,1);
c= 2;
theta = zeros(40,1);
for i = 0:39
r(i+1) = c*sqrt(i);
theta(i+1) = i*137.508;
end
theta = deg2rad(theta);
xi = r.*cos(theta);
yi = r.*sin(theta);
B = zeros(512,512);
si= 0;
for ii = -256:255
for j = -256:255
for k = 1:40
s = exp(-1i*2*pi*(ii*xi(k) +j*yi(k)));
si = sum(s) +si;
end
B(ii+257,j+257) = si;
si = 0;
end
end
  2 Commenti
KALYAN ACHARJYA
KALYAN ACHARJYA il 2 Dic 2019
Modificato: KALYAN ACHARJYA il 2 Dic 2019
Can you verify with simple example? Share your manual calculation, I will try to figure out?
ritika malik
ritika malik il 2 Dic 2019
I want to calculate fourier transform of the image attached here. Here, I am using 21 delta function at different position calculated in above code as (xi,yi). Now the fourier transform of these delta funtion is
I want to calculate B(u,v) using this formula. Which expected to be like as the second image (energy c=2.png) I have attached, which I am not getting using above code.

Accedi per commentare.

Risposte (0)

Categorie

Scopri di più su Fourier Analysis and Filtering in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by