LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Signal processing method to detect peaks?

Hi All,

Can anyone suggest a method of signal processing to detect the timestep at which peaks occur in the attached picture. I have already done some processing to get it to this stage and i've highlighted peaks using the Peak Detector vi that ships with labview. Thing is i don't want to use the peakdetector vi for reasons that it will take far to long to explain.

What i want to know is are there any methods of frequency analysis or DSP that i can utilise to figure out the frequency of occurance of the peaks? Valid peaks occur at multiples of each other (i.e. peak1/time1=peak2/time2=peak3/time3 etc). However, in this example peak1 is a spurious peak and the real peak1 doesn't appear in the picture. For example what i would like is to calculate the area under the peak and the time that the peak occurs and have a way of summing areas of peaks that occur at multiples of time.

I hope all that makes sense.

Phil


0 Kudos
Message 1 of 6
(4,125 Views)
Phil,

Do you have the raw data for that graph that you could post? 

-Jim
0 Kudos
Message 2 of 6
(4,108 Views)
Hi Jim,

Data attached.

Thanks
0 Kudos
Message 3 of 6
(4,100 Views)
Phil,

Looking at your data the peaks are clearly no symmetric about the peak center.  Do you have a model function or equation for each peak?  What is the underlying process that is generating the data?  Also, you mentioned that the peaks of interest are those that are separated by an integer multiple of some fixed width.  In this case the peaks are separated by about 148 indices.  Are the peaks also related in some other way?  I was thinking that they may be scaled versions of each other.  It might be possible to express this as a peak detection on multiple peaks at the same time, but where there is a shared parameter that indicates the location of the peak.  So the locations of the peaks are linked to each other.  Does this make sense to you?

-Jim
0 Kudos
Message 4 of 6
(4,092 Views)
Hi Jim,

Thanks for the reply. The data comes from an acoustic measurement of a structure and is the output from some signal processing to the signal to this point. When using the peak detect vi that comes with labview, because it interpolates between points, the peaks all occur within approximately 1% of each other. This is good enough for me.

As far as i am aware the only link between them is the frequencies that they occur at. The can be slightly different amplitudes and widths. I'm wondering whether there are any harmonic filters/detectors or tools that could figure out the delta t between the peaks. Would a comb function/filter be any use?

Thanks

phil
0 Kudos
Message 5 of 6
(4,057 Views)
Hi Jim,

I've had an idea, but i'm not sure how to implement it. One way to find the delta t might be to work out the 'energy' at various values of delta t. What i'm thinking of is this: Look at the amplitudes of the wave at 100, 200, 300, 400, 500, etc (delta t =100) and sum them up (perhaps weighting them according to the amplitude of the peak). Then look at the amplitudes of the wave at 101, 202, 303, 404, etc (delat t =101) and sum them up. Repeat this through all the possible delta t's and get an amplitude versus delta t plot. This should then output the delta t with the highest energy.

Do you think this would work?

Phil
0 Kudos
Message 6 of 6
(4,036 Views)