High-Speed Digitizers

cancel
Showing results for 
Search instead for 
Did you mean: 

is there a function used to caculate a siginal'peak Accurately ?

 Hi:

 i have some problems

the problem is like this:

 

i get digital data continuously, these data have different  values in x-axis , theose who have the same value in x-axis will be add.

so after a time, there will be a peak in the graph, but how can i find the peak's accurate x value?

i use the Gaussian fitting but it seems not so accurate 

and i have test the gaussian fitting with a Square-wave most of the time the fitted peak was in the mid of the Square-wave

bu some times the fitted peak come to the edge of the Square-wave ,this problem  Seriously affect the  result, how can i solve this problem?

0 Kudos
Message 1 of 4
(6,501 Views)

Do you store your result in a 1-D array? You can  use the Array Max & Min.vi to search the peak. This VI will return the corresponding x index.

0 Kudos
Message 2 of 4
(6,491 Views)

Hi  flybear  :

yes  ,i have store the result in a 1-D array

 

i have tried to use the Array Max & Min.vi to search the peak,and it return the max value' s index, but i want to find the peak ,the max value maybe a little deviation from the peak.

just like a Square-wave  ,the peak must be the mid of the high  voltage ,but some times the Rising edge of the Square-wave  is higher ,then it will return a wrong peak.

 

so is there a function   to find the mid of many larger value?

0 Kudos
Message 3 of 4
(6,488 Views)
You just have to get a little creative with your array manipulation and properly define the criteria. For the example of a pulse, you might want to extract the region where the slope is between some limits. You could also find some point on the leading and trailing edges of the pulse and take the midpoint. This is easily done with a couple of Basic Trigger Level Detection functions - (Index(falling edge) - Index (rising edge))/2/
0 Kudos
Message 4 of 4
(6,483 Views)