MATLAB Answers

How do find the frequency from a FFT graph?

15 views (last 30 days)
Aidil AA
Aidil AA on 9 Oct 2018
Commented: Aidil AA on 10 Oct 2018
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
KSSV
KSSV on 9 Oct 2018
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

David Goodmanson
David Goodmanson on 9 Oct 2018
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
Aidil AA
Aidil AA on 10 Oct 2018
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!