FFT of sensor data
Afficher commentaires plus anciens
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.
Réponse acceptée
Plus de réponses (1)
Santhana Raj
le 8 Juin 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.
Catégories
En savoir plus sur Fourier Analysis and Filtering dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!