how to get the index value of maximum peak in fft domain?
26 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(1 个)
Star Strider
2017-12-21
编辑:Star Strider
2017-12-21
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 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!