2D FFT square function

2 vues (au cours des 30 derniers jours)
T B
T B le 17 Sep 2017
Commenté : jyoti mundra le 9 Nov 2017
I am trying to perform the 2D FFT on the square function. I have defined the square function using:
if true
deltax = L/N;
deltay = L/N;
x = [-L/2:deltax:L/2-deltax];
y = [-L/2:deltay:L/2-deltay];
[X,Y]=meshgrid(x,y);
func = double(abs(X)<= b/2).*double(abs(Y)<= b/2);
figure;
surf(X,Y,func);
end
This does give the expected answer, namely:
However, when I go further and try and do the FFT using the following code:
if true
% code
end
deltafx = 1/L;
deltafy = 1/L;
fx = [-1/(2*deltax):deltafx:1/(2*deltax)-deltafx];
fy = [-1/(2*deltay):deltafy:1/(2*deltay)-deltafy];
[FX,FY]=meshgrid(fx,fy);
funcfourier=deltax*deltay*fft2(func);
funcfourier=fftshift(funcfourier);
absfuncfourier=abs(funcfourier);
surf(FX,FY,absfuncfourier);
gives:
which is not what I expected as I cannot read any amplitudes of that plot. I do not really know what went wrong here.
Any suggestion of how to show this in 3D is appreciated. Thanks
  1 commentaire
jyoti mundra
jyoti mundra le 9 Nov 2017
Please let me know what is L and N in your code?

Connectez-vous pour commenter.

Réponses (0)

Catégories

En savoir plus sur Fourier Analysis and Filtering dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by