how to get the index value of maximum peak in fft domain?
25 views (last 30 days)
Show older comments
i have various frequency components in fft domain. f1,f2,f3,f4,f5. lets suppose our maximum peak lies on frequency f2. i want to extract f2(with respect to the maximum amplitude) and discard rest of the frequencies. How can i do this? it's kind of saturation in frequency domain.. can anybody help me please?
0 Comments
Answers (1)
Star Strider
on 21 Dec 2017
Edited: Star Strider
on 21 Dec 2017
Be sure that the information you give findpeaks, especially for a one-sided Fourier transform, are the same frequency and amplitude values that you give to the function you use to plot the same information.
EDIT — The max function — with two outputs — will also work. It will only detect the first maximum, so if you use it, you will need to subtract the mean of your signal before using the fft function. This removes the possibility of the maximum being the value of the d-c or constant offset:
FTsignal = fft(signal - mean(signal))/length(signal);
then:
[maxpeak, maxpeakindes] = max(abs(FTsignal)*2);
will give you the data you want.
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!