cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Distribution of peaks in a random (vibration) signal

ClaudioPedrazzi
10-Marble

Distribution of peaks in a random (vibration) signal

Hi everyone again!

this time I am struggling in order to find the distribution of peaks in a random signal (actually a vibration).  The theory says that the distribution of peaks (not of the instantaneous amplitudes!) can give interesting informations on the type of signal. And be used for fatigue evaluation. See for example the following excerpt from Harris-Shock and Vibration Handbook.

Unbenanant.JPG

   

So if a have a very long file with sampled data (for example 10E3, 10E4 points) with a good enough sampling frequency, I could think to try to determine numerically the following distribution (also from Harris-Shock and Vibration Handbook)

Unbenannt.JPG

Now before I reinvent the wheel I wanted to ask around if someone knows a tool that is already posted in forum and that can make the trick.

Or even something in MATLAB, even if I am aware I am speaking here of the competition .

I am not the best programmer but if I have to develop it myself, I think I would write a pseudo-algorithm like:

for every time step j take the absolute value of y(j)

if abs(y(j)) > abs(y(j-1)) AND abs(y(j))>abs(j+1)) then

             p=p+1, peak(p)=y(j)

at the end the vector peak(p) contains all the peaks and I can make use of the hist/histogram function to plot my results.

The question is if there is some kind of hidden tool that already does this. It should be a relatively common problem of statistic.

I already looked into the Data Analysis Extension Pack but although there are localmax functions, they are not what I am looking for.

Thanks in advance for any hint

Best regards

Claudio

1 ACCEPTED SOLUTION

Accepted Solutions

> I am not the best programmer but if I have to develop it myself, I think I would write a pseudo-algorithm like:

Looking just at the two neighbors would give you a lot of false positives in case of a noisy signal, I guess.

> I already looked into the Data Analysis Extension Pack but although there are localmax functions, they are not what I am looking for.

Why?? localmax seems to do exactly what you proposed with your pseudocode but you additionally have better control of the window width using the optional last function argument.

View solution in original post

4 REPLIES 4

> I am not the best programmer but if I have to develop it myself, I think I would write a pseudo-algorithm like:

Looking just at the two neighbors would give you a lot of false positives in case of a noisy signal, I guess.

> I already looked into the Data Analysis Extension Pack but although there are localmax functions, they are not what I am looking for.

Why?? localmax seems to do exactly what you proposed with your pseudocode but you additionally have better control of the window width using the optional last function argument.

View solution in original post

Hi Werner...

Why? because probably I should go home as it is Friday evening :-).  I just didn't understand, that localmax/min works on the whole time history, I read quickly and thought it will work only on ONE maximum/minimum.

Best regards and thanks a lot for your help.

Claudio

And here are the required files if someone in the future should need them.  As a small sign of gratitude for this forum.

Nice weekend everyone!

Claudio

Thank you, Claudio.

Announcements
Check out the latest
Mathcad Tip
"PTC Mathcad 15 / Prime 1-6 Update."