Data processing: measuring – calibrating – or testing – Measurement system in a specific environment – Electrical signal parameter measurement system
Reexamination Certificate
2001-11-16
2003-03-25
Hoff, Marc S. (Department: 2857)
Data processing: measuring, calibrating, or testing
Measurement system in a specific environment
Electrical signal parameter measurement system
C324S12100R
Reexamination Certificate
active
06539318
ABSTRACT:
BACKGROUND OF THE INVENTION
The present invention relates generally to a method and apparatus for processing waveform data acquired by an oscilloscope using a streaming architecture.
It is often desirable to perform complex processing on data obtained by a storage oscilloscope. Generally, this data is in the form of a waveform acquired by the oscilloscope's acquisition system. There are many applications in science and industry that are addressed by performing multiple operations on a waveform, thereby producing either other ‘processed’ waveforms or sets of parametric values. Traditionally, such multiple operation processing is performed by repeatedly processing the entire waveform using a single processor.
However, this approach has several drawbacks. First, the repeated use of a single processor means each operation must be performed sequentially and thus limits the processing speed. Speed is important because often the oscilloscope cannot acquire a next waveform until the processing of the previously acquired waveform is complete. In addition, the operator may not know what additional data needs to be acquired until processing of the previously acquired waveform is complete. Second, the entire waveform is generally processed in each operation resulting in an intermediate result. This intermediate result is often of the same size as the original waveform and therefore requires similar storage capacity. Third, each time the waveform or an intermediate result is processed, a memory retrieval/storage operation is required. Such repeated memory accesses take time and further limit the processing speed. In addition, large waveforms and their correspondingly large intermediate results often require memory areas which are beyond the processor's on-chip capacity.
Therefore, a need exists for a capability to perform multiple processing operations on large waveforms and at a relatively high speed. Preferably, a solution to this problem should be cost effective and readily implementable.
SUMMARY OF THE INVENTION
Recent advancements in operating systems that support the use of multiple processors, multiple processing objects on a single processor (i.e. virtual processors), single and plural processing threads, and shared memory caching in accordance with the invention now allow for practical implementation of a streaming architecture in digital oscilloscopes. Further, the practicality of such an approach has been proven by related developments in the processing of streaming video data.
It is therefore an object of the present invention to provide a method and apparatus for processing waveform data acquired by an oscilloscope using a streaming architecture.
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 preferred embodiment of the invention provides an oscilloscope apparatus for processing waveform data using a streaming architecture. The oscilloscope apparatus has a waveform source for supplying the waveform data, a plurality of processing objects for sequentially processing portions of the waveform data, and an outlet means for requesting portions of the waveform data from the plurality of processing objects. The processing objects have a processing memory for storing portions of the waveform during processing and which is accessible by each of the plurality of processing objects. A first processing object retrieves a portion of the waveform data from the waveform source in response to a request by a second processing object, processes the portion of the waveform data and stores the processed portion in a memory location designated as corresponding to the requested portion. A second processing object requests the portion of the waveform data from the first processing object, retrieves the portion processed by the first processing object from the memory location in response to a request by the outlet means, further processes the processed portion, and stores the processed portion back in the memory location corresponding to the requested portion. The outlet means then retrieves the portion processed by the second processing object from the memory location corresponding to the requested portion.
In the preferred embodiment, the processing memory may be a cache memory. The waveform source generally has a separate memory for storing the waveform data. The outlet means is usually a display for displaying the processed waveform and may have a memory for storing the processed waveform data.
Another aspect of the invention is that the outlet means may request further portions of the waveform data from the second processor after retrieving the processed portion of the waveform data from the memory location, until the entire waveform data has been requested and processed.
Another aspect of the invention is that the outlet means may request further portions of the waveform data from the second processing object after retrieving the processed portion of the waveform data from the memory location, such that the plurality of processing objects simultaneously process sequentially requested portions of the waveform data using corresponding memory locations.
Another aspect of the invention is that the plurality of processing objects further comprises a third processing object for requesting the portion of the waveform data from the second processing object and retrieving the portion processed by the second processing object from the memory location corresponding to the requested portion in response to a request by the outlet means. The third processing object further processes the processed portion and stores the processed portion back in the memory location. The outlet means retrieves the portion processed by the third processing object from the memory location corresponding to the requested portion.
Another aspect of the invention is that the plurality of processing objects further comprises plural sequential processing objects. A first sequential processing object requests the portion of the waveform data from the second processing object. The plural sequential processing object other than the first sequential processing object request the portion of the waveform data from a preceding sequential processing object. A last sequential processing object retrieves the processed portion from the memory location in response to a request by the outlet means. The plural sequential processing objects other than the last sequential processing object retrieve the processed portion from the memory location in response to a request by a next sequential processing object. The plural sequential processing objects further process the processed portion and store the processed portion back in the memory location. The outlet means retrieves the portion processed by the last sequential processing object from the memory location.
Another aspect of the invention is that the oscilloscope apparatus may further comprise acquisition means for acquiring the waveform data for the waveform source.
Another aspect of the invention is that the oscilloscope apparatus may further comprise a user interface for programming the processing performed by the plurality of processing objects.
Another aspect of the invention is that the oscilloscope apparatus may be interrupted between processing the portions of the waveform data.
A second embodiment of the invention provides a method of processing waveform data using a streaming architecture. The method first requests a portion of the waveform data for processing. The requested portion of the waveform data is retrieved using the first of a plurality of sequential processing objects. The retrieved portion of the waveform data is processed with the first processing object to obtain a processed portion which is stored in a memory location designated as corresponding to the retrieved portion. The processed portion is then retrieved from the memory location using the next of the plurality of sequential processing objects. The processed portion is then further processed with the next process
Libby Jonathan Calvin
Miller Martin Thomas
Ritter Gilles
Charioui Mohamed
Frommer William S.
Frommer & Lawrence & Haug LLP
Hoff Marc S.
Kessler Gordon
LandOfFree
Streaming architecture for waveform processing does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Streaming architecture for waveform processing, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Streaming architecture for waveform processing will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3012188