It has been recognized that the ability to visually detect anomalies within electrical, communications and other similar signals is very helpful in the design, development, manufacture and troubleshooting of electrical, electronic and telecommunications circuitry, devices, systems and the like. U.S. Pat. No. 6,928,374 entitled Methods For Displaying Jitter And Other Anomalies In Long Acquisition Data Records (“'374 patent”), assigned to the same assignee as the present application, discusses various examples of methods and devices for visually detecting anomalies in mostly, so-called periodic waveforms. To enable the visual detection of an anomaly in very long data records (where a “record” is, for example, a stored representation of a waveform), the '374 patent provides embodiments that allow for the display of the record on a pulse-by-pulse basis (i.e., a single instance of the basic shape of a periodic waveform). More recently, non-periodic or less-repetitive waveforms (interchangeably referred to herein as “waveforms”, “signals” or “signal”) have been increasingly generated by electronic and communication devices.
Accordingly, there is a need for methods and related systems for visually detecting anomalies in less repetitive signals, among other needs. Yet further, there is a need to more easily, visually detect anomalies within a waveform record.
In accordance with embodiments of the present invention, there are provided methods and related systems for displaying triggered waveform record event segments. One exemplary method comprises: displaying a first waveform record segment comprising a first non-periodic triggering event; and displaying a next waveform record segment, comprising a next non-periodic triggering event aligned on a time axis with the first event and separated from the first event by a variable, elapsed time period, offset vertically and horizontally from the first waveform record segment. This exemplary method may further comprise: identifying the first event from a first stored waveform record that comprises a plurality of triggering events; generating first image data representing the first waveform record segment that includes the identified first event; identifying the next event from the first stored waveform record, the next event separated from the first event by the variable, elapsed time period; and generating next image data representing the next waveform record segment that includes the identified next event.
A further exemplary method may comprise: displaying the first waveform record segment on a first display portion based on the first image data and simultaneously displaying the next waveform record segment on a next display portion, where the next display portion may be offset vertically and horizontally from the first display portion and such that the next event is aligned on the time axis with the first event, based on the next image data.
The exemplary methods above may be implemented using an exemplary system, such as an oscilloscope, that comprises a program memory for storing executable instructions, and a processor operable to access and execute the instructions stored within the memory for completing exemplary functions that parallel the exemplary steps in the methods above. Such an exemplary system may further comprise a display for displaying the first and next waveform record segments, and/or a user interface for activating and controlling visual detection of anomalies in waveform record segments, the interface comprising a plurality of control keys, at least one key for controlling spacing between non-periodic triggering events.
In accordance with additional embodiments of the present invention, there are provided methods and related systems for displaying segments of a waveform. One such exemplary method comprises: displaying a first decayed segment of a waveform having a first variable image; and simultaneously displaying a next decayed segment of the waveform, having a second variable image that differs from the first variable image, vertically and horizontally offset from the first decayed segment. In further embodiments the first and next segments may be derived from a non-periodic waveform record. Still further, additional embodiments may comprise varying an image intensity of the first and next variable images, and varying an image size of the first and next variable images.
A further exemplary method may comprise: displaying the first and next segments such that a non-periodic triggering event within each segment is aligned on a same time axis and each non-periodic triggering event is separated by a variable, elapsed time period.
As with the earlier mentioned exemplary methods, the above mentioned exemplary methods may also be implemented using an exemplary system, such as an oscilloscope, that comprises a program memory for storing executable instructions, and a processor operable to access and execute the instructions stored within the memory for completing exemplary functions that parallel the exemplary steps in the methods above. Such an exemplary system may further comprise a display for displaying the first and next decayed segments. Additional aspects and advantages of the present invention will become apparent during the course of the following discussion and by reference to the accompanying drawings.
Referring now to the drawings,
Recently, there has been identified instances where less repetitive signals are continuously sampled, but only those segments that contain so-called non-periodic “triggering events” are recorded (i.e., saved in memory). Some non-limiting examples are specific packet headers in serial data, and signals from randomly switching power supplies. To appropriately detect anomalies in such a signal requires the display of a complete record of the triggering events. Accordingly, the present inventor discovered methods and systems for displaying the complete record of non-periodic triggering events.
Prior to describing the details of embodiments of the inventive methodologies, an embodiment of a related system that may be used to implement such methodologies will be briefly described.
Referring now to
As depicted in
The processor 5 may be operable to access executable instructions 5b stored in associated program memory 5a to manage the various operations of the system 1 and to perform various functions, including processing and analyzing the data samples stored within the acquisition memory 4a. The processor 5 may be implemented as, for example: one or more programmable digital signal processors, programmable microprocessors, such as those designed and developed by Intel Corporation; or multiple programmable controllers. In yet another embodiment, when the processor 5 is implemented using multiple processors, one processor may be used to control the acquisition and processing of input signals while the second may control the other operations of the system 1. The system 1 may be further controlled using a Windows® Operating System, such as Windows XP®, designed and developed by Microsoft Corporation that is stored, for example, within program memory 5a and accessed, for example, by the processor 5.
The acquisition memory 4a and program memory 5a may comprise any suitable recordable medium or storage medium capable of storing the acquired data, including one or more records, and/or executable instructions and programs that can be accessed and executed by the processor 5. For example, memories 4a, 5a may take the form of RAM, ROM and/or cache memory. RAM memory may be operable to store volatile data, such as acquired data and corresponding data patterns. Though the acquisition memory 4a and program memory 5a are depicted as two separate memories, it should be understood that these memories can be combined into one or further broken down into additional memories. Alternatively, acquired data and/or executable instructions may be stored in a recordable medium separate from memories 4a, 5a that may be accessed by the processor 5 via interface section 8 and interface pathway 3. Such a medium may comprise external or internal mass storage media of a mass storage unit.
The processor 5 may be operable to receive commands via an input section 6, such as a keypad, pointing device or touch screen, for example. Among its functions, the processor 5 may be operable to provide data to display section 7 to display a waveform, in particular segments of a waveform record. The display section 7 may comprise a cathode ray tube (CRT), liquid crystal display (LCD) or other display device. The processor 5 may be further operable to communicate with additional devices via interface pathway 3, which may comprise a general purpose interface bus (GPIB), Internet protocol (IP) link, Ethernet link, Universal Serial Bus (USB), next generation USB or faster interfaces, proprietary link or other communications pathway via the interface section 8. In the case where processor 5 communicates with a smart phone or tablet or another device that includes a display, the processor 5 may be further operable to appropriately format and provide data to such a device for display, and, yet further, receive commands and data from such a device to analyze or display, for example, acquired data. While components of system 1 are shown to be directly coupled to each other, it should be understood that system 1 may include a variety of other circuitry or software components which are not necessarily shown, but that are disposed between, or otherwise associated with, the illustrated components of system 1. Such circuitry may include power supplies, clock circuits, cache memory, input/output (I/O) circuitry and the like, as well as specialized circuits that may be used in conjunction with the processor 5 to complete functions in accordance with executable instructions and programs stored in memory 5a. The I/O circuitry may be used to form interfaces between the various elements shown communicating with, or connected to, the processor 5.
In yet another embodiment, rather than make use of processor 5 and memory 5a the system 1 may comprise one or more application specific integrated circuits (ASICs).
Referring now to
In the embodiment shown in
Because the segments s1 through s3 are offset and the non-periodic triggering events are aligned as shown in
In accordance with an embodiment of the present invention the system 1 may be operable to display a first waveform record segment (e.g., s1) comprising a first non-periodic triggering event (e.g., tr1), and display a next waveform record segment (e.g., s2 or s3), comprising a next non-periodic triggering event (e.g., tr2 or tr3) aligned on a time axis (e.g., a) with the first triggering event, and separated from the first event by a variable, elapsed time period, where the each segment is displayed as being offset vertically and horizontally from each other segment.
In a similar fashion, each segment of the stored waveform record corresponding to a signal input via pathway 9 that contains a non-periodic triggering event may be identified and image data generated. In accordance with the present invention, because the waveform record (from which s1 through s3 segments are identified) contains data representing, and associated with, non-periodic triggering events the next non-periodic triggering event may be separated from the first event by a variable, elapsed time period, not a fixed time period. In general, each non-periodic triggering event tr1 through trM, where M is the last triggering event, may be separated from another triggering event by a variable, elapsed time period, not a fixed time period.
In more detail, in one embodiment of the invention the system 1 may be operable to identify a next, non-periodic triggering event (e.g., tr2 or tr3) from the stored waveform record using processor 5, instructions 5b within memory 5a and/or one or more ASICs as before, in step 303, the next event separated from the first event by a variable, elapsed time period. Once the next non-periodic triggering event is identified, the processor 5 may be further operable to generate next image data representing the next waveform record segment (e.g., s2 or s3) that includes the next identified triggering event, in step 304. In particular, in order to generate the image data the processor 5 may be operable to access and execute instructions that are a part of an executable program 5b stored within memory 5a. Alternatively, the system may use one or more ASICs.
Once the system 1 has generated image data representing waveform record segments that include identified non-periodic triggering events, the system may use this image data to display the waveform record segments as shown in
In one embodiment the system 1 utilizes the processor 5 and stored instructions 5b in memory 5a, for example, to complete the display of the waveform record segments s1 through s3 shown in
To display the waveform record segments s1 through s3 simultaneously, in one embodiment of the invention the display section 7 may comprise a high-speed rasterizer that is operable to communicate with the processor 5 or ASICs. When system 1 comprises another type of oscilloscope other than a DPO, the rasterizer allows the system 1 to simulate effects of a DPO.
Referring now to
The embodiments described above have focused mostly on creating displays of non-periodic waveforms. Additional embodiments focus on the display of either periodic or non-periodic waveforms. Referring now to
To provide the segments s51a through s51N with a “decayed” look a variable image of each segment may differ from one segment to another. For example, the intensity and/or size of the variable images of segments s51a through s51N may be different. The variable image of segment s51a may be the most intense and/or be the largest in size while the variable image of segment s51N may be the least intense and/or smallest in size, with the degree of intensity and/or size for each variable image of each segment in between decayed segments s51a and s51N differing from every other segment. In such an embodiment the variable image of a segment displayed with the most intensity and/or largest size may represent the most recently decayed segment (“newest” segment), while the variable image of a segment displayed with the least intensity and/or smallest size may represent an older decayed segment that had been previously displayed (“oldest” segment).
In an alternative embodiment of the invention the segments s51a through s51N may be depicted as being displayed such that triggering events within each segment are all aligned on the same time axis, a5. In the case of the waveform shown in
As indicated above, though the waveform s5 is depicted as a square-wave this is only for illustrative purposes. In a further embodiment the first and next (and each) segment may be derived from a non-periodic waveform record. In the case where the waveform contains non-periodic triggering events, the system 1 may be further operable to display first and next decayed segments of such a waveform such that each non-periodic triggering event within each decayed segment (e.g., one per segment) is aligned on a same time axis, where the non-periodic triggering events are separated by variable, elapsed time periods.
To implement the processes discussed above, the processor 5 may be operable to access and execute instructions 5b stored in associated program memory 5a. For example, the processor 5 may access executable instructions 5b for continuously displaying decayed segments s51a through s51N (e.g., displaying s51N first and s51a last, or vice-versa). Yet further, the processor 5 may be operable to continuously forward image data representing the variable images of segments s51a to s51N to a rasterized display section 7 at an acceptable update rate. Still further, the processor 5 may be operable to access and execute instructions 5b stored in associated program memory 5a for “mapping” image data representing the variable images of decayed segments from one or more rasterizing planes to one or more display portions of the display section 7, as discussed further below.
In one embodiment of the invention, to display decayed segments s51a through s51N, the system 1 (e.g., processor 5) may be operable to “map” image data corresponding to a variable image of segment s51a through s51N, that resides in, or corresponds to, “cells” of particular rasterizing planes within memory 4a and/or 5a, to particular pixels that make up one or more portions of display section 7. Referring to
To illustrate an embodiment of the invention, assume that only two waveform segments are desired to be drawn or displayed, namely segments s51N and s51N-1. For purposes of the exemplary embodiment, further assume that waveform segment s51N may be displayed before segment s51N-1. Again, for ease of explanation we refer to this segment as a “first” decayed segment and segment s51N-1 as a next decayed segment. In accordance with an embodiment of the present invention, system 1 may be operable to map image data corresponding to variable images of segments s51N and s51N-1 to portions of a display section as follows. In accordance with preset and/or programmable vertical and horizontal offsets, the offset of the variable image corresponding to the first decayed segment may be varied, in step 801. In the example depicted in
Continuing with the example above, assuming that segment s51N-1 is the next waveform segment to be displayed and image data corresponding to its variable image may be represented by plane rp2, in accordance with an embodiment of the present invention, system 1 may be operable to follow a similar process as in steps 801 to 803 to, if necessary, vary (decay) the variable image of segment s51N-1, in step 805a. If segment s51N-1 is the newest segment, however, then the system 1 may be operable to simply apply preset or programmed non-decayed offsets, a size and an intensity (e.g., no offsets, a largest size and most intense image) to the variable image associated with segment s51N-1, in step 805b. In either case, after applying some type of offsets, a size and an intensity to the variable image associated with segment s51N-1, the image data representing the variable image of next decayed segment s51N-1 may be mapped to a second portion 502 of the display section 7, in step 806, in order to display segment s51N-1 such that it appears to be “drawn on top of” (i.e., overlaps) first decayed image segment s51N.
Similar processes may be used to display variable images of segments s1 through s3 in
In an embodiment of the invention, rasterizing plane rp2 may be derived from rasterizing plane rp1 (by processor 5, instructions 5b, for example) as follows. Let xaE be the fraction of reduced input raster pixel ‘a’ that overlaps normal output raster pixel ‘E’ in the x (horizontal) direction and yaE be the similar fraction in the y (vertical direction). Further, similar fractional amounts, xjE and yjE, may be defined for each reduced input raster pixel T that overlaps normal output raster pixel E. Let a, b, . . . represent the intensities of input raster pixels a, b, . . . , Sx and Sy be the spatial reduction factors in the x and y directions respectively, and δ be the intensity decay factor.
Then, the intensity E of output raster pixel E may be given by:
E=Sx·Sy·δ·(xaE·yaEa+xbE·YbEb+ . . . ),
where a summation is performed for all input raster pixels a, b, . . . , that overlap output pixel E. It should be noted that accumulated intensities are reduced by the spatial reduction factors to maintain the same overall intensity (in the absence of decay).
Although particular embodiments of the invention have been described, it will be appreciated that the principles of the present invention are not limited to these embodiments. For example, there are numerous, additional processes (too numerous to provide a complete listing herein) which may be used to vary the variable image of one segment so that the segment is distinguishable from another segment. These additional processes, as well as other variations and modifications to other features and functions of the embodiments discussed herein may be made without departing from the principles, spirit and scope of the invention as set forth in the following claims.
Number | Name | Date | Kind |
---|---|---|---|
5361776 | Samuelson et al. | Nov 1994 | A |
6163758 | Sullivan | Dec 2000 | A |
6188384 | Sullivan | Feb 2001 | B1 |
6333732 | Gerlach | Dec 2001 | B1 |
6928374 | Letts | Aug 2005 | B2 |
6947043 | Klingman et al. | Sep 2005 | B1 |
20020180737 | Letts | Dec 2002 | A1 |
20030208328 | Pickard | Nov 2003 | A1 |
20030208330 | Pickerd | Nov 2003 | A1 |
20030222873 | Ritter | Dec 2003 | A1 |
20040102910 | Letts | May 2004 | A1 |
20050131974 | Letts | Jun 2005 | A1 |
20050234670 | Hagen et al. | Oct 2005 | A1 |
20060212239 | Letts | Sep 2006 | A1 |
20080147342 | Heuser et al. | Jun 2008 | A1 |
20090195536 | Louise et al. | Aug 2009 | A1 |
20090228226 | Dobyns et al. | Sep 2009 | A1 |
20090249363 | Dobyns et al. | Oct 2009 | A1 |
20090261814 | Dobyns et al. | Oct 2009 | A1 |
Number | Date | Country |
---|---|---|
2005121814 | Dec 2005 | WO |
Entry |
---|
European Search Report and Written Opinion for Application No. 13184405.2, dated Jan. 14, 2014, 7 pages. |
Number | Date | Country | |
---|---|---|---|
20140088900 A1 | Mar 2014 | US |