MATLAB: Getting Frequencies Corresponding to Peaks In FFT Plot

fft

Hey everyone,
So I'm currently working on a project where I need to find the frequencies for specific peaks in my FFT plot of an audio file. However, I'm not sure how to actually get the frequencies that correspond to the peaks I'm interested in.
This is my code: https://pastebin.com/zZW8B5Th
And this is a picture of my FFT plot: https://imgur.com/0ajtful
Essentially, I'm trying to construct a Fourier Series from the signal. Although I know how to find the coefficients of the sine/cosine terms, I'm just a little confused on how to find the frequency.
Thanks everyone!

Best Answer

Use the findpeaks (link) function to determine the frequencies and amplitudes of the peaks.
Note that the correct implementation of your fft call is:
X = X(1:length(y)/2+1)/length(y);
That will produce the correct amplitudes.