LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Detecting edges in sampled data

Hello NG,

I sample analog signals with an oscilloscope and transfer the data over gpib to a pc. The next problem is to detect edges in the signal. For example, I have sampled trapeze and need to detect the for edges of the signal.

Is there a simple way or has anyone any idea how to do this.

Just looking for minima and maxima won't work, because by having 10.000 samples, there are many values nearly the same.

Thanks a lot for your help.

Best regards,
Michael

Message Edited by MichaGue_01 on 05-14-2006 02:22 PM

0 Kudos
Message 1 of 14
(3,842 Views)

Hi Michael

There are several solutions. For instance I could imagine something like derivatives or maybe some averaging of a certain range could do what you want.

What you really have to know is if the aquired singals may be different. For instance the majority is a trapeze and some signals are more like a sine or maybe a square. If it could be possible that your signals vary, the algorithm to find the edges must be more flexible. This is something that can be very tricky.

It may also be helpful if you could post a signal.

Thomas

Using LV8.0
--------------------------------------------------------------------
Don't be afraid to rate a good answer... 😉
--------------------------------------------------------------------
0 Kudos
Message 2 of 14
(3,826 Views)
Hi Thomas,
 
attached you will find some example data, an triangle and a trapeze (sine signals will be follow in future, at the moment there are only triangle and trapeze).
 
The signals could be different in:
 
- Level
- Time of rising and falling edge
- Resolution
 
Thanks a lot for your help.
 
Best regards
Michael
0 Kudos
Message 3 of 14
(3,818 Views)

What exactly do you want to detect? The range vom rising edge to falling edge as a signal subset or a specific point?

Using LV8.0
--------------------------------------------------------------------
Don't be afraid to rate a good answer... 😉
--------------------------------------------------------------------
0 Kudos
Message 4 of 14
(3,815 Views)

I want to detect the range from rising edge to falling edge, and the posititon ot these edges in the array, because this postions are needed to detect other parts in other signals.

Best regards,

Michael

0 Kudos
Message 5 of 14
(3,811 Views)
What about filtering? How precise should the position be?
 
By the way - you see that I come up with some question. Just for your future use of the forums - always try to provide as much information as you can.
Using LV8.0
--------------------------------------------------------------------
Don't be afraid to rate a good answer... 😉
--------------------------------------------------------------------
0 Kudos
Message 6 of 14
(3,809 Views)

Of course, except if you were using the LV base version, the Analyse > Waveform measurement sub-palette or the Analyse > Signal Processing > Time domain sub palette provides vis that answer your question, such as the Transition Measurements or Pulse Parameters vis.

Chilly Charly    (aka CC)
0 Kudos
Message 7 of 14
(3,807 Views)

Okay, it is possible to filter the data, but then you have nearly the same problem. how to detect the poitons of the rising and falling edge. The precision should be around 1µs for the trapeze and around 1ms for the triangle.

Thank you.

0 Kudos
Message 8 of 14
(3,806 Views)
Well, I'd suggest you to filter the signal first in order to remove noise. Afterwards calculate the derivative of the signal. Usign this signal you could set a ceratin threshold to detect rising and falling edge.
Using LV8.0
--------------------------------------------------------------------
Don't be afraid to rate a good answer... 😉
--------------------------------------------------------------------
0 Kudos
Message 9 of 14
(3,803 Views)
Did I miss something in my previous reply ?
Chilly Charly    (aka CC)
0 Kudos
Message 10 of 14
(3,800 Views)