FFT of sensor data
Mostrar comentarios más antiguos
Hello everyone!
I am a beginner in Signal processing. I have a time series plot of sensor data that has 200000 values. I need to calculate the FFT of the same data. When I perform fft(x), (assuming x is the time series signal), I get a plot with two peaks , one at 0 and one at 200000. The peak at 0 has an amplitude of 110 and the peak at 200000 has an amplitude of 7. The FFT should be mirror images. Why am I not observing any mirror images on this plot? The sample time of sensor is 0.01s (1000Hz).
Also I expect a resonant frequency of the sensor to be around 70-80 Hz. I do not see any peaks in the FFT at this frequency range. Please help.
Respuesta aceptada
Más respuestas (1)
Santhana Raj
el 8 de Jun. de 2017
You are getting mirror images. except that matlab's FFT results are different from what you have read in your books. Normally FFT algorithm results are from -Fs/2 to +Fs/2, where Fs is the sampling frequency. Matlab's output gives from 0 to Fs. Saying that, if you want to see the plot from -Fs/2 to Fs/2, use the command fftshift.
Your peak at 0 frequency means there is a large DC value. To remove it, find the mean of x and subtract it from each and every value of x.
y=x-mean(x);
This should remove the mean value.
If your x has the senor's resonance, then it should be visible as soon as you have removed the mean. if not, provide the x data in the question, so that people can check it and give you better answers.
Categorías
Más información sobre Fourier Analysis and Filtering en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!