Signal Processing Stack Exchange is a question and answer site for practitioners of the art and science of signal, image and video processing. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I want to measure the frequencies at which a point oscillates in a multidimensional space, let's take the example of a point on a 2d-surface. For now, I naïvely split the signal in two, along the cartesian coordinates, and compute the two FFTs separately. This approach could work but seems to be arbitrary and may loose relevant information. Is there a canonical way to perform the frequency analysis in multidimensional space ?

It is unrelated to 2D FFT. I take a vector of size 2*T and 2D FFT is concerned by plain T^2 data, like images.

Here is an example where halving the signal along the polar coordinates seems better than along the cartesian coordinates.

The data used, a point evolving in 2D,

Evolution of a point in 2D

And here is the FFTs for

  1. The cartesian coordinates x and y (a bit noisy)
  2. The polar coordinates theta and rho (very clear)

FFT for the previous data

edit after Mohammad's comment about velocity

And here is the FFT for the velocity vector (very noisy, and looses information in high frequencies) FFT for the velocity

share|improve this question
By 'frequency' here, I take it to mean you wish to measure "The rate of displacement of my point in axis x, y, z, etc etc", correct? From physics, then you want to measure the 'speed', which is the rate of change in displacement. So why not simply take the first derivative of your x-displacement measure, same for the y, square them, add them, and take the square root? This then gives you the euclidean rate of displacement at each point. You want to measure velocity it seems. I do not see how the DFT is relevant. – Mohammad Feb 25 '13 at 16:53
I don't know if "frequency" is the right term in multidimension, but the DFT is definitely what I want for the problem restricted in 1D. I want to measure the amplitudes of oscillations of my signal, for low frequencies as well as for the high frequencies. – Emile Feb 25 '13 at 17:01
Ok, so you want a frequency decomposition of the rate of change of displacement. So to me, that is, (as you have said), a DFT of your velocity vector, which is the same thing as saying, "I want a frequency decomposition of my rate of change vector". In that case, take the first derivatives as I suggested for every dimension, and DFT the results. Then, I would simply add the resulting DFT bins together across the dimensions. – Mohammad Feb 25 '13 at 17:07
This might works, and I will try on my applications. But I continue to think this will loose some information, at least the constant terms. – Emile Feb 25 '13 at 17:19
Is this point moving around in a circle? Does it make sense to express your position as a complex signal x+iy and then use a single FFT on that? Your positive and negative frequency spectra will not be symmetrical for complex input. – endolith Feb 26 '13 at 21:23

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.