MATLAB Answers

How to get correct Fourier Transform from Spatial Coordiantes?

93 views (last 30 days)
Steven on 28 Jan 2014
Answered: Juan P. Viera on 29 Jan 2014
Imagine I have the following profile for gray intensity along a known curve:
I got the following from Fourier transform:
1. I wonder how I can obtain frequency from spatial coordinates? I read all of fft examples, but I am really confused!
The first image above is the gray intensity in terms of "number of the points" along a path. I can also plot it vs. the points x or y values. Now how can I find the frequency from them? I mean to find the dominant frequency from fft? while now it is still the number of the points.
2. Why is the fft symmetric while the original profile is not? I feel something's terribly wrong about fft or fft2, but I do not know what!
Note: What I want finally, is the main frequency and then wavelength of an image.
Thanks so much in advance


Sign in to comment.

Accepted Answer

Bjorn Gustavsson
Bjorn Gustavsson on 28 Jan 2014
Provided you have a constant sampling distance, dL, between your N points, you "length-frequency" (wavenumber when you the to it):
f_L = ( (0:N-1) -ceil((N-1)/2) )/N/dL; k = 2*pi*f_L;
The absolute value of your Fourier transform is symmetric because your curve is real-valued. Not to be impolite, but at this stage it seems due to suggest that you should read up a bit about Fourier transforms.

More Answers (1)

Juan P. Viera
Juan P. Viera on 29 Jan 2014
Maybe my comment is obvious and if so please forgive me, but just to be sure. Remember that if your signal is amplitude vs space (and not amplitude vs. time as the most usual case is), your "frequency" will not be an actual frequency as in [Hz]. It still has the similar meaning regarding its effect on the signal though, but be careful.


Sign in to comment.

Community Treasure Hunt

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

Start Hunting!