hello, I have a plot of values from my fft function for a sinewave audio signal. I am now trying to analyze each peak in the plot to give me the sum of the peak and two other lower points on both sides of the peak. can anyone please help?

1 件のコメント

God'sSon
God'sSon 2011 年 5 月 23 日
Hello,
This is the program I am trying to explain. After this is executed, how can I use the program to get the values of the peaks in the plot into my program?
N=2048;
fs=48000;
n=0:1:N-1;
F = fs*[0:N-1]/N;
w_a=sin((pi*(n'+0.5))/N);% calculate sine window
x1=w_a'.*sin(n*pi/24);
X1 = abs(fft(x1,N)).^2;
plot(F,X1)

サインインしてコメントする。

 採用された回答

Laura Proctor
Laura Proctor 2011 年 5 月 23 日

0 投票

[Xm Im] = findpeaks(X1)
Fm = F(Im)
The Fm and Xm values will hold your x and y values for the peaks.

5 件のコメント

God'sSon
God'sSon 2011 年 5 月 24 日
thank you for your answer. but how do I find at least two other points on either side of each peak.
Laura Proctor
Laura Proctor 2011 年 5 月 24 日
Im holds the index values, so to get the points on either side of the peaks, just use Im - 1 and Im + 1.
God'sSon
God'sSon 2011 年 5 月 24 日
do you mean [Xm Im-1] = findpeaks(X1)
[Xm Im+1] = findpeaks(X1)?
Laura Proctor
Laura Proctor 2011 年 5 月 24 日
Not quite...
[Xm Im] = findpeaks(X1)
iVals = reshape([ Im - 1 ; Im ; Im + 1],1,[])
xVals = F(iVals)
yVals = X1(iVals)
God'sSon
God'sSon 2011 年 5 月 24 日
this works perfectly. thank you very much.

サインインしてコメントする。

その他の回答 (0 件)

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by