Find the frequency at maximum value in pwelch function

6 次查看(过去 30 天)
I plotted my pwelch, and I want the frequency at which the graph shows the highest value. In this particular case its around .25. I tried using findpeaks but it gives me some weird answer.
  1 个评论
dpb
dpb 2018-9-16
"... findpeaks but it gives me some weird answer"
Show your work; findpeaks should have no problem with that input signal with suitable inputs...

请先登录,再进行评论。

回答(1 个)

Aquatris
Aquatris 2018-9-17
You can obtain the frequency and power vectors from pwelch function. Example;
fs = 1e3;
t = 0:1/fs:1-1/fs;
x = sin(2*pi*100*t);
[pxx,f] = pwelch(x,500,300,500,fs);
plot(f,20*log10(pxx))
then, you can simple do the following to find the frequency corresponding to max peak;
index = find(pxx == max(pxx));
freq_max = f(index); % frequency at which pxx is maximum

标签

Community Treasure Hunt

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

Start Hunting!

Translated by