correlation window range code

z1=xcorr(GA2L5E1(:,4),10000);
plot(z1)
I got the correlation of the vibration data, and I found this signal, now I have to subtract the window pitch, and the window pitch is 420 421 as seen.
and here is code which is i tried to find window range
for i=1:10000;
[M,I(i)]=max(z1(i:i+420));
I(i)=I(i)+i;
for i=1:25;
[N,X(i)]= max(I(i+400-399:i+400));
i=i+1;
end
end

5 个评论

how can I find this range i can't find the right code
can anyone help me?
Sorry, I don't understand what "window pitch" means to you??? The 420/421 looks to be the spacing (points/frequency/???) between peaks that appear may be an envelope.
What is "range" in the follow-on comment? The peaks you've labelled above?
Have you investigated
doc findpeaks
in Signal Processing Toolbox? It has many input options that may be tweaked for such purposes.
I do not need peaks of the signal actually window pitch means x distances between peaks. The signal itself repeats every 420 range so I need the code that gives me what that value is without looking the signal. I hope I could tell what I need.
As noted, that's something should be able to do with findpeaks
Not much anybody here can do except suggest w/o a sample data file to work with...
okey thank you

请先登录,再进行评论。

回答(1 个)

Asvin Kumar
Asvin Kumar 2019-12-23

0 个投票

Check out the findpeak function as mentioned in the comments above.
You can use multiple Name-Value pairs to suit your use case. For example, you can set the minimum separation between peaks, set a minimum or threshold for peak height etc. Have a look at examples here: https://www.mathworks.com/help/signal/ref/findpeaks.html#bufhyo1-2

标签

Community Treasure Hunt

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

Start Hunting!

Translated by