Image data generation system and waveform classification method
Circular loop images address the limitations of traditional eye diagrams by isolating signal edges, providing a clearer representation for machine learning systems to analyze multi-level signals, improving classification and measurement accuracy.
Patent Information
- Application Number
- JP2022576550
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-04-21
- Filing Date
- 2021-06-11
- Publication Date
- 2025-09-16
- Estimated Expiration
- 2041-06-11
AI Technical Summary
Traditional eye diagram images used in machine learning systems suffer from redundant data points, high overlap at signal edges, and obscure the edge shapes defining the system transfer function, especially with increasing inter-symbol interference, making them unsuitable for effective ML analysis.
The development of circular loop images that focus on signal edges by creating a sparser XY image plot, isolating edges for better human observation and machine learning, and allowing for the separation of closed-loop paths in multi-level signals like PAM4, which can be processed by pre-trained neural networks.
The circular loop images provide a clearer representation of system characteristics, enhancing the ability of machine learning systems to classify waveforms by reducing data redundancy and improving the analysis of inter-symbol interference and reflection effects.
Smart Images

Figure 0007739341000001 
Figure 0007739341000002 
Figure 0007739341000003
Abstract
Description
[Technical Field]
[0001] This disclosure claims the benefit of U.S. Provisional Patent Application No. 63 / 038,040, filed June 11, 2020, entitled "PAM4 Circular Eye Image Display for Waveform Data," U.S. Provisional Patent Application No. 63 / 039,360, filed June 15, 2020, entitled "Read / Write Burst Separation and Measurement Using Novel Circular Eye Plots and Machine Learning," U.S. Provisional Patent Application No. 63 / 041,041, filed June 18, 2020, entitled "Circular Eye Image Display for Waveform Data," and U.S. Provisional Patent Application No. 63 / 177,930, filed April 21, 2021, entitled "Circular Eye for Measuring or Tuning Optical Transmitters Using Machine Learning," each of which is incorporated herein by reference in its entirety.
[0002] This disclosure is related to the following patent applications: U.S. Patent Application No. 17 / 345,342 (Atty-Dkt No. 12222-US1), filed June 11, 2021, entitled "System and Method for Signal Separation and Classification Using Recursive Loop Images," U.S. Patent Application No. 17 / 345,283 (Atty-Dkt No. 12223-US1), filed June 11, 2021, entitled "Recursive Loop Image Display of Waveform Data," and U.S. Patent Application No. 17 / 345,312 (Atty-Dkt No. 12224-US2), filed June 11, 2021, entitled "System and Method for Recursive Loop Image Display of Multi-Level Signals for Measurement and Machine Learning."
[0003] This disclosure relates to generating images for signal analysis and measurement, and more particularly to measuring multi-level or pulse amplitude modulated signal waveforms and converting them into images usable for machine learning. [Background technology]
[0004] In the early days of the oscilloscope, Lissajous figures, using XY sweeps of two different signals, were a common way to display the phase and frequency characteristics of a signal. These signals included sine or square wave signals of the same frequency or different but related frequencies. This image had the key characteristic of a single, closed-loop, circulating path. The signal would repeat its passage through this path with each cycle, provided that X and Y were the same frequency. Figure 1 shows an example of such an image 10 resulting from two input signals 12 and 14.
[0005] Another example of an XY circular type plot comes from observing a magnetic BH curve on an oscilloscope display. B refers to magnetic flux density, and H refers to magnetic field strength. The circular loop that occurs on the display indicates the hysteresis effect of the magnetization of the magnetic core material. In both of the above cases, the input signal is periodic, not random, and the X and Y axes are not directly linear unless the signal is linear.
[0006] Significant advances in processors have led to incredible speeds that make it practical to implement artificial intelligence processes such as deep learning and machine learning.
[0007] Modern communication systems typically use serial data links to transmit a periodic clock or pseudorandom binary sequence (PRBS). Oscilloscopes typically display measurements y(t) or YT versus time and provide mode-indicating signal diagrams for analysis and visualization. These diagrams of serial data signals are often called eye diagrams because they resemble an eye. Figure 2 shows an example of such an eye diagram, with an "eye" opening 16.
[0008] Oscilloscopes typically create eye diagrams at a time interval of two unit intervals (UI), where one UI corresponds to one symbol interval on the time axis of the waveform display. In these images, symbol transitions are overlaid, with positive and negative edges crossing on the left and right sides of the display. [Prior art documents] [Patent documents]
[0009] [Patent Document 1] U.S. Patent Publication No. 2018 / 0074096 [Patent Document 2] European Patent No. 2743710 [Patent Document 3] U.S. Patent No. 5,397,981 [Patent Document 4] U.S. Patent No. 5,594,655 [Patent Document 5] US Patent Application Publication No. 2013 / 0046805 Summary of the Invention [Problem to be solved by the invention]
[0010] Generally, machine learning (ML) networks or systems work well with image data. However, traditional eye diagram images can sometimes perform poorly with ML networks. Traditional eye diagram images have redundant data points, high overlap at the top and bottom of the signal, and positive edges overlay negative edges at crossing points. This tends to blur and obscure the edge shapes that define the system transfer function, especially as inter-symbol interference (ISI) increases. Furthermore, these types of diagrams focus on the eye opening in the center of the display as the most critical region. To apply ML techniques in these situations, the system needs a better image.
[0011] Embodiments of the disclosed apparatus and method address shortcomings in the prior art. [Brief explanation of the drawings]
[0012] [Figure 1] Figure 1 shows an example of a Lissajous figure. [Figure 2] Figure 2 shows an example of an eye diagram plot. [Figure 3] Figure 3 shows an embodiment of a circular loop image of a two-level non-return-to-zero (NRZ) signal. [Figure 4] FIG. 4 illustrates an embodiment of a circular loop image of a quaternary (4-level) pulse amplitude modulated (PAM4) signal, including all loops and all transition levels. [Figure 5] Figure 5 shows images of six loops separated from a PAM4 circulating loop image. [Figure 6] Figure 6 shows images of various circular loop plots when the trigger delay of the horizontal ramp is varied. [Figure 7] Figure 7 shows an embodiment of the user interface menu for the circular loop control block. [Figure 8] FIG. 8 illustrates an embodiment of a system for generating PAM4 cyclic loop images and data. [Figure 9] FIG. 9 is a graphical representation of the generation of a ramp signal that occurs only during a transition. [Figure 10] FIG. 10 shows one embodiment of a horizontal ramp sweep signal generation circuit. [Figure 11] FIG. 11 shows a more detailed embodiment of a horizontal ramp sweep generation circuit including a PAM4 clipper circuit. [Figure 12] Figure 12 shows a graphical representation of the output signal from the PAM4 clipper block. [Figure 13] FIG. 13 shows a graphical representation of an embodiment of tensor input to a machine learning system. [Figure 14]FIG. 14 illustrates one embodiment of a configuration for incorporating recursive loop images into machine learning. DETAILED DESCRIPTION OF THE INVENTION
[0013] This embodiment addresses the problem of isolating the edges of multi-level signals, such as pulse amplitude modulated signals like PAM4, making system characteristics such as inter-symbol interference (ISI) and reflections more readily available to human observation, measurement, and machine learning waveform classification systems. This embodiment describes a unique recursive loop representation to create an image used to identify the signal and facilitate some measurements.
[0014] The circular loop is a sparser XY image plot than a typical eye diagram. The circular loop in these embodiments focuses on the edges, which contain most of the information characterizing the system response. For non-return-to-zero (NRZ) signals, there is one closed-loop path in the circular loop. For PAM4 signals, there are three closed-loop paths covering one-level transitions at three vertical offsets, two closed-loop paths covering two-level transitions at two vertical offsets, and one closed-loop path covering three-level transitions with no vertical offset. Embodiments provide a means to view these paths superimposed in a single image or to separate any of the individual closed-loop paths into separate images. These circular loop images are well suited as input to existing pre-trained neural networks, which can adapt to these new images, process the waveforms, and classify them based on these images.
[0015] For the purposes of this discussion, deep learning is generally considered a subset of machine learning (ML), which is generally considered a subset of artificial intelligence (AI). Deep learning neural networks can process images and classify waveforms based on the system's transfer function. However, these networks require images that are better than traditional eye diagrams. For example, one application using NRZ signals might be to identify and separate read and write bursts. These bursts have different transfer functions for each operation, including different gains and transmission losses as seen by the probe and interposer at the memory package location, as well as different reflection delays and reflection coefficients. The recursive loop embodiment herein allows for better representation and classification of these characteristics.
[0016] The problem of having two different transfer functions depending on the direction of data flow exists in other types of serial links in the electronics industry. The difference in the observed transfer functions is due in part to the placement of an oscilloscope probe at one end of the line. At high frequencies, the signal transmitted from the other end experiences significant loss through the transmission line. When the device at the end of the probe transmits, the signal is not attenuated by transmission losses as seen by the probe.
[0017] This embodiment may also be useful for one-way signal analysis, particularly for performing several measurements on waveforms, such as reflection delay, reflection coefficient, and waveform linearity. In the latter case, the system may be non-stationary and therefore non-linear during rise, and the edge shape may be different on the rising edge compared to the falling edge. The symmetry may be different. The recursive loop of this embodiment provides a useful diagram for visualizing and analyzing various waveform parameters. While this description focuses on PAM4 signals, this embodiment may also be applied to other types of signals.
[0018] Embodiments of the present application can generate an XY circular loop plot or image of a PAM4 signal. The vertical Y-axis is the signal itself. The horizontal X-axis consists of multiple positive and negative slope linear ramps that occur only at the input signal edge transitions. Figure 3 shows an example of a circular loop 18. Embodiments of the present application use novel processing to create a linear or quasi-linear ramp sweep signal on the X-axis only at every edge transition of the input data pattern.
[0019] In this embodiment, the XY signal path is configured as a closed loop line shown in Figure 3, and the triggers of these ramp signals are positioned so that all rising edges are included in the upper part of the loop and all falling edges are included in the lower part of the loop. This configuration is for when the clock-triggered ramp delay of the PRBS signal is greater than zero. When the delay is less than zero, the negative edge is on the upper path of the loop and the positive edge is on the lower path. When the clock delay is zero, the positive edge is overlaid on the negative edge and there is no center area within the loop.
[0020] For machine learning applications or symmetry observations, a menu system control allows offsetting the delay of the clock trigger ramp to ensure positive and negative edges do not overlay while maintaining a repeating circular loop pass.
[0021] Because the edges in a system contain most of the information that defines the system's transfer function, this simplified image is a circular loop display that captures a full cycle of the waveform in one image but eliminates many of the extraneous, unnecessary data points that a traditional eye diagram would contain. The resulting plot may be similar in appearance to a magnetic hysteresis BH plot, depending on the waveform characteristics, but the details of creating the horizontal ramp are unique in how they are generated and applied to PRBS data patterns.
[0022] Machine learning systems function better with reduced data sets (sometimes called dimensionality reduction or data reduction). Figure 4 shows a simplified circular loop plot that can be used to determine signal attributes such as system response, nonlinearity of rising edges compared to falling edges, ISI, signal-to-noise ratio (SNR), amplitude, reflection delay, reflection coefficient, rise time, and fall time.
[0023] As mentioned above, multi-level signals such as PAM4 have multiple recursive loops, making recursive loops in PAM4 signal applications more complex than those of two-level signals. This is due to the fact that there are four signal levels and that edges can only cover one, two, or three level transitions, as shown in Figure 4. Multi-level signals such as PAM4, as opposed to two-level signals such as NRZ, may require the ability to display the various loops individually, as shown in Figure 5. In the context of this disclosure, a "multi-level" signal refers to a signal that uses two or more levels to encode symbols.
[0024] Any of the six circular loops shown in Figure 5 can be selected to be overlaid on a single plot, either with all six loops included in one plot, or with any combination of several of these loops, selectable, for example, from a menu setting. Figure 7, described below, shows an embodiment of the menu.
[0025] If the ramp clock delay is less than zero, the direction of the sequence around the loop is counterclockwise, with the falling edge at the top left of the loop and the rising edge at the bottom right of the loop. Those skilled in the art will appreciate that the direction of the sequence around the loop may be reversed in alternative embodiments.
[0026] With zero clock delay, the positive and negative edges are overlaid, as shown in the left plot of Figure 6. As the clock delay of the ramp trigger increases, the distance between the rising and falling edges increases, with the positive edge now on the left and the negative edge now on the right. As the ramp delay becomes negative, the distance between the two edges increases again, but now the negative edge is on the left and the positive edge is on the right.
[0027] As mentioned above, a user-operated device can be used to change the delay of this clock, ramp, or trigger, allowing edges to be manually isolated for symmetry observation, measurement, or comparison.
[0028] A circular loop collects a long full record length of data which is gated and passed to the display. All samples within that interval are plotted on the display. An XYZ version of the acquired data can be saved and retained for use with cursors and measurements. This may be rendered into either a standard YT plot or a circular loop image.
[0029] For PAM4 signals, the vertical amplitude transitions between different levels when moving from one UI interval to the next. There are four levels. The ramp signal for the sweep is generated only at the edge transition of the PAM4 input signal. If there is no edge transition, no ramp is generated when moving from one UI to the next. This means that all data points plotted without edges during multiple UI intervals will appear around two local positions on the left or right side of the display and will be at one of the four vertical levels of the PAM4 signal.
[0030] During the UI intervals where an edge transition occurs, a horizontal ramp signal is generated and the edge is plotted on the display from left to right or right to left depending on whether the edge is positive or negative, respectively.
[0031] According to an embodiment of the present application, a user may make selections from a menu or other user interface. FIG. 7 illustrates an example of such a user interface. As described below, this embodiment serves as an example of a user interface. It should be noted that the user interface may include other or fewer controls and options than those illustrated herein, and no limitation to this configuration is intended or implied. Furthermore, while this user interface provides one option, in other implementations, the system may generate a circular loop without any menu or user interaction. The system may automatically select the portion of the input waveform to use. In either case, this user-selected or automatic selection input is referred to herein as an "input" for identifying the portion of the waveform to use to generate a circular loop image.
[0032] As shown in Figure 7, the user interface includes a menu control structure for the PAM4 recursive loop. This menu can be embedded in the oscilloscope application or implemented as a software application running independently of the oscilloscope, such as on a connected computing device. This application controls and interacts with the oscilloscope. It can run on the operating system of the oscilloscope's processor, on a separate computing device distributed between two systems, each with multiple processors, or as a web-based cloud application.
[0033] The top of the user interface may display a YT plot that graphically displays the input PAM4 waveform as amplitude versus time, similar to a standard oscilloscope display. This plot may be the oscilloscope display or a separate plot controlled by the application. This plot may have all the types of controls and settings that you would expect to find on a standard waveform plot, such as grid, zoom, colors, labels, etc.
[0034] The user interface may display a minimum of one circular loop plot. However, any number of plots may exist simultaneously, each containing a different loop selection or selections from different acquisitions. These plots typically have controls for all the standard parameters associated with the plot. The Y-axis consists of the input signal, derived from the gated input waveform described in more detail below. The X-axis consists of a waveform containing a linear ramp at the UI (unit interval) location where the input signal y(n) has an edge transition.
[0035] The G1 and G2 gating controls may have associated cursors on the YT display. These controls and associated cursors specify the segment of the input waveform that will be plotted in the circular loop. This allows the user to manually specify the gate interval to include in the circular loop. A second tab, "Trigger Options," allows any type of algorithm or measurement to be used for positioning G1 and G2. This allows for the incorporation of automated methods for determining the segment of the YT waveform that will be gated and passed to the circular loop. For example, this could allow the system to detect active bursts of data in one direction as well as active bursts of data in the opposite direction. This trigger may have the ability to indicate which direction it is or to recognize different bursts of data. In the latter case, a neural net may be used to analyze the circular loop and determine what type of burst it is.
[0036] The user interface may have X, Y, and T cursors, each with an appropriate data value readout for the position in the space of the waveform sample marked by their position. The X and Y cursors are on an XY circular loop plot, and the T cursor marks the time position on a YT plot. The cursor position readout is in a menu with the appropriate units. The user may control the cursors in a manner similar to that usual for an oscilloscope, by using a mouse or touch screen, knob, edit box, or PI (Programmable Interface) or commands.
[0037] As mentioned above, a PAM4 signal or other multi-level signal has multiple loops. The example user interface in Figure 7 includes a set of six check boxes to select which of the six possible circular loops will appear on the circular loop image. Any combination can be checked and thereby selected for inclusion in the plot.
[0038] As described with respect to Figures 8, 10, and 11, the system generates a horizontal ramp signal that is applied to the input waveform. The horizontal ramp control may have delay and duration settings. The delay allows the user to adjust the amount of time relative to the recovery ramp trigger, which determines when the ramp begins. Adjusting this control increases or decreases the horizontal distance between the rising and falling edges of the recursive loop image, allowing them to be analyzed separately, as shown in Figure 6.
[0039] The Ramp Period control adjusts the ramp period by changing its slope. The default ramp period is equal to one UI, which is one symbol interval. However, it may be desirable to shorten the ramp time so that the loop trace does not extend to the high level of signals with very fast rise times relative to the width of a UI interval. This allows edge transitions to be the primary focus of the circular loop for machine learning and human observation purposes. All waveform samples are still included in the circular loop image, but more samples remain at the edges of the displayed image.
[0040] The file output operation allows the user to export files, such as saving circular loop images, XYT files, and YT files.
[0041] Other example controls not shown in Figure 7 may include zoom and pan of the XY and YT images and interpolation sample rate. An XY plot may include typical zoom and pan adjustments to manage the image for better human observation and machine learning resolution of waveform edge features. The interpolation control allows the user to select the interpolation rate or decimation rate. This control adjusts the sample rate of the waveform being saved.
[0042] Based in part on user selections, the system can generate a circular loop image and associated data. FIG. 8 illustrates a system embodiment capable of generating a circular loop image for display and making the circular loop image data available to a machine learning system to determine signal characteristics or attributes associated with the circular loop image. At 20, input circuitry receives an analog signal. This analog signal may be from a probe attached to a device under test (DUT). The input circuitry can take various forms, but includes an analog-to-digital converter, such as 20, that converts the input signal y(t) into a sampled digital waveform signal y(n). In alternative embodiments, the analog-to-digital converter stage 20 may be optional, and the input digital waveform signal y(n) may be received directly at 27, for example, from a stored waveform file. The signal may undergo further processing in the input circuitry, including removing a DC offset from the signal. Typically, this is accomplished by removing the mean of the signal at 22. Additionally, as mentioned above, the signal may be interpolated or decimated at 24 to adjust the sample rate in order to fill the lines of the path or to reduce the amount of data to process.
[0043] The horizontal ramp generator 25 then receives the digital waveform and generates a ramp to be used as the X-axis data in a circular loop. This consists of a series of operations performed by a processor that recovers the clock from the digital waveform, clips and shapes the data, and, using appropriate logic circuitry, gates the linear ramp to trigger a linear ramp during each transition of the waveform. For unit intervals without edge transitions in the waveform, no ramp is generated.
[0044] A ramp may have a constant amplitude and a constant slope. This slope controls the period, which is set to 1 UI by default. A control is available for the user to adjust this period. This is suitable for eliminating long high levels from recurring loops of waveforms with fast rise times relative to the UI period. This optimizes the display of edges, which are the key focus of recurring loops, compared to traditional eye diagrams.
[0045] Users can adjust the time offset of the ramp relative to the recovered clock edge, as shown in the menu in Figure 7. This separates edges in a circular loop so that rising edges do not overlap falling edges, optimizing the display of edges in a circular loop for measurement or symmetry comparison. This is also beneficial when the circular loop image is used in a deep learning neural network or other machine learning system to classify waveform images or determine waveform attributes. Figure 6 shows the effect of adjusting this delay.
[0046] The trigger / gate pattern detector 26 also receives signals and user input 38 from the user interface described in Figure 7. This trigger / gate block allows the user to set multiple gate cursors on the input digital waveform to specify the amount and location of data to be included in the circular loop display image. Other search and mark means or automatic algorithms may be used to determine which portions of the waveform enter the circular loop.
[0047] The burst gate 30 determines what data enters the circular loop database via the XYZ memory 32. The gate / trigger block 26, in this embodiment, provides a 1 or 0 to a multiplier, which controls when data advances to the memory 32 and display 46 and stops. This is represented in this diagram as a multiplier, which determines what data enters the circular loop database. The gate / trigger block provides a 1 or 0 to the multiplier, which controls when data advances to the memory 32 and display 46 and stops. The resulting data is sometimes called a gated waveform, which consists of Y-axis data and X-axis data.
[0048] FIG. 9 shows an example of a PAM4 waveform 52 and the operation of the ramp signal generator 25. The ramp signal generator 25 generates a ramp sweep signal 50 based on triggers 54 and 56. The triggers 54 and 56 are derived from a combination of a clock edge and digital waveform data 52. In this description, this is referred to as a ramp sweep signal because it consists of multiple ramp signals that sweep at specified time intervals to capture data. The trigger impulse is either positive 54 or negative 56. The polarity of the pulse determines the slope of the ramp generated as the x-axis data in a circular loop plot.
[0049] The XYZ memory 32 stores the gated waveform data as XYZ data sets. The X data consists of sets of ramps generated as a function of time. The Y data set consists of input data waveform samples as a function of time. The Z data consists of the time increment between samples. The data sets are maintained for use by cursors, measurements, and waveform output functions. They are also used as a data source for rendering into a circular loop image data base. The Z data vector can simply be stored as one time per sample interval number and a time start value. The array index to the other data, multiplied by this sample interval and added to the start value, gives the numeric time position of each sample in the YT waveform.
[0050] The image rendering block 34 may include processing by a processor, represented by a system processor 48. The system processor may be one or more processors on a test and measurement instrument such as an oscilloscope, a separate computing device, or distributed among two or more processors. The processor executes code (programs) that causes the processor to map the XYZ data into a circular loop image that can be displayed on a display 46 or stored in memory 36. The circular loop image may consist of XY data. The number of loops may be determined by user input 38. The circular loop image may also be written (exported) to a file for input to a deep learning waveform classification algorithm or other machine learning system 44. The image rendering block 34 receives user input from a menu system 38 to specify which of six loop paths to include in the circular loop image. Any combination of loops may be specified.
[0051] In addition to generating the circular loop image, the system may perform measurements at 40 on the data in the XYZ memory or the circular loop image data. Example measurements include rise time, fall time, reflection coefficient, reflection delay, amplitude, SNR, ISI due to signal loss, symmetry and nonlinearity, BER (bit error rate), loop width, loop height, jitter, transmitter dispersion eye closure quaternary (TDECQ), etc. The system may combine the measurements with the circular loop image provided to the machine learning system at 42, such as by associating the measurements with the circular loop image as meta-data.
[0052] The machine learning system 44 can receive the circular loop image file and then, for example, classify the waveform. One use case is to identify read and write cycles during transmission, where the system transfer function differs between these two operations. For example, a probe point at one end of the system may see different reflection delays and different loss shapes based on the read and write operations. It may also be possible to classify the waveform in terms of other measurements such as BER or SNR, or other possible measurements. The display 46 may display a standard YT plot of the waveform and one or more XY plots of the circular loop image data. The plots can utilize standard plot features such as zoom, cursor, marker, color, and grid control.
[0053] All parts of the system may be controlled by a system controller 48. This may be the main processor of the system, or it may be an array of processors or a network of processors, or it may be composed of several different types of processors, such as FPGAs, GPUs, discrete circuits, cloud-based processors, etc.
[0054] Figures 10 and 11 show different embodiments of the horizontal ramp generator 25. For the sake of simplicity, Figures 10 and 11 only show elements of the embodiments and how they connect to the rest of the overall system.
[0055] Figure 10 shows a second analog-to-digital converter 62 that receives an external explicit clock input. The digitized clock input may be stored in memory 64. The edges of this clock change every UI. However, the positions of all ramp trigger pulses based on this clock must be gated by logic based on the PAM4 level and symbol sequence. A standard PAM4 clock recovery 60 represents a clock recovery system. The recovered clock edges occur every UI. However, the positions of all ramp trigger pulses based on this clock must be gated by logic based on the PAM4 level and symbol sequence. A clock multiplexer 66 selects between the explicit clock and the recovered clock. A clipper or gate 68 creates the ramp trigger positions. However, the input explicit clock or PAM4 recovered clock triggers on every clock transition. This block 68 may take the form of a logic circuit or may be implemented as code executed by a processor.
[0056] Block 68 examines the input y(n) signal to determine whether a clock edge should be passed. The resulting output signal may then have a positive trigger impulse that triggers a positive ramp from low to high. If the impulse is negative, a negative ramp from high to low is generated. For UIs with no edge transitions in the y(n) signal, no trigger pulse occurs.
[0057] The derivative block 70 reliably converts the clock edges and levels gated as true into trigger impulses on each clock edge. The derivative signal generated by block 70 returns to zero after each clock edge. This forms a stream of trigger impulses that mark the reference positions where each ramp should be generated. The polarity of these impulses indicates the slope of the ramp. A positive impulse produces a positive slope, and a negative impulse produces a negative slope, as shown in Figure 9.
[0058] In this system, the ramp generator 72 receives a stream of trigger impulses. If the trigger impulse is positive, it generates a positive ramp from low to high. If the trigger impulse is negative, it generates a negative ramp from high to low. If there is no edge transition in the UI, the ramp output signal remains high or low depending on the contents of the previous UI. This is because no trigger impulse is created during these intervals. If the ramp output signal was high, the output remains high. If it was low, the output remains low. The resulting signal from 72 is then sent to the burst gate 30 shown in Figure 8.
[0059] FIG. 11 shows another embodiment of the horizontal ramp generator 25. An optional multiplexer 80 indicates that the input signal y(n) can be a continuous, live stream from the output signal of the analog-to-digital converter 20, or it can be sourced from an acquisition memory (e.g., 82). The memory 82 represents storage of intermediate waveform results. The memory 82 can be a centralized memory or represent several different memories distributed throughout the system. If the system is designed for a live stream, no waveform memory is used, and all processing occurs in the time between samples. A live stream is only practical for low sample rates due to processor speed considerations.
[0060] Another multiplexer 83 can be used to select whether the ramp trigger is derived directly from the input signal y(n) or whether a recovered clock is used. In the system embodiment of FIG. 11, the recovered clock switches every UI and is only used for NRZ-type input signals. Another multiplexer 92 selects whether the output of the NRZ clipper or the output of the PAM4 clipper is used to determine the position of the ramp trigger. This embodiment may be scaled to more or fewer levels and thresholds, although the example described is for PAM4, which has four levels and three thresholds.
[0061] Block 90 represents an embodiment of what we refer to as a PAM4 clipper. The clipper converts an input waveform containing ISI and noise into a clean, square PAM4 signal. The output signal of the PAM4 clipper contains four PAM4 levels and transitions. This is important because it allows the ramp to be triggered only during UI intervals where edge transitions are present; ramps are not generated during intervals without transitions. The PAM4 clipper receives input parameters, typically voltage levels representing the four levels L1-L4 of the PAM4 signal and three threshold levels th1, th2, and th3 at which level-to-level transitions occur, from a PAM4 control block 86 within a level and threshold controller 84. The PAM4 clipper also receives an input signal y(n) from the output of multiplexer 83. The PAM4 clipper may also receive an NRZ signal 88 from the level and threshold controller 84. The input signal y(n) is processed by comparators and logic circuits, shown as a combination of comparators, inverters, multipliers, and summers. The output of the summer is an ideal clean version of the PAM4 signal. The Mathcad®-style logical expression for the PAM4 clipper output signal cc(n) is: [Formula 1] cc n :=(y n ≦th1)*L1+[(y n >th1)^(yn ≦L2)]*L2+[(y n >L2)^y n ≦th2]*L2+[(y n >th2)^(y n ≦L3)]*L3+[(y n >L3)^y n ≦th3]*L3+(y n >th3)*L4
[0062] Thus, the derivative of the cc waveform shown in FIG. 12 is calculated as shown at 94. This creates a positive impulse wherever a positive transition in cc occurs. This creates a negative transition wherever a negative transition in cc occurs. This derivative waveform is zero everywhere else. This creates a trigger spike in the ramp generator 96. In UI intervals where no transitions occur, no trigger spike occurs.
[0063] Circular loop images provide useful input for machine learning systems. They can be organized or formed into separate elements of a tensor. Figure 13 shows a graphical representation of a circular loop image tensor using six XY circular loop images organized along the tensor index i. Each of the six images may be a circular loop image for one of six possible circular loops for a PAM4 signal, for example. Or, in another example, each of the six images may be the same as one of the six possible circular loops for a PAM4 signal, but each acquired from six different DUTs. The shape of the edges of each circular loop image represents the system's transfer function, so separating them makes it easier for machine learning systems to distinguish between transfer functions than traditional eye diagrams. Each circular loop image for each PAM4 circular loop exists on its own layer to separate the data within each image from the other images. In traditional eye diagrams, all the edges are overlaid (overlapping) and interfere with each other.
[0064] Figure 14 shows another configuration for inputting multiple recursive loop images into a machine learning system. In Figure 14, each recursive loop image 1-6 from Figure 13 serves as an input to an individual first-level neural network, which acts as a feature extractor. A second-level neural network then combines the outputs of the first-level neural networks for further processing and analysis.
[0065] In this way, the y(n) sample data is used in combination with the horizontal ramp data to create a circular loop diagram of XY data. This diagram contains less data than a traditional eye diagram, but arguably more information. The system can then provide these diagrams and their associated data to a machine learning system.
[0066] Aspects of the disclosed technology may operate on specially created hardware, firmware, digital signal processors, or specially programmed general-purpose computers, including processors that operate according to programmed instructions. The terms "controller" or "processor" herein contemplate microprocessors, microcomputers, ASICs, and dedicated hardware controllers, among others. Aspects of the disclosed technology may be implemented as computer-usable data and computer-executable instructions, such as one or more program modules, executed by one or more computers (including a monitoring module) or other devices. Generally, program modules include routines, programs, objects, components, data structures, etc., which, when executed by a processor in a computer or other device, perform particular tasks or implement particular abstract data formats. Computer-executable instructions may be stored in computer-readable storage media, such as hard disks, optical disks, removable storage media, solid-state memory, RAM, etc. Those skilled in the art will appreciate that the functionality of the program modules may be combined or distributed as desired in various embodiments. Furthermore, such functionality may be embodied in whole or in part in firmware or hardware equivalents, such as integrated circuits, field programmable gate arrays (FPGAs), etc. Certain data structures may be used to more effectively implement one or more aspects of the disclosed technology, and such data structures are considered within the scope of the computer-executable instructions and computer-usable data described herein.
[0067] The disclosed aspects may, in some cases, be implemented in hardware, firmware, software, or any combination thereof. The disclosed aspects may also be implemented as instructions carried by or stored on one or more computer-readable media, which may be read and executed by one or more processors. Such instructions may be referred to as a computer program product. As used herein, computer-readable media refers to any medium that can be accessed by a computing device. By way of example, and not limitation, computer-readable media may include computer storage media and communication media.
[0068] "Computer storage media" means any medium that can be used to store computer-readable information. By way of example and not limitation, computer storage media may include random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory and other memory technologies, compact disc read-only memory (CD-ROM), digital video disc (DVD) and other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage and other magnetic storage devices, and any other volatile or nonvolatile, removable or non-removable medium implemented in any technology. "Computer storage media" excludes signals themselves and transitory forms of signal transmission.
[0069] A communication medium means any medium usable for communicating computer-readable information. By way of example, and not limitation, communication media may include coaxial cable, fiber optic cable, air, or any other medium suitable for communicating electrical, optical, radio frequency (RF), infrared, acoustic, or other types of signals.
[0070] Additionally, the description of this application refers to specific features. It should be understood that the disclosure herein includes all possible combinations of these specific features. When a specific feature is disclosed in connection with a particular aspect or example, that feature can also be used in connection with other aspects and examples, to the extent possible.
[0071] Furthermore, when this application refers to a method having two or more defined steps or processes, these defined steps or processes may be performed in any order or simultaneously, unless the circumstances do not preclude this possibility. Example
[0072] The following examples are provided to aid in understanding the technology disclosed in this application. Embodiments of the technology may include one or more of the examples described below, and any combination thereof.
[0073] Example 1 is a system comprising an input unit that receives a digital waveform signal, a memory, and one or more processors, the one or more processors being configured to execute a program that causes the one or more processors to perform the following processes: generate a horizontal ramp sweep signal based on the digital waveform signal; receive a selection input to identify a segment of the digital waveform signal; gate the horizontal ramp sweep signal and the digital waveform signal based on the selection input to generate cyclic loop image data for the segment of the digital waveform; store the cyclic loop image data in the memory; and provide the cyclic loop image data as one or more inputs to a machine learning system.
[0074] Example 2 is the system of Example 1, wherein the memory includes an XYZ memory that stores a horizontal ramp sweep signal as a function of time as X-axis data, a digital waveform signal as a function of time as Y-axis data, and a time increment between data samples on the time axis as Z-axis data.
[0075] Example 3 is the system of any of Examples 1 or 2, wherein the digital waveform signal comprises a digitized representation of a signal obtained from a device under test and modulated according to a multi-level modulation scheme.
[0076] Example 4 is the system of any of examples 1 to 3, wherein the one or more processors reside on a single computing device or are distributed between a computing device and a test and measurement instrument.
[0077] A fifth embodiment is the system of any one of the first to fourth embodiments, wherein the input unit comprises an input circuit including an analog-to-digital converter that receives an analog input signal from a device under test and generates the digital waveform signal.
[0078] Example 6 is the system of any one of Examples 1 to 5, further comprising a subtraction block that removes a DC offset from the digital waveform signal, and an interpolator that adjusts a sample rate of the digital waveform signal.
[0079] Example 7 is the system of any of Examples 1 to 6, wherein the one or more processors are further configured to execute a program that causes the one or more processors to perform a process of making measurements on the circulating loop image data.
[0080] Example 8 is the system of claim 7, wherein the one or more processors are further configured to execute a program that causes the one or more processors to perform a process of combining the circulating loop image data with measurement values before supplying the circulating loop image data to the machine learning system.
[0081] Example 9 is the system of any of Examples 1 to 7, further comprising an external clock input unit for receiving an external clock, a clock analog-to-digital converter for generating a digital external clock, a clock recovery circuit for generating a recovered clock, and a multiplexer for selecting between the digital external clock and the recovered clock.
[0082] Example 10 is any of Examples 1 to 9, wherein the program that causes the one or more processors to perform the process of supplying the circulating loop image data to the machine learning system includes a program that causes the one or more processors to perform the process of forming tensors of multiple circulating loop images and the process of supplying the tensors as input to the machine learning system.
[0083] Example 11 is a system of any of Examples 1 to 10, wherein the one or more processors are further configured to execute a program that causes the one or more processors to perform a process of rendering the circular loop image data as one or more circular loop images on a display.
[0084] Example 12 is a method for waveform classification using a circular loop image, comprising the steps of receiving an input waveform, receiving selection information for a segment of the input waveform, converting the segment of the input waveform into circular loop image data, including generating a horizontal ramp sweep signal based on an edge transition in the input waveform, storing the circular loop image data in a memory, and transmitting the circular loop image data to a machine learning system to determine attributes of the input waveform.
[0085] Example 13 is the method of example 12, further comprising rendering the circular loop image data as one or more circular loop images on a display.
[0086] Example 14 is the method of example 13, wherein the input waveform comprises a digitized representation of a signal modulated according to a multi-level modulation scheme obtained from a device under test, the method further comprising receiving selection information of one or more circular loops related to the multi-level modulation scheme, and rendering only the selected circular loops as the circular loop image on the display.
[0087] Example 15 is the method of any one of Examples 11 to 14, circulation The method further includes performing measurements on the loop image data.
[0088] Example 16 is the method of any of Examples 11 to 15, further comprising combining measurements with the cyclic loop image data before sending the cyclic loop image data to the machine learning system.
[0089] Example 17 is the method of any of Examples 11 to 16, further comprising at least one of the steps of receiving an analog input signal from a device under test and converting the analog input signal into a digital signal as an input waveform using an analog-to-digital converter; subtracting an average of the input waveform to generate the input waveform without a DC offset; and interpolating the input waveform to adjust a sample rate of the input waveform.
[0090] Example 18 is the method of any of Examples 11 to 17, wherein generating the horizontal ramp sweep signal based on an edge transition in the input waveform includes selectively transmitting a trigger signal based on the edge transition.
[0091] Example 19 is the method of any of Examples 11 to 18, wherein converting the segments of the input waveform into circular loop image data further comprises applying a horizontal ramp clock delay.
[0092] Example 20 is a system comprising an input circuit including an analog-to-digital converter that receives an input waveform signal from a device under test and generates a digital waveform signal; a selection input unit for identifying a segment of the digital waveform signal; a ramp signal generation unit that generates a horizontal ramp sweep signal based on data within the segment of the digital waveform signal; a trigger unit that triggers capturing data samples within the segment of the digital waveform signal associated with the horizontal ramp sweep signal as gated waveform signal data; a display that displays the gated waveform signal data as one or more cyclic loop images; and a machine learning system that uses the one or more cyclic loop images as input.
[0093] All features disclosed in the specification, abstract, claims and drawings, and all steps in any disclosed method or process, may be combined in any combination, except where at least some of such features or steps are mutually exclusive combinations. Each feature disclosed in the specification, abstract, claims and drawings may be replaced by an alternative feature serving the same, equivalent, or similar purpose, unless expressly stated otherwise.
[0094] While specific embodiments of the disclosed technology have been illustrated and described for purposes of illustration, it will be appreciated that various modifications can be made therein without departing from the spirit and scope of the invention. Accordingly, the disclosed technology should not be limited, except as by the appended claims.
Claims
1. an input for receiving a digital waveform signal; Memory and one or more processors wherein the one or more processors: generating a horizontal ramp sweep signal based on the digital waveform signal; receiving a selection input for identifying a segment of the digital waveform signal; gating the horizontal ramp sweep signal and the digital waveform signal based on the selection input to generate cyclic loop image data for a segment of the digital waveform; a process of storing the circulating loop image data in the memory; providing the circulating loop image data as one or more inputs to a machine learning system; an image data generating system configured to execute a program that causes the one or more processors to perform the above.
2. 2. The image data generation system of claim 1, wherein the digital waveform signal comprises a digitized representation of a signal obtained from a device under test and modulated according to a multi-level modulation scheme.
3. the one or more processors: performing measurements on the circulating loop image data; combining the circulating loop image data with measurements before providing the circulating loop image data to the machine learning system; 2. The image data generating system of claim 1, further configured to execute a program that causes the one or more processors to perform the following:
4. A waveform classification method using a cyclic loop image, comprising: receiving an input waveform; receiving a selection of a segment of the input waveform; converting the segment of the input waveform into circular loop image data, including generating a horizontal ramp sweep signal based on edge transitions in the input waveform; storing the circulating loop image data in a memory; sending the cyclic loop image data to a machine learning system to determine attributes of the input waveform; A waveform classification method comprising:
5. A step of performing measurements on the circulating loop image data; combining the measurements with the circulating loop image data before sending the circulating loop image data to the machine learning system; 5. The method of claim 4, further comprising:
6. an input circuit including an analog-to-digital converter that receives an input waveform signal from a device under test and generates a digital waveform signal; a selection input for identifying a segment of the digital waveform signal; a ramp signal generator for generating a horizontal ramp sweep signal based on data in the segment of the digital waveform signal; a trigger section for triggering the capture of data samples within the segment of the digital waveform signal associated with the horizontal ramp sweep signal as gated waveform signal data; a display that converts the gated waveform signal data into cyclic loop image data and displays it as one or more cyclic loop images; a machine learning system that utilizes one or more of the circulating loop image data as input; An image data generation system comprising:
Citation Information
Patent Citations
Scrolling measurement display ticker for test and measurement instruments
EP2743710A1
Apparatus for measuring high speed phenomenon
JP1984035155A
Oscilloscope inspecting method and method and apparatus for generating inspecting signal
JP1993060794A
Oscilloscope with guide function
JP1995325111A
Phase difference error detection device and interpolation error estimation device using it
JP2003222534A
Cited By
Eye class separator with overlay, compositing and dynamic eye triggers for human and machine learning
JP2024506293A