Hi, I have an assignment in wich i need to apply FFT in matlab. The problem is that i don't have any function or frequency because all of my data came out from an accelerometer. although i have sampling rate, sampling time interval and number of samples i don't know the frequency or the function of the sine wave formed by my data. Can you please enlighten me how to do my FFT? any help would be greatly appreciated

 Accepted Answer

Star Strider
Star Strider on 8 Apr 2016

1 vote

See the documentation for the R2015a version of fft. The code between the top two plot figures is what you need to do.

4 Comments

if you mean this code:
Y = fft(y,251);
Pyy = Y.*conj(Y)/251;
f = 1000/251*(0:127);
plot(f,Pyy(1:128))
title('Power spectral density')
xlabel('Frequency (Hz)')
can you please explain to me what is 251 represends cause I don't understand this example
Star Strider
Star Strider on 9 Apr 2016
The ‘251’ is the number of points of ‘y’ used to calculate the fft. If the length of ‘y’ is shorter than that, then it is zero-padded to that lenght, if longer, it is truncated to a length of ‘251’. That refers to the length of a vector or the row-size of a matrix.
The rest of the code squares the elements of ‘Y’, creating the power spectral density. Only the first 128 samples are plotted because this is a one-sided fft (although I would have chosen 126 instead of 128, since that is half the length of ‘Y’+1).
thank you Sir
Star Strider
Star Strider on 10 Apr 2016
My pleasure.

Sign in to comment.

More Answers (0)

Categories

Find more on Fourier Analysis and Filtering in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!