I know that this problem was solved earlier, but it was difficult for me to find any literature describing the algorithms used to process such data. I essentially do an edge search on a 2D dataset. I want to find a couple of points on the eye diagram (usually used to qualify high-speed communication systems), and since I had no experience in image processing, I try my best to write effective methods.
As you can see, these charts are called so because they resemble the human eye. They can vary greatly in thickness, slope and noise depending on the signal and the system under test. Typically, the measurements are jitter (horizontal thickness of the intersection zone) and eye height (measured either at any specific percentage of the width, or at the maximum possible point). I know that this is best done with image processing instead of a more linear approach, as my attempts still take a few seconds to find the left side of the first intersection. Any ideas on how I should do this in Python? I already use NumPy to do some processing.
Here is some sample data , it is formatted as a 1D array with related data on the x axis. For this specific example, it should be broken down every 666 points (2 * int ((1.0 / 2.5e9) /1.2e-12)), since the signal speed was 2.5 GB / s and the time between points was 1.2 ps.
Thanks!


source share