M
M
Mark Chigrin2017-11-25 21:55:37
excel
Mark Chigrin, 2017-11-25 21:55:37

What is the easiest way to find the intersection points with OX in a discrete waveform?

I took data from the Textonix oscilloscope in csv. Got pairs of time-voltage values. It is necessary to find the time at the intersection points 0, but only those that are not interference. In addition, because values ​​are discrete, there is not necessarily a point with a voltage of 0. There are a couple of dozen such files, of course, you can somehow manually search for these points, but 1 is long, 2 is not accurate (you could just as well use the cursors on the oscilloscope).
5a19bb8040be4413401549.pngFile example

Answer the question

In order to leave comments, you need to log in

2 answer(s)
A
Anton Kiselyov, 2017-11-25
@zamboga

It seems to me that Mathcad is better suited for such a task. At a minimum, there you can approximate the function at given points, and then get the values ​​​​at the points of interest.
As for the solution through Excel, an approximate algorithm is as follows:
1. Determine the "corridor" of interference (specify numerically the range of values ​​within which the data that can be neglected)
2. Determine all values ​​that go beyond the corridor values ​​(these will be the necessary impulses)
3. Throw out all the values ​​that are inside the corridor (throw out the interference), while not touching the data that is related to the impulses.
4. On a set of values ​​for each pulse, it is already easy to determine the zero crossing point through formulas.
If the number of pulses in each file is the same, and the number of discrete values ​​is the same, then the problem is solved by formulas. If not, then a VBA script (well, or also formulas, but with manual work on writing them for each file individually)

V
Vladimir Malin, 2018-03-27
@Vmalin

So, in the words of the questioner:
From my point of view, this task needs to be clarified:
1. What is considered "zero" in this particular case:
1.1 It's just some kind of static conditional value (example +0.01 V
) in one package it may turn out to be 0.1 V in another and -20 V)
1.3 Maybe I'm big-eyed, maybe I really dreamed it, but on the above graph this conditional average "zero" floats directly in the package itself (somewhere from 0.5 to 0).
Depending on this, you can define a conditional "zero" crossing algorithm for each of the above cases, provided that:
2. You know exactly what is not "zero". In other words, determine the error.
Well, then the task is generally trivial - the current temporary value is either zero or not.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question