matlab - Peak detection in an audio signal -


I need to find the maximum peak of an audio signal using matlab. I want to call me wavread The input is obtained using the command and the signal frequency domain has been converted using FFT. After finding its magnitude, I need to store the peak value for further calculations. How can I do this?

I think your IN_MAG is not a real vector, which means You are storing the actual and imaginary part of your FFT, I will advise you to read doc fft of the matlab documentation so that you can make a proper vector.

If you want to complete it, if you want a unique peak, use the maximum, just the function maximum if you can not personally find that you What is to find, then

We say that with the minimum height of 0.5, the first 3 peaks and 10 points apart from each other, [pk, folk] = Finder (IN_MAG, 'NPEAKS', 3, 'MINPEAKHIGHIGH', 0.5, 'MINPEAKDISTANCE', 10);

Then pks is your y and locs is your x coordinate From your peaks

Edit:

As an FFT,

Assume that sig is your sign,

  T = Linspace (0, L / FS, L); Sample rate in% FS Hz and L is signal length NFFT = 2 ^ next pose 2 (L); F = FS / 2 * Lynxpace (0,1, NFFT / 2 + 1); Fft_sig = fft (sig, NFFT) / L; Magnitude_sig == 2 * abs (fft_sig (1: NFFT / 2 + 1));  

This is your right FTP magnitude signal.


Comments