TECHNICAL FIELD

The present invention pertains generally to the generation of waveforms and, in particular, to a system and method for generating waveform information defined by a set of parameters.

BACKGROUND ART

When signals are received, transmitted, or processed, they are often represented as electromagnetic waveforms. Many products are available for processing such signals, and it is common practice to transform between domains of frequency and time, or frequency and space, to achieve desired results. In particular, an electrocardiograph monitors electrical signals produced by a beating heart. Other products monitor light waves transmitted in an optical fiber and others monitor the power transmitted in a wire.

Monitors may also compare the received waveform signals with defined waveforms and produce a desired result when an abnormal waveform is detected. For example, an implanted cardiac pacer may produce a stimulating pulse when it detects a heart arrhythmia.

It will be appreciated that a waveform signal monitor that does not function properly may cause serious consequences. Therefore, a variety of signal generator products such as arbitrary waveform generators and simulators have been developed to test waveform signal monitors by generating waveform signals that simulate real-world signals that are expected to be monitored.

A typical waveform signal generator may contain several digitized waveforms in non-volatile memory. Upon a request, a digitized waveform is recalled from memory and processed through a digital/analog convertor. The resulting analog waveform signal then is sent to the monitor that is being tested. The monitor's response to a known waveform or series of waveforms can then be observed.

The specific waveforms will vary according to the anticipated use of the waveform generator or simulator. For example, a simulator for use with a cardiac pacer or electrocardiograph may contain an R-wave and several common arrhythmia waveforms. A simulator for use with an optical fiber transmission monitor may contain backscatter waveforms associated with several common imperfections in the fiber.

Modern Signal Generators typically contain a variety of waveform shapes and have access to many more from remote sources. Regardless of the method by which digitized waveforms are provided, there remains the problem of finding, defining, or otherwise creating shapes for the waveforms to be provided. However, it seems that there is no systemized method by which new, uncommon, or previously non-existent waveforms are organized and published for waveform signal generators.

SUMMARY OF THE INVENTION

A system and method are provided for searching, writing, editing, and publishing waveform shape information in the form of books and waveform data files. A waveform shape may be defined from customer-input parameters. A family of shapes may also be defined that are related by one or more parameter values that change in a predetermined fashion. Once defined, the shape or shapes may be edited and published, such as to a data file. A customer may also perform a search for waveform shapes that have certain characteristics based on one or more input parameter values.

Customers and other users may find several features particularly useful in helping them turn an idea or sketch of a waveform shape into a large collection where similar but different shapes are illustrated in locations identified by Book, Page, Row, and Column. For example, a user may have a general idea for a waveform shape, or almost any other shape, represented by a rough preliminary drawing or, perhaps, a few typed characters. Using embodiments of the present invention, the user can get an entire book of shapes from almost any string of characters or from a few selected points representing their graphical sketch.

As an example, the process may begin with an entry of a search term such as “kuak” from which a search module displays several illustrations of shapes interpreted from the search term. If any of the shapes seem interesting, with just a few clicks the user can use the data term as a seed for growing a book of many shapes.

More specifically, but without in any way limiting the scope of the claims, the search term “kuak” may be interpreted as four equally spaced points on an x-y graph, each point having an amplitude identified by the four letters that represent decimal numbers “10 20 0 10,” where k=10, u=20, and a=0. Similarly, twenty-six decimal integers from 0 to 25 are represented by letters “a to z,” and for many sketches this is enough. Twenty-six more integers may be obtained by using upper case letters “A to Z”. As a result, decimal integers from 0 to 51 can be represented by single character alphabetic letters.

Representing decimal integers with single characters is a useful concept for human users for a variety of reasons. For example, it simplifies the process of representing a sequence of points having variable distances between them. Consider a transition from the codes “kuak” to “k2u5a3k” or “k20u50a30k” or “k200u500a300k” as a convenient way to convert the sketchy idea of “kuak” to a more application-refined shape having 4 significant points called break points with a distance of 200 units from first to second, 500 to the next, and 300 to the next, for a total distance of 1000 units from the first point to the fourth point. These codes are called xyValues where yValues are represented by the alphabetic characters and xValues are represented by the decimal numbers. Consequently, a shape may be illustrated by plotting the break points defined by the xyValues and connecting from one break point to the next using a path defined by an interpolation method represented by an iValue.

Using an illustrated shape value as a seed, a sequence of shapes for a book may be built by defining a mixed base that specifies the number of states for each member of the shape code. For example, if x and i are held constant and the number of states is set to 6 for each member of the yCode, the yBase is [6 6 6 6] which produces 6×6×6×6=1296 shapes which can be arranged in a variety of ways ranging from 1296 pages of 1 row and 1 column each to 1 page of any combination in which Rows×Columns=1296.

To limit the number of shapes to be represented in books of shapes, the number of states assigned to a given parameter can be reduced to provide any desired number of shapes. For example, a yValue having 10 break points with 4 breaks assigned 10 states and 6 breaks assigned 1 state, the total number of shapes would be 10×10×10×10=10,000, which maps conveniently to 100 pages of 10 rows and 10 columns each.

