How to get correct Fourier Transform from Spatial Coordiantes?

20 views (last 30 days)
Hi.
Imagine I have the following profile for gray intensity along a known curve:
I got the following from Fourier transform:
using:
fftshift(fft2(profile))
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
Steve

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.
HTH

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.

Categories

Find more on Fourier Analysis and Filtering 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!