How do find the frequency from a FFT graph?

Hi guys, I have an audiowave file, I have gotten the time domain and the fft graph. My question what is the next step to find the frequency from the fft graph? Thanks.

2 Comments

Check here it may be helpful.
YOu can click using datatips...or use findpeaks. Or +sort_ the x-axis and pick the respective required y-axes i.e frequencies.

Sign in to comment.

 Accepted Answer

Hi Aidil,
if there are N points in the data array, then the frequency array consists of N points with spacing fs/N. The following example uses fftshift to put zero frequency at the center of the array. It's slightly different for N even or N odd.
data_fft = fftshift(fft(data))
N = length(data);
if rem(N,2) == 0
f = (-N/2:N/2-1) *(fs/N) % N is even
else
f = (-(N-1)/2:(N-1)/2)*(fs/N)
end
plot(f,abs(data_fft))

1 Comment

Thanks David, I finally understand it now. Cheers!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!