Using embodiments of the system and methods of the present invention, a large number of shapes similar to one of interest may be quickly produced for users to review and benefit.

In one embodiment, a system is provided for generating a shape data file from an entered search term, comprising: a processor and a memory configured to store instructions executable by the processor. The memory comprises: a shape value generation module for generating one or more shape values and a data file generation module, comprising instructions for converting the one or more shape values into a wave shape data file format exportable to the customer. The system further comprises a network input/output interface coupled to the processor and the memory through which the customer accesses the shape generation module.

In another embodiment, a method is provided for representing a relationship between a shape attribute instance and a related location attribute instance, comprising: providing a first shape code comprising at least one character in each of at least one corresponding position; providing a shape attribute instance, the at least one position in the shape code including at least a first position representative of the first shape attribute instance; providing a location attribute instance; designating a predetermined character representing the location attribute instance; and inserting into the first position the predetermined character, the predetermined character representing a relationship between the first shape attribute instance and the location attribute instance.

In a third embodiment, a system is provided for generating wave shapes from entered parameters, comprising: a processor and a memory configured to store instructions executable by the processor. The memory comprises: a shape writer module comprising instructions for receiving one or more shape values entered by a customer; and a data file generation module comprising instructions for converting the one or more shape values into a wave shape data file format exportable to the customer. The system further comprises a network input/output interface coupled to the processor and the memory through which the customer accesses the shape writer module.

In a fourth embodiment, a system is provided for generating wave shapes from entered parameters, comprising: a processor and a memory configured to store instructions executable by the processor. The memory comprises: a wave editor module comprising instructions for displaying a selected wave shape, receiving parameters entered by a customer, and editing the wave shape in accordance with the entered parameters; and a data file generation module comprising instructions for converting the edited wave shape into a wave shape data file format exportable to the customer. The system further comprises a network input/output interface coupled to the processor and the memory through which the customer accesses the shape editor module.

In a fifth embodiment, a system is provided for generating wave shapes from entered parameters, comprising: a processor and a memory configured to store instructions executable by the processor. The memory comprises: a wave page module comprising instructions for displaying a page of generated wave shapes, each wave shape being defined by a location in a book of wave shapes; and a data file generation module comprising instructions for converting the one or more wave shapes into a wave shape data file format exportable to the customer. The system further comprises a network input/output interface coupled to the processor and the memory through which the customer accesses the wave page module.

In a sixth embodiment, a system is provided for generating a shape data file from a search term, the system comprising: a processor and a memory to store instructions executable by the processor. The memory comprises: a shape value generation module for receiving a search term and converting the search term into a shape value; and a data file generation module for converting the shape value into a shape data file.

In a seventh embodiment, a system is provided for providing a shape data file from a search term, the system comprising: an interpreter for providing a shape value from a received search term; a value V1 and a value V2; and a data file generator to provide the shape data file from the shape value, the number of samples, a number of bits, the value V1 and a value V2.

In an eighth embodiment, a system is provided for providing a shape illustration from a received data term, the system comprising: a shape writer module for interpreting a shape value from a received data term and generating a shape illustration from the shape value.

In a ninth embodiment, a system is provided for illustrating a relationship between a shape code member and a location code member, the system comprising: a shape code comprising a shape code member; a location code representing the shape code and comprising a location code member; and a generator for replacing the shape code member with a predetermined character identifying the location code member.

In a tenth embodiment, a system is provided for providing a shape data file from a shape sketch, the system comprising: a processor programmed with instructions for identifying a shape value from a shape sketch; and a data file generation module for providing a shape data file from the shape value.

In a eleventh embodiment, a system is provided for providing a book of shape illustrations from a search term, the system comprising: an interpreter for providing a shape code from a search term; a provider for providing a shape code base defining a number of states for each member of the shape code base; and a sequence provider for providing a sequence of shape values from the shape code base, the maximum number of shape values being equal to the multiplicative product of the members of the shape code base.

In a twelfth embodiment, a system is provided for providing a sequence of shape values, the system comprising: a sequence provider for providing a sequence of differing digit arrays in which each digit array in the sequence has the same number of elements and the same sum of the elements; and a shape value provider for providing shape values having xValues, the xValues of each shape value being equal to one of the digit arrays generated from the sequence provider; whereby: all of the shape values have an equal number of break points; and each shape value has a different interval width between successive break points.

In a thirteenth embodiment, a system is provided for providing a sequence of shape values, the system comprising: a sequence provider for providing a sequence of differing digit arrays in which each digit array in the sequence has the same number of elements and the same average of values of the element; and a shape value provider for providing shape values having yValues, the yValues of each shape value being equal to one of the digit arrays generated from the sequence provider; whereby: all of the shape values have an equal number of break points; and each shape value has a different yValue.

