Hi,
I am using imx28 EVK board and want to perform FFT on the input signal (Frequency Range from 1 Hz to 15KHz).
Following is the process I have come up with:
1) Sample signal at 45KHz which is more than Nyquist Rate.
2) Convert it to Frequency Domain using FFT
3) Apply filters to remove DC and High Frequency content (Bandpass filer for 1 Hz to 15KHz)
4) Apply methods to generate number samples required (min 1600, max 40K)
Are these right steps to generate spectrum for this signal? I want to read an accelerometer once in a minute to generate spectrum.
I have looked into some FFT libraries and Found Kiss-FFT and FFTW are used mostly. Using simple C code for calling some functions to generate FFT but I do not know How this will be incorporated for only Real Float values? Also not sure if generated values are correct or no.
Is there any other method to do ?
I have not worked on Audio codecs so if required do not want to go on that direction.
Using Ubuntu 14.04 LTS and Kernel on board is linux-2.6.35.3.
Thanks,
Bhavesh
Hi Bhavesh
codecs are not needed for performing FFT, you can
use any standard linux fft package for that. However
performance will be slow due to software delays in performing
much number of calculations. Linux will calcualte Real Float values
using available processor capabilities.
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Thanks for reply Igor.
So just want to make sure that importing Standard fft packages to simple C code will do the job correct?
Also the steps to generate Spectrum are in order right?
Do you have any link which help to convert time domain data to frequency domain?
Thanks,
Bhavesh