Low Freq 2D Fourier Transform

Version (2.06 KB) by Daniel
Produces high resolution 2D Fourier Transform for low spatial frequencies.
Updated 20 Nov 2013

View License

Useage case:
You are only interested in the low spatial frequencies of your matrix, but you want a high resolution transform. Using fft2 with lots of zero-padding you get a decent resolution but it takes too long. What can you do? Try sft2_low!

This function uses the basic Fourier transform rather than the FFT, but because it is only evaluating it at a small number of points the total execution time is considerably less (it can be 20x faster or more).

The code is fully vectorised, so it's pretty quick even though it's doing a lot of arithmetic. At some point I may generalise the code to allow you to specify your exact frequencies of interest.

The output should be correct, but I recommend testing it and comparing the values with fft2. Please report problems and suggestions in the comments.

Cite As

Daniel (2024). Low Freq 2D Fourier Transform (https://www.mathworks.com/matlabcentral/fileexchange/43311-low-freq-2d-fourier-transform), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2012b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Fourier Analysis and Filtering in Help Center and MATLAB Answers

Inspired by: Numerical Methods for Physics

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes

improved comments

Code is now optimized to work specifically on real-valued inputs. It also now optionally gives the frequencies as outputs.