MATLAB: How do find the frequency from a FFT graph

audioread noise audio sound

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.

Best 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))