US20020075267A1 - Processing web editor for data processing in a digital oscilloscope or similar instrument - Google Patents
Processing web editor for data processing in a digital oscilloscope or similar instrument Download PDFInfo
- Publication number
- US20020075267A1 US20020075267A1 US09/988,420 US98842001A US2002075267A1 US 20020075267 A1 US20020075267 A1 US 20020075267A1 US 98842001 A US98842001 A US 98842001A US 2002075267 A1 US2002075267 A1 US 2002075267A1
- Authority
- US
- United States
- Prior art keywords
- processing
- processing element
- web
- graphical representation
- outputs
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R13/00—Arrangements for displaying electric variables or waveforms
- G01R13/02—Arrangements for displaying electric variables or waveforms for displaying measured electric variables in digital form
- G01R13/029—Software therefor
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R13/00—Arrangements for displaying electric variables or waveforms
- G01R13/20—Cathode-ray oscilloscopes
- G01R13/22—Circuits therefor
- G01R13/34—Circuits for representing a single waveform by sampling, e.g. for very high frequencies
- G01R13/345—Circuits for representing a single waveform by sampling, e.g. for very high frequencies for displaying sampled signals by using digital processors by intermediate A.D. and D.A. convertors (control circuits for CRT indicators)
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B15/00—Systems controlled by a computer
- G05B15/02—Systems controlled by a computer electric
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47202—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
- H04N21/8173—End-user applications, e.g. Web browser, game
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R13/00—Arrangements for displaying electric variables or waveforms
- G01R13/02—Arrangements for displaying electric variables or waveforms for displaying measured electric variables in digital form
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R19/00—Arrangements for measuring currents or voltages or for indicating presence or sign thereof
- G01R19/25—Arrangements for measuring currents or voltages or for indicating presence or sign thereof using digital measurement techniques
- G01R19/2506—Arrangements for conditioning or analysing measured signals, e.g. for indicating peak values ; Details concerning sampling, digitizing or waveform capturing
Definitions
- Digital Storage Oscilloscopes have traditionally provided processing of a captured waveform in two ways. These two ways have included Math features and Parameter features.
- the math feature takes a captured waveform and processes it to produce another waveform.
- the Parameter feature takes a captured waveform and produces parametric measurements of the waveform.
- these two forms of processing are controlled by menus that separates the two concerns.
- Math is typically controlled by a menu that allows pre-defined, pre-named math functions to be selected (typically five of these are supported in a LeCroy oscilloscope).
- Parameters are typically controlled by a menu that allows for a predefinition of a number of parameter measurements. There are typically five such parameters.
- These menus traditionally allow a single processing element to be defined and configured per each named function.
- More recent Digital Oscilloscopes include more flexible menus supporting a definition of a math function algebraically, allowing the concatenation of a limited number of processing steps.
- the invention accordingly comprises the several steps and the relation of one or more of such steps with respect to each of the others, and the apparatus embodying features of the construction, combinations of elements and arrangement of parts that are adapted to effect such steps, all as exemplified in the following detailed disclosure, and the scope of the invention will be indicated in the claims.
- FIG. 1 is a graphical representation of a processing web for a LeCroy, traditional, fixed-feature instrument in accordance with the invention
- FIG. 2 depicts various examples of processor classes
- FIG. 3 depicts an example of an advanced processor
- FIG. 4 depicts a simple processing web configuration
- FIG. 5 depicts a further processing web configuration
- FIG. 6 depicts separate processing paths in a processing web
- FIGS. 7A and 7B are further graphical representations of processing webs in accordance with the invention.
- FIG. 8 depicts a plurality of miniature output renditions
- FIG. 9 depicts parameters that may be set for a histogram node
- FIGS. 10 A- 10 C depict a sequence for connecting two processing nodes in which an adapter is automatically inserted
- FIGS. 11 A- 11 C depict a further sequence for connecting two processing nodes in which an adapter is automatically inserted
- FIG. 12 depicts a collection of components available in a Math category
- FIG. 13 depicts a simple form of a processing web
- FIG. 14 depicts a further form of a processing web
- FIG. 15 depicts a further form of a processing web
- FIG. 16 is a flowchart depicting a sequence for populating a processing web editor screen in accordance with an existing processing web
- FIG. 17 is a flowchart depicting a sequence for dropping a new component into a processing web using a processing web editor
- FIG. 18 is a flowchart depicting a sequence for attempting to connect two pins in a processing web using a processing web editor
- FIG. 19 is a view of a functioning processing web editor
- FIG. 20 is a further view of a functioning processing web editor.
- FIG. 21 is a depiction of a conceptualization of the operation of an oscilloscope constructed in accordance with the invention.
- an oscilloscope design is provided that is completely “modular”, whereby the elements composing the oscilloscope software are completely specified in terms of interface, and are sufficiently independent in construction that they can be installed and removed at run-time, (e.g. without stopping the process which can be considered the oscilloscope application software).
- This is in contrast to existing products that include software that must be wholly replaced (in it's entirety) in order to change any small attribute of the software.
- This inventive approach offers commercial advantage because is shortens the overall logistics of releasing new software features, fundamental to the product or fundamental to a particular application of the product. As such, a special feature can be added after a customer has taken delivery and has the instrument (oscilloscope) in operation, after the fact, without the requirement to return or for that matter even stop using the instrument. This is of value to both the customer and the manufacturer.
- the modular design permits “unit testing” to further advance the quality of the overall product by permitting each individual component of the software to be tested in a standard “test harness”.
- Each component is provided with a standardized interface especially conceived to permit isolated testing. This forward looking, quality conscious aspect of the design assures final deployments of the product(s) are not hampered by the inability to localize faulty components.
- FIG. 21 depicts a conceptualized notion of how the oscilloscope constructed in accordance with the invention operates.
- the flow of data is shown from left to right and control sequences provided by a user, either automated or manual, are shown from top down.
- a plurality of analog acquisition signals C 1 are acquired by the oscilloscope of the invention. These acquisition signals are acquired in accordance with various provided probes and other acquisition hardware 2110 that are in turn controlled by an acquisition control module 2112 .
- acquisition control processes are applied to the acquired waveforms in accordance with various control variables 2120 provided by the user via a user interface 2115 .
- These control variables control acquisition control module 2112 as well as all other oscilloscope functioning to be discussed below.
- results data are then provided to, and thereafter output from a preprocessing system 2121 , and are in turn acted upon in various post processing functions 2130 employing user defined control variables 2120 , resulting in processed data (Results data) 2135 .
- the post-processed data is then exported and/or imported at 2140 as necessary for further processing by the system 2145 , also in accordance with control variables 2120 .
- the various processed data is converted for display at 2150 on a display device 2155 .
- FIG. 1 a graphical representation of a processing web representation of a fundamentally inflexible oscilloscope (older) processing design is shown. While the underlying structure of the oscilloscope is inflexible and is well known in the art, the graphical processing web depiction of the invention may still be applied. As will be described below, it is this fundamental graphical processing web description of the invention that allows the further flexible and infinitely configurable hardware of the invention, to be constructed in accordance with the invention. It should also be noted that while the processing web is depicted in a graphical manner, the web is in fact a definition of interrelationships between processing elements, and the control of their overall interaction. Therefore, this graphical representation, while useful, is not in fact a part of the processing web.
- a processing web 100 first comprises data sources of dynamic (channel) data 110 .
- These dynamic data sources typically include various waveform acquisitions.
- static (memory) data types 120 representing stored input data. In accordance with the invention these input modes are usually positioned at the left in a “left-to-right” graphical representation.
- FIG. 1 Further shown in FIG. 1 are a plurality of output views and measurable objects at the right edge of the web picture. Connections from data sources 110 to views 130 is direct as is shown by the direct line between them and the one-to-one relationship without any intermediate processing. Thus, these dynamic data sources are shown as being displayed without modification.
- Parameter settings 150 are also provided and indicate a particular parameter of one or more of the acquired waveforms that is to be measured.
- trace views 140 are also shown in FIG. 1 . Each trace view may receive a dynamic input 110 , a stored input 120 , input from a trace view, or input from a parameter 150 and perform some processing before display.
- Each processing object receives certain inputs (according to various input requirements) and generates particular output types (e.g. parameters, persistence maps or waveforms). These processing objects also have particular update or synchronization characteristics for obtaining or generating information, and can be expressed using a same generic processor model, but being designated according to a variable number and type of input, output and update pins.
- output types e.g. parameters, persistence maps or waveforms.
- each processing element shown in FIG. 1 produces a predetermined output at a predetermined time. It is therefore not possible to modify the processing of the oscilloscope to provide different desirable outputs. While other LeCroy oscilloscopes have allowed for certain chaining and different processing speeds within a system. However, the ability to utilize these features was limited to a number of predetermined scenarios. As will be noted below, in accordance with the invention, these limitations have been removed, and a more general solution is provided that allows for a completely dynamic set of scenarios with differing data rates and differing requirements on different chains of processors.
- a Processing Web Editor is a tool provided in accordance with the invention for presenting the graphical representation of the configuration of a Processing Web (Web) to a user, enabling the web to be reconfigured, and enabling the properties of the various elements in the web to be viewed and modified by the user.
- a processing web for a more advanced oscilloscope may be constructed in accordance with the invention.
- This more advanced processing web may be edited in accordance with the PWEditor and may be configured in any manner desired by a user to generate any desired results, as will be described below.
- the Processing Web defines the flow of data from the input of a DSO through various stages of processing to the display device, as noted above.
- the PWEditor is the most natural way to view and reconfigure the web, it is by no means the only way.
- the web can also be constrained and can emulate the processing flow in conventional DSOs. It can also be configured in a more flexible manner using an equation, i.e. ‘Math 1 ⁇ Ch 1 +Ch 2 ’. While these possibilities are intended to be within the scope of the invention, they will not be discussed in detail herein.
- a Result Processor (or simply Processor) is a software object that consumes and/or produces processing Results, Examples of Results are waveforms, parameters, persistence maps, histograms, etc.
- a Processor is typically created and inserted into a Processing Web and connected to other Processors.
- a Processing Web configuration is fundamentally defined by the set of Processors and their inter-connections.
- a Processing Web Manager software object is responsible for managing the Processing Web and updating subsets of Processor objects in response to requests and events from other software objects.
- old software means and manners for controlling instruments are embodied in various legacy software, typically written between 1984 and now, from any number of manufacturers.
- older systems as noted with respect to FIG. 1, there are typically a fixed number of processing objects and several different models employed for inter-connecting and updating these processing objects.
- These systems run on essentially a single software thread of execution, and may not be modified in any substantial manner to change the processing flow.
- Legacy math functions can have 1 or 2 inputs and produce exactly 1 result.
- Legacy parameter calculators can have 1 or 2 inputs and produce exactly 1 result.
- a processing web is provided, and a processing web editor for modifying the configuration of the processing web is also provided.
- a number of rules are applicable to insure a viable web configuration. They are as follows:
- Input and output pins on each object function to inter-connect processor objects.
- the input pin for a processor object indicates which type of Result object(s) the Processor can consume, whereas, the output pin for a processor object indicates which type of Result object(s) the Processor can produce. Therefore, for ‘Processor B’ to consume the results produced by ‘Processor A’, the input pin of ‘Processor B’ must be connected to the output pin of ‘Processor A’.
- Update pins are used for synchronizing a processor's output result(s) with respect to its input result(s). As mentioned above, different types of processor objects will have a different number and type of pins, as is required for implementing its particular functionality.
- FIG. 2 illustrates the application of this generic model to several specific processing classes that are typically encountered in digital oscilloscopes.
- These processor functions are merely representative of a very large number of processor functions that might be implemented or defined by a user in a processing web in accordance with the Invention. In practice, these processor functions may be employed into a processing web by placing the element on an appropriate screen, and connecting the various inputs and outputs to implement the processing functions as desired.
- an Acquisition Board processor class 210 does not have any inputs 216 and has 4 outputs 216 that produce waveforms (1 for each acquisition channel on the board, i.e. C 1 , C 2 , C 3 and C 4 of FIG. 1).
- a Waveform Averager processor class 220 has 1 input 222 that comprises an input waveform and 1 output 226 that produces a waveform. Furthermore, it includes an update pin 224 that explicitly controls when the waveform produced from the output is updated with respect to the waveforms seen at the input (i.e., precisely the timing of when the processing in the waveform averager is to be implemented).
- a Waveform Adder processor class 230 has two inputs 232 that comprise waveforms and one output 236 that produces a waveform.
- Waveform Adder processor class 230 does not have any update pin, and therefore, the waveform produced by its output is always continuously updated in real time with respect to the waveforms seen at its inputs.
- a Trace Renderer processor class 240 has 1 input 242 that comprises a waveform and 1 update pin 244 that specifies explicitly when the Trace Renderer should sample the waveforms seen at its input. It does not have any result outputs, but rather instead of producing any further results, it draws in a graphics window a representation of the waveforms seen at its input. The final two examples shown in FIG. 2 illustrate other types of results (namely parameters and histograms).
- An Amplitude processor class 250 comprises waveforms from its input 252 and produces parameter results at its output 256 .
- a Parameter Histogrammer processor class 260 comprises parameter results at its input 262 and produces histogram results at its output 266 , with an update pin 264 resetting the histogram and beginning the data accumulation process.
- update pin because it has an update pin, it is explicitly controlled via the update pin to know when it should receive parameter results at its input and update the histogram results produced at its output.
- FIG. 2 only touches on a few simple examples of the types of processing classes that may be useful in an oscilloscope or other digital signal processing apparatus.
- the design in accordance with the invention allows that any particular processor class may have as many input, output and update pins as is necessary or convenient to implement a particular processing functionality for that processor class.
- the result types required for any input or generated by any output pin may vary.
- FIG. 3 it would be possible to implement a processor class as shown in FIG. 3, where an example of a processor with multiple result types consumed and produced is shown.
- an ‘Advanced Processor’ class 310 consumes waveforms on its first input 312 , and parameters on its second input 313 . It produces results from four outputs, waveforms from the first output 316 , histograms from the second output 317 and parameter results from the other two outputs 318 , 319 .
- the input and output pins for a particular processor class provide the ability to inter-connect processor objects, so that one processor object may consume the results produced from another processor object.
- the update pin provides an explicit mechanism for specifying when the processor should consume results from its input(s) and in turn update the results that it produces from its output(s) based upon the newly consumed inputs. Only certain types of processors are provided with update pins. Processors that are cumulative in nature are the most common examples that include update pins. The term cumulative indicates that the processor accumulates information from each result that it consumes from its input over a predefined time period and somehow merges that information together with previously-accumulated information to produce its output result(s). A processor that performs averaging of many input results is an example of a processor with an update pin.
- the averager When instructed to update, the averager will consume as many results from its input as are available, accumulate data from each, and then average by dividing by the total number of results represented in the accumulated data to produce its output result. The output result will then remain in that state producing the same output result until the next time that the averager is instructed to update, at which point it will repeat its update procedure and produce a new output result. Therefore, because most processor classes do not include use of this explicit update mechanism, they do not have any update pins. This is because most processors produce their output result(s) as a function of the result(s) currently available at their input(s) at the time when their output is being requested.
- FIG. 4 View Filter of C 1 Processing Web Configuration
- FIG. 4 depicts a simple processing web configuration where a Trace Renderer 430 views an FIR-filtered version of an Acquisition Board's 410 C 1 output 416 . No processing work is performed in this configuration until the Trace Renderer 430 is updated via its update pin 434 . At this time, the Trace Renderer 430 will request results from the output 426 of the FIR Filter 420 , which will in turn request results from the C 1 output 416 of the Acquisition Board 410 .
- an update pin for a particular element begins a procedure whereby requests for information are passed upstream until the requested data is available.
- the Trace Renderer 430 finishes processing the results (i.e. building a displayable image of those results), it will release the results and the configuration will become idle again until the next update cycle of the Trace Renderer.
- FIG. 5 View Average of C 1 Processing Web Configuration shows a slightly more complicated configuration, in which we see two processor objects with update pins, a Waveform Averager 520 and a Trace Renderer 530 .
- the configuration is idle until either Waveform Averager 520 or the Trace Renderer 530 are updated via their update pins 524 , 534 , respectively.
- Waveform Averager 520 When Waveform Averager 520 is updated, it will request results from Acquisition Board's 510 C 1 output 516 and will accumulate and normalize those results to produce a new output result 526 .
- Trace Renderer 530 When Trace Renderer 530 is updated, it will request results from Waveform Averager's 520 output 526 and will process those results by building a displayable image.
- Trace Renderer 530 is updated again before Waveform Averager 520 has been updated, then it will simply get the same result from the Waveform Averager's output. In this case, Trace Renderer would not have any processing work to perform unless some aspect of its definition had changed such that it were necessary to re-process the same data (e.g. graphical window-size changed and displayable representation was not re-scaleable). Thus, proper synchronization of the various update pins and data transfer sequences is essential, especially if it is desired to run various processor objects at different clock speeds, as will be discussed below.
- a Processing Web Manager software object is therefore responsible for managing the Processing Web and updating subsets of Processor objects in response to requests and events from other software objects.
- This Processing Web Manager object maintains a list of all of the processor objects and analyzes the inter-connection paths and processor objects themselves to determine which processors should be updated and in which order based upon which events.
- the Processing Web Manager object reacts to 3 different events or requests: (1) an indication that new results are available at an output of some processor object (New Results Available), (2) a request for a synchronization of all or some of the processors on the processing web such as when a particular function (SynchronizeWeb) is to be performed that would require reprocessing of data by a number of processing objects and (3) a change in the definition of one of the processing objects on the processing web (Definition Changed).
- the first two events (1) New Results Available and (2) Synchronize Web) are posted by other fundamental system manager objects.
- a Result Source Manager or Acquisition Manager tells the Processing Web Manager when new source (acquisition) results are available via the NewResultsAvailable request.
- a Result Sink Manager tells the Processing Web Manager when it wishes to take a ‘synchronized snapshot’ of the renderer (or result sink) processor objects via the SynchronizeWeb request. Such a snapshot may be employed upon a downstream request for data, resulting in clocking through of upstream data.
- the DefinitionChanged request is used by any of the included processor objects to notify the Processing Web Manager when a processor's definition has changed in order to update all processing objects in response to the processor's definition change.
- the Processing Web Manager divides the processors that should be updated into two subsets.
- the first set of processors is updated in response to NewResultsAvailable requests.
- the second set of processors is updated in response to SynchronizeWeb requests.
- FIG. 6 Update Sequence: View Average of C 1 Processing Web Configuration
- the numbered arrows 1-2-3 indicate the acquisition-driven thread of execution and the sequence thereof.
- the lettered arrows indicate the display-driven thread of execution and the sequence thereof.
- These two threads of execution are independent of each other as the Processing Web Manager updates separate processors in response to each event noted above.
- the numbered 1-2-3 sequence may execute many, many times for each time that the lettered A-B-C sequence executes thus providing better measurements in a shorter amount of time.
- acquisition may take place at a very high rate
- display may take place at a slower rate, thus generating a fast path/slow path combination.
- the waveform averager will acquire signals at a very high rate, and output an average waveform.
- the trace renderer will display this output average waveform. If not properly synchronized, the waveform averager might be showing a result from a set of waveforms not including the current waveform, or including waveforms after the display of the current waveform, rather than showing the average of all waveforms up to and precisely including the current waveform displayed. Thus, it is imperative that, for example, the trace renderer be updated at a precise state of the faster updating waveform averager to give proper synchronized results.
- This update procedure results in the added benefit of saving processing time.
- the trace renderer does not continually inquire whether there is more data to display. Rather it requests to receive data from the waveform averager to display when updated.
- the processing object is only active when it is to perform a function.
- FIGS. 7A and 7B different configurations of more complicated processing webs are displayed.
- FIG. 7A depicts a fixed web, but one that includes far more complexity than the processing web shown in FIG. 1.
- plug-in probes or the like A and B are provided for. These plug-in elements each produce four input waveforms A 1 -A 4 and B 1 -B 4 respectively.
- eight static memory locations M 1 -M 8 for storing eight different static system inputs. These inputs any comprise any type of desired data necessary to implement any of the desired available processing functions.
- up to 20 parameter measurements that may be displayed upon determination, or used as inputs for various processor functions
- each function displayed within the web includes a corresponding function along the outside of the web for display.
- each function within the web is able to accept two inputs.
- Each function along the outer edge of the web may similarly accept two inputs, but one of these inputs is from the corresponding function from within the web.
- two functions may be applied to a total of three inputs.
- FIG. 7B displays a fully configurable processing web, and is most representative of the ability and features of the present invention.
- Four dynamic channels 710 , and static memory data types 720 are shown. Of course, any number of these dynamic or static objects may be provided.
- four views 730 are also shown. These views 730 display the dynamic input information.
- Trace views 740 and parameters are 750 also provided. However rather than the input to these trace views comprising only dynamic inputs 710 , static memory inputs 720 and parameter inputs 750 , any number of processing objects 760 may be provided for performing various desired processing before output data is forwarded to trace views 740 .
- FIG. 7A in which a fixed structure must be followed, in the system displayed in FIG.
- This new graphical representation and new architecture provides complete flexibility in terms of how many processing elements compose a given processing web and opens the field to handle other more specific types of processing engines and their results.
- the kinds of processing results that may be output from a processing object and therefore is eligible as an input to another processing element may comprise:
- Cursor results that are graphical in nature . . . a complementary aspect of parametric results . . . and special in the sense that their graphical nature cannot be other than observed . . . one cannot calculate on them.
- a Processing Web Editor constructed in accordance with the invention is a tool for presenting the configuration of the Processing Web (Web) of the invention, enabling the processing web to be reconfigured, and enabling the properties of the various elements in the web to be viewed and/or modified.
- the inventive Processing Web defines the flow of data from the input of a DSO through various stages of processing to the display device.
- the PWEditor is the most natural way to view and reconfigure the processing web, allowing for a true graphical representation of the processing web, and the ability to modify it as desired.
- the Processing Web consists of various types of Processing Nodes or objects.
- nodes which produce simultaneously both waveforms and parameters.
- these nodes may comprise:
- Adapter nodes which provide data-type conversion, i.e. float->integer waveform (vector) types.
- Renderer nodes which accept any data type and produce graphical results (waveform traces, parameter readouts, etc).
- the various input and output pins of the processing nodes are therefore classified based upon the data type that they expose/accept.
- a first feature available with the PWEditor is a live preview feature. Editing a Processing Web using the PWEditor is more intuitive when the results of each processing step may be visualized ‘live’, directly in the editor. Therefore, at each node, an output valve is displayed on a miniature display at the location of the node in the graphical representation of the processing web. These miniature renditions of the results are updated in semi real-time and avoid the need to switch between the editor and the traditional DSO display in order to view the results for any particular node. They are therefore coupled to a desired pin of a processor and a result is viewed. In a preferred embodiment, these miniature renditions appear as shown in FIG. 8. They are applicable as labeled.
- Another feature of the PWEditor is the ability to edit the properties of a particular processing node. For example, many of the processing nodes that may appear on a processing web require various properties (controls) to be defined. A right-click with the pointing device over any of the processing nodes or other method of selection presents a popup dialog that allows the node's properties to be viewed, and edited. Thus, all properties may be defined, and therefore comprise a nodes definition. Examples of the parameters that may be set for a histogram node are shown in FIG. 9. The user has the opportunity to choose the horizontal scale 910 , vertical scale 920 and other defined information 930 .
- Another feature of the invention that allows for easy editing of the processing web is the automatic insertion of adapters.
- the Processing Web Editor can use an adapter from a collection of Adapters to provide an automatic conversion between the two types. For example, if a user tries to make a connection between two pins that require different formats, such as placing an integer output into an input that requires a floating point valve the automatic insertion of integer->float waveform adapter may be employed.
- FIG. 10C when the Processing Web Editor is configured to show all hidden adapters, the adapter for converting from the integer value to the floating point valve is shown.
- a user may require converting between a waveform (vector) type valve and a parameter (scalar) type valve.
- C 1 is an integer waveform type
- the histogram input is a scalar type.
- connection is made with hidden adapters inserted.
- first integer waveform data 110 is converted to floating-point waveform data at 120 , then a second adapter converts 130 the floating-point waveform data into multiple parameter values (scalars) which may then be fed to the histogrammer 1140 to generate a histogram output 1150 .
- Processing engines may be ‘dragged’ from a categorized palette onto the web. Thus, if a user wishes to perform a particular processing the appropriate processing function need only be dragged into the processing web. Once present on the web, the inputs and outputs of the selected processing function may be connected by dragging from output to input of the various inputs and outputs of other objects on the web using the pointing device.
- FIG. 12 shows an example of a collection of components in the Math category. Palettes for other categories may be provided, as noted on the various tabs.
- FIG. 13 shows one of the simplest forms of a processing web. This shows the Rendering of four waveforms. This would be the state of the processing web if channels 1 through 4 in a traditional DSO are turned on.
- a user has selected a waveform generator 1310 and four display elements 1330 . These five elements were dragged onto the web area. And each output from the waveform generator was connected to the input of one display element.
- This configuration would correspond to the portion of the graphical representation of the processing web of FIG. 1, including only nodes 110 (C 1 -C 4 ) and 130 (C 1 view-C 4 view) and direct connections therebetween.
- FIG. 14 depicts an example is similar to FIG. 13 above, but adds a parameter node 1450 (a waveform amplitude calculator), and shows it's result at 1460 .
- a parameter node 1450 a waveform amplitude calculator
- the waveform amplitude calculator 1450 and display thereof 1460 were dragged into the processing web, and connected as shown in FIG. 14.
- the parameter measurement is performed at 1450
- the numeric parameter output is displayed at 1460 .
- the output form node 1110 (C 1 ) is forwarded to two locations, one of display ( 1330 ) and one for further processing ( 1450 , 1460 ).
- the example processing web shown in FIG. 15 builds upon the web displayed in FIG. 14, and adds a histogrammer 1570 to show the distribution of the amplitude parameter result 1580 .
- the output from the output from the parameter mode 1450 is forwarded to histogramer 1570 in addition to parameter display 1460 .
- Histogrammer 1570 calculates the distribution of the value at parameter node 1450 , and displays the histogram result at display 1580 . It is this ability to easily add various processing and viewing functions that in part define the invention.
- the processing web editor asks the processing web manager for a first component comprising the processing web. Then, at step 1610 , it is determined whether such a component has been provided. If such a component has been provided, control passes to step 1615 where the various details of the provided web component, such as pin details, icon and label are determined. Thereafter, at step 1620 , an icon is placed on the processing web display at a position defined by the processing node's properties. These properties may comprise where in the proximity to the waveform generation elements, or the number of elements to be placed before after this particular component.
- step 1625 input and output pins are drawn, preferably in color based upon the data type to be output from or input thereto. Then, at step 1630 , the processing web manager is asked for the next component in the web. Control then returns to inquiry 1610 . If another component is available control then continues to pass to step 1615 and the procedure noted above is performed once again.
- control passes to step 1635 where the processing web manager is asked for the first connection in the web.
- Control passes to step 1640 where it is determined whether such a connection has been provided. If so, control passes to step 1645 where the pins defined by the connection are connected by a line, preferably colored based upon the data type flowing through the connection. Of course, any other graphical designation may be employed for a line, such as texture, crosshatch, a symbol or the like.
- control passes to step 1650 where the processing web manager is asked for a next connection in the web.
- step 1640 If such a connection exists, as in step 1640 , the inquiry will be answered in the affirmative and control will pass to step 1645 , thereby repeating this procedure. If at step 1640 it is determined that no further connections in the web exists and the entire web has been graphically illustrated, the inquiry at step 1640 will be answered in a negative and the process will end. Therefore, in accordance with the procedure set forth in the phase 16 , a graphical representation can be displayed to a user of an existing web.
- a process for dropping a new component into the processing web will be described.
- a call is placed to the processing web manager with a request for adding a component to the processing web.
- the processing web manager calls a subroutine called “ProcessorAdded” to be acted upon in the editor, with a pointer passing a parameter indicating the new processor to be added.
- an icon corresponding to the processor to be added is generated at a position to find by the processing properties in a matter noted in FIG. 16.
- step 1740 input and output pins are drawn, preferably in a color based upon the data type input or output therefrom, and at step 1750 , pins are connected by a connection of the new component with the previously existing components.
- the lines for the connections are drawn preferably in color based upon the type of data flowing through the connection as noted with respect to FIG. 16. After these connections are made, the component has been added to the processing web, and the procedure ends.
- step 1810 Upon start of the procedure, at step 1810 an output to determined the type of source and destination pins. An inquiry at step 1820 asks whether the data types of the pins to be connected are the same. If this inquiry is answered in the affirmative, and the pins are the same type, control passes to step 1830 where the processing web manager is asked to directly connect the source to the destination pin. Thus, the graphical representation of adding a connection between these two pins also results in the modification of the actual processing web, and therefore the functioning of the data processing apparatus to be modified. Thereafter, the procedure will end.
- step 1840 it is determined whether an adapter is available that can convert these source type into the destination type. If this inquiry at step 1840 is entered into the affirmative, and an appropriate adapter is available, control passes to step 1850 where the processing web manager is asked to create the adapter. Thereafter, at step 1860 the processing web manager is asked to connect the source pin to the adapter's input pin and the adapter's output pin to the destination pin. After the conclusion of these connections, processing ends. Of course, while the addition of only one adapter is described, as noted above, multiple adapters may be provided in sequence. Finally if at step 1840 it is determined that an appropriate adapter is not available, control passes to 1870 and the connection is refused to be made. Processing then ends.
- a highly configurable system for acting upon signals in an oscilloscope or other data processing device.
- any number of processing elements can be placed onto the processing web. Any object can be viewed at any time, in real time.
- This new architecture in accordance with the invention provides complete flexibility in terms of how many processing elements compose a given processing web, how a user is able to view and even conceptualize this processing web, and opens the field to handle other more specific types of processing engines and their results.
- the PWEditor may be used to show and configure the actual existing processing engines in a network which represents in more detail what happens in the processing part of the conceptual model for an oscilloscope.
- the actual network of processing elements is, as noted above, referred to as the “processing web”.
- This PWEditor for viewing and configuring this processing web therefore has several innovative features.
- each processor's inputs and outputs are color coded based upon the types of inputs that are required and the types of outputs that are provided. Of course, as noted above, any other type of designation may be employed. Thus by connecting outputs and inputs of different processing elements that are of the same color, proper types of data being transferred can be insured.
- [0117] It permits adding objects, by drag-and-drop from various toolbars, onto the processing web, and attaching the input “pins” and output pins of the objects concerned.
- FIGS. 19 and 20 views of examples of functioning PWEditors are shown that have been designed and populated according to the disclosures above.
- Various viewing and implementation instructions 1910 are included along the top row while below them are a list of categories 1915 of different functions a user might want to implement in the processing web.
- the main window portion 1900 of the PWEditor includes the various processing functions 1920 that have already been selected by a user, with the interconnections 1925 therebetween shown. Also shown are various output displays 1930 for displaying a current value of the web at certain locations.
- This displayed processing web was built in accordance with the PWEditor in accordance with the invention as described below.
- any object in the processing web can be selected by clicking on it with a pointing device, or implementing the same pointing functions employing a touch screen.
- the properties of the object e.g. setup of the acquisition system or colors of the view
- the result types are preferably color-coded, the various colors for the input and output pins being noted in accordance with a color key provided in the lower left of the display.
- Each output and input “pin” of each processing component is shown with its name and is also preferably shown in the color, or other designation of its corresponding result type. Input pins are neither limited in number nor in type. Any and all combinations are permitted.
- FIGS. 19 and 20 represent a real “component” in the actual system controlled in accordance with the processing web designated by the PWEditor.
- the formalism of COM is used (the component object model) as supported by Microsoft corporation. This permits a coupling of these components that can be accomplished very late, even at run time.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Automation & Control Theory (AREA)
- Stored Programmes (AREA)
- Digital Computer Display Output (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- User Interface Of Digital Computer (AREA)
- Debugging And Monitoring (AREA)
- Paper (AREA)
- Preliminary Treatment Of Fibers (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
Description
- This application claims the benefit of U.S. Provisional Application Serial No. 60/249,482 filed Nov. 17, 2000, the entire contents thereof being incorporated herein by reference.
- In a traditional scheme for controlling a digital oscilloscope or the like, there has been no application of a clear mental or abstract generic model for processing various acquired waveforms and the like. Furthermore, the available functionality has been primarily predefined, without much flexibility on the part of the user. This is likely because very few people who have participated in the development of digital oscilloscopes, much less the users of these instruments, have had a very clear idea of how to express the processing which is performed within these instruments.
- The inventors of this application have determined that a complete abstract and generic description is essential to leveraging the powerful mathematical tools that are present as features in modern oscilloscopes and other digital processing apparatus. In other words a proper abstract and generic description of such a processing apparatus and system is essential to forming a useful understanding of how the instrument works, how it can be used to solve problems, and how various features available in the instrument may be used in a beneficial manner for processing of signals. This is because while many longstanding leaders in the data processing and particularly oscilloscope industry provide feature-laden products, the full benefit of these features has not been yet recognized. Most users simply do not have a sufficient understanding of what is happening inside the instrument and how to properly configure the instrument to utilize all of the advanced features.
- Digital Storage Oscilloscopes (DSOs) have traditionally provided processing of a captured waveform in two ways. These two ways have included Math features and Parameter features. The math feature takes a captured waveform and processes it to produce another waveform. The Parameter feature takes a captured waveform and produces parametric measurements of the waveform. In more traditional oscilloscopes and processing apparatus, these two forms of processing are controlled by menus that separates the two concerns. Math is typically controlled by a menu that allows pre-defined, pre-named math functions to be selected (typically five of these are supported in a LeCroy oscilloscope). Parameters are typically controlled by a menu that allows for a predefinition of a number of parameter measurements. There are typically five such parameters. These menus traditionally allow a single processing element to be defined and configured per each named function. More recent Digital Oscilloscopes include more flexible menus supporting a definition of a math function algebraically, allowing the concatenation of a limited number of processing steps.
- However, math and parameters are still thought of as separate entities, one producing vector results (waveforms) and the other producing scalar results (parameters). Most DSOs provide no connection between the two. For example, it is generally not possible to configure a math function to consume the results of a parameter measurement. Certain DSOs could provide some connection between the two, in the form of Histograms and Trends of parameters, but this connection is at best tenuous.
- Also, other forms of processing exist in DSOs although they are rarely presented to the user. For example, the persistence of a series of waveforms is generally performed by the display system in a DSO. However, the resulting two-dimensional persistence map is not traditionally available to the user other than visually on the display, and therefore cannot be acted upon or consumed by the DSO for further processing. The same applies, for example, to the display of two waveforms in an X vs. Y format. Thus, at this time a flexible system for visualizing and defining an entire processing flow of a DSO, from the captured waveform through to the display and/or other output devices, in a graphical manner, does not exist.
- Still other objects and advantages of the invention will in part be obvious and will in part be apparent from the specification and the drawings.
- The invention accordingly comprises the several steps and the relation of one or more of such steps with respect to each of the others, and the apparatus embodying features of the construction, combinations of elements and arrangement of parts that are adapted to effect such steps, all as exemplified in the following detailed disclosure, and the scope of the invention will be indicated in the claims.
- For a more complete understanding of the invention, reference is made to the following description and accompanying drawings, in which:
- FIG. 1 is a graphical representation of a processing web for a LeCroy, traditional, fixed-feature instrument in accordance with the invention;
- FIG. 2 depicts various examples of processor classes;
- FIG. 3 depicts an example of an advanced processor;
- FIG. 4 depicts a simple processing web configuration;
- FIG. 5 depicts a further processing web configuration;
- FIG. 6 depicts separate processing paths in a processing web;
- FIGS. 7A and 7B are further graphical representations of processing webs in accordance with the invention;
- FIG. 8 depicts a plurality of miniature output renditions;
- FIG. 9 depicts parameters that may be set for a histogram node;
- FIGS.10A-10C depict a sequence for connecting two processing nodes in which an adapter is automatically inserted;
- FIGS.11A-11C depict a further sequence for connecting two processing nodes in which an adapter is automatically inserted;
- FIG. 12 depicts a collection of components available in a Math category;
- FIG. 13 depicts a simple form of a processing web;
- FIG. 14 depicts a further form of a processing web;
- FIG. 15 depicts a further form of a processing web;
- FIG. 16 is a flowchart depicting a sequence for populating a processing web editor screen in accordance with an existing processing web;
- FIG. 17 is a flowchart depicting a sequence for dropping a new component into a processing web using a processing web editor;
- FIG. 18 is a flowchart depicting a sequence for attempting to connect two pins in a processing web using a processing web editor;
- FIG. 19 is a view of a functioning processing web editor;
- FIG. 20 is a further view of a functioning processing web editor; and
- FIG. 21 is a depiction of a conceptualization of the operation of an oscilloscope constructed in accordance with the invention.
- In accordance with the invention, an oscilloscope design is provided that is completely “modular”, whereby the elements composing the oscilloscope software are completely specified in terms of interface, and are sufficiently independent in construction that they can be installed and removed at run-time, (e.g. without stopping the process which can be considered the oscilloscope application software). This is in contrast to existing products that include software that must be wholly replaced (in it's entirety) in order to change any small attribute of the software. This inventive approach offers commercial advantage because is shortens the overall logistics of releasing new software features, fundamental to the product or fundamental to a particular application of the product. As such, a special feature can be added after a customer has taken delivery and has the instrument (oscilloscope) in operation, after the fact, without the requirement to return or for that matter even stop using the instrument. This is of value to both the customer and the manufacturer.
- Further, the modular design permits “unit testing” to further advance the quality of the overall product by permitting each individual component of the software to be tested in a standard “test harness”. Each component is provided with a standardized interface especially conceived to permit isolated testing. This forward looking, quality conscious aspect of the design assures final deployments of the product(s) are not hampered by the inability to localize faulty components.
- FIG. 21 depicts a conceptualized notion of how the oscilloscope constructed in accordance with the invention operates. The flow of data is shown from left to right and control sequences provided by a user, either automated or manual, are shown from top down. As is shown in FIG. 21, a plurality of analog acquisition signals C1 are acquired by the oscilloscope of the invention. These acquisition signals are acquired in accordance with various provided probes and
other acquisition hardware 2110 that are in turn controlled by anacquisition control module 2112. Various acquisition control processes are applied to the acquired waveforms in accordance withvarious control variables 2120 provided by the user via a user interface 2115. These control variables controlacquisition control module 2112 as well as all other oscilloscope functioning to be discussed below. - Various results data are then provided to, and thereafter output from a preprocessing system2121, and are in turn acted upon in various
post processing functions 2130 employing user definedcontrol variables 2120, resulting in processed data (Results data) 2135. The post-processed data is then exported and/or imported at 2140 as necessary for further processing by thesystem 2145, also in accordance withcontrol variables 2120. After processing has been completed, the various processed data is converted for display at 2150 on adisplay device 2155. - A fundamental difference between this conceptual model and previous oscilloscope models is at least the freedom permitted in the section described as “processing”. In most instruments prior to this design there has always been a fixed (and limited) number and configuration of processing results. This new oscilloscope design in accordance with the invention employs a “processing web”. Various implementations and the overall structure of the processing web will be described below.
- Referring next to FIG. 1, a graphical representation of a processing web representation of a fundamentally inflexible oscilloscope (older) processing design is shown. While the underlying structure of the oscilloscope is inflexible and is well known in the art, the graphical processing web depiction of the invention may still be applied. As will be described below, it is this fundamental graphical processing web description of the invention that allows the further flexible and infinitely configurable hardware of the invention, to be constructed in accordance with the invention. It should also be noted that while the processing web is depicted in a graphical manner, the web is in fact a definition of interrelationships between processing elements, and the control of their overall interaction. Therefore, this graphical representation, while useful, is not in fact a part of the processing web.
- As is shown in FIG. 1, a
processing web 100 first comprises data sources of dynamic (channel)data 110. These dynamic data sources typically include various waveform acquisitions. Also included are static (memory)data types 120 representing stored input data. In accordance with the invention these input modes are usually positioned at the left in a “left-to-right” graphical representation. Further shown in FIG. 1 are a plurality of output views and measurable objects at the right edge of the web picture. Connections fromdata sources 110 toviews 130 is direct as is shown by the direct line between them and the one-to-one relationship without any intermediate processing. Thus, these dynamic data sources are shown as being displayed without modification.Parameter settings 150 are also provided and indicate a particular parameter of one or more of the acquired waveforms that is to be measured. Also shown in FIG. 1 are trace views 140. Each trace view may receive adynamic input 110, a storedinput 120, input from a trace view, or input from aparameter 150 and perform some processing before display. - Each processing object receives certain inputs (according to various input requirements) and generates particular output types (e.g. parameters, persistence maps or waveforms). These processing objects also have particular update or synchronization characteristics for obtaining or generating information, and can be expressed using a same generic processor model, but being designated according to a variable number and type of input, output and update pins.
- In this simple, fixed oscilloscope apparatus, all objects, either input or output, are represented as objects on the border of the web diagram, while the connections between the various objects are represented as connections within the processing web. The placement of these processing elements along the outer border is merely a graphical representation convention for placing inputs on one edge and outputs on another. However, this graphical display has no affect on a working system. This particular processing web graphic is a representation of an older oscilloscope design where each processing element receives predefined inputs as a combination of dynamic inputs, static inputs, parameters, and in some cases prior trace views and all function on a single system clock, all at the same speed and refresh rate. Thus, in this particular representation, there is no provision for the chaining of various processing elements, or functioning processing elements at different speeds, and indeed each processing element shown in FIG. 1 produces a predetermined output at a predetermined time. It is therefore not possible to modify the processing of the oscilloscope to provide different desirable outputs. While other LeCroy oscilloscopes have allowed for certain chaining and different processing speeds within a system. However, the ability to utilize these features was limited to a number of predetermined scenarios. As will be noted below, in accordance with the invention, these limitations have been removed, and a more general solution is provided that allows for a completely dynamic set of scenarios with differing data rates and differing requirements on different chains of processors.
- In accordance with the inventive graphical representation of the processing web of FIG. 1, a Processing Web Editor (PWEditor) is a tool provided in accordance with the invention for presenting the graphical representation of the configuration of a Processing Web (Web) to a user, enabling the web to be reconfigured, and enabling the properties of the various elements in the web to be viewed and modified by the user. Thus, instead of the fixed and constrained processing web shown in FIG. 1, a processing web for a more advanced oscilloscope may be constructed in accordance with the invention. This more advanced processing web may be edited in accordance with the PWEditor and may be configured in any manner desired by a user to generate any desired results, as will be described below. The Processing Web defines the flow of data from the input of a DSO through various stages of processing to the display device, as noted above.
- While the PWEditor is the most natural way to view and reconfigure the web, it is by no means the only way. The web can also be constrained and can emulate the processing flow in conventional DSOs. It can also be configured in a more flexible manner using an equation, i.e. ‘Math1−Ch1+Ch2’. While these possibilities are intended to be within the scope of the invention, they will not be discussed in detail herein.
- Thus, the use of the PWEditor relies on the generic abstract model of the type shown in FIG. 1, but will typically be far more complicated than the web disclosed in FIG. 1 (see FIGS. 7A, 7B below). In accordance with such editing, any processing object can be described via its input, output and update requirements and capabilities. Thus, it is possible to interconnect virtually unlimited numbers and types of processing objects to provide simple as well as complex processing configurations while retaining well-controlled synchronization of processing results.
- There are several terms that will be used in this description that will now be defined. A Result Processor (or simply Processor) is a software object that consumes and/or produces processing Results, Examples of Results are waveforms, parameters, persistence maps, histograms, etc. In order to be useful, a Processor is typically created and inserted into a Processing Web and connected to other Processors. In other words, a Processing Web configuration is fundamentally defined by the set of Processors and their inter-connections. A Processing Web Manager software object is responsible for managing the Processing Web and updating subsets of Processor objects in response to requests and events from other software objects.
- As noted above, old software means and manners for controlling instruments are embodied in various legacy software, typically written between 1984 and now, from any number of manufacturers. In these older systems, as noted with respect to FIG. 1, there are typically a fixed number of processing objects and several different models employed for inter-connecting and updating these processing objects. These systems run on essentially a single software thread of execution, and may not be modified in any substantial manner to change the processing flow.
- The drawbacks of these older, fixed systems are as follows:
- 1. They do not have a common, generic abstract model for inter-connecting and updating processing objects. It is therefore not possible to implement many processing combinations, let alone modify any of the existing processing elements.
- 2. There are typically a limited, fixed number of processing objects (e.g. 4 ‘math’functions, 5 ‘parameters’, 4 ‘memories’, etc . . . ).
- 3. There are typically a limited number of processing objects that can be chained together to form a composite processing function. Further, the objects that can be chained together are predetermined, and cannot be modified by a user.
- 4. There are limited types of processing objects that can be implemented. Legacy math functions can have 1 or 2 inputs and produce exactly 1 result. Legacy parameter calculators can have 1 or 2 inputs and produce exactly 1 result.
- 5. The systems are limited by the fact that a single software thread of execution must try to handle many different system concerns with vastly different requirements (processing vs. display-update vs. user interface response vs. etc . . . ). The practical side effect of this is that very few processing throughput performance enhancements are available. Therefore, in accordance with the invention, a processing web is provided, and a processing web editor for modifying the configuration of the processing web is also provided. In such a processing web model, a number of rules are applicable to insure a viable web configuration. They are as follows:
- 1. All Processor objects must meet the requirements of a generic processor object model. The fundamental requirements of such a generic processor is that the Processor has 0 or more input pins, 0 or more output pins and 0 or more update pins. Obviously, in order to be of any use, any given Processor object must have at least 1 input and at least one output pin of some particular type.
- 2. Input and output pins on each object function to inter-connect processor objects. The input pin for a processor object indicates which type of Result object(s) the Processor can consume, whereas, the output pin for a processor object indicates which type of Result object(s) the Processor can produce. Therefore, for ‘Processor B’ to consume the results produced by ‘Processor A’, the input pin of ‘Processor B’ must be connected to the output pin of ‘Processor A’. Update pins are used for synchronizing a processor's output result(s) with respect to its input result(s). As mentioned above, different types of processor objects will have a different number and type of pins, as is required for implementing its particular functionality.
- FIG. 2 (Examples of Processor classes) illustrates the application of this generic model to several specific processing classes that are typically encountered in digital oscilloscopes. These processor functions are merely representative of a very large number of processor functions that might be implemented or defined by a user in a processing web in accordance with the Invention. In practice, these processor functions may be employed into a processing web by placing the element on an appropriate screen, and connecting the various inputs and outputs to implement the processing functions as desired.
- In FIG. 2, an Acquisition
Board processor class 210 does not have anyinputs 216 and has 4outputs 216 that produce waveforms (1 for each acquisition channel on the board, i.e. C1, C2, C3 and C4 of FIG. 1). A WaveformAverager processor class 220 has 1input 222 that comprises an input waveform and 1output 226 that produces a waveform. Furthermore, it includes an update pin 224 that explicitly controls when the waveform produced from the output is updated with respect to the waveforms seen at the input (i.e., precisely the timing of when the processing in the waveform averager is to be implemented). A WaveformAdder processor class 230 has twoinputs 232 that comprise waveforms and oneoutput 236 that produces a waveform. WaveformAdder processor class 230 does not have any update pin, and therefore, the waveform produced by its output is always continuously updated in real time with respect to the waveforms seen at its inputs. A TraceRenderer processor class 240 has 1input 242 that comprises a waveform and 1 update pin 244 that specifies explicitly when the Trace Renderer should sample the waveforms seen at its input. It does not have any result outputs, but rather instead of producing any further results, it draws in a graphics window a representation of the waveforms seen at its input. The final two examples shown in FIG. 2 illustrate other types of results (namely parameters and histograms). AnAmplitude processor class 250 comprises waveforms from itsinput 252 and produces parameter results at itsoutput 256. A ParameterHistogrammer processor class 260 comprises parameter results at itsinput 262 and produces histogram results at itsoutput 266, with an update pin 264 resetting the histogram and beginning the data accumulation process. Thus, because it has an update pin, it is explicitly controlled via the update pin to know when it should receive parameter results at its input and update the histogram results produced at its output. A further description of update pins and the control thereof will be discussed below. - FIG. 2 only touches on a few simple examples of the types of processing classes that may be useful in an oscilloscope or other digital signal processing apparatus. As noted above, the design in accordance with the invention allows that any particular processor class may have as many input, output and update pins as is necessary or convenient to implement a particular processing functionality for that processor class. Furthermore, the result types required for any input or generated by any output pin may vary. For example, it would be possible to implement a processor class as shown in FIG. 3, where an example of a processor with multiple result types consumed and produced is shown. In this example, an ‘Advanced Processor’
class 310 consumes waveforms on itsfirst input 312, and parameters on itssecond input 313. It produces results from four outputs, waveforms from the first output 316, histograms from thesecond output 317 and parameter results from the other twooutputs - As noted above, the input and output pins for a particular processor class provide the ability to inter-connect processor objects, so that one processor object may consume the results produced from another processor object.
- The update pin provides an explicit mechanism for specifying when the processor should consume results from its input(s) and in turn update the results that it produces from its output(s) based upon the newly consumed inputs. Only certain types of processors are provided with update pins. Processors that are cumulative in nature are the most common examples that include update pins. The term cumulative indicates that the processor accumulates information from each result that it consumes from its input over a predefined time period and somehow merges that information together with previously-accumulated information to produce its output result(s). A processor that performs averaging of many input results is an example of a processor with an update pin. When instructed to update, the averager will consume as many results from its input as are available, accumulate data from each, and then average by dividing by the total number of results represented in the accumulated data to produce its output result. The output result will then remain in that state producing the same output result until the next time that the averager is instructed to update, at which point it will repeat its update procedure and produce a new output result. Therefore, because most processor classes do not include use of this explicit update mechanism, they do not have any update pins. This is because most processors produce their output result(s) as a function of the result(s) currently available at their input(s) at the time when their output is being requested.
- That being said, in any given processing web configuration, there must always be at least one processor object with an update pin in order for any processing work to be performed. FIG. 4 (View Filter of C1 Processing Web Configuration) depicts a simple processing web configuration where a Trace Renderer 430 views an FIR-filtered version of an Acquisition Board's 410
C1 output 416. No processing work is performed in this configuration until the Trace Renderer 430 is updated via its update pin 434. At this time, the Trace Renderer 430 will request results from theoutput 426 of theFIR Filter 420, which will in turn request results from theC1 output 416 of theAcquisition Board 410. Thus, the implementation of an update pin for a particular element begins a procedure whereby requests for information are passed upstream until the requested data is available. When the Trace Renderer 430 finishes processing the results (i.e. building a displayable image of those results), it will release the results and the configuration will become idle again until the next update cycle of the Trace Renderer. - FIG. 5 (View Average of C1 Processing Web Configuration) shows a slightly more complicated configuration, in which we see two processor objects with update pins, a
Waveform Averager 520 and aTrace Renderer 530. In this scenario, the configuration is idle until eitherWaveform Averager 520 or theTrace Renderer 530 are updated via their update pins 524, 534, respectively. WhenWaveform Averager 520 is updated, it will request results from Acquisition Board's 510C1 output 516 and will accumulate and normalize those results to produce anew output result 526. WhenTrace Renderer 530 is updated, it will request results from Waveform Averager's 520output 526 and will process those results by building a displayable image. IfTrace Renderer 530 is updated again beforeWaveform Averager 520 has been updated, then it will simply get the same result from the Waveform Averager's output. In this case, Trace Renderer would not have any processing work to perform unless some aspect of its definition had changed such that it were necessary to re-process the same data (e.g. graphical window-size changed and displayable representation was not re-scaleable). Thus, proper synchronization of the various update pins and data transfer sequences is essential, especially if it is desired to run various processor objects at different clock speeds, as will be discussed below. - As is clear from this description, it is necessary to manage the implementation of the various update pints to insure that proper data is received at each node in the system and that the sequence of update pin implementation insures proper functioning of the system. A Processing Web Manager software object is therefore responsible for managing the Processing Web and updating subsets of Processor objects in response to requests and events from other software objects. This Processing Web Manager object maintains a list of all of the processor objects and analyzes the inter-connection paths and processor objects themselves to determine which processors should be updated and in which order based upon which events. In order to determine when the processors should be updated, the Processing Web Manager object reacts to 3 different events or requests: (1) an indication that new results are available at an output of some processor object (New Results Available), (2) a request for a synchronization of all or some of the processors on the processing web such as when a particular function (SynchronizeWeb) is to be performed that would require reprocessing of data by a number of processing objects and (3) a change in the definition of one of the processing objects on the processing web (Definition Changed). The first two events (1) New Results Available and (2) Synchronize Web) are posted by other fundamental system manager objects. A Result Source Manager (or Acquisition Manager) tells the Processing Web Manager when new source (acquisition) results are available via the NewResultsAvailable request. A Result Sink Manager (or Display Manager) tells the Processing Web Manager when it wishes to take a ‘synchronized snapshot’ of the renderer (or result sink) processor objects via the SynchronizeWeb request. Such a snapshot may be employed upon a downstream request for data, resulting in clocking through of upstream data. The DefinitionChanged request is used by any of the included processor objects to notify the Processing Web Manager when a processor's definition has changed in order to update all processing objects in response to the processor's definition change.
- The Processing Web Manager divides the processors that should be updated into two subsets. The first set of processors is updated in response to NewResultsAvailable requests. The second set of processors is updated in response to SynchronizeWeb requests. By making these input requests completely independent of each other, it becomes possible to support two different update rates for the two subsets of processors. In fact, in an oscilloscope this becomes an important feature particularly beneficial at high speed and performance, high data-throughput operating points, where the acquisition system can generate waveform results at a much higher rate than the display system can consume them. In such cases, if the processing web configuration contains other cumulative processor objects, then these can be utilized to accumulate many acquisition (source) results between each display system request for synchronization. It is only this inventive functionality that allows for this beneficial procedure.
- FIG. 6 (Update Sequence: View Average of C1 Processing Web Configuration) illustrates an example of a possible sequence that takes advantage of this separation of processing paths. The numbered arrows 1-2-3 indicate the acquisition-driven thread of execution and the sequence thereof. The lettered arrows indicate the display-driven thread of execution and the sequence thereof. These two threads of execution are independent of each other as the Processing Web Manager updates separate processors in response to each event noted above. In high data-throughput cases, the numbered 1-2-3 sequence may execute many, many times for each time that the lettered A-B-C sequence executes thus providing better measurements in a shorter amount of time. Thus, while acquisition may take place at a very high rate, display may take place at a slower rate, thus generating a fast path/slow path combination.
- However, when two such data rates are employed, precise synchronization is very important. The example of FIG. 6 will be used to explain this requirement. The waveform averager will acquire signals at a very high rate, and output an average waveform. The trace renderer will display this output average waveform. If not properly synchronized, the waveform averager might be showing a result from a set of waveforms not including the current waveform, or including waveforms after the display of the current waveform, rather than showing the average of all waveforms up to and precisely including the current waveform displayed. Thus, it is imperative that, for example, the trace renderer be updated at a precise state of the faster updating waveform averager to give proper synchronized results.
- This update procedure results in the added benefit of saving processing time. For example, the trace renderer does not continually inquire whether there is more data to display. Rather it requests to receive data from the waveform averager to display when updated. Thus, the processing object is only active when it is to perform a function.
- This therefore generates a “pull-type” system where a downstream element requests data from an upstream element, and only then is data forwarded. An added benefit of this type of processing is that no intermediate buffers are required. Because data only arrives after requested, no storage is necessary. Thus, this benefit of the elimination of intermediate buffers is achieved, even with a great reduction in processing requirement, as noted above.
- Another benefit of this “pull-type” system is that the number of processed results are not necessarily constrained to a one-to-one relationship with the input sources. In older oscilloscopes, if one waveform was input to a processing element, one waveform resulted after processing. However, in accordance with the invention, any number of inputs or measurements may generate any number of outputs. Thus, zero, one or more outputs may be generated for any number of inputs. Most older oscilloscopes can perform, for example, processing on a single waveform. However, as a simple example, in accordance with the invention, two waveforms may be input, and an average waveform be output, or a plurality of waveforms may be input, and a maximum and minimum average waveform may be output. Any other function, may be performed, using any number (M) of inputs and outputs (N) as desired.
- Because of the ability to allow for the stringing of a multiple processing elements as desired, a graphical representation of such a processing system is even more necessary. Thus as is shown, any number of processing elements can be placed onto the processing web. Any object can be viewed. Basically there is no limit to the complexity of a given “processing web” permitted within the basic architecture. This is not to say that excessive flexibility is something desirable in a basic lab instrument. However in a special purpose application, it is highly desirable that the architecture is unconstrained.
- As is therefore shown in FIGS. 7A and 7B, different configurations of more complicated processing webs are displayed. FIG. 7A depicts a fixed web, but one that includes far more complexity than the processing web shown in FIG. 1. As is shown in FIG. 7A, plug-in probes or the like A and B are provided for. These plug-in elements each produce four input waveforms A1-A4 and B1-B4 respectively. Also provided are eight static memory locations M1-M8 for storing eight different static system inputs. These inputs any comprise any type of desired data necessary to implement any of the desired available processing functions. Also provided are up to 20 parameter measurements that may be displayed upon determination, or used as inputs for various processor functions
- The processing functions available in this web will be described next. As is shown, eight traces are available, each employing two functions. Thus, each function displayed within the web includes a corresponding function along the outside of the web for display. As is further shown, each function within the web is able to accept two inputs. Each function along the outer edge of the web may similarly accept two inputs, but one of these inputs is from the corresponding function from within the web. Thus, for each displayed trace, two functions may be applied to a total of three inputs. Thus, while some flexibility is available in such an apparatus, complete flexibility is not available. Additional chained functions cannot be employed, and additional inputs may not be provided. Thus, the functionality of the actual processing is somewhat limited.
- FIG. 7B displays a fully configurable processing web, and is most representative of the ability and features of the present invention. Four
dynamic channels 710, and staticmemory data types 720 are shown. Of course, any number of these dynamic or static objects may be provided. As is also shown fourviews 730 are also shown. Theseviews 730 display the dynamic input information. Trace views 740 and parameters are 750 also provided. However rather than the input to these trace views comprising onlydynamic inputs 710,static memory inputs 720 andparameter inputs 750, any number of processing objects 760 may be provided for performing various desired processing before output data is forwarded to traceviews 740. Thus, in opposition to FIG. 7A in which a fixed structure must be followed, in the system displayed in FIG. 7B, and configuration of processing is possible. Multiple processors may be chained together, utilizing multiple inputs and producing multiple outputs. Processors may be used to produce data for more than one further processor, etc. There is virtually no limit to the complexity or configuration of processing that may be performed in the system. Therefore, in accordance with the inventive depiction of this graphical processing system, it is the graphical depiction of this processing web, along with a method for modifying the functional interrelationships within the processing web (discussed below) that allow for the precise functionality embodied in this invention. - This new graphical representation and new architecture provides complete flexibility in terms of how many processing elements compose a given processing web and opens the field to handle other more specific types of processing engines and their results.
- In a preferred embodiment of the invention, the kinds of processing results that may be output from a processing object and therefore is eligible as an input to another processing element may comprise:
- 1. Waveforms (stored in either floating point precision or fixed point precision)
- 2. Parametric results that are not single valued, and which carry horizontal information as well as parametric information . . . e.g. risetime estimate, accompanied by “when” the risetime occurred relative to the trigger or zero horizontal reference.
- 3. XY associations or pairs of associated values, accompanied by their roughly common horizontal information.
- 4. Complex waveforms consisting of their real and imaginary components.
- 5. Persistence “maps” or two-dimensional histograms.
- 6. One-dimensional histograms.
- 7. Boolean results of pass/fail etc. or other such processes.
- 8. Table results for collections of parametric results.
- 9. Cursor results that are graphical in nature . . . a complementary aspect of parametric results . . . and special in the sense that their graphical nature cannot be other than observed . . . one cannot calculate on them.
- A Processing Web Editor (PWEditor) constructed in accordance with the invention is a tool for presenting the configuration of the Processing Web (Web) of the invention, enabling the processing web to be reconfigured, and enabling the properties of the various elements in the web to be viewed and/or modified. As noted above, the inventive Processing Web defines the flow of data from the input of a DSO through various stages of processing to the display device. The PWEditor is the most natural way to view and reconfigure the processing web, allowing for a true graphical representation of the processing web, and the ability to modify it as desired. The Processing Web consists of various types of Processing Nodes or objects. These are classified into various types based upon the number, and data type, of the various inputs and outputs (pins) associated therewith. This classification allows functionality provided by traditional DSOs to be described in the processing web, although the web is flexible enough to support non-traditional processing, i.e. nodes which produce simultaneously both waveforms and parameters. As partially noted above, these nodes may comprise:
- 1. Acquisition Systems, which are responsible for the presentation of (primarily) waveform data produced by the acquisition hardware in the DSO.
- 2. Math nodes, which accept waveform data and produce waveform data.
- 3. Parameter nodes, which accept waveform data and produce scalar (parameter) results.
- 4. Pass Fail nodes, which accept waveform and/or parameter inputs and produce a Boolean (pass/fail) result.
- 5. Adapter nodes, which provide data-type conversion, i.e. float->integer waveform (vector) types.
- 6. Renderer nodes, which accept any data type and produce graphical results (waveform traces, parameter readouts, etc). The various input and output pins of the processing nodes are therefore classified based upon the data type that they expose/accept.
- A description of an example of various of the functions that may be employed in the PWEditor to change the functional structure of the processing web, and therefore the actual functioning of the oscilloscope will now be described.
- A first feature available with the PWEditor is a live preview feature. Editing a Processing Web using the PWEditor is more intuitive when the results of each processing step may be visualized ‘live’, directly in the editor. Therefore, at each node, an output valve is displayed on a miniature display at the location of the node in the graphical representation of the processing web. These miniature renditions of the results are updated in semi real-time and avoid the need to switch between the editor and the traditional DSO display in order to view the results for any particular node. They are therefore coupled to a desired pin of a processor and a result is viewed. In a preferred embodiment, these miniature renditions appear as shown in FIG. 8. They are applicable as labeled.
- Another feature of the PWEditor is the ability to edit the properties of a particular processing node. For example, many of the processing nodes that may appear on a processing web require various properties (controls) to be defined. A right-click with the pointing device over any of the processing nodes or other method of selection presents a popup dialog that allows the node's properties to be viewed, and edited. Thus, all properties may be defined, and therefore comprise a nodes definition. Examples of the parameters that may be set for a histogram node are shown in FIG. 9. The user has the opportunity to choose the
horizontal scale 910,vertical scale 920 and other definedinformation 930. - Another feature of the invention that allows for easy editing of the processing web is the automatic insertion of adapters. When an attempt to connect two Pins with differing types is made the Processing Web Editor can use an adapter from a collection of Adapters to provide an automatic conversion between the two types. For example, if a user tries to make a connection between two pins that require different formats, such as placing an integer output into an input that requires a floating point valve the automatic insertion of integer->float waveform adapter may be employed.
- Thus, as is shown by way of example only, attempts to drag a connection between ‘C1’ and ‘In’. The C1 pin is an integer waveform type, the FFT input ‘In’ is a floating-point waveform type.
- As is then shown in FIG. 10B, the Connection is made using a normally hidden adapter without requiring any further input or assistance from the user.
- Finally, in FIG. 10C, when the Processing Web Editor is configured to show all hidden adapters, the adapter for converting from the integer value to the floating point valve is shown.
- As another example, a user may require converting between a waveform (vector) type valve and a parameter (scalar) type valve.
- As is shown in FIG. 11A an attempt is made to connect C1 output to a histogrammer's input. C1 is an integer waveform type, the histogram input is a scalar type.
- As is then shown in FIG. 11B, the connection is made with hidden adapters inserted.
- Finally, as is shown in FIG. 11C, if the PWEditor is instructed to display the hidden adapters, the complete picture of how the connection was made is displayed. Thus, first
integer waveform data 110 is converted to floating-point waveform data at 120, then a second adapter converts 130 the floating-point waveform data into multiple parameter values (scalars) which may then be fed to the histogrammer 1140 to generate a histogram output 1150. - These various connection features and processing elements may be employed through a graphical user interface of the PWEditor. Features thereof will now continue to be described.
- Processing engines may be ‘dragged’ from a categorized palette onto the web. Thus, if a user wishes to perform a particular processing the appropriate processing function need only be dragged into the processing web. Once present on the web, the inputs and outputs of the selected processing function may be connected by dragging from output to input of the various inputs and outputs of other objects on the web using the pointing device.
- FIG. 12 shows an example of a collection of components in the Math category. Palettes for other categories may be provided, as noted on the various tabs.
- An example of designing a simple processing web in accordance with the invention will now be described. FIG. 13 shows one of the simplest forms of a processing web. This shows the Rendering of four waveforms. This would be the state of the processing web if channels1 through 4 in a traditional DSO are turned on. In this figure, a user has selected a
waveform generator 1310 and fourdisplay elements 1330. These five elements were dragged onto the web area. And each output from the waveform generator was connected to the input of one display element. This configuration would correspond to the portion of the graphical representation of the processing web of FIG. 1, including only nodes 110 (C1-C4) and 130 (C1 view-C4 view) and direct connections therebetween. - FIG. 14 depicts an example is similar to FIG. 13 above, but adds a parameter node1450 (a waveform amplitude calculator), and shows it's result at 1460.
- Thus, in addition to providing the five objects of FIG. 13, the
waveform amplitude calculator 1450 anddisplay thereof 1460 were dragged into the processing web, and connected as shown in FIG. 14. Thus, the parameter measurement is performed at 1450, and the numeric parameter output is displayed at 1460. The output form node 1110 (C1) is forwarded to two locations, one of display (1330) and one for further processing (1450, 1460). - The example processing web shown in FIG. 15 builds upon the web displayed in FIG. 14, and adds a
histogrammer 1570 to show the distribution of theamplitude parameter result 1580. Thus the output from the output from theparameter mode 1450 is forwarded tohistogramer 1570 in addition toparameter display 1460.Histogrammer 1570 calculates the distribution of the value atparameter node 1450, and displays the histogram result atdisplay 1580. It is this ability to easily add various processing and viewing functions that in part define the invention. - Referring next to FIG. 16, the method by which the processing web editor screen display is populated in accordance with an existing processing web will be described. At a
first step 1605 after the starting of the procedure, the processing web editor asks the processing web manager for a first component comprising the processing web. Then, atstep 1610, it is determined whether such a component has been provided. If such a component has been provided, control passes to step 1615 where the various details of the provided web component, such as pin details, icon and label are determined. Thereafter, atstep 1620, an icon is placed on the processing web display at a position defined by the processing node's properties. These properties may comprise where in the proximity to the waveform generation elements, or the number of elements to be placed before after this particular component. Then, atstep 1625, input and output pins are drawn, preferably in color based upon the data type to be output from or input thereto. Then, atstep 1630, the processing web manager is asked for the next component in the web. Control then returns toinquiry 1610. If another component is available control then continues to pass to step 1615 and the procedure noted above is performed once again. - If however, at
step 1610 no further components in the web are available, and therefore the inquiry is answered in the negative, control then passes to step 1635 where the processing web manager is asked for the first connection in the web. Control then passes to step 1640 where it is determined whether such a connection has been provided. If so, control passes to step 1645 where the pins defined by the connection are connected by a line, preferably colored based upon the data type flowing through the connection. Of course, any other graphical designation may be employed for a line, such as texture, crosshatch, a symbol or the like. After this connection has been graphically illustrated, control passes to step 1650 where the processing web manager is asked for a next connection in the web. If such a connection exists, as instep 1640, the inquiry will be answered in the affirmative and control will pass to step 1645, thereby repeating this procedure. If atstep 1640 it is determined that no further connections in the web exists and the entire web has been graphically illustrated, the inquiry atstep 1640 will be answered in a negative and the process will end. Therefore, in accordance with the procedure set forth in the phase 16, a graphical representation can be displayed to a user of an existing web. - Referring next to FIG. 17, a process for dropping a new component into the processing web, as displayed by the processing web editor, will be described. Upon starting the procedure, at
step 1710, a call is placed to the processing web manager with a request for adding a component to the processing web. In thenext step 1720, the processing web manager calls a subroutine called “ProcessorAdded” to be acted upon in the editor, with a pointer passing a parameter indicating the new processor to be added. Thereafter, in thenext step 1730, an icon corresponding to the processor to be added is generated at a position to find by the processing properties in a matter noted in FIG. 16. Then, atstep 1740, input and output pins are drawn, preferably in a color based upon the data type input or output therefrom, and atstep 1750, pins are connected by a connection of the new component with the previously existing components. The lines for the connections are drawn preferably in color based upon the type of data flowing through the connection as noted with respect to FIG. 16. After these connections are made, the component has been added to the processing web, and the procedure ends. - Referring next to FIG. 18, a procedure for attempting to connect two pins that are in different components by dragging a line between them with a pointer device will be described. Upon start of the procedure, at
step 1810 an output to determined the type of source and destination pins. An inquiry atstep 1820 asks whether the data types of the pins to be connected are the same. If this inquiry is answered in the affirmative, and the pins are the same type, control passes to step 1830 where the processing web manager is asked to directly connect the source to the destination pin. Thus, the graphical representation of adding a connection between these two pins also results in the modification of the actual processing web, and therefore the functioning of the data processing apparatus to be modified. Thereafter, the procedure will end. - However, if at
step 1820 it is determined that the data types for the source and destination pins are not of the same type, atstep 1840 it is determined whether an adapter is available that can convert these source type into the destination type. If this inquiry atstep 1840 is entered into the affirmative, and an appropriate adapter is available, control passes to step 1850 where the processing web manager is asked to create the adapter. Thereafter, atstep 1860 the processing web manager is asked to connect the source pin to the adapter's input pin and the adapter's output pin to the destination pin. After the conclusion of these connections, processing ends. Of course, while the addition of only one adapter is described, as noted above, multiple adapters may be provided in sequence. Finally if atstep 1840 it is determined that an appropriate adapter is not available, control passes to 1870 and the connection is refused to be made. Processing then ends. - Therefore, in accordance with the invention, a highly configurable system is provided for acting upon signals in an oscilloscope or other data processing device.
- Utilizing the inventive PWEditor to implement the inventive processing web provides the following unique features. The Complexity of the processing web is limited only by available processing power and memory. The traditional separation of Math, Parameters, Display functions is removed. Processing engines may be dragged into use from a categorized toolbar. An arbitrary number of named and typed input and output pins may be employed. Graphical, real-time, preview of results (both scalar and vector) are provided, even while viewing the web structure. Identification of the data-type of input and output pins may be designated using a color-coded key scheme. Data type adapters are automatically inserted when incompatible types are connected, for example, adaptation between float and integer data types, conversion of vector data into a sequence of scalars, etc. There is also the ability to display, and edit the properties of each node and each pin.
- In accordance with the PWEditor constructed in accordance with the invention, any number of processing elements can be placed onto the processing web. Any object can be viewed at any time, in real time. There is no theoretical limit to the complexity of a given processing web permitted within the basic architecture. While excessive flexibility may not be desirable in a basic lab instrument, in a special purpose application, it is highly desirable that the architecture be unconstrained and modifiable to a high level of complexity. This new architecture in accordance with the invention provides complete flexibility in terms of how many processing elements compose a given processing web, how a user is able to view and even conceptualize this processing web, and opens the field to handle other more specific types of processing engines and their results.
- Thus, as noted above, the PWEditor may be used to show and configure the actual existing processing engines in a network which represents in more detail what happens in the processing part of the conceptual model for an oscilloscope. The actual network of processing elements is, as noted above, referred to as the “processing web”. This PWEditor for viewing and configuring this processing web therefore has several innovative features.
- 1. It shows iconically the types of engine and with color the types of inputs and type of outputs supported and provided by the engine. In a preferred embodiment of the invention, each processor's inputs and outputs are color coded based upon the types of inputs that are required and the types of outputs that are provided. Of course, as noted above, any other type of designation may be employed. Thus by connecting outputs and inputs of different processing elements that are of the same color, proper types of data being transferred can be insured.
- 2. It permits adding objects, by drag-and-drop from various toolbars, onto the processing web, and attaching the input “pins” and output pins of the objects concerned.
- 3. Acquisition systems are shown as objects with (typically) only output pins (although one could imagine calibration signals being shown as inputs).
- 4. Displays (or views or renderings) of any “pin” in the processing web is possible, and is shown in miniature . . . “live”. (Meaning there is a live display of the pin)
- As is therefore shown in FIGS. 19 and 20, views of examples of functioning PWEditors are shown that have been designed and populated according to the disclosures above. Various viewing and
implementation instructions 1910 are included along the top row while below them are a list ofcategories 1915 of different functions a user might want to implement in the processing web. Themain window portion 1900 of the PWEditor includes thevarious processing functions 1920 that have already been selected by a user, with theinterconnections 1925 therebetween shown. Also shown arevarious output displays 1930 for displaying a current value of the web at certain locations. - This displayed processing web was built in accordance with the PWEditor in accordance with the invention as described below. When using the PWEditor, any object in the processing web (including renderers and acquisition systems) can be selected by clicking on it with a pointing device, or implementing the same pointing functions employing a touch screen. Once selected, the properties of the object (e.g. setup of the acquisition system or colors of the view) can be seen and modified by touching on the properties of button or alternatively by using a right click with a more traditional pointing device. The result types are preferably color-coded, the various colors for the input and output pins being noted in accordance with a color key provided in the lower left of the display.
- Each output and input “pin” of each processing component is shown with its name and is also preferably shown in the color, or other designation of its corresponding result type. Input pins are neither limited in number nor in type. Any and all combinations are permitted.
- Each element shown in FIGS. 19 and 20 represents a real “component” in the actual system controlled in accordance with the processing web designated by the PWEditor. In this design the formalism of COM is used (the component object model) as supported by Microsoft corporation. This permits a coupling of these components that can be accomplished very late, even at run time.
- The executable (binary) code which performs the actual calculations are not necessarily loaded into the computer's memory before the operator (human or automated) actually places an object onto the processing web. In this sense the application can be running before the code in question is even written or compiled. Therefore, software supporting probes, or processing related to probes or other physical data input devices will be delivered in the physical hardware of the probe or other physical data input device. This has a commercial advantage in the marketplace since solutions can be delivered in an evolutionary way.
- It will thus be seen that the objects set forth above, among those made apparent from the preceding description, are efficiently attained and, because certain changes may be made in carrying out the above method and in the construction(s) set forth without departing from the spirit and scope of the invention, it is intended that all matter contained in the above description and shown in the accompanying drawings shall be interpreted as illustrative and not in a limiting sense.
- It is also to be understood that the following claims are intended to cover all of the generic and specific features of the invention herein described and all statements of the scope of the invention which, as a matter of language, might be said to fall therebetween.
Claims (77)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/988,420 US20020075267A1 (en) | 2000-11-17 | 2001-11-16 | Processing web editor for data processing in a digital oscilloscope or similar instrument |
US10/803,029 US20040239697A1 (en) | 2000-11-17 | 2004-03-17 | Processing web editor for data processing in a digital oscilloscope or similar instrument |
US10/802,380 US20040222990A1 (en) | 2000-11-17 | 2004-03-17 | Processing web editor for data processing in a digital oscilloscope or similar instrument |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US24948200P | 2000-11-17 | 2000-11-17 | |
US09/988,420 US20020075267A1 (en) | 2000-11-17 | 2001-11-16 | Processing web editor for data processing in a digital oscilloscope or similar instrument |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/803,029 Division US20040239697A1 (en) | 2000-11-17 | 2004-03-17 | Processing web editor for data processing in a digital oscilloscope or similar instrument |
US10/802,380 Division US20040222990A1 (en) | 2000-11-17 | 2004-03-17 | Processing web editor for data processing in a digital oscilloscope or similar instrument |
Publications (1)
Publication Number | Publication Date |
---|---|
US20020075267A1 true US20020075267A1 (en) | 2002-06-20 |
Family
ID=22943636
Family Applications (7)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/988,120 Expired - Lifetime US6539318B2 (en) | 2000-11-17 | 2001-11-16 | Streaming architecture for waveform processing |
US09/988,420 Abandoned US20020075267A1 (en) | 2000-11-17 | 2001-11-16 | Processing web editor for data processing in a digital oscilloscope or similar instrument |
US09/988,119 Expired - Lifetime US6885953B2 (en) | 2000-11-17 | 2001-11-16 | Oscilloscope panel capture and implementation |
US09/988,416 Abandoned US20020097243A1 (en) | 2000-11-17 | 2001-11-16 | Processing web for data processing in a digital oscilloscope or similar instrument |
US09/988,418 Expired - Lifetime US7058800B2 (en) | 2000-11-17 | 2001-11-16 | System for defining internal variables by selecting and confirming the selected valve is within a defined range of values |
US10/803,029 Abandoned US20040239697A1 (en) | 2000-11-17 | 2004-03-17 | Processing web editor for data processing in a digital oscilloscope or similar instrument |
US10/802,380 Abandoned US20040222990A1 (en) | 2000-11-17 | 2004-03-17 | Processing web editor for data processing in a digital oscilloscope or similar instrument |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/988,120 Expired - Lifetime US6539318B2 (en) | 2000-11-17 | 2001-11-16 | Streaming architecture for waveform processing |
Family Applications After (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/988,119 Expired - Lifetime US6885953B2 (en) | 2000-11-17 | 2001-11-16 | Oscilloscope panel capture and implementation |
US09/988,416 Abandoned US20020097243A1 (en) | 2000-11-17 | 2001-11-16 | Processing web for data processing in a digital oscilloscope or similar instrument |
US09/988,418 Expired - Lifetime US7058800B2 (en) | 2000-11-17 | 2001-11-16 | System for defining internal variables by selecting and confirming the selected valve is within a defined range of values |
US10/803,029 Abandoned US20040239697A1 (en) | 2000-11-17 | 2004-03-17 | Processing web editor for data processing in a digital oscilloscope or similar instrument |
US10/802,380 Abandoned US20040222990A1 (en) | 2000-11-17 | 2004-03-17 | Processing web editor for data processing in a digital oscilloscope or similar instrument |
Country Status (5)
Country | Link |
---|---|
US (7) | US6539318B2 (en) |
EP (5) | EP1336133A4 (en) |
JP (5) | JP4188684B2 (en) |
AU (5) | AU2002225634A1 (en) |
WO (5) | WO2002041493A2 (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020097243A1 (en) * | 2000-11-17 | 2002-07-25 | Miller Martin Thomas | Processing web for data processing in a digital oscilloscope or similar instrument |
US20040095350A1 (en) * | 2002-11-15 | 2004-05-20 | Naoya Kamiyama | Computer-readable recording medium with waveform editing program stored and waveform editing system |
USRE39693E1 (en) | 2002-02-27 | 2007-06-12 | Lecroy Corporation | Digital frequency response compensator and arbitrary response generator system |
US20080243406A1 (en) * | 2007-03-27 | 2008-10-02 | Lecroy Corporation | Temporally aligned waveform processing |
USRE42809E1 (en) | 2000-09-01 | 2011-10-04 | Lecroy Corporation | Method and apparatus for increasing bandwidth in sampled systems |
US10386394B2 (en) * | 2008-03-03 | 2019-08-20 | Rohde & Schwarz Gmbh & Co. Kg | Run-time configurable graphical interface for measuring device |
US10852323B2 (en) * | 2018-12-28 | 2020-12-01 | Rohde & Schwarz Gmbh & Co. Kg | Measurement apparatus and method for analyzing a waveform of a signal |
US20210025921A1 (en) * | 2019-07-26 | 2021-01-28 | Rohde & Schwarz Gmbh & Co. Kg | Measurement device with local browser application |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3613554B2 (en) * | 2000-08-24 | 2005-01-26 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Data display method, computer system for performing data display, and recording medium |
US7437624B2 (en) * | 2002-09-30 | 2008-10-14 | Lecroy Corporation | Method and apparatus for analyzing serial data streams |
US7519874B2 (en) * | 2002-09-30 | 2009-04-14 | Lecroy Corporation | Method and apparatus for bit error rate analysis |
US7434113B2 (en) * | 2002-09-30 | 2008-10-07 | Lecroy Corporation | Method of analyzing serial data streams |
US20050102115A1 (en) * | 2003-11-07 | 2005-05-12 | Waldo Gary J. | Digital oscilloscope with customizable display for selected function options |
US7328377B1 (en) * | 2004-01-27 | 2008-02-05 | Altera Corporation | Error correction for programmable logic integrated circuits |
US7270057B2 (en) | 2004-01-28 | 2007-09-18 | Rdp Marathon Inc. | Rolling element adjustment system |
WO2006001421A1 (en) | 2004-06-29 | 2006-01-05 | Dainippon Ink And Chemicals, Inc. | Aqueous dispersions of cationic polyurethane resins, ink -jet receiving agents containing the same, and ink-jet recording media made by using the agents |
US7663624B2 (en) * | 2004-06-30 | 2010-02-16 | Lecroy Corporation | Report generating method and apparatus |
JP2006084453A (en) * | 2004-08-18 | 2006-03-30 | Horiba Ltd | Analysis device |
JP4747792B2 (en) * | 2005-11-10 | 2011-08-17 | ソニー株式会社 | Information processing apparatus and method for initializing setting items thereof |
US7466247B1 (en) | 2007-10-04 | 2008-12-16 | Lecroy Corporation | Fractional-decimation signal processing |
US9063740B2 (en) * | 2008-09-16 | 2015-06-23 | Oracle International Corporation | Web widget component for a rapid application development tool |
US8719896B2 (en) * | 2008-09-16 | 2014-05-06 | Oracle International Corporation | Widget host container component for a rapid application development tool |
US8769490B2 (en) * | 2008-09-16 | 2014-07-01 | Oracle International Corporation | Desktop widget engine emulator component for a rapid application development tool |
JP5702532B2 (en) * | 2009-11-26 | 2015-04-15 | 日置電機株式会社 | Real time waveform recorder |
JP2011203070A (en) * | 2010-03-25 | 2011-10-13 | Yokogawa Electric Corp | Waveform measurement apparatus and semiconductor tester |
USD733761S1 (en) | 2011-10-11 | 2015-07-07 | Proteus Digital Health, Inc. | Display screen portion having a graphical user interface for patient monitoring |
USD733727S1 (en) | 2011-10-11 | 2015-07-07 | Proteus Digital Health, Inc. | Display screen portion having a graphical user interface for patient monitoring |
USD733760S1 (en) | 2011-10-11 | 2015-07-07 | Proteus Digital Health, Inc. | Display screen portion having a graphical user interface for patient monitoring |
CN103176016B (en) * | 2011-12-22 | 2016-08-10 | 北京普源精电科技有限公司 | A kind of oscillograph with multipurpose multiplex interface |
US9496993B1 (en) | 2012-01-13 | 2016-11-15 | Teledyne Lecroy, Inc. | Noise analysis to reveal jitter and crosstalk's effect on signal integrity |
USD714334S1 (en) | 2012-12-20 | 2014-09-30 | Proteus Digital Health, Inc. | Display screen portion having a graphical user interface for patient monitoring |
USD714335S1 (en) | 2012-12-20 | 2014-09-30 | Proteus Digital Health, Inc. | Display screen portion having a graphical user interface for patient monitoring |
USD713854S1 (en) | 2012-12-20 | 2014-09-23 | Proteus Digital Health, Inc. | Display screen portion having a graphical user interface for patient monitoring |
USD714336S1 (en) | 2012-12-20 | 2014-09-30 | Proteus Digital Health, Inc. | Display screen portion having a graphical user interface for patient monitoring |
IN2013MU01543A (en) * | 2013-04-26 | 2015-04-17 | Tektronix Inc | |
JP5990502B2 (en) * | 2013-10-11 | 2016-09-14 | Mywayプラス株式会社 | Control device, control system, control method and control program for electric power equipment |
US10713152B2 (en) * | 2017-06-28 | 2020-07-14 | Sap Se | Automated path generator for optimized application testing |
WO2020058179A1 (en) * | 2018-09-19 | 2020-03-26 | Basf Se | Simulation of unit operations of a chemical plant for acid gas removal |
Citations (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US75267A (en) * | 1868-03-10 | Improvement in cotton-bale tie | ||
US4072851A (en) * | 1976-03-26 | 1978-02-07 | Norland Corporation | Waveform measuring instrument with resident programmed processor for controlled waveform display and waveform data reduction and calculation |
US4104725A (en) * | 1976-03-26 | 1978-08-01 | Norland Corporation | Programmed calculating input signal module for waveform measuring and analyzing instrument |
US4307393A (en) * | 1977-11-11 | 1981-12-22 | Hitachi, Ltd. | Trend graph display system |
US4634970A (en) * | 1983-12-30 | 1987-01-06 | Norland Corporation | Digital waveform processing oscilloscope with distributed data multiple plane display system |
US4758963A (en) * | 1982-09-14 | 1988-07-19 | Analogic Corporation | Modular computing oscilloscope with high speed signal memory |
US4809189A (en) * | 1986-10-09 | 1989-02-28 | Tektronix, Inc. | Equivalent time waveform data display |
US4818932A (en) * | 1986-09-25 | 1989-04-04 | Tektronix, Inc. | Concurrent memory access system |
US4868785A (en) * | 1987-01-27 | 1989-09-19 | Tektronix, Inc. | Block diagram editor system and method for controlling electronic instruments |
US4884228A (en) * | 1986-10-14 | 1989-11-28 | Tektronix, Inc. | Flexible instrument control system |
US4906916A (en) * | 1985-03-27 | 1990-03-06 | Createc Gesellschaft Fur Elektrotechnik Mbh | Signal processing device having high speed shift register |
US5081592A (en) * | 1987-08-05 | 1992-01-14 | Tektronix, Inc. | Test system for acquiring, calculating and displaying representations of data sequences |
US5155836A (en) * | 1987-01-27 | 1992-10-13 | Jordan Dale A | Block diagram system and method for controlling electronic instruments with simulated graphic display |
US5301336A (en) * | 1986-10-24 | 1994-04-05 | National Instruments, Inc. | Graphical method for programming a virtual instrument |
US5384906A (en) * | 1987-11-09 | 1995-01-24 | Tandem Computers Incorporated | Method and apparatus for synchronizing a plurality of processors |
US5400246A (en) * | 1989-05-09 | 1995-03-21 | Ansan Industries, Ltd. | Peripheral data acquisition, monitor, and adaptive control system via personal computer |
US5432525A (en) * | 1989-07-26 | 1995-07-11 | Hitachi, Ltd. | Multimedia telemeeting terminal device, terminal device system and manipulation method thereof |
US5475851A (en) * | 1986-04-14 | 1995-12-12 | National Instruments Corporation | Method and apparatus for improved local and global variable capabilities in a graphical data flow program |
US5497500A (en) * | 1986-04-14 | 1996-03-05 | National Instruments Corporation | Method and apparatus for more efficient function synchronization in a data flow program |
US5668469A (en) * | 1993-06-28 | 1997-09-16 | Hitachi Denshi Kabushiki Kaisha | Digital oscilloscope using color plane display device and data display method therefore |
US5684507A (en) * | 1994-09-07 | 1997-11-04 | Fluke Corporation | Method of displaying continuously acquired data on a fixed length display |
US5737622A (en) * | 1986-04-14 | 1998-04-07 | National Instruments Corporation | Method and apparatus for more efficient function synchronization in a data flow program |
US5736971A (en) * | 1993-04-27 | 1998-04-07 | Melco Inc. | Method and apparatus for increasing resolution of a computer graphics display |
US5822525A (en) * | 1996-05-22 | 1998-10-13 | Microsoft Corporation | Method and system for presentation conferencing |
US5861882A (en) * | 1994-11-03 | 1999-01-19 | Motorola, Inc. | Integrated test and measurement means employing a graphical user interface |
US5920479A (en) * | 1996-09-23 | 1999-07-06 | National Instruments Corporation | System and method for performing interface independent virtual instrumentation functions in a graphical data flow program |
US5931906A (en) * | 1997-04-18 | 1999-08-03 | Creative Communications Group | System for creating a multimedia presentation by integrating local program materials with remotely accessible program materials |
US5953009A (en) * | 1997-05-27 | 1999-09-14 | Hewlett-Packard Company | Graphical system and method for invoking measurements in a signal measurement system |
US5956487A (en) * | 1996-10-25 | 1999-09-21 | Hewlett-Packard Company | Embedding web access mechanism in an appliance for user interface functions including a web server and web browser |
US5986637A (en) * | 1994-04-13 | 1999-11-16 | Tektronix, Inc. | Digital oscilloscope architecture for signal monitoring with enhanced duty cycle |
US5987246A (en) * | 1997-02-14 | 1999-11-16 | National Instruments Corp. | Graphical programming system and method including three-dimensional nodes with pre-defined input and output capabilities |
US6055246A (en) * | 1995-03-17 | 2000-04-25 | Olivetti Research Limited | Addition of time information |
US6121799A (en) * | 1999-04-29 | 2000-09-19 | Tektronix, Inc. | Interleaved digital peak detector |
US6139177A (en) * | 1996-12-03 | 2000-10-31 | Hewlett Packard Company | Device access and control using embedded web access functionality |
US6195617B1 (en) * | 1998-03-09 | 2001-02-27 | Lecroy, S.A. | Digital storage oscilloscope with simultaneous primary measurement and derived parameter display on common time axis and method therefor |
US6371672B1 (en) * | 1998-11-06 | 2002-04-16 | Gunther International, Ltd. | Imager featuring service station assembly with interface board and cartridge assembly with customized rasterizer and pen driver boards |
US6418391B1 (en) * | 1997-10-10 | 2002-07-09 | Advantest Corporation | Testing system for performing an operation of an application which controls testing equipment for testing a device under test and method for controlling the same |
US6437786B1 (en) * | 1998-07-02 | 2002-08-20 | Seiko Epson Corporation | Method of reproducing image data in network projector system, and network projector system |
US6570592B1 (en) * | 1999-10-29 | 2003-05-27 | Agilent Technologies, Inc. | System and method for specifying trigger conditions of a signal measurement system using graphical elements on a graphical user interface |
US6591247B2 (en) * | 1997-08-08 | 2003-07-08 | Prn Corporation | Method and apparatus for distributing audiovisual content |
US6606326B1 (en) * | 1999-07-02 | 2003-08-12 | International Business Machines Corporation | Packet switch employing dynamic transfer of data packet from central shared queue path to cross-point switching matrix path |
US6618630B1 (en) * | 1999-07-08 | 2003-09-09 | Fisher-Rosemount Systems, Inc. | User interface that integrates a process control configuration system and a field device management system |
US6662226B1 (en) * | 2000-01-27 | 2003-12-09 | Inbit, Inc. | Method and system for activating and capturing screen displays associated with predetermined user interface events |
US6735616B1 (en) * | 2000-06-07 | 2004-05-11 | Infocus Corporation | Method and apparatus for remote projector administration and control |
US6738964B1 (en) * | 1999-03-11 | 2004-05-18 | Texas Instruments Incorporated | Graphical development system and method |
US6782402B1 (en) * | 1999-05-06 | 2004-08-24 | Seiko Epson Corporation | Network management system, computer system, copy server, file server, network copy file management method, and computer readable medium |
US6996799B1 (en) * | 2000-08-08 | 2006-02-07 | Mobilygen Corporation | Automatic code generation for integrated circuit design |
US7059722B2 (en) * | 2001-01-19 | 2006-06-13 | Mitsubishi Denki Kabushiki Kaisha | Projector, network system including projector, and method of controlling projector on network system |
US7143177B1 (en) * | 1997-03-31 | 2006-11-28 | West Corporation | Providing a presentation on a network having a plurality of synchronized media types |
US7330875B1 (en) * | 1999-06-15 | 2008-02-12 | Microsoft Corporation | System and method for recording a presentation for on-demand viewing over a computer network |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4217651A (en) * | 1978-12-12 | 1980-08-12 | Datron Electronics Limited | Electrical measurements |
US4479197A (en) * | 1980-11-25 | 1984-10-23 | Hewlett-Packard Company | Method and apparatus for selecting and setting the mode of operation for a mechanism |
US4578640A (en) * | 1982-09-14 | 1986-03-25 | Analogic Corporation | Oscilloscope control |
US4812038A (en) * | 1987-01-21 | 1989-03-14 | Hewlett-Packard Company | Adaptive selection of OTDR test parameters and the fusion of data taken from successively shrinking measurement spans |
US5012181A (en) * | 1987-01-29 | 1991-04-30 | John Fluke Mfg. Co., Inc. | Apparatus for and method of internally calibrating an electrical calibrator |
CA1329431C (en) * | 1988-09-02 | 1994-05-10 | Pierre A. Radochonski | Single bus graphics data processing pipeline |
US5212485A (en) * | 1990-09-27 | 1993-05-18 | Tektronix, Inc. | Analog oscilloscope digitizer |
US5264833A (en) * | 1991-06-28 | 1993-11-23 | Edward Jeffers | Automatic leak detector |
US6010592A (en) * | 1994-06-23 | 2000-01-04 | Kimberly-Clark Corporation | Method and apparatus for increasing the flow rate of a liquid through an orifice |
US5717704A (en) * | 1996-04-16 | 1998-02-10 | Ltx Corporation | Test system including a local trigger signal generator for each of a plurality of test instruments |
US5771345A (en) * | 1996-04-25 | 1998-06-23 | Tektronix, Inc. | Integrated digital processing device and method for examining the operation thereof |
US6100885A (en) * | 1996-07-06 | 2000-08-08 | International Business Machines Corporation | Supporting modification of properties via a computer system's user interface |
US6067584A (en) * | 1996-09-09 | 2000-05-23 | National Instruments Corporation | Attribute-based system and method for configuring and controlling a data acquisition task |
US5799266A (en) * | 1996-09-19 | 1998-08-25 | Sun Microsystems, Inc. | Automatic generation of test drivers |
US6002868A (en) * | 1996-12-31 | 1999-12-14 | Compaq Computer Corporation | Test definition tool |
US5933826A (en) * | 1997-03-21 | 1999-08-03 | Novell, Inc. | Method and apparatus for securing and storing executable content |
US6327623B2 (en) * | 1997-05-30 | 2001-12-04 | Texas Instruments Incorporated | Computer system with environmental detection |
US5994901A (en) * | 1998-05-13 | 1999-11-30 | Global Petroleum Resouces Institute | Magnetic resonance logging instrument |
US6320577B1 (en) * | 1998-11-03 | 2001-11-20 | Agilent Technologies, Inc. | System and method for graphically annotating a waveform display in a signal-measurement system |
US6389491B1 (en) * | 1999-03-23 | 2002-05-14 | Agilent Technologies, Inc. | Test instrumentation I/O communication interface and method |
US6317849B1 (en) * | 1999-04-28 | 2001-11-13 | Intel Corporation | Method and apparatus for controlling available capabilities of a device |
US6397173B1 (en) * | 1999-05-03 | 2002-05-28 | Astec International Llc | Application specific waveform generator |
US6614456B1 (en) * | 2000-01-19 | 2003-09-02 | Xerox Corporation | Systems, methods and graphical user interfaces for controlling tone reproduction curves of image capture and forming devices |
US6615148B2 (en) * | 2000-05-17 | 2003-09-02 | Tektronix, Inc. | Streaming distributed test and measurement instrument |
US6539318B2 (en) * | 2000-11-17 | 2003-03-25 | Lecroy Corporation | Streaming architecture for waveform processing |
DE10124371A1 (en) * | 2001-05-18 | 2002-11-21 | Rohde & Schwarz | Measurement unit, especially a signal generator has a number of function units that can be connected in different manners and a control unit that determines their connections and represents them on a graphical display |
-
2001
- 2001-11-16 US US09/988,120 patent/US6539318B2/en not_active Expired - Lifetime
- 2001-11-16 AU AU2002225634A patent/AU2002225634A1/en not_active Abandoned
- 2001-11-16 AU AU2002225633A patent/AU2002225633A1/en not_active Abandoned
- 2001-11-16 JP JP2002543785A patent/JP4188684B2/en not_active Expired - Fee Related
- 2001-11-16 WO PCT/US2001/043118 patent/WO2002041493A2/en active Application Filing
- 2001-11-16 WO PCT/US2001/043211 patent/WO2002041103A2/en not_active Application Discontinuation
- 2001-11-16 JP JP2002542951A patent/JP2004514145A/en active Pending
- 2001-11-16 AU AU2002225625A patent/AU2002225625A1/en not_active Abandoned
- 2001-11-16 US US09/988,420 patent/US20020075267A1/en not_active Abandoned
- 2001-11-16 EP EP01995114A patent/EP1336133A4/en not_active Withdrawn
- 2001-11-16 AU AU2002225635A patent/AU2002225635A1/en not_active Abandoned
- 2001-11-16 US US09/988,119 patent/US6885953B2/en not_active Expired - Lifetime
- 2001-11-16 JP JP2002542964A patent/JP4179537B2/en not_active Expired - Fee Related
- 2001-11-16 EP EP01995123A patent/EP1337909A4/en not_active Withdrawn
- 2001-11-16 US US09/988,416 patent/US20020097243A1/en not_active Abandoned
- 2001-11-16 WO PCT/US2001/043210 patent/WO2002041102A2/en active Application Filing
- 2001-11-16 EP EP01995124A patent/EP1337910A4/en not_active Withdrawn
- 2001-11-16 WO PCT/US2001/043122 patent/WO2002041088A1/en active Application Filing
- 2001-11-16 EP EP01996925A patent/EP1397864A4/en not_active Ceased
- 2001-11-16 JP JP2002542884A patent/JP4209674B2/en not_active Expired - Fee Related
- 2001-11-16 AU AU2002216659A patent/AU2002216659A1/en not_active Abandoned
- 2001-11-16 EP EP01995122A patent/EP1336110A4/en not_active Withdrawn
- 2001-11-16 US US09/988,418 patent/US7058800B2/en not_active Expired - Lifetime
- 2001-11-16 JP JP2002542965A patent/JP2004514147A/en not_active Abandoned
- 2001-11-16 WO PCT/US2001/043209 patent/WO2002041009A2/en active Application Filing
-
2004
- 2004-03-17 US US10/803,029 patent/US20040239697A1/en not_active Abandoned
- 2004-03-17 US US10/802,380 patent/US20040222990A1/en not_active Abandoned
Patent Citations (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US75267A (en) * | 1868-03-10 | Improvement in cotton-bale tie | ||
US4072851A (en) * | 1976-03-26 | 1978-02-07 | Norland Corporation | Waveform measuring instrument with resident programmed processor for controlled waveform display and waveform data reduction and calculation |
US4104725A (en) * | 1976-03-26 | 1978-08-01 | Norland Corporation | Programmed calculating input signal module for waveform measuring and analyzing instrument |
US4307393A (en) * | 1977-11-11 | 1981-12-22 | Hitachi, Ltd. | Trend graph display system |
US4758963A (en) * | 1982-09-14 | 1988-07-19 | Analogic Corporation | Modular computing oscilloscope with high speed signal memory |
US4634970A (en) * | 1983-12-30 | 1987-01-06 | Norland Corporation | Digital waveform processing oscilloscope with distributed data multiple plane display system |
US4906916A (en) * | 1985-03-27 | 1990-03-06 | Createc Gesellschaft Fur Elektrotechnik Mbh | Signal processing device having high speed shift register |
US5475851A (en) * | 1986-04-14 | 1995-12-12 | National Instruments Corporation | Method and apparatus for improved local and global variable capabilities in a graphical data flow program |
US5737622A (en) * | 1986-04-14 | 1998-04-07 | National Instruments Corporation | Method and apparatus for more efficient function synchronization in a data flow program |
US5497500A (en) * | 1986-04-14 | 1996-03-05 | National Instruments Corporation | Method and apparatus for more efficient function synchronization in a data flow program |
US4818932A (en) * | 1986-09-25 | 1989-04-04 | Tektronix, Inc. | Concurrent memory access system |
US4809189A (en) * | 1986-10-09 | 1989-02-28 | Tektronix, Inc. | Equivalent time waveform data display |
US4884228A (en) * | 1986-10-14 | 1989-11-28 | Tektronix, Inc. | Flexible instrument control system |
US5301336A (en) * | 1986-10-24 | 1994-04-05 | National Instruments, Inc. | Graphical method for programming a virtual instrument |
US4868785A (en) * | 1987-01-27 | 1989-09-19 | Tektronix, Inc. | Block diagram editor system and method for controlling electronic instruments |
US5155836A (en) * | 1987-01-27 | 1992-10-13 | Jordan Dale A | Block diagram system and method for controlling electronic instruments with simulated graphic display |
US5081592A (en) * | 1987-08-05 | 1992-01-14 | Tektronix, Inc. | Test system for acquiring, calculating and displaying representations of data sequences |
US5384906A (en) * | 1987-11-09 | 1995-01-24 | Tandem Computers Incorporated | Method and apparatus for synchronizing a plurality of processors |
US5400246A (en) * | 1989-05-09 | 1995-03-21 | Ansan Industries, Ltd. | Peripheral data acquisition, monitor, and adaptive control system via personal computer |
US5432525A (en) * | 1989-07-26 | 1995-07-11 | Hitachi, Ltd. | Multimedia telemeeting terminal device, terminal device system and manipulation method thereof |
US5736971A (en) * | 1993-04-27 | 1998-04-07 | Melco Inc. | Method and apparatus for increasing resolution of a computer graphics display |
US5668469A (en) * | 1993-06-28 | 1997-09-16 | Hitachi Denshi Kabushiki Kaisha | Digital oscilloscope using color plane display device and data display method therefore |
US5986637A (en) * | 1994-04-13 | 1999-11-16 | Tektronix, Inc. | Digital oscilloscope architecture for signal monitoring with enhanced duty cycle |
US5684507A (en) * | 1994-09-07 | 1997-11-04 | Fluke Corporation | Method of displaying continuously acquired data on a fixed length display |
US5861882A (en) * | 1994-11-03 | 1999-01-19 | Motorola, Inc. | Integrated test and measurement means employing a graphical user interface |
US6055246A (en) * | 1995-03-17 | 2000-04-25 | Olivetti Research Limited | Addition of time information |
US5822525A (en) * | 1996-05-22 | 1998-10-13 | Microsoft Corporation | Method and system for presentation conferencing |
US5920479A (en) * | 1996-09-23 | 1999-07-06 | National Instruments Corporation | System and method for performing interface independent virtual instrumentation functions in a graphical data flow program |
US5956487A (en) * | 1996-10-25 | 1999-09-21 | Hewlett-Packard Company | Embedding web access mechanism in an appliance for user interface functions including a web server and web browser |
US6170007B1 (en) * | 1996-10-25 | 2001-01-02 | Hewlett-Packard Company | Embedding web access functionality into a device for user interface functions |
US6139177A (en) * | 1996-12-03 | 2000-10-31 | Hewlett Packard Company | Device access and control using embedded web access functionality |
US5987246A (en) * | 1997-02-14 | 1999-11-16 | National Instruments Corp. | Graphical programming system and method including three-dimensional nodes with pre-defined input and output capabilities |
US7143177B1 (en) * | 1997-03-31 | 2006-11-28 | West Corporation | Providing a presentation on a network having a plurality of synchronized media types |
US5931906A (en) * | 1997-04-18 | 1999-08-03 | Creative Communications Group | System for creating a multimedia presentation by integrating local program materials with remotely accessible program materials |
US5953009A (en) * | 1997-05-27 | 1999-09-14 | Hewlett-Packard Company | Graphical system and method for invoking measurements in a signal measurement system |
US6591247B2 (en) * | 1997-08-08 | 2003-07-08 | Prn Corporation | Method and apparatus for distributing audiovisual content |
US6418391B1 (en) * | 1997-10-10 | 2002-07-09 | Advantest Corporation | Testing system for performing an operation of an application which controls testing equipment for testing a device under test and method for controlling the same |
US6195617B1 (en) * | 1998-03-09 | 2001-02-27 | Lecroy, S.A. | Digital storage oscilloscope with simultaneous primary measurement and derived parameter display on common time axis and method therefor |
US6437786B1 (en) * | 1998-07-02 | 2002-08-20 | Seiko Epson Corporation | Method of reproducing image data in network projector system, and network projector system |
US6371672B1 (en) * | 1998-11-06 | 2002-04-16 | Gunther International, Ltd. | Imager featuring service station assembly with interface board and cartridge assembly with customized rasterizer and pen driver boards |
US6738964B1 (en) * | 1999-03-11 | 2004-05-18 | Texas Instruments Incorporated | Graphical development system and method |
US6121799A (en) * | 1999-04-29 | 2000-09-19 | Tektronix, Inc. | Interleaved digital peak detector |
US6782402B1 (en) * | 1999-05-06 | 2004-08-24 | Seiko Epson Corporation | Network management system, computer system, copy server, file server, network copy file management method, and computer readable medium |
US7330875B1 (en) * | 1999-06-15 | 2008-02-12 | Microsoft Corporation | System and method for recording a presentation for on-demand viewing over a computer network |
US6606326B1 (en) * | 1999-07-02 | 2003-08-12 | International Business Machines Corporation | Packet switch employing dynamic transfer of data packet from central shared queue path to cross-point switching matrix path |
US6618630B1 (en) * | 1999-07-08 | 2003-09-09 | Fisher-Rosemount Systems, Inc. | User interface that integrates a process control configuration system and a field device management system |
US6570592B1 (en) * | 1999-10-29 | 2003-05-27 | Agilent Technologies, Inc. | System and method for specifying trigger conditions of a signal measurement system using graphical elements on a graphical user interface |
US6662226B1 (en) * | 2000-01-27 | 2003-12-09 | Inbit, Inc. | Method and system for activating and capturing screen displays associated with predetermined user interface events |
US6735616B1 (en) * | 2000-06-07 | 2004-05-11 | Infocus Corporation | Method and apparatus for remote projector administration and control |
US6996799B1 (en) * | 2000-08-08 | 2006-02-07 | Mobilygen Corporation | Automatic code generation for integrated circuit design |
US7059722B2 (en) * | 2001-01-19 | 2006-06-13 | Mitsubishi Denki Kabushiki Kaisha | Projector, network system including projector, and method of controlling projector on network system |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE42809E1 (en) | 2000-09-01 | 2011-10-04 | Lecroy Corporation | Method and apparatus for increasing bandwidth in sampled systems |
US20020097243A1 (en) * | 2000-11-17 | 2002-07-25 | Miller Martin Thomas | Processing web for data processing in a digital oscilloscope or similar instrument |
USRE39693E1 (en) | 2002-02-27 | 2007-06-12 | Lecroy Corporation | Digital frequency response compensator and arbitrary response generator system |
USRE40802E1 (en) | 2002-02-27 | 2009-06-23 | Lecroy Corporation | Digital frequency response compensator and arbitrary response generator system |
US20040095350A1 (en) * | 2002-11-15 | 2004-05-20 | Naoya Kamiyama | Computer-readable recording medium with waveform editing program stored and waveform editing system |
US7224363B2 (en) * | 2002-11-15 | 2007-05-29 | Fujitsu Ten Limited | Computer-readable recording medium with waveform editing program stored and waveform editing system |
US20080243406A1 (en) * | 2007-03-27 | 2008-10-02 | Lecroy Corporation | Temporally aligned waveform processing |
US10386394B2 (en) * | 2008-03-03 | 2019-08-20 | Rohde & Schwarz Gmbh & Co. Kg | Run-time configurable graphical interface for measuring device |
US10852323B2 (en) * | 2018-12-28 | 2020-12-01 | Rohde & Schwarz Gmbh & Co. Kg | Measurement apparatus and method for analyzing a waveform of a signal |
US20210025921A1 (en) * | 2019-07-26 | 2021-01-28 | Rohde & Schwarz Gmbh & Co. Kg | Measurement device with local browser application |
US11635451B2 (en) * | 2019-07-26 | 2023-04-25 | Rohde & Schwarz Gmbh & Co. Kg | Measurement device with local browser application |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20020075267A1 (en) | Processing web editor for data processing in a digital oscilloscope or similar instrument | |
US7496480B2 (en) | Sweep manager for signal analysis | |
US6522345B1 (en) | System and method for simultaneously invoking automated measurements in a signal measurement system | |
US20090019429A1 (en) | Virtualization of data source components in subject-oriented graphical programming environments for test and measurement applications | |
US6952655B2 (en) | User defined processing function | |
US7827209B2 (en) | Data object based data analysis | |
US20100293480A1 (en) | Automatically Generating Documentation for a Diagram Including a Plurality of States and Transitions | |
US7184906B2 (en) | Systems and methods for performing multi-source measurements | |
US6907365B2 (en) | Context sensitive toolbar | |
US20130262015A1 (en) | Annotating Measurement Results Data Capture Images with Instrumentation Configuration | |
US6862030B1 (en) | Method for showing the execution trail of objects in a graphical programming language | |
US20130262016A1 (en) | Automatically Configuring a Measurement System Using Measurement Results Data Capture Images Annotated with Instrumentation Configuration | |
US9459605B2 (en) | Analyzing hardware of a turbine controller | |
Tinaztepe et al. | Functional Test Program Generation Through interactive Graphics. | |
CN117075780A (en) | Signal analysis interaction method and device, electronic equipment and storage medium | |
US20090292500A1 (en) | User interface for establishing synchronous sampling characteristics from asynchronous data acquisitions | |
KR20130064195A (en) | Visual pulse sequence edit system and the method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: LECROY CORPORATION, NEW YORK Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CAKE, ANTHONY;SALANT, LAWRENCE STEVEN;CAMPICHE, THIERRY;REEL/FRAME:012613/0202;SIGNING DATES FROM 20010114 TO 20020114 |
|
AS | Assignment |
Owner name: BANK OF NEW YORK, THE, AS ADMINISTRATIVE AGENT, NE Free format text: GRANT OF SECURITY INTEREST;ASSIGNOR:LECROY CORPORATION;REEL/FRAME:015355/0270 Effective date: 20041029 |
|
AS | Assignment |
Owner name: MANUFACTURERS AND TRADERS TRUST COMPANY,NEW YORK Free format text: SECURITY AGREEMENT;ASSIGNOR:LECROY CORPORATION;REEL/FRAME:019331/0239 Effective date: 20070330 Owner name: MANUFACTURERS AND TRADERS TRUST COMPANY, NEW YORK Free format text: SECURITY AGREEMENT;ASSIGNOR:LECROY CORPORATION;REEL/FRAME:019331/0239 Effective date: 20070330 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: MANUFACTURERS AND TRADERS TRUST COMPANY, NEW YORK Free format text: SECURITY AGREEMENT;ASSIGNOR:LECROY CORPORATION;REEL/FRAME:024892/0689 Effective date: 20100729 |
|
AS | Assignment |
Owner name: LECROY CORPORATION, NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MANUFACTURERS AND TRADERS TRUST COMPANY, AS AGENT;REEL/FRAME:029128/0280 Effective date: 20121009 Owner name: LECROY CORPORATION, NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MANUFACTURERS AND TRADERS TRUST COMPANY, AS AGENT;REEL/FRAME:029129/0880 Effective date: 20121009 |
|
AS | Assignment |
Owner name: TELEDYNE LECROY, INC., NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:RBS CITIZENS, N.A.;REEL/FRAME:029155/0478 Effective date: 20120822 |
|
AS | Assignment |
Owner name: LECROY CORPORATION, NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JP MORGAN CHASE BANK, N.A. AS ADMINISTRATIVE AGENT SUCCESSOR ADMINISTRATIVE AGENT TO THE BANK OF NEW YORK;REEL/FRAME:029328/0042 Effective date: 20121018 |