Effacer les filtres
Effacer les filtres

find peaks.

2 vues (au cours des 30 derniers jours)
God'sSon
God'sSon le 23 Mai 2011
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 commentaire
God'sSon
God'sSon le 23 Mai 2011
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)

Connectez-vous pour commenter.

Réponse acceptée

Laura Proctor
Laura Proctor le 23 Mai 2011
[Xm Im] = findpeaks(X1)
Fm = F(Im)
The Fm and Xm values will hold your x and y values for the peaks.
  5 commentaires
Laura Proctor
Laura Proctor le 24 Mai 2011
Not quite...
[Xm Im] = findpeaks(X1)
iVals = reshape([ Im - 1 ; Im ; Im + 1],1,[])
xVals = F(iVals)
yVals = X1(iVals)
God'sSon
God'sSon le 24 Mai 2011
this works perfectly. thank you very much.

Connectez-vous pour commenter.

Plus de réponses (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by