In the following Detailed Description, reference is made to the accompanying drawings, which form a part hereof, and in which is shown by way of illustration specific embodiments in which the invention may be practiced. In this regard, directional terminology, such as “top,” “bottom,” “front,” “back,” “leading,” “trailing,” etc., is used with reference to the orientation of the Figure(s) being described. Because components of embodiments of the present invention can be positioned in a number of different orientations, the directional terminology is used for purposes of illustration and is in no way limiting. It is to be understood that other embodiments may be utilized and structural or logical changes may be made without departing from the scope of the present invention. The following detailed description, therefore, is not to be taken in a limiting sense, and the scope of the present invention is defined by the appended claims.
In one embodiment, feature analyzer 34 receives the series of digital values from receiver 32 via a signal path 42. Feature analyzer 34 includes a first wavelet generator 44 configured to generate a family of prototype wavelets defined by a first set of wavelet parameters 46. The prototype wavelets are formed from any type of wavelet described by a finite set of parameters, including wavelets from the Haar, Morlet, Complex Morlet, Guassian, Complex Gaussian, Daubechies, Spline, Meyer, and Mexican Hat wavelet families, or wavelets derived from scales of the shape of the desired feature. (See Wavelets and Subband Coding, M. Vetterli and J. Kovacevic, Prentice-Hall, 1995.) In one embodiment, as described in greater detail below, first wavelet generator 44 is configured to generate a family of Kovtun-Ricci (KR) prototype wavelets.
In one embodiment, first wavelet generator 44 generates a first prototype wavelet defined by the first set of wavelet parameters 46 having an initial set of first parameter values. In one embodiment, as described in greater detail below, the prototype wavelets generated by first wavelet generator 44 include a real wavelet component and an imaginary wavelet component. In one embodiment, as described in greater detail below, the set of first wavelet parameters 46 includes at least one order parameter, at least one scale parameter, at least one amplitude coefficient parameter pair including a real amplitude coefficient parameter and an imaginary amplitude coefficient parameter, and at least one central index parameter.
In one embodiment, feature analyzer 34 compares the first prototype wavelet to at least a portion of a series of data values corresponding to a selected number of cycles of input signal x 40. In one embodiment, the selected number of cycles comprises all cycles of input signal x 40. In one embodiment, the selected number of cycles of input signal x 40 comprises cycles satisfying a predefined selection criterion. Feature analyzer 34 adjusts the initial set of first parameter values to obtain a matched prototype wavelet defined by the first set of wavelet parameters having an adjusted, or matched, set of first parameter values for each of the first features of the selected number of cycles, wherein each matched prototype wavelet substantially matches the corresponding first feature. In one embodiment, as will be described in greater detail below, feature analyzer 34 individually obtains a matched wavelet for each of the first features by iteratively adjusting the values of the set of first parameter values until an error metric between a prototype wavelet generated by first wavelet generator 44 and the corresponding first feature is substantially optimized. The values of the set of first parameter values when the error metric is substantially optimized comprises the matched set of first parameter values which define the matched wavelet.
In one embodiment, the error metric comprises a mean-square error or sum-square error between the prototype wavelet and the corresponding first feature. In another embodiment, the error metric comprises a measure of the maximum absolute deviation between the prototype wavelet and the corresponding first feature. In another embodiment, the error metric comprises a measure of the area of the absolute value of a difference between the prototype wavelet and the corresponding first feature. Optimization of the parameter values comprises a means to minimize the error metric and may include a local or global search over a vector space represented by the parameters. Other suitable parameter optimization techniques may also be employed such as, for example, line minimization, simulated annealing, Lagrange Multipliers, and Gauss-Newton methods. (See also Optimization by Vector Space Methods, by David G. Luenberger, John Wiley & Sons, Inc., 1969). In some embodiments, optimization methods may be applied separately, or in combination, to certain subspaces of the parametric space to enable optimization of efficiency of the error minimization algorithm.
Attribute analyzer 36 receives a stream of sets of matched first parameter values, one set of matched first parameter values for each of the first features, from feature analyzer 34 via a signal path 52. Attribute analyzer 36 provides an output signal 54 indicative of one or more attributes of the first features based on the stream of sets of matched first parameter values for the first set of wavelet parameters 46. In one embodiment, attribute analyzer 36 provides output signal 54 indicative of an absolute complex amplitude attribute for each of the first features based on the corresponding real and imaginary amplitude coefficient parameters. In one embodiment, attribute analyzer 36 provides output signal 54 indicative of a complex angle attribute for each of the first features based on the corresponding real and imaginary amplitude coefficient parameters. In one embodiment, attribute analyzer 36 provides output signal 54 indicative of timing relationships between first features based on their corresponding central index parameters.
In one embodiment, the providing of output signal 54 by attribute analyzer 36 includes transmitting the set of matched first parameter values (e.g., an order parameter value, a scale parameter value, a central index parameter value, and real and imaginary amplitude coefficient parameter values) and/or the corresponding feature attributes (e.g., absolute complex amplitude attribute and complex angle attribute) for each of the first features of the selected cycles of input signal x 40 to a remote receiving device (not shown).
In one embodiment, attribute analyzer 36 stores the set of matched first parameter values and/or the corresponding feature attributes and/or the matched wavelets for each of the first features of the selected cycles of input signal x 40 in a storage device 56. In one embodiment, the set of matched first parameter values for each of the first features are stored in storage device 56 in the form of individually identifiable wavelet parameter objects. For example, in one embodiment, each wavelet parameter object is indexed to a first feature of a particular cycle of input signal x 40, and includes an order parameter value, a scale parameter value, a central index parameter value, and a real and an imaginary amplitude coefficient parameter value. Such an object representation creates a compact packet of concentrated information about the first feature, and enables the first features of each of the plurality of cycles of input signal x 40 to be stored and represented as a series of wavelet parameter objects, in lieu of the corresponding individual digital data values of input signal x 40, thereby reducing data storage and transmission requirements.
In some embodiments, these wavelet parameter objects may be represented as structures or objects in a computer program. The representation of data through use of such objects in well known in the arts of software engineering and computer science. (See Data Structures and Other Objects Using C++ 2nd Edition, by M. Main and W. Savitch, Addison-Wesley, 2001.) The use of the term object implies a meaning as understood by these arts.
Although described generally above in terms of a first feature, each cycle of quasi-periodic input signal x 40 may include more than one feature of interest or “target” feature. In one embodiment, in addition to the first feature, each cycle of input signal x 40 includes a second feature. As such, in one embodiment, feature analyzer 34 further includes a second wavelet generator 58 configured to generate a family of prototype wavelets defined by a second set of wavelet parameters 60. In one embodiment, second wavelet generator 58 generates a second prototype wavelet defined by the second set of wavelet parameters 60 having an initial set of second parameter values. In one embodiment, second wavelet generator 58 comprises the same wavelet generator as first wavelet generator 44 (e.g., Kovtun-Ricci prototype wavelet) with second set of wavelet parameters 60 comprising the same wavelet parameter types as first set of wavelet parameters 46. In a fashion similar to that described above with respect to first wavelet generator 44, feature analyzer 34 compares the second prototype wavelet to each cycle of the selected number of cycles of input signal x 40 and adjusts the initial set of second parameter values to obtain a matched prototype wavelet defined by the second set of wavelet parameters having an adjusted, or matched, set of second parameter values for each of the second features of the selected number of cycles, wherein each matched prototype wavelet substantially matches the corresponding second feature.
Likewise, attribute analyzer 36 provides output signal 54 indicative of one or more attributes of the second features (e.g., absolute complex amplitude attribute and complex angle attribute) based on the sets of matched second parameter values. In one embodiment, attribute analyzer 36 provides output signal 54 further indicative of one or more attributes relative to the first and second features, such as, for example, a time interval between first and second features of a same cycle based on the corresponding central index parameters. Similarly, in one embodiment, attribute analyzer 36 respectively stores and/or transmits the set of matched parameter values and/or the corresponding attributes for each of the second features of the selected cycles of input signal x 40 to storage device 56 or a remote receiving device (not shown).
By extension, in other embodiments, feature analyzer 34 includes a plurality of wavelet generators, each configured to generate a family of prototype wavelets defined by a corresponding set of wavelet parameters, and configured to obtain a matched prototype wavelet by adjusting the corresponding sets of parameter values to obtain sets of matched parameter values such that each of the matched prototype wavelets substantially matches a feature of a corresponding plurality of features of each cycle of the selected number of cycles of input signal x 40.
In one embodiment, signal analyzer 30 further includes a delineator 62. Delineator 62 receives input signal x 40 via signal path 42 and determines points of interest of the qp waveform represented by input signal x 40, wherein the points of interest are indicative of features of the qp waveform, such as the first feature, for example. Examples of such points of interest include local peaks, valleys, inflections, and changes of slope of the qp waveform.
In one embodiment, based on the determined points of interest, delineator 62 provides a segmented input signal x′ 64 to feature analyzer 34, wherein segmented input signal x′ 64 comprises only portions or segments of input signal x 40, wherein each segment comprises a range of data points corresponding to a selected feature of the qp waveform. In one embodiment, the selected feature comprises the first feature, such that each of the segments of segmented input signal x′ 64 comprises a range of data points of input signal x 40 which includes and corresponds to a first feature of the qp waveform represented by input signal x 40. For example, in one embodiment, as will be described in greater detail below, each segment of segmented signal x′ 64 comprises a range of data points corresponding to a T-wave feature of an ECG waveform represented by input signal x 40.
An example of one technique which can be employed by delineator 62 for determining feature points of and segmenting input signal x 40 is a quarter-phase transition technique described by U.S. patent application Ser. No. 11/360,223, filed on Feb. 23, 2006, entitled “System and Method for Signal Decomposition, Analysis, and Reconstruction” which is herein incorporated by reference. In other embodiments, delineator 62 employs conventional techniques generally known in the art such as QRS-complex detection, QT interval measurement, and J point estimation. In one embodiment, delineator 62 determines and provides segmented input signal x′ 64 based on known and/or expected characteristics of the qp waveform represented by input signal x 40.
In one embodiment, signal analyzer 30 further includes an initializer 66. In one embodiment, initializer 66 receives segmented input signal x′ 64 and information representative of attributes (e.g., position, amplitude) of the points of interest along input signal x 40 via a signal path 68. In one embodiment, based on the information received from initializer 66, initializer 66 determines and provides, via a signal path 70, initial parameter values for one or more of the parameters of the first set of wavelet parameters 46. In one embodiment, initializer 66 determines and provides initial parameter values for one or more of the parameters of the first set of wavelet parameters 46 based on the information received via signal path 68 and on predetermined knowledge of input signal x 40 (e.g., general characteristics of an ECG).
In one embodiment, as mentioned above, the information provided by delineator 62 to initializer 66 via signal path 68 is based upon quarter-phase analysis as described by the previously incorporated U.S. patent application Ser. No. 11/360,223. For example, an atomic period may be used as an initial value estimate for the scale parameter of the first set of wavelet parameters 46. Also, sequence detection of a phase label sequence arising from a corresponding component set may be employed to provide an initial estimate for the central index parameter of the first set of wavelet parameters 46. Additionally, an estimate of the order parameter may be determined based on a width of an amplitude envelope surrounding the estimated central index parameter.
By providing initial parameter values and segmented input signal x′ 64 to feature analyzer 34, feature analyzer 34 is able to improve the efficiency and, thus, reduce a time required to perform the typically iterative optimization process for determining the sets of matched parameter values which produce the matched wavelets.
In one embodiment, as described briefly above, input signal x 40 is representative of an ECG waveform, which is a measurement of the electrical activity of the heart.
A portion of the ECG from a beginning of P-wave 82 (onset of atrial de-polarization) to a beginning of QRS-complex 92 is referred to as the PR-interval, as indicated at 96. A portion from an end of P-wave 82 to the beginning of QRS-complex 92 is referred to as the PR-segment, as indicated at 98. PR-segment 98 corresponds to the time between the end of the atrial de-polarization to the onset of ventricular de-polarization. QRS-complex 92 represents the time required for de-polarization of the ventricles. A portion of the ECG between S-wave 88 and T-wave 90 is known as the ST-segment, as indicated at 100. ST-segment 100 corresponds to a period of ventricular muscle activity before re-polarization. A portion from an onset of QRS-complex 92 to an end of T-wave 90 is known as the QT-interval, as indicated at 102, and represents the time of ventricular de-polarization and ventricular re-polarization.
ECGs are reflective of various aspects of the physical condition of the human heart and are employed, for example, to measure the rate and regularity of heartbeats, to detect the presence of damage to the heart, to monitor the effects of drugs, and for providing operating information to devices used to regulate heartbeats (e.g., defibrillators). As described briefly above, T-wave alternans, in particular, have been recognized as a significant indicator of risk for ventricular arrhythmia and sudden death. T-wave alternans result from different rates of repolarization of the muscle cells of the ventricles. The extent to which these cells nonuniformly recover or repolarize is the recognized basis for electrical instability of the heart.
With regard to
In one embodiment, as illustrated generally by
An example embodiment of basic derivative kernel block Kd 134 is given by the discrete-time impulse response of Equation I below:
kd(n)=(δ(n)−δ(n−k))/2. Equation I:
In Equation I, the factor 2 is a normalization factor. In this example, the factor 2 is chosen to provide a unity-gain passband, but the normalization factor may be any arbitrary factor. In Equation I, δ(n) is a discrete-time delta function, sometimes referred to as the unit delta or unit impulse, which is given by Equation II below:
In some embodiments, in addition to delay operations, kd comprises of the operations of signed addition and scaling by a factor of two which, in some embodiments, enables implementation using a multiplierless architecture. Specifically, it is well understood in the art of digital-signal-processing architectures, that scaling a signal sample by any integer power P of 2 may be readily implemented in digital form with appropriate shifting by P bits the digital bit representation of the signal sample. Thus, by extension through the cascade, scaled-derivative kernel block Hd 130 may itself, in some embodiments, be implemented using a multiplierless architecture.
Further, the time-domain impulse response hd of scaled-derivative kernel block Hd 130 has generally a bell-shaped envelope, particularly evident for Nd greater than or equal to about 4, with alternating-sign coefficients. All nonzero coefficients of hd have (k-1) zeros interpolated between them. Even values of Nd result in hd symmetric about their time centers, while odd values of Nd result in hd antisymmetric about time their time centers. The intrinsic delay of the impulse response hd, equivalent to the time delay to the time center of hd, is Dd=Ndk/2 samples and this delay is integer-valued for Nd and/or k even. The z-domain transfer function of scaled-derivative kernel block Hd 130 is given by Equation III below:
When evaluated on the unit circle (z=ejω), the frequency response of scaled derivative kernel block Hd 130 is given by Equation IV below:
The frequency response Hd(ω) exhibits a series of substantially bell-shaped passbands, particularly for Nd greater than or equal to about 4, centered at ωcq=π(1+2q)/k radians, or fcq=Fs(1+2q)/(2k) Hz, where Fs is the sample rate in Hz, and where q=0,1,2, . . . , such that the q=0 case corresponds to the fundamental passband centered at ωc0≡ωc (fc0≡fc). The passbands have bandwidths that are inversely proportional to scaling factor k and monotonically inversely related to the number, Nd, of basic derivative kernel blocks Kd 134. In the fundamental passband, the frequency response has constant (“flat”) phase equal to Ndπ/2, after accounting for the linear phase term due to the intrinsic delay Dd.
In one embodiment, as illustrated by
ki(n)=(u(n)−u(n−w))/w. Equation V:
In Equation V, normalization by the factor w is a choice for this example to provide a unity-gain passband, but can be any arbitrary factor. Also, u(n) defines a discrete-time unit step function given by Equation VI below:
In some embodiments, in addition to delay operations, ki is comprised of operations of signed addition and scaling by a factor of w. In other embodiments, choosing w as an integer power of 2 enables implementation of ki using a multiplierless architecture and, by extension through the cascade, enables scaled-integral kernel block hi to be implemented using a multiplierless architecture.
In some embodiments, the time-domain impulse response of basic integrator-kernel block ki is rectangular in shape, with a width of w samples and with height w−1, so that the gain at dc of this block, the sum of the coefficients, is unity. One may further note that, in some embodiments, the time-domain impulse response hi of scaled-integrator kernel block Hi 132 is generally bell-shaped, particularly evident for Ni greater than or equal to about 3. In practice, in some embodiments, w is set to a value of at least 2 samples, since both w=0 and w=1 are degenerate cases resulting in all-zero coefficients and a unit impulse for hi, respectively, regardless of Ni. In some embodiments, impulse responses hi are symmetric about their time center regardless of Ni or w. The intrinsic delay of the impulse response hi, equivalent to the time delay to the time center of hi, is Di=Ni(w−1)/2 samples and this delay is integer-valued for Ni even and/or w odd. The z-domain transfer function of the scaled-integral kernel block is given by Equation VII below:
When evaluated on the unit circle (z=ejω), the frequency response is given by Equation VIII below:
In some embodiments, the amplitude of Hi(ω) exhibits a classic periodic-sinc-shaped lowpass response having a mainlobe centered at dc (ω=0) with a peak amplitude of unity, sidelobes of generally decreasing amplitude towards Nyquist (ω=π), and amplitude zeros (nulls) at ω=2π·r/w radians, or f=Fs·r/w Hz, where Fs is the sample rate in Hz, and where r=1,2, . . . N. The lowpass mainlobe passband has bandwidth inversely proportional to w and monotonically inversely related to Ni. With increasing Ni the sidelobes become progressively more attenuated and the overall amplitude response becomes progressively more bell-shaped. After accounting for the linear phase term due to the intrinsic delay Di, the phase response of Hi(ω) is flat and equal to zero radians in the lowpass mainlobe, and continues to be flat in the sidelobes, alternating between 0 and π radians every other sidelobe for odd values of Ni (i.e., the phase is flat and zero radians everywhere for even values of Ni).
In some embodiments, as illustrated with regard to
In the above description of scaled-derivative kernel block Hd 130, scaling factor k and the number Nd of basic derivative kernel blocks Kd serve as band-tuning parameters. In practice, band-tuning parameters k and Nd of Hd 130 are tuned to set the center frequency and bandwidth of the fundamental passband, and by consequence, the harmonic passbands, of filter section H 120.
Similarly, in the above description of scaled-integrator kernel block Hi 132, scaling factor w and the number Ni of basic integrator kernel blocks Ki serve as band-tuning parameters. In some embodiments, band-tuning parameters w and Ni of Hi 132 are tuned to set the degree of suppression needed, if any, in the harmonic passbands. This is typically accomplished by disposing the width of the mainlobe of Hi 132 so that it covers the fundamental passband of Hd 130, along with the desired number of successive harmonic passbands, if any, and so that the undesired harmonic passbands reside in the region of the nulls and sidelobes of Hi 132. If no harmonic suppression is needed, integrator kernel block Hi 132 may be eliminated, or equivalently, replaced with a unit impulse (e.g., by setting w=1).
In some embodiments, only the fundamental passband is kept, and all harmonic passbands are suppressed without loss of generality (WLOG). In some embodiments, a degree of optimality in overall harmonic suppression may be obtained by placing the first null of Hi 132 as close as possible to the peak of the first harmonic passband. In some embodiments, this constraint is satisfied by the relation given by Equation IX below:
w≡Q[2/3k] Equation IX:
where the operator Q[x] quantizes x to an integer. The operator Q[•] may take the form of the ceiling, floor, or rounding operation, and, in some embodiments, in order to satisfy the requirements of a multiplierless architecture, may be made to round to the nearest integer power of 2.
In one embodiment, output y 128 from filter section 120 is processed through a delay element Dh 148 to form the real output component yre 140. In one embodiment, delay element Dh 148 is set for a delay substantially equal to an intrinsic delay, mh, of Hilbert transformer block Hh 146 over at least the bandwidth of interest of filter section 120. This is useful for systems requiring the intrinsic delay from y 128 to real output component yre 140 to be the same as that from y 128 to imaginary output component yim 142. In some embodiments, delay element Dh 148 is implemented with an impulse response given by Equation X below:
dh(n)=δ(n−mh). Equation X:
In some embodiments, basic derivative kernel block Kd 134 is used for Hilbert transformer block Hh 146. In this case, the delay of block Dh 148 may be set with mh=k/2, equivalent to the intrinsic delay of the basic derivative kernel block Kd 134. This delay is integer-valued for k even.
In some embodiments, where filter section H 122 is implemented using any real-valued wavelet, analytic filter section 138 may be applied to form a complex-valued wavelet. In some embodiments, where Hilbert transformer block Hh 146 is implemented using basic derivative kernel block Kd 134, the corresponding scale parameter k is preferably set to k=Q[π/ωc], where frequency ωc substantially corresponds to the central frequency of filter section H 122 (i.e. the frequency at which the magnitude of the frequency response of H 122 substantially reaches a global maximum or peak).
The outputs of analytic filter section 138 may then be used to form complex analytic output yc as given by Equation XI below:
y
C
=y
re
+jy
im. Equatioon XI:
As given by Equation XI, complex analytic signal yc may be generally applied for spectral analysis, instantaneous frequency and amplitude measurement, and related applications well understood and established in the art of analytic signals and communications systems.
With reference to
h
c
=h
r
+jh
i. Equation XII:
In some embodiments, where the filter section is implemented using a wavelet defined in complex-valued terms (i.e. a complex wavelet such as the Complex Morlet Wavelet or Complex Gaussian Wavelet), it is noted that impulse response h is itself complex and so may be used for complex impulse response hc.
In one embodiment, a real-valued morphologic transfer function, hp, (i.e. a prototype wavelet) is formed from complex analytic transfer function, hc, as expressed by Equation XIII below:
h
p
=a
r
h
re
+a
i
h
im
=a
r
real(h
c)+aiimag(hc); where: Equation XIII:
hp=prototype wavelet transfer function;
ar=real coefficient parameter; and
ai=imaginary coefficient parameter;
where hre=real(hc) and him=imag(hc) respectively represent the real and imaginary components of complex transfer function, hc. In one embodiment, prototype wavelet hp is normalized by dividing each sample of the real and imaginary components by the amplitude of the center sample of the real component. It is noted that for hre and him comprising and analytic-from Kovtun-Ricci (KR) wavelet, that prototype wavelet hp is referred to as a Kovtun-Ricci (KR) prototype wavelet.
Real and imaginary coefficient parameters ar and ai respectively represent real and imaginary parts of a complex amplitude, a, expressed by Equation XV below:
a=a
r
+ja
i. Equation XIV:
The relative amplitudes of real and imaginary coefficient parameters ar and ai determine the morphology of the prototype wavelet, with absolute complex amplitude (|a|) and complex angle (θ) parameters being respectively expressed by Equations XVI and XVII below:
With regard to Equations XV and XVI above, complex amplitude |a| generally controls the amplitude of the prototype wavelet and, as will be shown in greater detail below, complex angle θ generally controls the shape (morphology) or symmetrical properties of the prototype wavelet.
Based on the description of KR-wavelet generator 44 with regard to
Similarly, in one embodiment, the value of scaling factor w is based on the value of scaling factor k (e.g., a ratio of scaling factor k). In one embodiment, for example, scaling factor w comprises a ratio of scaling factor k rounded (up or down) to a nearest integer value. In one embodiment, either or both values of scaling factors k and w are set at a corresponding fixed value.
As such, in one embodiment, a family of prototype wavelets can be generated by KR-wavelet generator 44 by adjusting the values of order parameters Nd and Ni, scaling factor parameters k and w, real and imaginary coefficient parameters ar and ai, and central index parameter ic of prototype wavelet hp. These parameters are sometimes referred to herein as the “wavelet parameter set” of KR-wavelet generator 44, such as illustrated by first set of wavelet parameters 46 (see
Plot 244 of
Plot 248 of
Plot 254 of
As illustrated by
In one embodiment, input signal x 40 comprises an ECG signal with each cycle having a first feature or first target feature comprising a T-wave feature (e.g., T-wave feature 90 of
As described above, to enable measurement of T-wave alternans, feature analyzer 34 individually matches a prototype wavelet generated by KR-wavelet generator 44 to each T-wave feature of a selected number of cycles of an ECG.
For each of the matched wavelets, feature analyzer 34 provides a set of matched first parameter values for the set of wavelet parameters 46 to attribute analyzer 36, such as those illustrated by Table 1 at 290. Attribute analyzer 36 employs this stream of sets of matched first parameter values to provide an output signal 54 indicative of T-wave related parameters, including T-wave alternans. In one embodiment, employing Equations XV and XVI, attribute analyzer 36 provides an absolute complex amplitude(|a|) parameter and a complex angle parameter θ based on real and imaginary coefficient parameters ar, and ai, as well as order parameter Nd, scale parameter k, and central index parameter ic.
Empirically, it is noted that employing an order parameter Nd at a value of 2 typically provides optimal matches between prototype wavelets generated by KR-wavelet generator 44 and typical T-wave features. As such, in one embodiment, as illustrated by process 330 of
After setting the initial parameter values, process 330 proceeds to 334 where an optimal or matched value of central index parameter ic is determined. In one embodiment, the optimal value of central index parameter ic is determined by comparing a prototype wavelet generated by KR-wavelet generator 44 to a sliding window of data points of the ECG corresponding to a region in which the T-wave feature is located, wherein the sliding window has fixed width (i.e. a fixed number of data points) which matches a support width of prototype wavelet hp. In one embodiment, feature analyzer 34 performs a least-squares-fit between the prototype wavelet generated by KR-wavelet generator 44 and each of the data windows. The central index parameter ic is determined from the data window which produces the least error from the least-squares-fit operation.
As an example, assume a given cycle of an ECG consists of 1,000 data points, with the T-wave feature being positioned approximately between data points 680-900 of the 1,000 data points, and that prototype wavelet hp has a support width of 200 data points. In this example, feature analyzer 34 first performs a least-squares-fit between the prototype wavelet generated by KR-wavelet generator 44 and a data window ranging between data points 680-880. Feature analyzer then performs a least-squares-fit with data points ranging between 681-881, then 681-882, and so on until ending with data points ranging between 700-900. The matched value for central index parameter ic is determined from the data window which produces the least error from the least-squares-fit operation.
After determining and setting central index parameter ic, process 330 proceeds to 336 where a matched value scale parameter k is determined. In one embodiment, for the range of data points of the ECG determined at 334 above to correspond most closely to the T-wave, feature analyzer 34 increments scaling factor k over a range of values and performs a least-squares-fit operation between the prototype wavelet generated by KR-wavelet generator 44 and the range of data points at each value of scaling factor k. In one embodiment, the range of values of scaling factor k ranges from a specified number of integer values below the initial value of scaling factor k to a specified number of integer values above the initial value of scaling factor k. For example, in one embodiment, the range of scaling factors k over which feature analyzer 34 performs the least squares fit operations ranges from k−1 to k+1. The value of scaling factor k which produces the least error from the least squares fit operation is selected as the matched value for scaling parameter k.
After determining and setting scaling parameter k, process 330 proceeds to 338, where feature analyzer 34 determines matched values for real and imaginary coefficient parameters ar and ai. In one embodiment, feature analyzer 34 increments both real and imaginary coefficient parameters ar and ai over ranges of values and performs a least-squares-fit operation between the range of data points determined at 334 to represent the T-wave and the prototype wavelet generated by KR-wavelet generator 44 at each of the incremental values for ar and ai. As above, the values for ar and ai resulting in the least amount of error from the least-squares-fit operations are selected as the matched values for real and imaginary coefficient parameters ar and ai Alternatively, in one embodiment, feature analyzer 34 employs an algorithm to directly calculate matched values for real and imaginary coefficient parameters ar and ai employing the matched values determined above for order parameter N, central index parameter ic, and scaling parameter k.
At 354, based first on the initial values of the parameters provided at 352 (e.g., order parameters Nd and Ni, and scaling parameters k and w), process 350 generates real and imaginary components hre and him of prototype wavelet hp (see Equation XIII). At 356, feature analyzer 34 selects a segment or range of data samples of the ECG waveform representing the T-wave feature being matched, with the selected range having a width equal to the support width of prototype wavelet hp and centered about a data sample having a time or sample index corresponding to the central index parameter ic (i.e. central sample of range based on central index parameter ic).
At 358, feature analyzer 32 determines values for the real and imaginary coefficient parameters ar and ai of real and imaginary components hre and him of prototype wavelet hp which optimize an error metric between prototype wavelet hp generated at 354 and the range of data values representing the T-wave feature selected at 356. In one embodiment, the error metric comprises a least-squares error match between prototype wavelet hp and the T-wave feature. In one embodiment, real and imaginary components hre and him of prototype wavelet hp are represented in vector form and a matrix-based technique (or other linear algebraic technique such as the pseudo-inverse or singular-value decomposition, for example) is employed to directly calculate the values of real and imaginary coefficient parameters ar and ai.
At 360, the present optimized error from 358 (i.e. minimized error between prototype wavelet hp and the T-wave feature) is compared to a global optimized error based on previous iterations of process 350. When the present optimized error from 358 is less than present global optimized error, the present global optimized error is set to equal that of the present optimized error from 358 and the present global optimized error and values of the corresponding first set of wavelet parameters (e.g., Nd, Ni, k, w, ar, ai, and ic) are stored at a memory location. For the first iteration, it is noted that the global optimized error is set to the optimized error from 360. Process 350 then proceeds to 362 where it is queried whether ar and ai values and an associated optimized error have been determined with the present set of values for Nd, Ni, k, and w for each value (e.g., sample or time index) of a range of values for central index parameter ic. In one embodiment, the range of values for central index parameter ic comprises a predetermined number of samples centered about the initial value of ic determined at 352. In one embodiment, the range of values for central index parameter ic comprises seven (7) samples, with three of the samples immediately preceding and three immediately following the sample corresponding to the initial value of ic determined at 352.
If the answer to the query at 362 is “no”, process 350 proceeds to 364 where the value of ic is adjusted to a next value of the range of values for ic. At 356, a new range of data samples for the T-wave features and centered about the adjusted central index parameter ic is selected and 358, 360, and 362 are repeated. If the answer to the query at 362 is “yes”, process 350 proceeds to 365 where it is queried whether a prototype wavelet has been generated at 354 for each value of a range of integer values for scaling parameter k (with scaling parameter w=k for process 350).
In one embodiment, the range of values for k comprises a predetermined number of integer values centered about the initial value of scaling factor k determined at 352. In one embodiment, the range comprises three integer values ranging from k−1 to k+1, with the value of k being the initial value determined at 352. If the answer to the query at 365 is “no”, process 350 proceeds to 366 where the value of scaling parameter k is adjusted to a next value of the range of values and 354, 356, 358, 360, 362 and 364 are repeated.
If the answer to the query at 365 is “yes”, process 350 proceeds to 368 where the parameter values corresponding to the present value of the global optimized error at 360 are set as the values of the matched set of first wavelet parameters for the given T-wave feature. Process 350 is then repeated for each T-wave feature of the selected number of cycles of the ECG waveform being analyzed by signal analyzer 30. In one embodiment, the matched set of first parameter values from 368 are employed as the initial values for Nd, Ni, k, and w for the next T-wave feature to be analyzed.
In one embodiment, as described above with regard to
In a fashion similar to that described above by
In such an embodiment, the sets of matched first parameter values for both the QRS-complex and the T-wave features, as illustrated by Table 3 at 380 are provided to attribute analyzer 36. In one embodiment, attribute analyzer in-turn employs the sets of matched wavelet first parameter values to provide an output signal 54 (see
Although described above with regard to
Process 400 begins at 402, where feature analyzer 34 sets the values of the first set of wavelet parameter set 46 to an initial value, such as described above at 332 with regard to process 330 of
Process 400 then proceeds to 406, where the matched wavelet generated at 404 is subtracted from the data values representing the target feature to create a residual feature. Process 400 then proceeds to 408, where it is queried whether a convergence requirement has been satisfied. In one embodiment, the convergence requirement is satisfied when an amplitude of the residual feature is less than or equal to a desired level, such that the target feature has been effectively removed from the ECG. In one embodiment, the convergence requirement is satisfied when 404, 406, and 412 (as described below) have been repeated, or iterated, a predetermined number of times.
If the answer to the query at 408 is “yes”, process 400 is completed, as indicated at 410. If the answer to the query at 408 is “no”, process 400 proceeds to 412 where the target feature is set to the residual feature. Another set of matched first parameter values is then determined at 404 to again generate a prototype wavelet which substantially matches the target feature (i.e. the present residual feature), and 406 and 408 are repeated accordingly.
In one embodiment, the series of the sets of matched first parameter values for the first set of wavelet parameters 46 determined at 404 are provided to attribute analyzer 36 for subsequent storage as wavelet parameter objects (see
It is noted that process 400 can be applied to any number of desired features of a waveform so that the waveform can be stored and transmitted as a series of wavelet parameter objects in lieu of the original series of data points, such as input signal x 40, thereby reducing storage and transmission bandwidth requirements.
Although described herein in detail with respect to matching the QRS-complex and T-wave features of ECG, the wavelet matching techniques described herein can be adapted to apply to and measure parameters of other ECG features, such as, for example, S-T segments and parameters associated with P-waves. For example, although not illustrated, in one embodiment, the above described wavelet matching techniques can be employed to determine a matched wavelet for each P-wave feature of the selected number of cycles of the ECG. The central index parameter ic corresponding to each P-wave feature can then be employed to determine a P-P interval between consecutive P-wave features and, together with the central index parameter ic corresponding to each QRS-complex feature, be employed to determine a P-R interval between the P-wave and QRS-complex feature of each cycle of the selected number of cycles.
Furthermore, the wavelet matching techniques described herein can also be adapted to be employed with other types of waveforms or signals, such as electroencephalograms (EEGs), electromyograms (EMGs), and electro-olfactograms (EOGs), and other signals having sufficiently time-separated features. Additionally, although described in detail with respect to a Kovtun-Ricci wavelet, other wavelets having suitable characteristics may be employed to implement the wavelet matching techniques described herein.
Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that a variety of alternate and/or equivalent implementations may be substituted for the specific embodiments shown and described without departing from the scope of the present invention. This application is intended to cover any adaptations or variations of the specific embodiments discussed herein. Therefore, it is intended that this invention be limited only by the claims and the equivalents thereof.