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

4 views (last 30 days)
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.

Accepted Answer

Image Analyst
Image Analyst on 23 Nov 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 Comment
EDic
EDic on 4 Dec 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.

Sign in to comment.

More Answers (0)

Categories

Find more on Data Type Conversion in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!