2-D Fast Fourier Transform FFT on a uniform data set with non-rectangular boundaries

3 visualizaciones (últimos 30 días)
Hi,
I would like to perform the Fast Fourier Transform (fft2) on a 2D non-rectangular space of equally spaced points. Is there a built-in function in MATLAB that can handle such a computation?
Any help is much appreciated.

Respuesta aceptada

Image Analyst
Image Analyst el 23 de Nov. de 2018
Just make it rectangular with ndgrid or griddedInterpolant()
maxX = max(x);
minX = min(x);
maxY = max(y);
minY = min(y);
% Find spacing
xSpacing = mode(x);
etc.
% Use ndgrid of griddedInterpolant to make gridded array.
% Then loop over values assigning the x and y to the proper location.
  1 comentario
EDic
EDic el 4 de Dic. de 2018
Image Analyst thank you for your comment. As far as I am concerned, this method will generate unwanted points outside the non-rectangular region and the FFT will then be performed on points that do not exist in reality. So, a solution might be to store my data in a logical order so that they form a rectangular 2D-array, but I don't know if that's possible.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Fourier Analysis and Filtering en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by