LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Detecting edge and plateau of a step form signal (stair shape)

Hi,

 

I am having some problems in detecting the beginning of the edge and the beginning of plateau for each step. My data has a stair shape and I want to detect each step. Sometimes it has a lot of noise. Can you help me to detect the steps and filter the data?

 

(I attached XSL file with 2 different data (x1,x2))

 

Thanks,

Ana

0 Kudos
Message 1 of 5
(3,718 Views)

The plateaus appear to be less flat and more noisy as the amplitudes get higher.

 

Plateau.png

 

In the segment shown in this image where should the plateau begin and end?  Begin at: 1.90? 1.91? End at: 1.948? 1.96? 2.02?  Other?

 

How do you decide?

 

Lynn

0 Kudos
Message 2 of 5
(3,706 Views)

So in the beginning it should be 1.91 and the end 2.02.  1.91 is when complete flat and 2.02 to drastic change. But I don't now how do this.

 

Thanks

 

 

 

0 Kudos
Message 3 of 5
(3,700 Views)

I think I would start by calculating the slopes of segments of the array. The places where the slope drops down are the plateaus. Once you have the plateaus located you can refine the search for the inflection points by looking at second derivatives or intersections of straight line segments.

 

Another approach would be to look at the second derivative of the data.  Using a Savitsky-Golay differentiator helps avoid some of the noise problems encountered with standard derivative functions.

 

Here is a VI saved back to version 8.6 which may give you some ideas and help you get started.  I did not test it in the older versions.  If something does not work, let me know.

 

Lynn

Message 4 of 5
(3,688 Views)

Thanks for the VI. I will try 🙂

 

0 Kudos
Message 5 of 5
(3,677 Views)