# Vibration Acceleration Analysis with FFT and inverse FFT

I've been reading time series data off of an accelerometer, and converting it to one RMS acceleration in g. The sensor works in a range of 0-6.4 kHz approximately. Ideally i would like to restrict the range to 10 - 5000 Hz, i however there is no direct way or setting to modify this on the sensor.

Hence i'm thinking of getting all the time series data, and performing an FFT. Then removing any unwanted frequency by setting their values to zero, perform an inverse FFT and calculate my new RMS acceleration based on the new signal.

Does this make sense from a DSP point of view?

Also, should i remove all the negative frequency components too, before performing the inverse FFT?

I'm doing this on python using numpy library.

I agree with the other answer, that you can just take into account the data from 10 to 5000 Hz. If you do want your time signal with only frequencies in that range, don't just set to 0 in the spectrum because this can quickly lead to aliasing and artefacts in your signal. Try instead to do a band pass filtering using either an IIR or a FIR filter. For that you can check into any DSP-Book of your liking and use the library scipy.signal which has already implemented tons of functions.
The negative frequencies are actually needed in order to reconstruct your time signal from a FFT so don't throw them away. For a real signal there's no "new" information in the negative part (magnitude is mirrored and phase is mirrored and multiplied by -1 around 0 Hz), but for complex signals, there would be (which is not very interesting for your needs). You can just ignore the negative frequencies in your analysis but as soon as you want to go back to time, you have to take them with you. There's the function numpy.fft.rfft which gives you only the positive part and numpy.fft.irfft which reconstructs its time signal using only positive frequencies. The standard numpy.fft.fft needs the other half!