Find the frequency at maximum value in pwelch function

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 Comment

"... findpeaks but it gives me some weird answer"
Show your work; findpeaks should have no problem with that input signal with suitable inputs...

Sign in to comment.

Answers (1)

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

Asked:

on 16 Sep 2018

Answered:

on 17 Sep 2018

Community Treasure Hunt

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

Start Hunting!