|Title of Invention||
MEDICAL SIGNAL PROCESSING METHOD AND APPARATUS
|Abstract||A signal processing utility is disclosed involving time-to-frequency domain transforms for applications including medical diagnostic signal processing. Such transforms can be used to define a continuous spectral density function or other spectral density function including non-zero values at irregularly spaced frequency intervals. The invention thereby enables more accurate representation of certain real spectra and reduced spectral broadening. The utility also accounts for digitization errors associated with analog-to-digital conversion. The invention has particular advantages with respect to medical contexts where the received signal has a changing spectral content as a result of interaction of an interrogating signal with moving physiological material such as blood flowing through an artery.|
|Full Text||DIAGNOSTIC SIGNAL PROCESSING METHOD AND SYSTEM
FIELD OF THE INVENTION
The present invention relates generally to signal processing applications and, in particular, to signal processing applications involving time-to-frequency domain transforms where it is useful to jefine a spectrum including frequency information for frequencies other than a fundamental Frequency and harmonies thereof, or where it is useful to generate a spectrum based on a portion of the time-based signal representing less than a period of a signal component. The invention has particular application to methods wherein a received signal is decomposed or otherwise processed in a manner that provides information regarding properties of a material modulating or otherwise producing the received signal. The received signal may emanate from tissue interacting with an interrogating signal that was introduced into an organism and was modified from the interrogating signal by one or more of the organism's material, e.g., organs, tissue, fluids or other structure.
BACKGROUND OF THE INVENTION
Noninvasive diagnoses using interrogating signals are frequently employed to ascertain the condition of tissue and functional parameters of organs. Such interrogating signals may use, for example, electromagnetic or sonic, including ultrasonic, energy. One example is transmitting ultrasonic waves into an organism, such as a human being, and receiving a return signal that is a modified version of the transmitted interrogating signal, with the modifications caused by the properties of one or more tissue types. The received signal is measured and processed to evaluate the condition or properties of the tissue(s) or other material(s) with which the interrogating signal interacts. In particular, interrogating ultrasonic signals are often transmitted into an organism and the received signal is due to backscattering or echos of the interrogating signal by one or more tissue types. Even more particularly, an ultrasonic interrogating signal is often transmitted into a region of the organism where blood flow is expected and the received signal is a modified version of the interrogating signal wherein such modifications are due in whole or part to frequency shifts caused by Doppler effects caused by movement of tissues, including movement of blood. In this case it is desirable to measure and process the received signal in a manner such that the amount of Doppler
frequency shift that occurs can be ascertained in order to estimate the various velocities of the moving tissue, particularly the velocities of the flowing blood.
Ultrasonic Doppler techniques typically entail using a hand-held probe that contains one or more transducers that are used to transmit the interrogating signal and to produce a response, typically in the form of a time-varying voltage, to the received signal. The interrogating ultrasonic signal typically has a frequency in the radio frequency (RF) range of about 0.5 million Hertz (0.5 MHz) to about 20 MHz, although other frequencies may be used. The interrogating signal may be sent continuously, in which case the method employed is termed "continuous wave" (CW) or the interrogating signal may be sent intermittently, usually on a periodic basis, in which case the method employed is termed "pulsed." When pulsed Doppler is used it is possible to interrogate tissue over a range of specified distances from the transducers by measuring the received signal only for a selected duration that occurs after a predetermined time delay after the pulse is sent. If the speed of sound for the intervening tissue is known then the time delay converts directly into a depth of tissue being interrogated. Interrogating a specified tissue depth often provides clinically valuable information that cannot be obtained if CW Doppler is used. CW Doppler systems are often simpler than pulsed Doppler systems, although they cannot provide information that is known to come from tissue associated with a specific time delay (and corresponding estimated tissue depth).
Regardless of whether the Doppler system is pulsed or continuous, the spectral content of the received signal is analyzed to assess how the tissue modified the interrogating signal. The spectra] frequency content of the signal is a measure of the amplitudes of each of the constituent frequencies that, when combined, form the total signal. The spectral content is typically represented as either the amplitude of each of the frequencies or as the power of each of the frequencies, When the spectral content data are graphed the resulting graphs have a variety of names including spectrograms and spectral density functions. The term "spectral density function" (SD function) will be used as the general term below. When the frequency content of the interrogating signal is known it can be compared to the spectrum of the received signal and the differences between the spectra can be interpreted as arising from the velocity profiles of the tissues through which the signals passed. The velocity profiles can be back-calculated from spectral differences using established methods that are well known.
To date, a variety of methods have been used to estimate the spectral frequency content of the received signals. The main spectral analysis methods are traditionally classified as being either nonparametric or parametric methods.
The nonparametric methods are related to using Fourier series and they estimate the spectral content at equally spaced frequency points. The extant methods include Fourier and z-transform (including the Chirp z-transform). For brevity, all methods which employ assessing spectral content at equally spaced frequency points are referred to as Fourier methods.
Fourier methods, typically in the form of fast Fourier transforms (EFT), are well known and decompose a signal into frequencies that are integral multiples of a fundamental frequency. The integral multiple frequencies form an orthogonal basis in the frequency domain. This information can be used to approximate the signal as a trigonometric polynomial, as is well known. Fourier methods have been widely used to analyze the received signal because such methods have been refined to the point where they are fast and have well defined properties.
The other class of spectral analysis methods are parametric methods. Parametric methods use time-series analysis to estimate the parameters for a rational function model. The rational function can have either only poles, which is an autoregressive (AR) model, only zeros, which is a moving average (MA) model, or both poles and zeros, which is an autoregressive-moving average (ARMA) model. Included in these methods are maximum entropy methods (MEM). The number of model parameters used in a parametric method is termed the order of the model. The various methods that exist for calculating the values of the model parameters, such as the Burg algorithm and Durbin's first and second methods, are well known. An advantage of parametric methods is that they can produce reasonable spectral estimates using very few cycles or fractions of cycles of data.
SUMMARY OF THE INVENTION
It has been recognized that alternatespectral analysis methods including alternate time-to-frequency domain transforms may be beneficial for a variety of signal processing applications, including certain medical applications. In particular, in spite of the extensive use of Fourier methods, they suffer from significant deficiencies. Parametric methods also suffer significant deficiencies. With regard to Fourier methods, the most significant deficiency is that .these methods produce
spectral estimates for only a small number of discrete frequencies, even when it is expected or known that the real spectrum covers a continuous range of frequencies or that the spectrum may contain frequencies different from those that form the basis that is the output of the Fourier transform. For example, the signal may contain frequencies that are not an integral multiple of the fundamental frequency. When the basis is not correct, either because the underlying spectrum is continuous or because it contains frequencies other than those in the basis of the output of the Fourier transform, significant errors are produced. These errors manifest themselves as a spreading of the spectrum in which amplitude (or power) is spread out over frequencies that are not actually in the signal. Fourier methods approximate the actual frequency content of the signal by spreading amplitudes to frequencies away from the basis frequencies. Such spreading is a well-known problem with Fourier methods and is called spectral broadening. Spectral broadening cannot be eliminated, although various methods have been employed to reduce it such as those that rely on windows. These windowing methods are not relevant to the current invention other than their well known existence and extensive use confirms that spectral broadening is a significant problem caused by the discrete approximations that are inherent in Fourier methods. Spectral broadening will always occur when discrete frequencies are used to estimate the spectral content of signals that have spectra that are either continuous or composed of such a multitude of closely spaced frequencies that they are essentially continuous, such as the signals generated by Doppler shifting of an interrogating signal from blood flowing in an artery.
Another major problem of Fourier methods is that they cannot be used to examine all frequencies of interest. They can only include frequencies that are harmonics of the fundamental frequency used in the measurement. These problems, again, are well known and they limit the ability of Fourier methods to examine frequencies that are lower than the fundamental frequency used in the measurement. Furthermore, this limitation leads to the frequency resolution equaling the fundamental frequency. For example, to estimate the amplitudes of frequencies spaced 20 Hz apart the fundamental frequency must be 20 Hz or lower. Therefore, if an interrogating signal has a frequency of 2 MHz and the need exists to discriminate the received signal with a resolution of 20 Hz than at least 100,000 harmonics are in the basis. This large number of harmonics creates significant computational difficulties and is generally regarded as impractical for a variety of reasons, including the requirement to use many data points to perform such calculations.
The limitation that all basis frequencies for Fourier series are based on a fundamental frequency also causes other problems, such as when the received signal is not stationary (varies with an independent variable, such as time). This situation will exist, for example, when the received signal has its spectral content changing as the result of the interrogating signal interacting with blood flowing through an artery. The velocity profile changes in an artery as the blood pressure varies in response to the beating of the heart and the variations in the blood's velocity profile will lead to a nonstationary signal that has a time-varying SD function. If the SD function is to be measured over a short time interval, such as over 0.01 second, then the fundamental frequency for the Fourier analysis cannot provide a better frequency resolution than that which is associated with the measurement time interval. For example, a data sample with a period of 0.01 second will have a fundamental frequency of 100 Hz, which precludes calculating the spectral content of signals with a frequency resolution better than 100 Hz .
Parametric methods also suffer deficiencies that are significant for certain applications. In particular, these methods minimize the sum of the squared errors between the measured data and the values estimated by the model. As described later, measured data are necessarily digitized and this process introduces errors that produce a wide variety of equally valid models. Minimizing least squared errors does not account for the possibility of such alternative solutions.
Another shortcoming of parametric methods is their critical dependence on the order of the model chosen. For example, in the most common model, AR models, if too few poles are used then spectral peaks are not reliably detected. If too many poles are selected then false peaks are introduced. Proper model selection is nontrivial and requires a computationally intensive search process that involves calculating models using a range of orders and then selecting among them.
It has also been recognized that digitization errors can significantly affect spectral analyses in certain applications. The input analog signal is not used directly to calculate spectral density functions. First, the measured data are digitized and given discrete values. This process quantizes the data and introduces errors. These digitization errors (also called discretization errors and quantization errors) confound spectral analysis. Each digitized measurement is an estimate of the actual value and has an upper and lower error limit, within which any value is equally likely to occur. Even though any value within the error limits is equally likely to be the true value, the digitized value is conventionally established as the midpoint of the range between the lower and upper error limits.
Any value within the range is equally likely, leading to an infinite number of possible values that can be used to calculate spectra. Thus an infinite number of candidate spectral density functions exist.
Existing spectral analysis methods do not explicitly account for this range of possible solutions. These methods can be interpreted as using least squared errors or other minimum norm methods that attempt to minimize differences between predicted values and measured values. The structure of these problems makes them sensitive to such errors when they are solved using minimum norm methods, and in particular when solved using least squared errors methods and produce an ill-posed problem. These ill posed problems are well known and regularization techniques are used to calculate reasonable estimated solutions. Regularization methods, including Tikhonov regularization (sometimes called ridge regression or Phillips regularization) are used with least squared errors fits and augment the least squared errors model with an auxiliary function that is extremized (such as minimized). Regularization methods produce stable results, but trade off quality of the fitted solution (comparison of the predicted values to the measured data) with some measure of the regularization function. Making this tradeoff requires using a weighting factor, which is also called the regularization parameter, that trades off the weight given to fitting the data with the weight given to the regularization function.
Existing methods for solving ill-posed problems have several deficiencies. They require calculating the weighting factor, which is difficult and can have a significant effect on the results. They fail to explicitly recognize that a solution is only valid when all of the estimated values are within the digitization error bins of the measured values. This deficiency manifests itself in solutions that have estimated values that are outside of the digitization bin for one or more measured values, and, thus, are not correct. Another deficiency is that in practice the methods rely on using minimizing least squared errors, which tends to force estimated values toward the center of the digitization bins, thus not providing a monotonically convergent means for calculating viable solutions by adjusting the regularization parameter.
Therefore, significant deficiencies exist in the prior art regarding the spectral analysis of time-varying signals and signals when it is desired to obtain fine frequency resolution.
The present invention overcomes problems associated with determining spectral content from signals where the fundamental frequency of the signal being processed corresponds to a time
period longer than what has been measured and/or the underlying spectrum is, at least over a range of interest, continuous or substantially continuous (occasionally hereinafter collectively referenced as "substantially continuous"). The present invention further enables spectral analysis where the signal is nonstationary and where the signal has digitization errors.
More specifically, the present invention is directed to a method and apparatus ("utility") involving a time-to-frequency domain transform to define a substantially continuous spectrum or other spectrum including non-zero values at irregularly spaced frequency intervals. The invention thus allows for spectral estimates for more than a small number of discrete frequencies thereby enabling a more accurate representation of certain real spectra and reducing or eliminating spectral broadening. The invention also allows for examination of a greater range of frequencies of interest and provides frequency resolutions that are not limited to a fundamental frequency. In this regard, the invention allows for determination of a spectrum based on analysis of a portion of the time-based signal that is shorter than a full period of a component of the time-based signal. Moreover, the present invention allows for enhanced analysis of received signals that are not stationary, i.e., that vary with an independent variable such as time. Therefore, the invention has particular advantages with respect to medical contexts where the received signal has a changing spectral content as a result of interaction of an interrogating signal with moving physiological material such as blood flowing through an artery. The invention also enables reduction in digitization or quantization errors associated with analog-to-digital conversion.
According to one aspect of the present invention, a utility is provided for processing an input signal, such as a medical diagnostic signal, to obtain a spectrum that includes non-zero values at irregularly spaced intervals. An associated process involves receiving time-based information corresponding to one or more predetermined time intervals of a time-based signal, performing a transform on the time-based information to obtain a frequency spectrum including non-zero values at irregularly spaced intervals, and operating a processor in a signal processing environment for using the transform to provide an output based on the tune-based signal. The spectrum includes at least one pair of successive points (i.e. non-zero values) that has a different frequency spacing than at least one other set of successive points. Preferably, the spectrum includes a set of non-zero values including a first nonzero value at a first frequency and a second non-zero value at a second
equency greater than the first frequency where the second frequency is a non-integer multiple of ich frequency of the set of frequencies other than the second frequency.
According to another aspect of the present invention, a utility is provided for processing an input signal, such as a medical diagnostic signal, so as to generate a spectrum based on information ^responding to a short time interval of the input signal. A corresponding method includes the steps f receiving time-based information corresponding to one or more defined time intervals of the time-ased signal, where the time-based signal includes a component having a period that is longer than le time interval, performing a transform on the time-based information to obtain a frequency pectrum for the time-based signal, and operating a signal processor in a signal processing Environment for using the transform to provide an output based on a time-based signal. This process ;an be used to obtain a frequency spectrum where the received time-based information :Corresponds to a time interval that is less than half of the period of the signal component.
According to a further aspect of the present invention, a utility is provided for processing an input signal to obtain a substantially continuous spectrum. An associated method includes the steps of receiving time-based information corresponding to one or more defined time intervals of a time-nased signal, performing a transform on the time-based information to obtain a frequency spectrum For the time-based signal where the spectrum defines a substantially continuous function across a frequency range that has non-zero values for a majority of frequencies in the range, and operating a processor in a signal processing environment for using the transform to provide an output based on the time-based signal. Such a substantially continuous spectrum can more accurately characterize the real spectrum under analysis, thereby avoiding spectral broadening and other shortcomings of certain prior art processes.
According to a still further aspect of the present invention, a utility is provided for processing an input signal so as to account for a digitization or quantization error associated with analog to digital conversion. An associated method includes the steps of receiving time-based information corresponding to one or more defined time intervals of a time-based signal, where the time-based signal is an analog signal and the time-based information is digital information, performing a transform on the time-based information to obtain a frequency spectrum for the time-based signal, where the step of performing a transform involves accounting for a digitization error associated with a difference between the analog time-based signal and the digital time-based
information, and operating a processor in a signal processing environment for using the transform to provide an output based on the time-based signal. The invention thus allows for accurate definition of a spectrum based on the input signal for certain cases where accurately defining such a spectrum may be difficult or impossible due to digitization error.
In accordance with another aspect of the present invention, a utility is provided for use in connection with converting a signal from an analog form to a digital form. The utility involves receiving an analog signal, defining a number of digitization ranges or bins, and assigning a specific value within a bin to a sample related to the analog signal based on a mathematical model where the specific value can vary relative to the boundaries of the bin. Preferably, the mathematical model determines the specific value by solving a constrained optimization problem involving an objective function having one or more constraints. For example, such constraints may relate to one or more limit values of a bin, a nonnegativity constraint, and a peak count within the bin. For example, the objective function may be constrained to be convex and positive within the bin range with slopes determined by predefined parameters at or near the bin limits. The constraints may be implemented as penalty or barrier functions, for example, Heaviside functions. In one implementation such a function approximates a Heaviside function and is tapered at an area corresponding to a constraint value (e.g., a bin limit value) such that the function is free from singularities (undefined function values) at that area.
In one implementation, the invention is used to determine dimension-related information regarding a flow channel of a physiological fluid based on analysis of a signal modulated based on interaction with the fluid of the flow stream. A corresponding system includes a detector for receiving a signal from the fluid and providing an analog electronic signal based on the received signal, an analog-to-digital converter for providing a digital signal based on the analog electronic signal, a processing means (processor) for first processing the digital signal to obtain spectrum information corresponding to a frequency spectrum including non-zero values that are not at regularly spaced frequencies, and a second processing of the spectrum information to obtain dimension-related information for the flow channel. The dimension-related information may be, for example, a channel dimension or a volumetric flow rate of the fluid.
For a more complete understanding of the present invention and further advantages thereof, reference is now made to the following Detailed Description taken in conjunction with the figures as described below:
FIG. 1 Example Spectral Density Function
FIG. 2 Illustrates an example Gaussian pulse
FIG. 3 Example Amplitude Function Made from 10 Piecewise Continuous
FIG. 4 Example Amplitude Function Composed of Multiple Functions with
FIG. 5 Example Phase Angle with Doppler
FIG. 6 Example Phase Angle with Doppler when Emitted Frequency Selected to
Produce Approximately Linear Phase Angle Response
FIG. 7 Example Phase Angle with Doppler when Emitted Frequency Selected to
Produce Always Positive and Approximately Linear Phase Angle Response
FIG. 8 Example sin(Phase Angle) with Doppler when Emitted Frequency Selected
to Produce Positive Phase Angle Response Close to Zero Phase Angle
FIG. 9 Example cos(Phase Angle) with Doppler when Emitted Frequency Selected
to Produce Positive Phase Angle Response Close to Zero Phase Angle
FIG. 10 Example Phase Angle with Doppler Using 2 MHz Emitted Signal
FIG. 11 Example cos(phase angle) with Doppler Using 2 MHz Emitted Signal
FIG. 12 Example sin(phase angle) with Doppler with 2 MHz Emitted Signal
FIG, 13 Six Parameter Distribution for Velocity
FIG. 14 Quadratic Function Segment Expression for f(t) without Continuity
FIG. 15 Parameters for Example
FIG. 16 Example ||A|| Matrix
FIG. 17 Example ||P|| Matrix
FIG. 18 Example Envelope Function
FIG. 19 Spectral Density Component Functions: Used to Calculate Example f(t)
FIG. 20 Example Signal and Locations of Measurement Points
FIG. 21 Example Signal after Adjust for Gaussian Envelope and Locations of
FIG. 22 Example Calculated Results for G(f) and Actual G(f)
FIG. 23 Example Calculated Results for F(f) and Actual F(f)
FIG. 24 Equations for piecewise Continuous Equally Spaced Quadratic Function
FIG. 25 Equations for Piecewise Continuous Equally Space Linear Function
FIG. 26 Three Frequency Function with Four Digitization Bins
FIG. 27 Three Frequency Function with Four Digitization Bins and Least Squared
FIG. 28 Three Frequency Function with Four Digitization Bins and Least Absolute
Value Errors Estimate
FIG. 29 Three Frequency Function with Four Digitization Bins Least Squared Errors
and Least Absolute Value Errors Estimates
FIG. 30 Actual and Estimated G(f) Calculated without Accounting for Digitization
FIG. 31 Actual and Estimated F(f) Calculated without Accounting for Di gitization
FIG. 32 Bounded Area Measure when Using Piecewise Continuous Quadratic
FIG. 33 Arc Length Measures for Spectral Density Component Functions Based on
Piecewise Continuous Quadratic Function Segments
FIG. 34 Bounded Area Measures for Spectral Density Component Functions Based
on Piecewise Continuous Quadratic Function Segments
FIG. 35 Quadratic Curvature Measures for Spectral Density Component Functions
Based on Piecewise Continuous Quadratic Function Segments
FIG. 36 Objective Function Combining Measure of Arc Length and Measure of
Area for both G(f) and F(f)
FIG. 37 Double Sided Constraint Violation Value Function
FIG, 38 Nonnegativity Constraint Value Function 1 (NCV1)
FIG. 39 Nonnegativity Constraint Value Function 2 (NCV2)
FIG. 40 Tapered Heaviside Gate Function Examples
FIG. 41 Tapered Heaviside Gate Function for Extreme Value of G(f) Less than
FIG. 42 Example G(f) Calculated Using NCV1 Nonnegativity Constraint Value
FIG. 43 Peak Count Constraint Value (PCV) Function
FIG. 44 Basic Calculation Sequence (Page 1 of 3)
FIG. 45 Basic Calculation Sequence (Page 2 of 3)
FIG. 46 Basic Calculation Sequence (Page 3 of 3)
FIG. 47 Actual and Calculated G(f) from Digitized Data (M=50)
FIG. 48 Actual and Calculated F(f) from Digitized Data (M=50)
FIG. 49 Actual and Calculated Spectral Density Function from Digitized Data
FIG. 50 Actual and Calculated G(f) from Digitized Data (M=200)
FIG. 51 Actual and Calculated F(f) from Digitized Data (M=200)
FIG. 52 Actual and Calculated Spectral Density Function from Digitized Data
FIG. 53 Actual and Calculated Cumulative Spectral Density Function from Digitized
FIG, 54 Block diagram of one embodiment of a system in accordance with the
The interrogating signal emitted from an energy emitter, such as a transducer, can take on many forms and EQ. I is a general representation of an interrogating signal with frequency/. f(t=E(»sin(2aft) (1)
E(t) is a function that describes how the amplitude varies with time. For example, if the emitted signal is a pulse then E(t) can be a function that includes a phase shift term that will
periodically repeat with period T. An example of a signal that has such a form is a Gaussian pulse. The amplitude of a Gaussian pulse will vary with time as defined by EQ. 2
A Gaussian pulse will vary with time as defined by EQ. 3 and a single Gaussian pulse is illustrated in FIG. 2.
These equations can be used with either pulsed or continuous wave systems. In the context of ultrasound medical analysis, the pulsed wave has the advantage of allowing selection of the tissue depth to interrogate, which can reduce errors caused by Doppler shifts caused by blood deeper than the region of interest, such as the ascending aorta. The pulsed wave approach leads to pulses that have a transient response, and this needs to be dealt with, possibly by waiting for the transient to pass out of range before collecting data. Another approach could be to mode) the transient explicitly as a pure tone that has changing amplitude or as a pure tone that has multiple amplitudes that phase shift with time. Using a continuous wave avoids the transient response issues and leads to a pure tone being used to interrogate the tissue. The continuous wave approach, however, has the confounding factor of receiving Doppler-shifted signals from regions other than the selected depth of the ascending aorta, or whatever other region is of particular interest. Depth dependent signals could be inferred from signals that are created from different emitted frequencies (these would need to be much different, such as 1 MHz and 3 MHz) such that attenuation effects are substantially different. The signal strength differences could be matched against spectra to start getting depth-related data. Higher frequencies attenuate more rapidly than lower ones so using higher frequencies reduces the interference from deeper tissues, but at the expense of reducing the signal from the region of interest.
As described earlier, the interrogating signal can be used to energize tissue. The resulting backscattered signal can be sensed and analyzed to determine useful properties of the tissue that
backscattered the signal. Such a signal can comprise, for example, the received signal that echos back from a multitude of reflectors or backscatterers moving at one or more velocities that have been insonified by an ultrasonic interrogating signal. Among the purposes for which the present invention can be used is determining the SD functions of backscattered signals from interrogating signals that have either constant or time-varying amplitudes, including time varying signals that include one or more pulses, repeating sets of pulses, or any other amplitude function that varies with an independent variable. As discussed above, time is an example of such an independent variable.
For illustrative purposes, the following description and derivations will use as an example signals such as those that may occur when ultrasonic signals are used to interrogate tissues in a living organism. This illustration is not limiting in that the present invention does not require using interrogating signals or a response from such a signal. The measured data used by the present invention may be acquired using any suitable means that eventually produces two or more digitized data, including transducers followed by subsequent processing or data input or read from one or more sources of data that may have been previously stored, such as tables or graphs stored as hard copy or using electronic, magnetic, or optical means.
Let A(t/) be the SD function (in this case the function is the same as an amplitude density function). The general form of the signal for which the SD function is to be obtained is EQ. 4.
As described in more detail below, the present invention determines SD functions for processes with two or more independent variables, such as signals that vary with time, g(t), when the SD function depends on at least one independent variable,f, that has one or more nonzero values over one or more parts of the interval ]fL,fH ], where/fl and fH are the lower and upper limits of f. EQ. 4 defines an amplitude function, A(t, f), that varies based on the values of two independent variables, t and/. For this example, the variable t represents time and the variable represents frequency. The A(t, f) function can be separated into functions of/and of t.
When EQ. 5 is substituted into EQ. 4 the result is a general expression for the time varying signal g(t) for which the SD function B(f) is sought.
Define spectral density component functions (SDC functions) as functions from which the SD function can be calculated. F(f) and G(f) are SDC functions. As is well known, F(f) and G(f) can be used to calculate the spectral density function B(f) using EQ. 12.
The amplitude functions can also be used to calculate the phase shift for each frequency using EQ. 13.
SD functions and SDC functions both characterize how the amplitude of a function varies with respect to an independent variable and are collectively referred to as amplitude functions, For example, F(f) characterizes how the amplitude of F(f) cos(2n$t) varies with frequency. Either the SD function itself or SDC functions are to be estimated using the means described below.
The SD function or the SDC functions, such as F(f) and G(f), may be represented using various functions. The functions used to represent amplitude functions will generally have parameters that, when selected correctly, will lead to useful estimated values that are calculated for g(t). Amplitude functions may be represented by any functional form for which parameters can be determined that produce estimated values for g(l) that differ from the actual values of g(t) in a manner that meets predetermined objectives. An example of such a predetermined objective is having the errors between the measured values and estimated values of g(t) being small enough that the estimated values for g(t) provide useful approximations of the actual values of g(t). Useful values for g(t) occur when the parameters specified for the functions that represent the SDC functions can be used to calculate the SD function of g(t),
One aspect of the present invention involves structure and methodology for using values of g(t) and E(t), either based on measurements, simulations, or other suitable means, to determine the specific values of the parameters that characterize the SD function or one or more SDC functions when such amplitude functions are composed of one or more substantially continuous functions or when such amplitude functions use values for one or more independent variables, such as frequency, that lead to non-orthogonal basis functions constituting g(t). Using continuous functions to represent one or more amplitude functions over at least part of the domain of an independent variable (such as time) is particularly advantageous when a multitude of signals with various frequencies combine to produce a composite signal that is the measured signal g(t). Such a composite signal occurs, for example, when an interrogating signal backscatters from the multitude of particles traveling over a wide range of velocities as they are being carried in a flowing fluid. An example is the signal produced when an interrogating ultrasonic signal backscatters from the blood cells traveling through a living organism's aorta.
In contrast to the present invention, Fourier methods represent the amplitude functions using discrete values of frequencies that are selected as integer multiples of a fundamental frequency. The frequencies used in Fourier methods are carefully selected such that the resulting basis functions are both orthogonal and normal (orthonormal). As described earlier, using discrete frequencies, particularly when they are restricted to being harmonics of a fundamental frequency, to approximate continuous functions leads to significant inaccuracies, such as spectral broadening. The present invention improves upon Fourier methods by using frequencies that can be selected substantially
without limitation as to which frequencies are selected and also by allowing the use of continuous functions to represent continuous amplitude functions.
In the present invention, one or more functions are selected to represent the SD or SDC functions. The function used to represent an SDC, such as F(f), may be zero. The functions used to represent the amplitude functions may be discrete, such as one or more vectors of discrete frequencies starting at any frequency of interest and spaced at any, possibly varying and nonuniform, frequencies from each other (in contrast to the evenly spaced harmonic frequencies using in Fourier methods). The functions representing amplitude functions in the present invention can be orthogonal
or non-orthogonal. The functions representing amplitude functions can be either normal or not
i normal. The function or functions used to represent amplitude functions may be one or more
continuous, not continuous, or piecewise continuous functions. The functions representing amplitude functions may have one or more intersecting, including overlapping, domains. An overlapping domain between two or more functions is an interval where the domains of two or more functions intersect at more than one value. FIG. 3 illustrates an example where multiple piecewise continuous functions that intersect at only their endpoints represent an amplitude function. FIG, 4 illustrates an example where multiple functions with overlapping domains model an amplitude function. One aspect of the present invention is that functions representing the amplitude functions may use one or more of the following functions: splines, B-splines, polynomials of order 1 or greater, trigonometric functions, trigonometric polynomials, exponential functions, hyperbolic functions, Heaviside functions, functions that approximate Heaviside functions (discussed in detail below), or any another functions that can be used to construct one or more bases that span one or more predetermined vector spaces that can approximate or define a discrete, non-continuous, continuous, or piecewise continuous function. For example, the piecewise continuous segments illustrated in FIG. 3 are composed of quadratic polynomials and Heaviside functions. As another example, FIG. 4 illustrates how B-splines can combine to represent an amplitude function.
FIG. 4 also illustrates another aspect of the present invention that provides for computational flexibility. The independent and dependent variables can be offset (as illustrated in FIG. 4 where the frequency axis is offset by 2 MHz) or scaled to facilitate calculating the parameters of the functions that represent amplitude functions.
Using piecewise continuous functions or functions with overlapping domains is of particular interest because parameters for function segments defined over discrete intervals can be efficiently determined using the present invention. The union of the function segments can represent complicated amplitude functions. FIG. 3 is a graphical example of a piecewise continuous function. The points where the individual function segments of the piecewise continuous function intersect are knot points and these are illustrated by the hollow dots in Another aspect of the present invention involves structure and methodology employing a calculation module that uses one or more objective measures to determine the values of the parameters in the functions that represent the amplitude functions or SD function. One example of such an objective measure is using goodness of fit. Other examples of objective measures are minimizing the length of the amplitude functions, SD function, or SDC functions, minimizing the squared area or absolute value of the area under the amplitude functions, SD function, or SDC functions, and minimizing one or more measures of the slopes or changes in slopes of the amplitude functions, SD function, or SDC functions.
One example of an objective measure using goodness of fit is minimizing, or approximately minimizing, the sum of the squared errors between measured values of g(t) and those predicted using amplitude functions. Another example of an objective measure of goodness of fit is minimizing, or approximately minimizing, the sum of squared errors when the values of one or more of the parameters in one or more of the amplitude functions or the SD function are constrained to have values with predetermined properties. Such predetermined properties may include that the parameters are allowed to only have particular values, such as being non-negative, or that the parameters have a particular relationship, such as the mathematical combination of two or more of the parameters (such as one or more of their sum, difference, product, or quotient,) always be positive or that the mathematical combination always falls within a certain range, such as being approximately equal to zero. Another example of an objective measure of goodness of fit is minimizing, or approximately minimizing, the sum of the absolute values of errors, including the possibility that the values of one or more of the parameters in one or more of the amplitude functions or the SD function are constrained to have values with predetermined properties. As before, such properties include having one or more parameters being restricted to particular values, such as being non-negative, or that the parameters have a particular relationship, such as the sum of
two or more parameters always be non-negative or that they approximately equal zero. These aspects of the invention are covered in more detail below.
Referring to EQ. 11, in accordance with a further aspect of the present invention, optimized results can beobtained by setting the values for/L and/w respectively low enough and high enough that they cover the full range of frequencies that constitute the spectrum of g(t). The values for/L and/H may be determined concurrently with determining the values of the parameters for the functions representing the SDC functions, such as G(f) and F(f), or they may be selected prior to determining the parameters for the functions representing G(f) and F(f). Selecting/L and/w ahead of time is often possible. For example, the conditions that produce g(t) are generally known. A predetermined lowest frequency may be based on the frequency of an interrogating signal interacting with one or more moving media. For example, the lowest frequency can be predetermined based on the frequency of the interrogating signal and the lowest frequency expected from the moving media after including factors such as measurement errors or noise that can affect the frequencies produced by the interaction of the interrogating signals with the moving media.
Another aspect of the invention involves using single continuous functions that span the entire domain of frequencies as amplitude functions or as SD functions. An example of such a function is EQ. 14. This equation characterizes the amplitude functions that occur during laminar fluid flow with measurement noise. This equation would become B(f) in EQ. 8 and EQ. 9.
The emitted frequency sent out as the interrogating signal is fe and the tissues move at various velocities to produce the reflected frequencies,/. The amount of tissue at each velocity produces the relative amplitudes. The parameters are:
F the fraction of the insonified region that has flowing liquid.
k: the shape exponent for the flow region
0s: the standard deviation for the velocity in the slow/nonflowing region's reflectors.
/ : the frequency of the interrogating signal.
a: the maximum value for velocity that is achieved at the time that a measurement is
us: the mean velocity of the slow moving/nonflowing region's reflectors.
& : the standard deviation of the measurement error associated with the flowing fluid.
8. c: the speed of sound.
A further aspect of the present invention involves using such a single continuous amplitude function in combination with a function that represents the phase shift, $ (f), see, e.g., EQ. 8 and EQ. 9, to produce single continuous functions that represent amplitude functions that span the entire domain of frequencies. An additional aspect of the present invention involves using such a single continuous amplitude function, e.g., in combination with functions that represent the sin$(f)) and cos $ (f)) in EQ. 8 and EQ. 9 to produce single SDC functions that span the entire domain of frequencies. A further aspect of the present invention relates to representing A further aspect of the present invention involves characterizing the phase shift when using Doppler measurements of fluid flows using EQ. 15 to represent phase angle.
(j) = phase angle in radians f = frequency in Hz
D = depth of region from which Doppler-shifted signals are being generated
c = speed of signal, such as speed of sound
x = attenuation exponent
b = attenuation constant
For the case where x=l EQ. 15 simplifies to become EQ. 16
The attenuation constant, fc, can be calculated from the attenuation factor using EQ. 17 b = .5000000000 10'7 0 ln( 10) (17)
where (3 is the attenuation factor in dB.
HO. 5 illustrates how the phase angle can change with frequency. As is known, selecting the emitted frequency determines the frequencies of the returned signal. As previously mentioned, one aspect of the present invention involves selecting the emitted frequency such that the returned signals are confined to an approximately linear region of the phase angle response. For example, in FIG. 5 selecting an emitted frequency that leads to return frequencies around 2.079 MHz would be in a region where phase angle varies close to linearly with frequency, whereas selecting an emitted frequency that leads to return frequencies about 2.17 MHz would be in a region where phase angle does not vary linearly with frequency. More specifically, if 2.078 MHz is selected as the emitted frequency and blood flow in the ascending aorta of an adult human is being measured using an interrogating signal beamed down the axis of the aorta, then frequencies in the range of approximately 2.078 to 2.093 MHz will be returned. FIG. 6 illustrates an example phase angle response over this frequency range. In this example, selecting 2.078 MHz leads to phase angle responses that may be modeled as a linear function.
FIG. 5 illustrates that half of the phase angle response will be over frequencies that lead to positive phase angles. Selecting an emitted frequency such that the phase angle response is always positive is beneficial. When the phase angles are always positive the amplitude response function F(f) of EQ, 1 will always be positive. If the phase angle becomes negative the sin( )e negative, leading to negative values over at least part of the range of F(f). Having only positive jhase angles avoids this condition. Calculating correct values for F(f) and G(f) is made easier yhen it is known that F(f) and G(f) are always positive. Selecting the emitted frequency for Doppler velocity measurements such that the phase angle response is always positive is included in accordance with another aspect of the present invention.
Another aspect of the present invention involves selecting the emitted frequency so that the phase angle response is always positive and in a region where the phase response is approximately linear. FIG. 7 illustrates an example in accordance with this aspect of the present invention.
A further aspect of the present invention involves selection of the emitted frequency so that at least a portion of the phase angle response is close to zero.
FIG. 8 and FIG. 9 illustrate how thus selecting the emitted frequency yields sin(ip(f)) and cos((f)(f)) functions that can be approximated, sin( Compare the results illustrated in FIGS. 7, 8 and 9 with what happens if the emitted frequency is not selected according to this aspect of the present invention. FIGS. 10,11, and 12 illustrate the results from using an emitted frequency of 2 MHz for the conditions of this example. The linear response and small domains that occurred when the emitted frequency was selected in accordance with this aspect of the present patent are not present in FIGS,10, 11, and 12.
When the frequency distribution of a spectral distribution has been produced in a manner that relates frequency to a calculated variable then the distribution of the calculated variable can be determined. For example, if the frequency distribution has been obtained using Doppler then the velocity at any frequency can be calculated using EQ. 18. The frequency data or data for a calculated variable can be used to calculate the values of one or more parameters that characterize a distribution. Such distributions are particularly useful when the methods of the present invention are used to calculate continuous distributions. Such a distribution could be, for example a Gaussian distribution that is characterized by its mean and standard deviation. EQ. 19 is an example of a
more complicated distribution that has six parameters. FIG. 18 is an example of such a distribution when the calculated parameter is velocity.
(Table Remove)Other aspects of the present invention involve structure and methodology for determining the parameters of an SD function, or the SDC functions, from signals that have been distorted by digitization errors. When signals are measured and converted from analog to digital form the analog values are converted to numeric (digital) values with a limited precision. Such limited precision leads to numeric values that approximate the actual values of the signal and differences between the actual values and the approximate values are errors caused by the digitization process. In particular, the present invention includes structure and methodology for calculating SD functions, or the functions that can be used to determine the SD functions, when using digitized data by constraining the calculated functions so that they have predetermined properties. Such predetermined properties can include having at least one, and typically the majority or approximately all, of the values of g(t) estimated using the calculated functions falling within the ranges determined by the digitization process. Such predetermined properties can also include requiring SD functions, or the functions that can be used to determine the SD functions, having predetermined properties related to their geometries or of the parameters that define the functions. For example, such methodology includes having functions that are the minimum measures of slopes or rates of changes in slopes, the lengths, or squared areas enclosed by the functions. Another example is having functions that maximize, or minimize, the magnitudes of one or more of the parameters that characterize the functions. Another example is having functions that minimize
measures of length and squared areas enclosed by functions and that maximize the magnitudes of one or more of the parameters that characterize the functions. These aspects of the invention are described more completely later.
To illustrate the aspect of the present invention that characterizes amplitude functions using multiple functions, consider the following description of a general process for estimating amplitude functions. Amplitude functions, such as those of EQ. 8 and EQ. 9, can be approximated arbitrarily closely as the sum of other functions. The following expressions define the approximations of G(f) and F(f) as the sums of N piecewise functions.
The N piecewise functions defined over each of N intervals will collectively span the domain of/that is of interest. N functions exist for G(f) and N functions exist for F(f), and they may or may not have overlapping domains. Each of the Gff) and Fj(f) will be defined over a domain of with lower and upper limits. For the case of using piecewise continuous functions the union of the domains will be continuous and the individual domains will not overlap except at the points of intersection.
Substituting EQs. 19 and 20 into EQ. 11 and distributing cosine and sine terms over the sums leads to EQ. 21.
Changing the integral of the sum to a sum of integrals leads to EQ. 22.
(Table Remove)Each of the piecewise functions is defined over part of the domain of/. Indexing the limits of integration for each of the integrals in the sums leads to EQ. 23.
E(t) is the envelope of the interrogating signal. If the signal being analyzed has not been modulated by an interrogating function then setting the envelope function E(t)=l will decompose the received signal without removing the effects of the interrogating signal. If E(1) is not constant then methodology in accordance with the present invention can separate the effects of Eft) while decomposing the received signal into, for example, SD or SDC functions.
Measured values from g(t) are the data used to calculate F(f) and G(f). Use the following substitutions in EQ. 24.:
As stated earlier, the piecewise continuous functions may be polynomials, such as linear or quadratic functions. Each of the function segments will have its coefficients, such as the slope and intercept for linear functions. For illustration of the principles of the present invention, the following example uses quadratic functions and derives expressions that may be used to solve for the coefficients that specify each of the quadratic function segments.
Let the following expressions specify the piecewise quadratic function segments: .
Substituting these expressions into EQ. 28 leads to EQ, 31.
(Table Remove)This equation is linear in the coefficients Xj, yjt zj, ajt bj, and Cj, and the integrals have analytical solutions. FIG. 14 has the analytical solution. This equation is a general expression. No restrictions have been placed on the interval limits [Lj, Hj\ so they do not need to be continuous and they could overlap. Therefore, the function segments could be discontinuous. No constraint has been placed on the slopes of function segments matching if function segments are continuous. The current formulation, without constraints, is broadly applicable.
The unknowns to be solved for are the coefficients Xj, yjt Zj, a/, bj, and c,- for j=J . . N. Represent these unknowns as the vector |d). Once values have been estimated for |d| then estimated values for f(t) can be calculated using BQ. 31. The values of |d| can be solved for using one or more objective criteria, such as the estimated values for^J having the least sum of squared errors compared to the measured values for./JXJ. EQ. 31 is linear in *,-, yit zp ajt bj, and cj so minimum norm methods, such as least squared errors, may be employed to solve for the unknowns. The number of frequency intervals and the lower and upper frequencies for each function segment are values that are selected, and thus, are known. Similarly the times when the measurements are taken are known. These values are inserted into the equation in FIG. 14 and the result is a set of coefficients that multiply each of the *,-, yjt Zj, a/, bj, and c;-. This set of coefficients forms a rectangular matrix ||A||. Designate the vector of measured values of f(t) as |f|. The resulting matrix equation is EQ. 32.
Matrix solution methods known to those skilled in the art can be used to solve for |d|, which contains the values for jcj, yj, z/, a/, bj, and Cj. One such method is using the Moore-Penrose generalized inverse of ||A||. Designating ||P|| as the Moore-Penrose generalized inverse of ||A|| leads to EQ. 33. Singular value decomposition is another method that can be used.
For the situation where the measurement times and frequency intervals are predetermined and reused multiple times only one matrix inverse needs to be calculated, which offers considerable economy of calculation. The matrix ||A|| is based on the predetermined [Lj, HJ] and predetermined measurement times and is calculated in advance. The Moore-Penrose generalized inverse, |Pj|, is also calculated in advance and stored for later use, such as in the nonvolatile memory of a computation means such as using a hard disk or other magnetic media or on a CD ROM or other optical storage media, or nonvolatile RAM or other electronic storage media, After ||A|| and ||P|| have been calculated and stored the values for ||P|| can be retrieved and used to calculate )d| whenever such calculations are desired for a vector of measured values of f(t), |f| using EQ. 33, which leads immediately to values for the coefficients x}, y}, z/, a/, bj, and cj.
As described below, the formulation becomes substantially simpler when the lower and upper bounds for each interval, [Lj, Hj\ all have the same width, but they do not need to have the
same width or be equally spaced. No restrictions are placed on the measurement times being equally spaced. The flexibility available for selecting the bounds for each interval and the measurement times allows selecting nonuniform intervals, such as using Chebyshev points or expanded Chebyshev points.
Methods other than the least sum of squared errors can be used to calculate the values of the unknown coefficients . For example, the least sum of absolute value of errors (LAV) or nonnegative least squares (NNLS) can be used. As is known to those skilled in the art, LAV can be implemented such that constraints are placed on the values of the variables, as is also the case with NNLS. Such constraints are particularly useful when linear function segments are used because these readily lend themselves to constraints that prevent one or more of SDC functions, such as G(f), from having any negative values.
For the case where spectra are continuous, such as the Doppler spectra from flowing blood, the jth function segment needs to connect to function segment j-1. Requiring continuity means that the endpoint of the (j-l)th function segment must be the starting point for the jfrft function segment, which leads to the lower bound of the jth segment being equal to the upper bound of the (j-l)th segment. Therefore, EQ. 34 holds for piecewise continuous functions.
As demonstrated below, this restriction means that the value for c. is determined by the
values of ^ , b , c and H Therefore, £j is not an independent variable when the
quadratic function segments are piecewise continuous.
Spectra from processes such as flowing blood are smooth. Smooth transitions between quadratic function segments requires that the slope at the end of the (j-l)th segment match the slope of the jth segment. As will be shown below, this constraint removes the set of fy from being independent variables.
The following discussion uses as examples the By bf Cj, and the same discussion also
applies to the *,•> fy Zj. Include an offset for the frequency at the beginning of the interval over which a function is being used. The equation for thejr/i function segment that goes through a
specific point is derived as follows. Designate the specific point for the lowest frequency and the amplitude at the lowest frequency by using the ordered pair (LJt p. ). (3j is the beginning amplitude for the jth function segment. The jth function segment has its own coefficients Oj, bjt and intercept
The starting point for the jth function segment has the same coordinates as the endpoint for
the (j-l)th function segment. Designate the endpoint for the (j-l)th function segment as
( hj_ i' gj_ ] )• ej_ i is the ending amplitude for the (j-l)th function segment. The starting point for
thejffc function segment is the endpoint of \hzj-lth function segment. The following equation gives the amplitudes for th&jth function segment of the SDC function when using piecewise continuous quadratic functions to represent the SDC function.
For the special case when j=l the starting point has an amplitude of 0 at the frequency flb , where /y, is defined earlier. Clearly, a recurrence exists that gives the ek. The basic equation is:
This equation gives the logical result that the height of the endpoint of the jth function segment is the sum of the heights of all of the preceding endpoints plus the change in height that occurs during frequency interval). Using the preceding equations to eliminate c} from EQ. 35 leads toEQ.38.
These equations that tie the endpoints together establish continuity between the piecewise functions. The piecewise functions are now piecewise continuous. The values for the H. are known because they are selected a priori. In this set of equations the only free variables are the
first N-l b and the// a .
Constrain the slopes of the j-lth and thejth segments to match where the segments joint. This constraint leads to the starting slope of they'r/i function segment being equal to the parameter
b. The b for each segment depends only upon the values for the coefficients for the previous function segments. The end result is that each b. depends only on the previous values of the a. •
The equation for b. is
For the first function segment the initial slope is zero because it starts tangent to the f-axis. Therefore, b} = 0 . This situation becomes clear by examining the case where j=l,
Using EQ. 39 to eliminate b from EQ. 38 leads to EQ. 41 . This equation is the general expression for ihejth function segment for piecewise continuous quadratic function segments.
The endpoint of the final function segment is at frequency H • The SD function needs to be zero at this point and the slope also needs to be zero. These requirements also require the SDC functions, such as G(f), to have zero amplitude and slope at H . Two boundary conditions exist
at H , but only one free variable, a , remains, therefore need to remove another degree of
freedom. Set the equations for the boundary conditions that equate the slope and amplitude at the end of the Nth segment equal to each other (they both equal 0) and it becomes clear that on_ : is not a free variable, either. Therefore, when have N function segments only N-2 values of |a| need to be found.
The equations become considerably simpler is equally spaced function segments are used. Assume that each of the function segments covers a frequency interval of equal width. Select a
value for the lowest basis frequency, H , and then index by H. up from it for other frequencies in
With equally spaced frequency intervals have
And the general expression for the jth quadratic function segment becomes EQ. 42.
The unknown variables are the a;.. Represent these variables as the vector |a|. When impose continuity and matching slopes at the knotpoints where the function segments join the values for the (N-J)th and Nth values of |a| stop being independent variables. The expressions for these variables are
The equations that give a and a confirm that the last two coefficients are completely specified by the first N-2 coefficients and, thus, are not independent variables. These values lead to
the last two function segments working together to make the final amplitude of G(f) become zero and with zero slope with smooth transitions at the knotpoints of the final two function segments. Expressions for the (N-l)th and Nth function segments in terms of the first N-2 elements of
Similar relationships exist for F(f), Fj and ]d|, including
Substituting the preceding equations into EQ. 22 and integrating and substituting to remove the N-lth and Nth Uj and xj leads to EQ. 50. This equation is the final equation for the function that approximates g(t) when using equally spaced quadratic function segments that are piecewise continuous and constrained so that the slopes at the knotpoints are equal and that slopes and values
at the beginning and end of the SD function are zero. EQ. 50 is a general formula for calculating
g(t) that is linear in the variables x. and a^ .
The times when measurements are made are known, as are the starting basis frequency, H0 and the width of each frequency interval, H& After these substitutions are made the result is a set of
equations consisting of coefficients on the unknown N-2 unknown variables a, and the N-2
unknown variables x. . The coefficients can be extracted and put in a rectangular matrix ||Aj|. ||A||
will have M rows and 2(N-2) columns where:
M = number of measurements, with the measurements being tit i = 1 . . M
N = number of function segments (which is the same as the number of basis frequencies).
Set j|A|| so that the first N-2 columns contain the coefficients for «,• and the last N-2 columns contain the coefficients for the Xj. The equation for the first N-2 columns of ||A|| is EQ. 51. The equation for the last N-2 columns of ||A|| is EQ. 52. These equations assume that the envelope function is known, which is often the case, such as if the interrogating function is a continuous sine or
has other known characteristics. If the signal being analyzed has not been modulated by an interrogating function then set the envelope function E(t)=l and the method will decompose the complete signal and not attempt to remove the effects of the interrogating signal.
Designate the values of the (currently unknown) N-2 values of a. as ]a| and designate the
(currently unknown) N-2 values of x. as |xj. Designate the vector |d| as being |a| stacked over |x|, thus |d| contains the unknown variables Oj, j = 1 . . N-2 followed by the unknown variables Xj, j = . . N-2. The values |d| can solved as described earlier, using, for example, the Moore-Penrose generalized inverse.
FIG. 15 through FIG. 23 illustrate the method just described using an example. The example uses a small number of measurements, 20, and seven quadratic function segments. FIG. 15 lists the parameters used to calculate the ||A|| matrix shown in FIG. 16. The Moore-Penrose generalized inverse of ||A|| is shown in PIG. 17. Only ||P|| is needed to calculate the values of |d| from measured values of f(t). The 20 values of g(t) used in the example were calculated using the G(f) and F(f) shown in FIG. 19. A successful calculation will produce estimated G(f) and F(f) close
to those shown in FIG. 19. FIG. 18 illustrates the envelope function used to generate the g(t). g(t) is illustrated in FIG. 20 along with the points where measurement values were taken. FIG. 21 illustrates what g(t) looks like after removing the effects of the envelope function. Contrary to the appearance of FIG. 21, this function has a period much longer than what is shown in the figure. The apparent periodicity of the signal at 2 MHz is caused by the narrow range of the spectrum that underlies g(t) and f(t).
The values of |a| and |x| were calculated by multiplying ||P|| times the vector of measured values of g(t). The resulting estimated SDC functions, G(f) and F(f), are shown in FIG. 22 and FIG. 23 along with the actual G(f) and F(f). Each figure shows only one line because the estimated values are so close to the actual function values. With the estimated SDC functions matching the actual SDC functions it is tautological that the estimated SD function will match the actual SD function.
This example illustrates some key features of the subject invention that distinguish it from other methodology inventions. (1) When using precalculated ||P|| the calculations of the spectra involve a small number of multiplications and additions, which means that the calculations are not memory intensive and can be fast. The calculations do use numbers that can be close to the same size to the precision of the calculations can require on the order of 15 or more digits of precision. (2) The example discriminated the spectrum using a relatively small number of measurements. (3) The size of ||P|| increases linearly with the number of measurements, therefore if use precalculated ||P|| the computational cost of using more measurements increases only linearly. (4) The size of ||P|| increases linearly with number of measurements, therefore if use precalculated ||P|| the computational cost of using more basis frequencies (function segments) increases linearly. (5) Amplitude, SD, and SDC functions are calculated directly using rational functions, including using rational real-valued functions and rational real-valued continuous functions.
The solution method illustrated using linear algebra has practical limits for the number of basis frequencies that can be used. The basis frequencies being used are, by design, not producing orthogonal basis functions. Therefore, ||A|| becomes increasingly singular as more basis frequencies are added, which tends to make the problem increasingly ill-posed when digitization errors exist in
|f|. However, other variations in accordance with the present invention are described below that remove the problem of ||A|| becoming increasingly singular.
When using uniformly spaced piecewise continuous quadratic function segments the SDC functions can be calculated using EQ. 53. EQ. 53 uses a-t and will calculate G(f). Substituting or,-into EQ. 53 will lead to calculating F(f). EQ. 53 was used to calculate the distributions in FIG. 22 and FIG. 23.
The equations needed for using equally spaced piecewise continuous quadratic function segments are summarized in FIG. 24. As stated earlier, functions other than quadratic functions may be used. FIG. 25 summarizes the equations needed for using equally spaced piecewise continuous function segments. The functions listed in these figures are examples of using the general method of the present invention and demonstrate its general use. As stated earlier, the functions do not need to be equally spaced, continuous, or polynomials. The basis functions used in FIG. 4 are B-splines. Among the other functions that can be used are those containing trigonometric and exponential functions.
Measured values are necessarily digitized to some precision. Digitization introduces errors because the actual values of the function are not known. Instead, the values available have been moved to the centers of regions bounded by the measurement precision limits. These regions are discrete regions into which measurements are placed during the digitization process. These regions into which measurements are placed are the digitization bins. This shifting of actual values to digitization bins is illustrated in FIG. 26 for the case where the number of digitization bins is four. The solid line is part of the plot of a function consisting of three discrete frequencies. The crosses are the actual values at selected measurement times. The circles are the digitized values that occur
vhen have four digitization bins, SD functions are necessarily calculated from data that have been digitized. The digitized data are an approximation of the actual function values, yet the desired SD "unctions are those that produced the actual functions. The present invention includes a means for jsing digitized data to estimate actual SD functions.
The method described above will generate SD functions that accurately estimate the measured values of f(t) that have been digitized. The reproduced values are the digitized values of f(t) and the SD functions are those bounded by the lower and upper basis frequencies. When using digitized data the estimated SD functions for the digitized f(t) become increasingly close to the spectra for the actual (nondigitized) f(t) as the precision of the digitization process increases. As the precision of the digitization process increases the measurement error decreases-and the problem becomes less ill-posed. The method described above will accurately estimate SD functions for the special case where the frequencies of the function are known, even when the amount of digitization error is extreme. This ability is illustrated in FIG. 27 through FIG. 29. These three figures show the actual function values and the estimated function values when coefficients are calculated by minimizing the sum of least squared errors, PIG. 27, and by minimizing the sum of least absolute value errors, FIG. 28. FIG. 29 shows the results of both least squared errors and least absolute value errors along with the actual and digitized function data. The estimated results shown were calculated using the digitized data from the four digitization bins illustrated.
Typically, the frequencies that compose the function of interest are not known and an approach different than minimizing some objective measure of goodness of fit between estimated and measured (digitized) values is needed. The digitization process causes the measured values of f(t) to be moved from the real (and unknown values) to values mat correspond to the centers of the bins bounded by the lower and upper thresholds specified by the number of bins into which data may be placed and the lowest and highest values of the total measurement range. The main consequence of the digitization process is that the measured values have almost always been shifted to values that are either higher of lower than the actual values. These shifts tend to introduce spurious frequencies into the measured data. The spectral decomposition methods that use objective measures to minimize differences between digitized values and estimated values calculates SD functions for the data presented to it (the digitized data), not the actual function of interest. Unless steps are taken in addition to those already presented, when the data have been sufficiently
corrupted by the digitization process the resulting spectra no longer portray the spectra of the nondigitized data.
An example of calculated G(f) and F(f) with digitization errors when no steps are taken to account for digitization are shown in FIG. 30 and FIG. 31, Except that they are based on digitized rather than actual values of f(t), these figures are based on the same data and used the same |]P]| as HG. 22 and FIG. 23. The spectra for the digitized data can be used to calculate estimated values for the measured digitized data and the estimated values are the same as the actual digitized values, confirming that the calculations divined the correct spectra for the digitized data, while also confirming that spectra of the digitized data do not represent the spectra of the underlying function that was digitized.
Dithering the digitized data will improve the results, but dithering alone is often inadequate. Other steps are often necessary when processing data that have been digitized.
Increasing the number of digitization bins will improve the results. However cost and availability of suitable electronic components can limit the amount of such increases that are practical. Other steps besides increasing the number of digitization bins are often necessary.
One aspect of the present invention involves estimating SD and SDC functions in the presence of digitization errors by using error absorbing functions. Digitization causes more abrupt changes in the measured values of f(t) than actually occur. These abrupt changes manifest themselves in the frequency domain as the introduction of frequencies that do not exist in the actual f(t). Error absorbing functions are functions that are active outside of the frequencies that exist for the actual f(t) and that account to at least some extent for the spurious frequencies added by digitization. One example of an error absorbing function is including one or more SDC or SD functions to the basis and selecting the frequencies for the additional functions so that they are outside of the interval for the actual f(t). For example, the starting frequency for the absorbing functions can be a multiple, such as two more, of the highest basis frequency expected for the actual f(t). When the error absorbing function is set up using the same functional form as those used for the SDC or SD functions then the same objective measures may be used to calculate solutions, such as minimizing the sum of least squared errors or LAV. Error absorbing functions can be used in conjunction with other methods such as dithering.
Another aspect of the present invention involves estimating SD and SDC functions in the presence of digitization errors by using SD or SDC functions that have one or more properties that can be adjusted using an objective measure, such as by minimizing or maximizing the properties. The properties being adjusted may have a useful geometric interpretation, but such interpretations are not required. The adjustment of the properties may be subject to one or more constraints. Following are some examples of this aspect of the present invention. This aspect is particularly useful when the number of digitization bins is small enough to produce erroneous results and dithering does not produce correct results.
The SDC functions calculated using data significantly corrupted by digitization, as illustrated by FIG. 30 and FIG. 31, are known to be incorrect because G(f) is not always nonnegative. G(f) must be strictly nonnegative because it is based on the cosine of the phase angle, and the cosine function is an even function. Therefore, one aspect of the present invention is to calculate SD functions by constraining the calculated results so that one or more SDC functions or the SD function are strictly nonnegative.
For example, when G(f) is modeled using uniformly spaced piecewise continuous quadratic segments EQ. 54 is the general expression for the constraints for the dj that prevent G(f) from being negative anywhere. Onlyj=2.. N-l for a total of N-2 constraints are needed because if these
constraints are met then the first and last function segments are also forced to be nonnegative. EQ, 54 accounts for the minimum values of a function needing to be located within the interval for which the function segment is defined for its contribution to G(f). If G(f) is modeled as linear segments
then the nonnegativity constraints for G(f) are expressed by EQ. 55.
SD and SDC functions have geometric properties. Geometric properties are properties that are affected by measures such as size, dimension, length, area, shape, and curvature. For example, the SDC functions depicted in FIG. 30 and FIG. 31 for the digitized f(t) have much larger amplitudes for the ones for the actual f(t). Similarly, the areas bounded between G(f) and F(f) and the frequency axis are much larger for the case with digitized data compared to nondigitized data. The bounded area of a spectral component function, G(f) or F(f), is the total area between the frequency axis and the curve above the frequency axis added to the absolute value of the area between the frequency axis and the curve below the axis. Bounded area is a geometric property because it is affected by the area and shape of the SDC function. The heights of peaks and valleys of functions and the number of such features are also geometric properties.
Curvature is a geometric property. Curvature is any combination of one or more functions that are first and higher derivatives of SD, SDC, or amplitude functions. One type of curvature when using piecewise continuous quadratic function segments is the squared magnitudes of the vectors of the coefficients |a| and |x|. This measure of curvature is called the quadratic curvature and it is the sum of the squared second derivatives of the quadratic function segments.
Similarity is another geometric property. Similarity is any combination of one or more functions of the parameters that characterize two or more SDC functions such that the parameters of a first and second SDC function are related. For example, the squared differences between parameters that define G(f) and F(f) is a similarity. If G(f) and F(f) are characterized using piecewise continuous quadratic function segments described earlier then the sum of squared differences between corresponding elements of |a| and |x| is another function using similarity. The geometric interpretation is that the similarity property relates to similar shapes, slopes, or changes in slopes between two or more SDC functions.
Another aspect of the present invention involves calculating one or more SDC functions or SD functions while adjusting one or more measures of geometric properties. For example, in accordance with this aspect of the present invention, the arc length of one or more of the SDC functions or the SD functions can be calculated so that the arc length measure meets one or more objective measures, such as being minimized. Similarly, in accordance with this aspect of the present invention, one or more SDC functions or SD functions can be calculated while adjusting one or more measures of the bounded area of one or more of the SDC functions or the SD function so
that the area measure meets one or more objective measures, such as being minimized. Similarly, in accordance with this aspect of the present invention, one or more SDC functions or SDC functions can be calculated while adjusting one or more measures of the bounded area of one or more of the SD functions or the SD function so that curvature meets one or more objective measures, such as being minimized.
Calculating SDC or SD functions while adjusting geometric properties can be accomplished using various techniques. One technique is to minimize the measure of the geometric property , such as to minimize a measure of arc length, bounded area, or curvature of the function. When G(f) is based on evenly spaced continuous quadratic function segments one expression for a measure of the total are length is EQ. 56. The same equation calculates a measure of the total arc length for F(f) when xj are substituted for aj.
EQ. 56 is based on the square of the total arc length and it has had constant terms, such as the frequency increment, H& removed from the right hand side. Therefore, it represents a measure of the total arc length of an SDC function, rather than being the total arc length. These forms are independent of the frequencies being used in the basis. For example, for the case where N=5 the following expression is the measure of the total arc length of G(f).
EQ. 56 is minimized when its gradient is calculated with respect to each of the coefficients, the Oj, and set equal to zero. EQ. 56 is quadratic in the coefficients, therefore the gradient with
respect to each coefficient will be linear in the bj. For example, when N=5 the gradient is EQ. 57. Identical expressions exist for F(f), except that they use the variable x instead of a.
The gradient equations are linear, therefore, they can be included as additional rows in the linear regression matrices used earlier, or in other calculation methods, such as LAV. The values used in the additional rows of ||A|| are the Hessian of the measure of the arc length measure. For example, if N=5 then the additional rows for the columns that multiply the vector |a| are
The additional rows in the vector |f| will have some (nonnegative) values based on the underlying structure of the G(f) or F(f), or the additional rows in |f | can be set equal to zero to calculate values for |a| and |x| that minimize the squared errors between the estimated |f| and the measured )f| while simultaneously reducing the total arc length of G(f) and F(f). The number of gradient rows is limited by the number of quadratic function segments selected to model G(f) and F(f). The number of gradient rows will necessarily be much smaller than the number of rows based on measured data. The contribution from the gradient rows can be scaled by multiplying each row by the a constant.
The example above used arc length as the geometric property. Other geometric properties can be used, such as bounded area, curvature and similarity. The measures of these properties also produce quadratic expressions that yield Hessian matrices with constant terms.
When SDC functions are calculated using least squared errors and rows for arc length measures or other geometric properties with quadratic measures are included and set equal to zero the resulting SDC functions possess the general shape of the nondigitized SDC functions, however the curves are much flatter than the actual SDC functions. As more function segments are included the general outline of the actual functions tend to become more apparent, but the results remain approximate. These approximate results are quickly calculated because the ||P|| matrix can be
calculated in advance and stored for later use. These approximate results are useful starting points for more refined calculations of SDC and SD functions.
The values for parameters that characterize SDC and SD functions can be calculated from the gradient equations, such as the equations for the gradients of the arc length measures presented above. When the parameters, such as |a| and |x| when using equally spaced continuous quadratic function segments, are calculated using gradient equations the SDC functions tend to change systematically, which is beneficial when improved SDC and SD functions are being calculated from starting values of parameters.
In general, the values for the gradient terms for G(f) and F(f) that would be used in |fj are not known and the result is estimated spectral component functions that have amplitudes that are too small and too flattened. However, the results can be used as starting points for additional steps that can be taken to improve the results.
As described earlier, other geometric properties of SDC and SD functions can be used besides measures of arc length. The bounded area of SDC and SD functions is one such geometric property. FIG. 91 is an expression for a measure of bounded area of G(f) when picccwise continuous equally spaced quadratic functions are used as the basis functions. These expressions are based on the squared area between G(f) and the frequency axis and are quadratic. EQ. 59 is an example when Ar=5.
The gradient term is linear in terms of |a| and can be included in a least squared errors calculation as was done for the arc length measure, or in other calculation methods, such as LAV. The additional rows for the ||A|| matrix are the Hessian of the arc length measure. For example, when N=5 the Hessian is
•1346 738 25r 738 434 158 (60) 251 158 66
Similar equations for F(f) exist for the measure of area expressions and are the same as the ones for G(f) except that a is replaced by x.
Nonnegativity and measures of arc length and bounded area are two examples of characteristics of SDC and SD functions that can be used to constrain the results of calculations. Other characteristics besides these can be used, such as those that are based on slopes, number of modes, relationships between mode peaks or valleys, curvature, similarity and other geometric properties.
The digitization process provides digitized values for f(t), but the actual values for f(t) can be anywhere within the digitization bin within which a digitized value falls. The probability distribution for the values within a bin is uniform: all values are equally likely to be correct. Consequently, no reason exists to prefer one value over any other. One aspect of the present invention is to calculate SDC and SD functions by constraining the calculated results to produce calculated estimates of f(t) that are within predetermined limits of digitized values. A particularly useful set of limits are the lower and upper limits for each of the digitization bins. This approach contrasts with standard least squares estimates, such as those of parametric methods, which minimize squared errors between actual and estimates, but do not constrain predicted results to be within predetermined boundaries based on the precision of the digitization process. Fourier analysis methods fit data to functions in a least squared errors sense, such as Fourier series fitting data to trigonometric polynomials in a least squares sense, in contrast to the aspect of the present invention that requires results to be within limits, but does not bias the results to come close to any particular value within the limits.
The measured values for f(t) have been digitized and the actual (nondigitized) values are not known. However, each of the digitized values for f(t) have known lower and upper limits. Each of the digitized values is a member of a digitization bin that has well defined lower and upper limits and any estimated value for a particular value of f(t) must be between the lower and upper constraint values. When all of the constraints for each of measured values of f(t) are considered collectively a set of digitization bin constraints exists.
The digitization bin constraints and the nonnegativity constraints can be combined with the general objective of minimizing one or measures of geometric properties, such as arc length, bounded area, curvature or similarity. Assuming that equally spaced piecewise continuous quadratic function segments are being used to model the spectral component functions then the equations in FIG. 33, FIG. 34, and FIG. 35 can be combined into objective functions to be minimized by using individual expressions or adding expressions together. All of the expressions in
FIG. 33, FIG. 34, and FIG. 35 are convex in o, and*,•, therefore a unique global minimum exists for each of them and the local minimum is also the global minimum. These expressions may be combined into a single objective function to be minimized, such as the expression for the objective function in FIG. 36. This expression is also convex in a/ and Xj because the sum of convex functions is also a convex function.
Another aspect of the present invention involves calculating spectral densities from digitized data by minimizing or maximizing one or more functions that are continuous over at least part of the frequency domain. A further aspect involves, for such minimization or maximization, using one or more convex functions (when minimizing) or one or more concave functions (when maximizing) as objective functions in calculating SDC or SD functions. Using convex functions as objective functions for calculating SDC or SD functions is particularly beneficial when digitization errors exist in the measured values of f(t). Convex functions, unlike nonconvex functions, have unique global minimum values that are also the local minima for the functions. These properties make finding the minimum values of convex functions much easier than finding the minimum values of nonconvex functions. Instead of minimizing functions that define properties of G(f) or F(f) it is possible to maximize functions. When maximizing functions it is beneficial to use ccucave functions because they have unique global and local maxima that are the same.
Another aspect of the present invention involves calculating SDC and SD functions by minimizing or maximizing one or more objective functions subject to constraints. Such constraints include using digitization bin constraints or nonnegativity constraints or using both digitization bin and nonnegativity constraints . Using digitization bin constraints is particularly advantageous. For example, if the objective is to minimize the arc length measure of G(f) and no digitization bin constraints exist then the shortest length is a straight line extending between the lowest and highest basis frequencies along the frequency axis. When digitization bin constraints are included then one or more of G(f) and F(f) must be nonzero if one or more of the values of f(t) are nonzero.
Two digitization bin constraints exist for each measurement: each estimated value must be larger than the corresponding minimum value for the bin and the each estimated value must be no larger than the corresponding maximum value allows for the bin. As the number of measurements increases the possible shapes and dimensions that G(f) and F(f) can have become increasingly restricted.
Convergence to the G(f) and F(f) that approximate the actual G(f) and F(f) for the nondigitized f(t) is often facilitated by identifying the actual lower and upper frequency limits, fL and fH. The search for these limits may be started by starting with limits known to be wider than the actual limits and searching for the |a| and |x| that meet the digitization bin constraints and that minimize the objective function. Such a search is often facilitated by included nonnegativity constraints that prevent G(f) from having values less than zero.
The number of peaks for G(f) and F(f) may be know a priori, or they may be determined during initial calculations when nonnegativity constraints are used. If the number of peaks in G(f) are known to equal the number of peaks in F(f) then the number of peaks for F(f) can be determined using initial calculations. The method of the present invention quickly converges to solutions that correctly identify the number of peaks in G(f). When the number of peaks in F(f) is known then constraints that force F(f) to have a set number of peaks can be included. Such constraints can also be used to force G(f) to have a specified number of peaks. Similarly, constraints can be imposed to force a specified number of valleys to exist in G(f), F(f), or both of these functions.
In general, numerical methods must be employed to find the constrained minimum or maximum values of the objective functions. The nonnegativity constraints can be formulated as convex or monotonic functions. The constraints on the number of peaks or valleys of G(f) and F(f) can be formulated as convex or monotonic functions. The digitization bin constraints can be formulated as convex or monotonic functions. The objective function can be formulated as a quadratic function, as was done above. Therefore, the problem to be solved is a convex programming problem. Many methods, including quadratic programming, penalty function, barrier function, and those based on Lagrangian methods, exist and are well known. Penalty and barrier function methods are particularly well suited to solving the problems associated with estimating SD functions using the methods of the present invention.
The functional form of the envelope function E(t) in EQ. 23 may be known, although the values of the parameters may not be known. For example, a Gaussian pulse may used (EQ. 2) but the exact values of its parameters may not be known. The parameters of the envelope function can be quantified as the parameters for the SD or SDC functions are quantified.
The following description uses a specific medical device application for illustrative purposes. As will be appreciated, the present invention may also be readily employed in applications beyond the specific medical device application described, such use with living organisms other than humans or being used in applications other than medical. As will also be appreciated, the present invention may take on configurations other than those described and illustrated. For example, the means used for calculations may combine or separate functional units in configurations other than those described. As another example, the sequence of calculations may be done differently than those described. As another example, the independent variable may be a quantity other than frequency.
The general approach of the preferred embodiment consists of two steps:
set up the problem and
solve the problem
The present invention contains novel and useful means for both of these steps.
The preferred embodiment minimizes a constrained objective function defined as:
OF= \d\\\Q\\\dNote- this is an algebraically equivalent form of the objective function comprised of the measures of the geometric properties of G(f) and F(f) where Q = Vi of the Hessian of the objective function.
^ = the scale factor that makes - - ;— - have a suitable scale. X is calculated
using the latest estimate for |dj. To start by forcing the solution toward meeting all constraints the contribution of OF to the value of COF can be reduced by using a value of ^ that makes •
have a value that is smaller than the magnitudes of CVV, NCV and PCV until the
values of CW, NCV, and PCV have started to diminish because constraints are being met. More preferred is using a value of ^ as being two orders of magnitude larger than M llQliM.
A preferred implementation sets up the OF using a plurality of functions that when combined using one or more mathematical operations, including, for example, the operations of addition, subtraction, multiplication, and division, produces a combined function that spans a predefined frequency range such that one or more combined functions approximate the SDC functions. Even more preferred is for the functions comprising a combined function to be polynomials. Still more preferred is to use real valued piecewise continuous functions. Yet more preferred is to use real valued piecewise continuous functions that are equally spaced along the frequency axis. Finally, even more preferred is to use piecewise continuous real valued quadratic functions that are evenly spaced along the frequency axis that have first derivatives with matching values at the points of intersection.
For measuring the spectra from blood flowing in an artery digitization errors will be significant, therefore a preferred implementation solves for the SDC functions by setting up and solving a constrained optimization problem. Preferably, the objective function will minimize or maximize one or more functions that are measures of geometric properties of one or more SDC functions, G(f) and F(f), or functions that are derived from G(f) and F(f), such as the SD function and the phase angle. G(f) and F(f) are based on the cosine and sine of the phase angle, respectively, and the amplitude of the SD function. The preferred objective function (OF) will be convex. Even more preferred is that OF is quadratic in |a| and |x|.
A preferred implementation sets up the problem so that it includes one or more digitization bin constraints and may include one or more nonnegativity constraints and may include one or more peak count constraints for G(f) or F(f). A preferred implementation sets up the constraints as penalty functions or barrier functions.
Particularly useful for the present invention is to formulate the digitization bin constraints as penalty functions that have small values when constraints are met and ever increasing values as deviations from the constraint limits increase. The digitization bin constraints require that the estimated values of f(t) fall within both lower and upper limits, therefore the digitization bin constraint
value function has two sides that slope down toward the digitization bin boundaries. Such functions are double sided constraint boundary functions. Of even greater use are doubled sided constraint boundary functions that have slopes that can be adjusted as the search for the solution progresses. One such double-sided constraint boundary function is
where x=deviation of estimated value for f(x) from the midpoint of the digitization bin
p is a positive, even, integer
As p increases the digitization bin constraint violation value function becomes steeper, as illustrated in FIG. 37. For the preferred embodiment the value of the exponent p increases during the solution search process from a small value (e.g., p=2) to a large value (e.g., p=large value). As ' p increases the digitization bin constraint value function starts with sides with small slopes (e.g., p=2) and the slopes increase as then p increases until b(x) has a very small value at the constraint boundary because the sides have steep slopes (e.g., p has a large value). Typically, the final value of p will be large: much greater than 100, and better yet have values larger than 1,000. Still butter, is to have final values of p approximately equal to or larger than 10,000. This function, in the limit of P = °° , is a step function at the constraint boundary, w.
The digitization process causes the actual value of |f| to almost certainly differ from the true value, but the digitized value is at the center of if the corresponding digitization bin and this information leads to M additional constraints. Extending the preferred CVV function to each of the measurements is now described. Let
M = the number of measurements.
|f| is the vector of measured values. |f| is a column vector with M values.
Let CVV = digitization bin constraint violation value. The preferred embodiment of the expression to calculate this value is:
This expression is a double sided constraint violation value function. | A. | is the ith row of the matrix ||A||.
| A. |T | d \ is the estimated value of the z'th measurement and j A. | \d\-f. is
the difference between the estimated value and the measured value of the ith measurement.
p is an even, positive, integer. If p=2 then there is a least squares fit. As p increases the constraint violation value function becomes steeper and its corners move closer to the
digitization bin constraint values of /; - -z- and ft + -^-.
The preferred embodiment specifies two ways to calculate NCV using one of two similar, but still different, functions. Refer to FIGS. 38 and 39. These functions are based on the general function form of
A'CV = p' G^fjtta)lfg}fg2fg3 (64) where
fg, = gate function that tends toward 1 when the extreme value for G. is on the frequency interval where G^. is active and otherwise tends toward 0.
/g2 = gate function that tends toward 1 when Gj(fj M) fg3 = another gate function that tends toward 1 when Gj(fjitxt') f = fJtUa , the normalized frequency at which the extreme value for the;th function segment occurs. The extreme value for G. occurs when f is between -1 and 0.
The preferred embodiment for /g, is based on setting up two functions that are multiplied together.
When fj at otherwise is 0.
When /• „, >-l: Set up a function that is 1 when the argument is greater than -1 and
otherwise is 0.
fl) 2 (66) + F)V The product of the two functions covers -!)•„, This is the expression that makes the nonnegativity constraint violation active when /. M is
on the frequency interval where G.(f) is active. Refer to FIG. 40 for an illustration of this gate function using two tapered Heaviside functions. Tapered Heaviside functions are described in more detail below.
The kp terms provide three features, k is a positive value between 0 and 1, and typically will be close to 1. The exponent p is a positive integer. Therefore, kp is always non-zero. /2 of 1 + / could be 0 so adding kp prevents a singularity from occurring. As p increases kp will decrease toward 0, but always be a positive value. / is a normalized frequency that will have values on the order of 1. The presence of kp at low values of p makes the gate functions rise
slowly and have slopes that become steeper as p increases . At large p the gate functions approximate Heaviside functions, but without the singularity that occurs with the Heaviside function. These functions that approximate Heaviside functions, but that are tapered, are called tapered Heaviside functions. The tapering of these functions makes them much more useful than using Heaviside functions when searching for solutions. Using tapered Heaviside functions in constraints is a feature of the present invention. The ability to adjust the slope of the gate function facilitates convergence during the search process. The process can start with low values of p and then
increase p to force the solution to ever more tightly enforce constraints. The &p term provides a second useful feature besides providing a means of altering the slope of the gate functions, the presence of kp causes non-zero gradient and Hessians to occur, which are necessary for using Newton's method to find solutions.
The preferred embodiment for /g2 is based on setting up one function. The second gate function is to have a value that tends to 1 when G.(f. exl ) -//,„,)
otherwise is 0. Base the expression on / =f which will have a value of 1 when
Gj(fjt „, ) 0. This base expression has a total amplitude of 2. The desired range for the function is [0, 1], so divide by 2 to obtain the correct span for the range and
then add — to obtain a function that has the desired range. To avoid a singularity when
Gj(fj ^ ) =0 and to have the expression to produce increasingly sharp results as change a
parameter, include a constant in the denominator. Unlike the functions based on /. al , this function does not have a natural scale of 1. Therefore, include a scale factor, H . The extreme amplitudes
of each G.(/) are linear in the a. , and the other term in the denominator is G.(f. ) , therefore
a reasonable scale factor to use is the mean squared value of the Uj in )aj. Another approach
would be scale the a. by normalizing the function for which the spectral density function is being
estimated. In that case, the natural scale factor would become 1. For the general case, the
preferred embodiment uses the following expression for the second gate function:
G = G .(/• „,) , the extreme value for the jth function segment, whether or not it occurs
over the region where G.(/) is active.
Refer to FIG. 41 for an example illustrating the second gate function. This figure shows the tapered Heaviside gate function for the case when the extreme value of G(f) is less than zero.
The preferred embodiment for f§3 is based on setting up one function. As was the case with the second gate function, the third gate function is to have a value that tends to 1 when
Gj(fj ^) 0 the extreme is a valley.
Using the same function form as just used: Set up a function that is 1 when a, >0 and
a. otherwise is 0. Base the expression on /y which will have a value of 1 when a; >0 and -1
when Oj divide by 2 to obtain the correct amplitude and then add -r- to shift the zero. To avoid a singularity
when Oj =0 and to have the expression produce increasingly sharp results as a change in
parameter, include a constant in the denominator. Unlike the functions based on /. ^ , this function does not have a natural scale of 1. Therefore, include a scale factor, u, . The other term in the
denominator is a. , therefore a reasonable scale factor to use is the mean squared values of the
a. in |a|, Another approach would be scale the a. by normalizing the function for which the spectral density function is being estimated. In that case, ihe natural scale 'ric'.or would become J. For a preferred implementation use the following. This expression makes the nonnegativity
constraint violation active only when G.(f. w() is less than 0. It has a range of [0,1], the same as the expressions derived earlier.The general expression for NCV, EQ. 64, has a leading weighting factor with the exponent x. When x=2 the product of the gate functions is weighted by G,(f. ) , which produces a
J Ji tXt
nonnegativity constraint value function referred to as NCV1. HO. 38 presents NCV1 for the preferred embodiment case of equally spaced piecewise continuous quadratic functions. NCV1 forces valleys of G(f) up to the frequency axis, and then stops influencing the position of the valley. If other components of COF are attempting to make a valley negative then an equilibrium position with the valley resting on the frequency axis results. This situation is illustrated in FIG. 42. When x=l in the general expression for NCV then the nonnegativity constraint value function referred to as NCV2, FIG. 39 presents NCV2 for a preferred implementation case of equally spaced piecewise continuous quadratic functions.
One aspect of the present invention relates to the ability to determine the values for the lower and upper bound frequency limits, f,., fH. When these limits are not known, a preferred implementation uses a search to find them and this search uses NCV1 as the nonnegativity constraint in conjunction with the quadratic curvatures of both G(f) and F(f) as the objective function being minimized and the digitization bin constraints. The search starts using a wide frequency interval. The results are then used to identify one or more narrower frequency ranges to be used as the intervals for another sequence of calculations to determine function parameters. This iterative process may be used as many times as needed until no further improvements occur. The search is often adequate after fewer than 10 iterations, and not using more than this many iterations is preferred because the successive improvements in the results decrease. This iterative search for the frequency limits is preferred for use when such limits are not known before calculations begin to find the best estimates for the SDC functions. After the frequency limits are determined then the NCV2 nonnegativity constraint is used when making the best estimates of the SDC functions.
The peak count constraint value function (PCV), FIG. 43, is very similar to the
nonnegativity functions. It uses two gate functions: one that tends to 1 when the a. for Gj is on the frequency interval where G. is active. Tapered Heaviside functions are used in the expression. This function essentially counts the number of peaks and squares the difference
jetv/een the number of peaks and target number of peaks. The magnitude of the result is unity, the same as the magnitudes of the other constraints. As the PCV constraint is met its value will iecrease as the square of the difference. For these reasons, do not include any additional weighting
Factor. To force the kp term used in the NCV function more quickly to a small value, the
preferred embodiment uses k in the PCV function.
A preferred process for calculating the solution that minimizes the COF is to use a multidimensional Newton's method search with backstepping. The basic sequence of the preferred sequence of calculations to estimate SD or SDC functions is listed in FIG, 44 through FIG. 46. This sequence includes the steps used to set up the calculation sequence and then to execute the calculation sequence.
The ilustrated process demonstrates that a scale factor, A, is used in the calculations, but its value is easily calculated, unlike when scale factors are used with regularization, such as Tikhonov regularization. This process also illustrates that there is no need to estimate the order of a time series model, as is the case with parametric spectral analysis methods. The illustrated process further illustrates that the present invention does not require fitting data using a norm (such as least squared errors) that minimizes errors between estimated values and measured values, and that the method explicitly allows estimated values to take on only values that are within the precision of the estimated values. Explicitly allowing estimated values to take on any value within the corresponding digitization bins, but constraining solutions to only be selected that make estimated values be within the correct digitization bins, provides a better solution than other spectral analysis methods.
The basic sequence of calculations in FIG. 44 through FIG. 46 requires starting with an assumed jdj. The starting values for the elements of |d| are often approximately known, in which case these approximate values should be used. In the absence of approximate values, the values in |d| should start with very small nonzero values to reduce the number of iterations needed for the solution to be found. In the absence of an approximate estimate for the values of |d|, the preferred starting values for |d| are less than 10'1, and more preferably less than 10"5, and even more preferably less than 10"'°, and yet more preferably less than 10"15.
A preferred objective function to use is the sums of the squared values of |a| and of |x|. This objective function is the same as the squared magnitude of |d|. This function will be minimized.
The basic sequence of calculations in FIG. 44 through FIG. 46 may be used with the ;omplete set of measurements from the beginning of the calculations. Using a subset of the total neasurements accelerates the calculations when only a poor estimate is available for the starting values of |d|. The method in accordance with the present invention converges quickly to reasonable /alues of )d] that define the SD or SDC functions, even when a small number of measurements is ised. Starting with a very approximate estimate of |d| will usually quickly converge to a reasonable jstimate, that can then be used as the starting |d| when the full set of measurements is used. When the number of measurements exceeds a modest number, for example exceeding 128, a preferred implementation starts with a subset of the measurements that spans the total measurement time
interval. A preferred number of measurements for the initial calculations is fewer than about 4,096
i with an even more preferred number being less than about 512. A preferred number of
measurements for initial calculations exceeds 10. A more preferred number of measurements for initial calculations is in the range of 32 to 128. For example, 64 measurements could be selected for initial calculations.
A preferred implementation includes backstepping. This backstepping differs from the typical backstepping employed in Newton and quasi-Newton methods. The preferred backstepping reduces each successive trial change in |d| by an order of magnitude. The preferred approach is to try between 5 and 15 orders of magnitude reduction in steps of one order of magnitude in attempts to reduce the COR Calculating the starting step is done in the usual manner with Newton's method, as is known. This calculation is computationally more expensive than attempting successive reductions in the step size as attempts are made to reduce the COF. A variety of refinements can be included after a step size has been found that reduces the COF. For example, the interval between the last two steps can be further subdivided to attempt to find an even lower COF. Such refinements can further include using a quadratic or other minimization to estimate the step size that gives the lowest COF.
In a preferred implementation the value of the exponent p present in tapered Heaviside functions and in the double sided constraint functions starts at small values and then is increased. All values of p must be positive even integers for it to be compatible with all of the constraint value functions. A preferred starting value isp=2. In a preferred implementationt the final value of p depends on the desired sharpness of the double sided constraint function for CVV. A preferred
implementation for calculating the final value of p follows. Define e to be the allowed deviation from 0 at the digitization constraint boundary. It is a value that effectively becomes the same as 0. When a constraint is less than or equal to £ then the constraint is met. In a preferred implementation the value of e is much less than 1 and even more preferably the value of e is less than 0.001 and still more preferably the value of e is less than or equal to 0.00001. Define a to be the fraction of the digitization bin width at which £ is to occur, oc is how close to the edge of a digitization bin e is to occur. In a preferred implementation the value of a is between 0 and 1. Even more preferred is the value of oc being between about 0.9 and 1. Still more preferred is the value of a being between about 0.99 and 1. Yet more preferred is the value of a being between about 0.999 and 1. Calculate the value of the final value of the exponent p based on the fraction of the width of the digitization bin width to where deviation from 0 is e . The value of the final p is the
( 1 V ( a w V even, positive, value that most closely satisfies the following equality — —r— \ - e , which
\w J \ *• )
equals o/ - e . Therefore, a preferred implementation selects the final value of/? as the even,
positive integer that most closely makes the equality p = , which is the same as EQ. 70.
For example, if £ = 0.00001 and a = 0.999 then the final value of p is pValStop := 11508 .
The value of p is increased after each Newton method search with backstepping. A preferred increase in p is a value that is the next even positive integer that is no larger than 10 times the value of p most recently used. More preferred is increasing p to a value that is the next even positive integer that is no larger than twice the value of p most recently used. Even more preferred is increasing p to the next even positive integer that is no larger than 3/2 the value of p most recently used. In a preferred implementation the minimum increase in p is calculated by adding 2 to the most recently used value of p.
For each value of p a Newton method search with backstepping is done until no significant changes in COP occur or until no significant changes in any of the elements of |d| are made or until the Newton search procedure has executed a specific number of search steps. In the preferred embodiment significant changes in COP or |d| that lead to further Newton search iterations are fractional changes that exceed 10'2 of the starting values and even more preferably fractional changes that exceed 10"4 and still more preferably changes that exceed 10^. In the preferred embodiment the maximum number of Newton search iterations for a particular value of p is between 5 and 100 and even more preferably between 10 and 50 and even more preferably between 10 and 25.
In a preferred implementation the number of basis frequencies, N, is between about 3 and about 50, and more preferably between about 6 and about 30. In a preferred implementation when the number of basis frequencies is greater than about 10 the calculations start with a value of N that is smaller than the final N and the SDC or SD functions for that |d] that are used to determine the starting |d| for the final N. Even more preferably, the starting value for N would be a factor of the final N, For example, if the |d| is desired for N=21 and G(f) and F(f) are being approximated by quadratic polynomials, then the first |d| calculated would be for N=7. The G(f) and F(f) from the |d| from N=7 is then used to calculate ]d| for N-21 by fitting 21 segment piecewise continuous quadratic segments to the |d| calculated using 7V=7. Such curve fitting can be done using standard linear regression techniques. This |d| is then used as the starting |d| for the set of calculations that use N=21.
A preferred implementation performs the calculations using an augmented computing system, wherein such augmented computing system employs one or more electronic, magnetic, or optical components to perform digital or numerical calculations, and store or display the results of calculations. Augmented computing systems include devices that use one or more computers, microprocessors, or microcontrollers configured with nonvolatile or volatile data storage or retrieval means such as magnetic, optical, or electronic data storage or retrieval means and further configured to display or save calculation results or pass the results to a further processing step or system.
A preferred implementation saves the calculated results for use by other algorithms that rely on spectral density data, such as those that use such information for calculating flow rates or for
diagnosing diseases. An example of such an algorithm and associated structure is disclosed in PCT Application No. WO 03/032556 , published April 17,2003, which is incorporated herein by reference. Such storage can be done using methods that employ one or more of electronic, magnetic, optical, or hard copy implementations.
Another version of a preferred implementation displays data using optical means such as numeric or graphical displays such as those using one or more electronic means or hard copy.
FIG. 47 through FIG. 53 are example displays for calculations using the above procedure. All of these figures were calculated using 18 digitization bits, which corrupts the measured f(t) to the point where the spectral density estimates calculated using ||P|| are incorrect by more than an order of magnitude and G(f) has significant nonnegativity constraint violations. FIG. 47 through FIG. 49 were calculated using 50 measurements. The results are close to the actual SDC and SD functions using a small number of measurements, demonstrating that the method produces useful results with an economy of measurements. FIG. 50 through FIG. 53 were calculated using 200 measurements. The results are closer to the actual SDC and SD functions, as they should be because the results are more constrained by the larger number of digitization bin constraints. FIG. 53 is the cumulative distribution calculated from the SD function. Cumulative distributions can be more useful than density functions for some purposes, such as calculating dimensions of tissue structures. One aspect of the present invention relates to its ability to generate continuous spectral density functions that are more readily converted into accurate representations of the cumulative spectral functions than methods that produce values at specific frequencies, such as Fourier methods.
FIG. 54 illustrates an example of a medical application in accordance with the present invention. In particular, the illustrated system uses an ultrasonic transducer 1 to introduce an interrogating signal 2 into a patient 3, such as for calculating flow rates or dimension related information, using a transform utility in accordance with the present invention. The transducer may be any of various conventional ultrasound units and may provide the signal 2 in the form of a pulse train. In accordance with the present invention, the transducer 1 may be disposed external to the patient 3, for example, in the suprastemal notch and may be directed so that the signal targets the ascending aorta. Depthwise targeting can be accomplished by processing return signal components received during the time window corresponding to the desired depth.
The interrogating signal 2 backscatters from patient tissues 4 and a return signal 5 is detected by the receiving transducer 6. The receiving transducer 6 converts the mechanical energy (not shown) of the return signal 5 into oscillating electrical signals (not shown) that are introduced into the analog amplification and processing module 7. This module may perform a variety of functions including analog digital conversion, amplification, filtering, conditioning and other signal enhancement. The output from the analog amplification and processing module 7 is a digitized stream of data that is the input to the digital processing module 8. The digital processing module 8 converts the digitized signal data into frequency spectra, in accordance with the present invention as described above, and then into velocity data which becomes velocity vectors that the digital processing module 8 stores as vectors of digital dimensioned velocity profile data in a memory location (not shown) of the data processing module 9. The data processing module 9 converts the velocity profile data (not shown) into one or more data vectors (not shown) that represent a piecewise continuous dimensioned velocity spectral density function.
The digital processing module 8 may contain one or more microprocessors and one or more data storage structures that enable it to make the calculations needed to determine Volumetric Flow Rates (VFRs) and derived parameters as decribed in the above-referenced PCT application. The data storage structures contain values for parameters used in look-up tables that facilitate calculations that avoid or reduce the need to evaluate special functions. Additionally, certain values such as a channel dimension, average flow rate or the like may be predetermined and stored in cache or other storage for combination with values obtained in connection with a later measurement process. FIG. 54 also illustrates that the system has a control module 10 that receives setup parameters (not shown) from the user 11. Setup parameters can include data such as patient parameters, e.g., hematocrit, and on/off signals regarding when data reading and processing should begin and end. The control module 10 receives signals from the data processing module 9 regarding the status of the received data (not shown) and changes in the interrogating signal 2 that are needed to improve or maintain quality measurement data. The control module 10 optionally receives signals of biological activity 12, such as electrical signals related to cardiac activity. The biological signals 12 may be used to synchronize interrogating signals 2 to biological functions or to correlate calculated values such as VFRs to such biological functions. The control module 10 signals the transducer power module 13 when the interrogating signal 2 should begin and end. The transducer
power module 13 provides the drive signal 14 to the ultrasonic transducer 1. The data processing module 9 generates output data 15 that go to the output module 16.
The output module 16 generates visible displays 17 and audio devices 18 to inform the user of the system's operating status and the results of the system's interrogation of the patient 3.
The output module 16 may also include ports for providing data to other instruments (such as an EKG) or processing systems, for example, via a LAN or WAN. It will be appreciated that the various processing modules described above may be embodied in one or more computers, located locally or interfaced via a network, configured with appropriate logic to execute the associated algorithms. Additionally, certain signal drive and processing components may be incorporated into the interrogating signal instrument such as an ultrasound system.
The preceding description is not restrictive and presents an example of one implementation of some aspects of the present invention.
1. A medical signal processing method, comprising the steps :
Receiving time - based information corresponding to a defined time interval of a time - based, medical diagnostic signal;
performing a transform on said time - based information to obtain a frequency spectrum defined by a set of a nonzero amplitude values for a corresponding set of frequencies, said frequency spectrum including a number of said nonzero amplitude values at irregularly spaced frequency intervals, wherein, said nonzero amplitude values include a first nonzero amplitude value at a first frequency value and a second nonzero amplitude value greater than said first nonzero amplitude value at a second frequency and said second frequency is a noninteger multiple of each frequency of said set of frequencies other than said second frequency; and operating a processor in a signal processing environment for using said transform to provide an output based on said time- based, medical diagnostic signal.
A method as set forth in Claim 1, wherein said time - based signal includes a
component having a period that is longer than said time interval.
A method as set forth in Claim 2, wherein said period of said component is at
least twice said time interval.
A method as set forth in Claim 1, wherein said step of receiving comprises
obtaining an input based on a transmitted interrogation signal.
A method as set forth in Claim 1, wherein said step of receiving comprises
obtaining a input based on a transmitted ultrasound signal.
A method as set forth in Claim 1, wherein said spectrum includes first, second
and third successive nonzero values associated with first second and third
successive frequencies, where a different between said first and second
frequencies is different that a difference between said second and third
A method as set forth in Claim 1, wherein said spectrum defines a substantially
continuous function across a frequency range wherein said function has nonzero
values for a majority of frequencies of said range.
A method as set forth in Claim 1, wherein said step of operating comprises
using said spectrum to modify said time - based signal on a frequency dependent
A method as set forth in Claim 1, wherein said step of operating comprises
using said spectrum to calculate at least one parameter based on said time-based
A method as set forth in Claim 1, wherein said time- based signal is an
ultrasound signal modulated based on interaction with tissue of an organism
including a flow channel and step of operating comprised determining dimension
related information for said flow channel.
A method as set forth in Claim 1, wherein said time - based signal in an
analog signal and said time - based information is digital time - based
information, and said step of performing a transform involves accounting for a
digitization error associated with a difference between said analog time- based
signal and said digital time - based information.
A method as set forth in Claim 11, wherein said digital time - based
information comprises a time series of digital values and said accounting involves
defining a number of value ranges associated with said digital values, establishing
a mathematical model defining a process for deriving said spectrum wherein a
given digital value of said series of digital values is allowed to vary within one of
said number of value ranges including said given digital value as part of said
process, and using said mathematical model to derive said spectrum.
A method as set forth in Claim 12, wherein a determination process for
determining a specific value of said given digital value within said one value range
involves modeling said determining process as a constrained optimization problem.
A method as set forth in Claim 13, wherein said optimization problem involves
a constraint related to a limit of said range.
A method as set forth in Claim 13, wherein said optimization problem involves
upper and lower constraints related to limits to said range.
A method as set forth in Claim 13, wherein said optimization problem involves
a nonnegativety constraint.
A method as set forth in Claim 13, wherein said optimization problem involves
a constraint related to a limit of said range and a nonnegativity constraint.
A method as set forth in Claim 13, wherein said optimization problem includes
a constraint related to speak count within said range.
A method as set forth in Claim 13, wherein said optimization problem is
defined by a convex objective function.
A method as set forth in Claim 13, wherein said optimization problem involves
at least one constraint, and said constraint is implemented by one of a penalty
function and a barrier function.
A method as set forth in Claim 20, wherein said constraint is implemented by a
A method as set forth in Claim 21, wherein said Heaviside function is tapered
at an area corresponding to a constraint value such that the function is free from
singularities at said area.
23. A method as set forth in Claim 11, wherein said accounting comprises
establishing a mathematical model for imposing at least one constraint on a
function associated with said spectrum.
24. A method as set forth in Claim 23, wherein said constraint related to a length
of said function within a defined frequency range.
A method as set forth in Claim 23, wherein said constraint relates to an area
underlying said function within a defined frequency range.
A method as set forth in Claim 23, wherein said constraint requires that said
function have non-negative values within a defined frequency range.
A medical signal processing; system comprising;
a port for receiving time-based information corresponding to a defined time interval of a time-based, medical diagnostic signal, wherein said time - based signal is an analog signal and said time - based information is digital time -based information; and a processor operative for:
1. performing a transform on said time-based information to obtain a
frequency spectrum for said time-based signal wherein said step of performing a
transform involving accounting for a digitization error associated with a difference
between said analog time-based and said digital time-based information; and
2. operating a processor in a signal processing environment for using said
transform to provide an output based on said time-based signal.
A system as set forth in Claim 27, wherein said processor is operative for
implementing a determination process for determining a specific value of a given
digital value within a value range by modeling said determination process as a
constrained optimization problem.
A system as set forth in Claim 28, wherein said optimization problem
involves a constrained related to a limit of said range.
A system as set forth in Claim 28, wherein said optimization problem
involves upper and lower constraints related to limits of said range.
A system as set forth in Claim 28, wherein said optimization problem
involves a nonnegativety constraint.
A system as set forth in Claim 28, wherein said optimization problem involves
a constrained related to a limit of said range and a nonnegativity constraint.
A system as set forth in Claim 28, wherein said optimization problem includes
a constrained related to a peak count within said range.
34.A system as set in forth in Claim 28, wherein said optimization problem is defined by a convex objective function.
A system as set in forth in Claim 28, wherein said optimization problem
involves at least one constraint, and said constraint is implemented by one of a
penalty function and a barrier function.
A system as set forth in Claim 35, wherein said constraint is implemented by a
A system as set forth in Claim 36, wherein said Heaviside function is tapered
at an area corresponding to a constraint value such that the function is free from
singularities at said area.
|Indian Patent Application Number||2045/DELNP/2005|
|PG Journal Number||25/2008|
|Date of Filing||13-May-2005|
|Name of Patentee||TEAM MEDICAL LLC.|
|PCT International Classification Number||G06F|
|PCT International Application Number||PCT/US2003/036804|
|PCT International Filing date||2003-11-14|