I'm looking to compare the Fourier Transforms generated by accelerators and gyroscopes that collected data of people walking. I've looked to see if there is a standard form of comparison, but I have yet to find one.

Here's my specific use case: I'm looking to compare similarity between the dominant signals of two Fourier Transforms (i.e. how close are they to being the same frequency/magnitude). Is there a specific metric that would help identify that?

If not (or perhaps irrespective of my goal), what are some common ways of comparing two Fourier transforms? I've found surprisingly little on the subject.

  • $\begingroup$ Are you comparing two single FFTs from a accel/gyro capture, or are you comparing 2 series of FFTs (over time, re: walking)? Have you narrowed down the most salient parts of spectrum that you are interested in? These questions can inform your choice of similarity metric. $\endgroup$ Commented Mar 7, 2015 at 4:34
  • $\begingroup$ They would be from two different time periods (e.g. different days), certainly not the same sample. As far as limiting, yes, partially because we're using consumer-grade accelerometers and because walking data is not very likely to produce high frequency oscillations, unless you walk really really fast (</kidding>). $\endgroup$ Commented Mar 7, 2015 at 4:37

1 Answer 1


Most simply, you can compute simple statistical measures on each FFT frame and compare those directly. The signal energy, its distribution, variance, etc across the frequency spectrum are interesting measures. You can also directly compute the correlation coefficient between accelerometer signal pairs (normalized to their length).

It might be useful to look into research on “gait recognition”, the literature points to “low frequency-domain entropy” as feature that is useful in discriminating accel/gyro data that differ in “complexity”

Have you seen this thread on comparing 3d data from accelerometers. It is worth considering if using the raw 3d data, doing a dimensionality reduction (PCA, etc) and then using a simple distance metric may get you further than analyzing raw FFT output. Doing an FFT as you've proposed doing is only one way to simplify the data, but I think the Fourier transform is too coarse & noisy to give you directly comparable results, every time.

As an alternative, it might be easier/faster to use machine learning, i.e. training a "people walking" classifier using any modern supervised learning technique.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.