Currently, I have a series of human motion data recorded by accelerometer sensor at a sampling rate 100HZ. Based on literature review, many papers extract the feature called “First 5 FFT coefficients” from the sliding windows. They claimed that the first 5 of the fast-Fourier transform coefficients are taken since they capture the main frequency components, and the use of additional coefficients did not improve the accuracies [1][2].
I googled a lot and it seems Numpy.fft module could solve my problem. However, I am not sure this module is appropriate for my purpose. From the document, the numpy.fft.fft() function accepts either a real or complex array as an input argument, and returns a complex array of the same size that contains the Fourier coefficients. The real part contains the coefficients for the cosine terms and the imaginary part contains the negative of the coefficients for the sine terms [3].
I am not sure about the relationship between First 5 FFT(fast-Fourier transform) coefficients and output from fft module in Numpy. Sorry for my poor signal processing background. Any hints or suggestions will be much appreciated.
Reference
[1] Incel, Ozlem Durmaz. "Analysis of movement, orientation and rotation-based sensing for phone placement recognition." Sensors 15.10 (2015): 25474-25506.
[2] Lee, Jin, and Jungsun Kim. "Energy-efficient real-time human activity recognition on smart mobile devices." Mobile Information Systems 2016 (2016).
[3] http://snowball.millersville.edu/~adecaria/ESCI386P/esci386-lesson17-Fourier-Transforms.pdf