System for detecting QRS complexes in electrocardiogram (ECG) signals

The identification of QRS composite waves through band-limited analytical wavelets and rule sets is solved, and the problem of separation of QRS composite waves and artifacts in the electrocardiogram signal is achieved with high accuracy heartbeat detection and heart rate statistics.

CN114007506BActive Publication Date: 2024-12-13MURATA VIOS INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202080042605.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-06-11
Filing Date
2020-05-22
Publication Date
2024-12-13
Estimated Expiration
2040-05-22

AI Technical Summary

Technical Problem

It is difficult for the prior art to accurately separate QRS composite waves and artifacts in electrocardiogram signals, resulting in the art of arrhythmia and affecting the accuracy of diagnosis.

Method used

The quasi-periodic decomposition of the ECG signal is used to detect the fractional phase transition in the component signal, and the combined peak amplitude and peak are generated through the QP object transformation unit, the peak detection unit, the time limit unit and the amplitude limiting unit. Time, combined with the refractory rule set, identify the QRS composite wave.

Benefits of technology

The high-performance detection of QRS composite waves and high robustness, sensitivity and positive prediction of artifacts exceed 99.6%, ensuring the accuracy of heartbeat detection and the reliability of heart rate statistics.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114007506B_ABST
    Figure CN114007506B_ABST
Patent Text Reader

Abstract

In one aspect, a computer-implemented method includes: receiving a signal corresponding to electrical activity of a patient's heart; separating the signal into component signals; detecting fractional phase transitions in each of the component signals; generating a data object comprising a time value and an amplitude value at each of the detected fractional phase transitions in each of the component signals; detecting a peak amplitude for a set of continuous data objects associated with a first component signal in the component signals; detecting a peak amplitude for a set of continuous data objects associated with a second component signal in the component signals; determining that the peak amplitude satisfies a first time; calculating a merged peak amplitude and a merged peak time; and providing an indication of a detected heartbeat in response to determining that the merged peak amplitude satisfies both an amplitude criterion and a second time criterion.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims the benefit of U.S. Provisional Application No. 62 / 859,974, filed on June 11, 2019. The contents of the aforementioned application are incorporated herein by reference in their entirety. Background Art

[0003] The present disclosure relates to electrocardiogram signal processing.

[0004] An electrocardiogram (ECG or EKG) is the process of recording the electrical activity of a patient's heart over a period of time using electrodes placed on the patient's skin. The electrodes measure electrical changes on the skin that correspond to the electrical charge generated by the heart during each heartbeat. The electrical activity of the heart is represented by the ECG signal, which consists of three main components: the P wave, the QRS complex, and the T wave. The P wave represents atrial depolarization, the QRS complex represents ventricular depolarization, and the T wave represents ventricular repolarization.

[0005] Each of these three components has a fairly unique pattern, and changes in the structure of the heart and its surroundings (including blood composition) change the patterns of these components. Therefore, the ECG signal can convey a lot of information about the structure and function of the heart. In addition, the ECG can be used to measure the rate and rhythm of the heartbeat, the size and position of the heart chambers, whether there is any damage to the heart muscle cells or conduction system, the effects of cardiac medications, and the function of implanted pacemakers.

[0006] ECG signals can include artifacts, which are distorted signals caused by minor internal or external sources such as muscle movement or interference from electrical equipment. Certain artifacts pose significant challenges to the correct identification and diagnosis of rhythm disorders. For example, some rhythmic movements such as tremors or tremors can create the false appearance of an irregular heartbeat. Therefore, accurately separating ECG artifacts from the true ECG signal can have a significant impact on patient outcomes. Summary of the invention

[0007] This disclosure describes systems and techniques related to ECG signal processing. The described systems and techniques can be used to detect QRS complexes within ECG signals. The present disclosure incorporates by reference the entire contents of the following U.S. patents: U.S. Patent No. 7,702,502, entitled “Apparatus for Signal Decomposition, Analysis and Reconstruction,” filed on February 23, 2006, U.S. Patent No. 7,706,992, entitled “System and Method for Signal Decomposition, Analysis and Reconstruction,” filed on February 23, 2006, U.S. Patent No. 8,086,304, entitled “Physiological Signal Processing to Determine a Cardiac Condition,” filed on November 26, 2008, and U.S. Patent No. 9,530,425, entitled “Method and Apparatus for Signal Decomposition, Analysis, Reconstruction and Tracking,” filed on March 17, 2014, which include disclosures of signal decomposition and analysis techniques that can be applied to the processing of ECG signals and can provide complex signal analysis at relatively low computational cost. By leveraging previously patented signal decomposition and analysis techniques, the presently described systems and techniques can achieve high performance and high robustness to artifacts for QRS complex detection in ECG signals (e.g., sensitivity / positive predictivity >99.6% on the MIT-BIH arrhythmia database).

[0008] U.S. Patent No. 7,706,992 describes systems and techniques for quasi-periodic decomposition of ECG signals by a set of band-limited analysis wavelets aligned with frequency ranges known to be associated with important features of cardiac signals (e.g., proceeding from high frequency to low frequency: late potentials, QRS complexes, T waves, heart rate frequency, T wave alternans, and circadian rhythms). Wavelets can be computationally very efficient, using very few numerical operations, while still maintaining frequency band separation and linear phase response. The wavelet output, expressed as a function of time, forms component signals that exhibit the property that their extrema and zero crossings coincide with time points (also referred to as "significant points") that are consistently associated with significant morphological features of the ECG signal. Time markers are generated at these time points, along with various labels and attributes that describe the associated wavelet states at these points. Combined, this information provides a method for encoding significant points as objects, thereby generating a stream of objects for each wavelet component. Combining objects into time-aligned vectors forms a sequence of states that are uniquely associated with morphological features in the underlying signal. By observing the sequence of states in state space, methods of pattern analysis and recognition can be applied, which can lead to accurate segmentation of the ECG (detection and measurement of various morphological features).

[0009] In general, in one innovative aspect, a system includes: a display device; one or more data processing devices coupled to a sensor and the display device; and a non-transitory computer-readable storage medium encoded with a computer program, wherein the program includes instructions that cause the one or more data processing devices to perform operations when executed by the one or more data processing devices. The operations include: receiving a signal corresponding to the electrical activity of the patient's heart; separating the signal into component signals, wherein each of the component signals represents a frequency-limited band; detecting fractional phase transitions of each of the component signals; generating a data object including a time value and an amplitude value at each of the detected fractional phase transitions of each of the component signals; detecting a peak amplitude for a set of continuous data objects associated with a first component signal in the component signals based on the amplitude value of each data object in the set of continuous data objects; detecting a peak amplitude for a set of continuous data objects associated with a second component signal in the component signals based on the amplitude value of each data object in the set of continuous data objects; determining that the peak amplitude meets a first time standard based on the time value corresponding to the peak amplitude of the data object; calculating a merged peak amplitude and a merged peak time based on the peak amplitude and the time value corresponding to the peak amplitude of the data object; determining that the merged peak amplitude meets both the amplitude standard and the second time standard; and providing an indication of a detected heartbeat in response to determining that the merged peak amplitude meets both the amplitude standard and the second time standard.

[0010] In another aspect, an apparatus includes a non-transitory computer-readable storage medium encoded with a computer program. The program includes instructions that, when executed by one or more data processing devices, cause the one or more data processing devices to perform operations. The operations include: receiving a signal corresponding to the electrical activity of the patient's heart; separating the signal into component signals, wherein each of the component signals represents a frequency-limited band; detecting fractional phase transitions of each of the component signals; generating a data object including a time value and an amplitude value at each of the detected fractional phase transitions of each of the component signals; detecting a peak amplitude for a set of continuous data objects associated with a first component signal in the component signals based on the amplitude value of each data object in the set of continuous data objects; detecting a peak amplitude for a set of continuous data objects associated with a second component signal in the component signals based on the amplitude value of each data object in the set of continuous data objects; determining that the peak amplitude meets a first time standard based on the time value corresponding to the peak amplitude of the data object; calculating a merged peak amplitude and a merged peak time based on the peak amplitude and the time value corresponding to the peak amplitude of the data object; determining that the merged peak amplitude meets both the amplitude standard and the second time standard; and providing an indication of a detected heartbeat in response to determining that the merged peak amplitude meets both the amplitude standard and the second time standard.

[0011] On the other hand, a computer-implemented method includes: receiving a signal corresponding to electrical activity of a patient's heart; separating the signal into component signals, wherein each of the component signals represents a frequency-limited frequency band; detecting fractional phase transitions of each of the component signals; generating a data object including a time value and an amplitude value at each of the detected fractional phase transitions of each of the component signals; detecting a peak amplitude for a set of continuous data objects associated with a first component signal in the component signal based on the amplitude value of each data object in the set of continuous data objects; detecting a peak amplitude for a set of continuous data objects associated with a second component signal in the component signal based on the amplitude value of each data object in the set of continuous data objects; determining that the peak amplitude meets a first time standard based on the time value corresponding to the peak amplitude of the data object; calculating a merged peak amplitude and a merged peak time based on the peak amplitude and the time value corresponding to the peak amplitude of the data object; determining that the merged peak amplitude meets both the amplitude standard and the second time standard; and providing an indication of a detected heartbeat in response to determining that the merged peak amplitude meets both the amplitude standard and the second time standard.

[0012] Various other functions and benefits of such systems and methods will be apparent from the foregoing detailed description. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] Figure 1is a block diagram illustrating an example of an ECG signal processing system that detects a QRS complex.

[0014] Figure 2 is a plot showing the frequency response of the real part of the analytical wavelet set.

[0015] Figure 3 is a waveform showing that a cycle from one component signal is decomposed into four two-phase ones.

[0016] Figure 4A and Figure 4B is a time trace showing an example of a time-aligned wavelet output in response to a single isolated beat in an ECG.

[0017] Figure 5 An example of an ECG signal processing system including a patient-worn sensor in communication with a display device is shown.

[0018] Figure 6 is a block diagram illustrating an example of a computing system that may be used to implement an ECG signal processing system.

[0019] Figure 7 is a block diagram illustrating an example of a computing system depicting a host system that may be used to implement an ECG signal processing system.

[0020] Figure 8 is a flow chart illustrating an example of operations performed by an ECG signal processing system.

[0021] Like reference numbers and designations throughout the various drawings represent like elements. DETAILED DESCRIPTION

[0022] Figure 11 is a block diagram illustrating an example of an ECG signal processing system 100 that detects a QRS complex within an ECG signal. The system 100 includes electronic components, such as hardware and / or software, that facilitate ECG signal processing. In some implementations, portions of the system 100 are included in a patient monitoring device that can continuously collect physiological vital sign data, such as ECG waveforms, heart rate, respiratory rate, blood oxygen saturation, blood pressure, temperature, and pulse rate. Examples of patient monitoring devices include chest sensors, such as those described in U.S. Publication No. 2015 / 0302539, entitled “Patient Care and Health Information Management Systems and Methods” filed on October 22, 2015, and U.S. Publication No. 2016 / 0228060, entitled “Patient Worn Sensor Assembly” filed on February 9, 2016; and other sensor assemblies connected to peripheral devices, such as the sensor assemblies described in U.S. Publication No. 2018 / 0213859, entitled “Sensor Connection Assembly for Integration with Garment” filed on January 25, 2018, the disclosures of which are incorporated herein by reference in their entirety. In some implementations, portions of system 100 are included in a monitoring station that uses signals received from one or more peripheral devices, such as a chest sensor, a fingertip probe, an earlobe probe, or a non-invasive blood pressure (NIBP) cuff, to analyze and display physiological vital sign data. Examples of monitoring stations include bedside monitors and central server stations also described in US Publication No. 2015 / 0302539.

[0023] The system 100 includes an analysis wavelet group 102, a two-phase (QP) object transform unit 104, and a QP peak detection unit 106, a time qualification unit 108, an amplitude qualification unit 110, and a refractoriness rule set 112. The ECG signal provided to the system 100 can be a filtered ECG signal. The ECG signal can be filtered using conventional techniques to suppress baseline wander and low-frequency artifacts below 0.5 Hz and high-frequency noise and artifacts above 55 Hz. The filtered ECG signal is first processed with the analysis wavelet group 102 to decompose (separate) the signal into a set of time-frequency scales associated with key morphological components of the QRS complex. This produces component signals that are provided to the QP object transform unit 104, which applies a QP transform (as described in U.S. Pat. No. 7,706,992) to detect extrema and zero crossings of the component signals. These points are associated with points along the ECG signal that have significant morphological features. The QP object transformation unit 104 additionally extracts key information embedded within the ECG signal, in this case information associated with the QRS complex, and embeds that information into the QP object. This process produces a stream of QP objects that are provided to the QP peak detection unit 106, which applies rules for detecting patterns associated with QRS complex peaks, followed by a time qualification unit 108, an amplitude qualification unit 110, and a refractory rule set 112, which apply rules for qualifying those peaks as QRS complex detection. The QRS complex detection provided by the system 100 can be used to identify heartbeats and calculate heart rate statistics.

[0024] The analysis wavelet group 102 can be implemented as a parallel form of the Kovtun-Ricci wavelet transform using, for example, three analysis component bands (see U.S. Pat. No. 7,706,992). As described in U.S. Pat. No. 7,706,992, the wavelet consists of a cascaded scaled derivative kernel and a scaled integral kernel. The scaled derivative kernel has a z-domain transfer function:

[0025]

[0026] For a frequency band p with a scale parameter k p and the order parameter N dp . Viewed in a wideband sense, the scaled derivative kernel acts as a comb filter, i.e., a filter with repeating lobes in frequency. Its response is band-limited to isolate its first lobe to obtain a pure bandpass response. The scaled integral kernel described in U.S. Patent No. 7,706,992 can effectively implement a lowpass operation by performing a moving average lowpass through the transfer function,

[0027]

[0028] The transfer function has a scale parameter w for a frequency band p. p and the order parameter N ip .

[0029] As described in U.S. Pat. No. 7,706,992, the scale parameter k of the transform wavelet p controls the peak of the fundamental bandpass lobe, while the scale parameter w p Determines the frequency of the first zero of the lowpass. Select w p ≈2k p A nominal value of / 3 places this first zero approximately at H dp The peak of the second bandpass lobe of (z), i.e. the first repetition of the comb, effectively isolates the basic bandpass response. The integration order parameter N ip Controls the stopband attenuation level of the low-pass operation; N ip =4 can provide high effective performance at low computational load. The derivative order parameter N dp Controls the bandwidth of the bandpass function. For filter banks, it controls the amount of overlap between the band responses. For QRS banks, N dp The value of is chosen so that the sum of the band responses is approximately flat over the QRS power band, so that the total power of the QRS complex is represented in a relatively unbiased manner with respect to frequency.

[0030] Therefore, the four basic parameters k of wavelet group design are p 、N dp 、w p 、N ip The passband and stopband behavior of the wavelet bands are described. In some implementations, three analysis wavelet bands are selected to have nominal (approximate) center frequencies of, for example, 24 Hz, 16 Hz, and 8 Hz. These bands are associated with the scale of QRS features combined over a wide range of morphologies. For example, using a discrete time wavelet operator and a sampling rate of 200 Hz for ECG, the bandpass wavelets of the analysis wavelet group 102 can be implemented using the following design parameters:

[0031] frequency band <![CDATA[k p ]]> <![CDATA[N dp ]]> <![CDATA[w p ]]> <![CDATA[N ip ]]> 1 4 8 3 4 2 6 6 5 4 3 12 6 9 4

[0032] Table 1

[0033] Note that for N dp Even numbers have k p Even number and N ip An even number will make the intrinsic delay of the wavelet an integer number of samples (see U.S. Patent No. 7,706,992). This in turn allows the wavelets in the group to be time-aligned using simple integer-valued alignment delays, as described in U.S. Patent No. 7,706,992. Therefore, the scale shown is chosen to be the value closest to the target that also satisfies the delay-based criteria.

[0034] exist Figure 2 The frequency response resulting from implementing the above parameters is shown in plot 200, Figure 2 The frequency response of the real part of the analytical wavelet group is shown. In plot 200, the dashed line represents the sum of the band responses. The bands are linear phase in nature and are time aligned according to their inherent delays to form a filter bank as described in U.S. Patent No. 7,706,992. The group can also be in analytical form so that each band has two associated outputs, one for the real part of the component and the other for the imaginary part of the component. Alternatively, the component outputs can be treated as a single complex valued signal.

[0035] Reference Figure 1 , the QP object transform unit 104 detects a QP transition on each of the component signals received from the analysis wavelet group 102 . Figure 3 3 is a waveform 300 showing an example of a cycle from one component signal being decomposed into four two phases labeled A, B, C, and D. The component signals are decomposed into certain unique features, and in some implementations, defined according to certain unique features, such as positive and negative peaks and positive and negative zero crossings of the component signal. These unique features are shown below in a tabular format:

[0036] QP Tags Started in Ends at A Positive zero crossing Positive peak B Positive peak Negative zero crossing C Negative zero crossing Negative peak D Negative peak Positive zero crossing

[0037] Table 3

[0038] Refer again Figure 1 , the QP object transform unit 104 forms a QP object (e.g., a data structure) that collects QP attributes (e.g., in data fields) at each QP transition, as described in U.S. Patent No. 7,706,992. For the purpose of QRS complex detection, the QP object contains the time index and component amplitude at the QP detection time point. The QP object streams from the three component bands can be stored in a time context for synchronization pattern analysis across the components.

[0039] QP peak detection 106 applies rules for detecting peak patterns associated with QRS complex peaks. For QP peak-pattern detection, amplitude-peak patterns are detected on all QP object streams. In some implementations, two peak patterns are defined along the sequence of QPs, as follows:

[0040] Peak Mode A

[0041] ○ On support of 7 consecutive QPs

[0042] ○ The center QP has the largest associated magnitude

[0043] ○Basic principle: This mode corresponds to a sharp central peak shape

[0044] Peak Mode B

[0045] ○ On a sequence of 3 QPs separated by 4 consecutive QP sequences (for a total of 9 consecutive QPs supported)

[0046] ○ The QP amplitude of the sequence QP increases monotonically from both sides toward the center

[0047] ○Basic principle: This mode corresponds to a general broad peak shape

[0048] These specific patterns are determined empirically by matching peak patterns over a wide range of observed beat morphologies. The peak patterns are aligned at the center QP of each pattern. The center QP where all peak patterns are simultaneously satisfied is marked as the detected QP peak for that QP stream and is collected along with its frequency band and the temporal context including the QP peak time and amplitude and provided to the time definition unit 108.

[0049] For actual QRS complexes, QP amplitude peaks are typically aligned in time across their associated frequency bands, whereas for artifacts and other features, such as those occurring during repolarization, they are not aligned. Based on this temporal consistency, the time qualification unit 108 compares the temporal proximity of the detected paired peak times of QP peaks with the nearest peak times on other QP frequency bands. QP peaks from at least two frequency bands that occur within a defined time window of each other are then time qualified and collected. The defined time window can be set to, for example, 40 milliseconds based on initial observations and optimization of this parameter.

[0050] The time-defined per-band peaks are merged into a "center" time-defined peak with a single calculated peak time and amplitude. The merged peak time is calculated as the average of the defined per-band peak times. The merged peak amplitude is calculated as the total root mean square (RMS) amplitude of the wavelet output evaluated at the merged peak time. Thus, a stream of time-defined peaks is formed from a series of merged peaks and provided to the amplitude definition unit 110.

[0051] Then, the amplitude definition unit 110 defines the amplitude of the time-defined peak based on two criteria:

[0052] ●Relative amplitude standard

[0053] o The moving amplitude statistic is formed from a stream of time-defined peak amplitudes, calculated as the average of the upper quartile values ​​of all peak amplitudes occurring, for example, within the previous 4 seconds (a time length chosen to balance response time to sudden drops in amplitude with suppression of amplitude outliers)

[0054] o The current peak amplitude is greater than the statistic multiplied by a threshold factor, such as 0.35 (a value chosen to balance suppression of peaks not associated with QRS complexes with correct detection of low amplitude QRS complexes)

[0055] ○ Rationale: Suppress small peaks that are outliers in the context and are likely not associated with the actual QRS complex

[0056] ●Absolute amplitude standard

[0057] o The current peak amplitude is greater than a fixed amplitude threshold, such as 3.6 microvolts (a value chosen to suppress peaks in the low amplitude range typically associated with baseline noise)

[0058] ○ Rationale: Suppressing very small peaks regardless of context Peaks that meet both criteria are qualified by amplitude and provided to the refractoriness rule set 112 .

[0059] The amplitude-qualified peaks are then qualified by the refractory rule set 112. The purpose of refractory is to inhibit oversensing of relatively large P-waves or T-waves that still meet all of the aforementioned criteria. The refractory rules are based on the temporal proximity (time interval between peaks, inter-peak interval) and relative amplitudes of the current peak and the previous peak. An example of a rule set is as follows:

[0060] definition

[0061] diPeak Interpeak Interval

[0062] aPeakCurr Current peak amplitude

[0063] aPeakPrev Previous peak amplitude

[0064] fKeepPrev "Keep previous" condition flag

[0065] fKeepCurr "Keep current" condition flag

[0066] kThreshRefr refractoriness threshold factor

[0067] rule

[0068] ●If aPeakCurr>=aPeakPrev

[0069] →Evaluate the left-hand standard

[0070] ○ If diPeak < left refractory interval

[0071] ■Evaluation of left-movement amplitude / time standards

[0072] ■If it is satisfied, then the fKeepPrev condition is valid, otherwise it is invalid

[0073] ○ Otherwise, make fKeepPrev effective

[0074] →Execute the "Keep Previous" action

[0075] ○If fKeepPrev

[0076] ■ Make the new pulse detection effective

[0077] ■ Output the previous peak as the detected beat

[0078] ■Save the current peak as the previous peak

[0079] Otherwise

[0080] ■ Disable new pulse detection

[0081] ■Save the current peak as the previous peak

[0082] ●Otherwise (aPeakPrev>aPeakCurr)

[0083] →Evaluate right-hand lane standards

[0084] ○ If diPeak < right refractory interval

[0085] ■Evaluation of right-side amplitude / time standards

[0086] ■If it is satisfied, then the fKeepCurr condition is valid, otherwise it is invalid

[0087] Otherwise, enable fKeepCurr

[0088] →Execute the "Keep Current" action

[0089] ○If fKeepCurr

[0090] ■ Make the new pulse detection effective

[0091] ■ Output the previous peak as the detected beat

[0092] ■Save the current peak as the previous peak

[0093] Otherwise

[0094] ■ Disable new pulse detection

[0095] ■Do nothing (discard the current peak)

[0096] Left amplitude / time standard(Left refractory slope) = 1 / ((Left refractory interval) - (Left hard refractory interval)) kThreshRefr = 1 - (diPeak - (Left hard refractory interval)) * (Left refractory slope) If: aPeakPrev > = aPeakCurr * kThreshRefr

[0097] Right amplitude / time standard (Right refractory slope) = 1 / ((Right refractory interval) - (Right hard refractory interval)) kThreshRefr = 1 - (diPeak - (Right hard refractory interval)) * (Right refractory slope) If: aPeakCurr > = aPeakPrev * kThreshRefr

[0098] The parameters of the left-travel standard and the right-travel standard can be determined empirically through optimization as follows:

[0099]

[0100]

[0101] Table 2

[0102] The ECG processing system 100 can be used in any environment where a patient's heart rate is to be monitored or statistically analyzed, including intensive care, surgery, rehabilitation, and emergency and hospital ward environments. The system 100 can provide continuous and instant heartbeat detection and heart rate values, which is critical in emergency medicine and is also very useful for patients with respiratory or cardiac problems, particularly chronic obstructive pulmonary disease (COPD), or for the diagnosis of heart rhythm disorders.

[0103] Figure 4A and Figure 4B is a time trace showing an example of a time-aligned wavelet output in response to a single isolated beat in an ECG (obtained from file 100 from the MIT-BIH Arrhythmia Database (https: / / physionet.org / physiobank / database / mitdb / ) Figure 4A The trace 400A and Figure 4B All time traces show the time period from 250 milliseconds before to 250 milliseconds after the beat detection point. Figure 4A Trace 400A shows a recorded beat 100, which is a normal sinus rhythm (NSR) beat, while Figure 4BTrace 400B shows beat 1907 in the recording, which is a premature ventricular contraction (PVC) beat. Traces 402A and 402B show the output of the upper example wavelet band at 24 Hz; traces 404A and 404B show the output of the middle example wavelet band at 16 Hz; and traces 406A and 406B show the output of the lower example wavelet band at 8 Hz. For the wavelet output plot, the solid trace is the real part of the analytical wavelet output, and the fine dot trace is the instantaneous amplitude (complex modulus) of the analytical wavelet output. The QP points corresponding to the transitions (A, B, C, D) on the wavelet output are marked on the real waveform with corresponding symbols (circle, cross, square, diamond). At the corresponding QP time, the corresponding point is also marked on the amplitude output with a larger dot.

[0104] Figure 5 A system 500 is shown including a patient-worn sensor 502 in communication with a display device 504, such as a bedside monitor, a central server station, or a display of a mobile device as described in U.S. Publication No. 2015 / 0302539. The display device 504 displays information of the patient. The display device 504 can display a user interface 506, which includes information received from the patient-worn sensor 502 and / or information associated with the patient associated with the patient-worn sensor 502. The patient-worn sensor 502 can be, for example, a chest sensor as described in U.S. Publication No. 2015 / 0302539. The patient-worn sensor 502 can include contacts for attaching to the patient's skin and recording various patient vital signs such as blood pressure, body temperature, respiratory rate, body impedance, blood oxygenation, heart rhythm (via ECG), and heart rate.

[0105] The patient-worn sensor 502 may wirelessly communicate with the display device 504 via a wireless connection 508 using a wireless communication protocol such as, for example, Bluetooth, Wi-Fi, or a cellular protocol. The patient-worn sensor 502 may transmit the patient's vital sign information to the display device 504 via the wireless connection 508. In some implementations, the patient-worn sensor 502 may process the collected vital sign information before transmitting the information to the display device 504, such as the ECG signal processing described above, and in some implementations, the patient-worn sensor 502 may transmit raw vital sign information to the display device 504 instead of or in addition to the processed information.

[0106] The display device 504 may be a touch screen device capable of receiving touch screen input, such as a tablet computer. In some implementations, the display device 504 may receive input from a keyboard, a mouse, an input button, or one or more devices capable of recognizing voice commands. In some implementations, the display device 504 may be controlled using a device that wirelessly communicates with the display device 504, such as a mobile phone. In some implementations, the display device 504 is a "headless" device that does not include direct user input and / or output functions, but is used only as a processing device for the following operations: processing raw vital sign information received from the sensor 502 worn by the patient, detecting an alarm state, sending a warning to other devices that communicate with the display device 504, and sending patient information to one or more central servers. In such a case, the display device 504 will not include a display.

[0107] The user interface 506 displays information about the patient associated with the patient-worn sensors 502. For example, electrodes of the patient-worn sensors 502 may be in contact with the patient's skin and collect vital sign information, which is transmitted to the display device 504 via the wireless connection 508, processed by the display device 504, and displayed as part of the user interface 506. The user interface 506 shows various vital sign waves and numerical levels.

[0108] For example, user interface 506 shows an ECG waveform 510 of a patient and a digital heart rate value 512 of the patient. In the example shown, the heart rate value 512 of the patient is 80 beats per minute. The heart rate per beat in beats per minute (BPM) can be calculated as HR=60 / RR, where RR is the RR interval in seconds. The RR interval of the current beat can be found as the time difference between the current beat detection time and the previous beat detection time. In addition, the merged peak time can be marked on the ECG display at the appropriate point on the time axis.

[0109] The user interface 506 indicates that the acceptable heart rate range 514 of the patient falls between 50 and 120 beats per minute. Since the current heart rate 512 of the patient with 80 beats per minute falls within the acceptable range 514 indicated, there is currently no alarm state about the patient's heart rate. This is indicated by a bell-shaped icon 516 superimposed with an "X" symbol. Icon 516 indicates that the current heart rate of the patient is within an acceptable range. In the case where the patient's heart rate is not within an acceptable level, icon 516 can change to indicate an alarm state. For example, "X" can disappear from icon 516 and icon 516 can light up or flash to indicate an alarm state. In addition, the display device 504 can send an audible alarm to warn the patient's alarm state to the nearby caregiver. In some implementations, other parts of the user interface 506 can flash or otherwise indicate an alarm state. For example, when the patient's heart rate is outside the acceptable range 514, the displayed heart rate value 512 can flash. In some implementations, the icon 516 (or other portions of the user interface 506) may flash at varying rates to indicate the severity of a particular alarm state. For example, the further the patient's heart rate is from an acceptable range, the faster the icon 516 will flash.

[0110] Figure 6 6 is a block diagram illustrating an example of a computing system 600 executing a computer program that implements the above-described operations, data structures, and / or programs contained on a computer-readable medium 602 and executed by a central processing unit (CPU) 604. The CPU 604 may be an x86 series CPU or other CPU known in the art. In some implementations, input for executing the program may be implemented through a keyboard 606. In some implementations, input for executing the program may be implemented through a peripheral device such as a mouse, a light pen, a touch screen, a touch pad, or any other input device known in the art. In some implementations, the described operations may be called by another program to perform and process oximetry data. Once processed, the data processed using the above-described operations, data structures, and / or programs may be output to a display 608, or sent to another user terminal 612 via the Internet 610 or other wireless communication channels. In some implementations, the output may be placed in a database 614 or another database located off-site.

[0111] Figure 7is a block diagram showing an example of a computing system depicting a host computer 700, which in some implementations may include a set of units or modules, such as a communication module (COMM) 702 and associated communication links 704 for communicating with sensors worn by a patient, a microprocessor unit (MPU) 706 including a computer readable medium (CRM) 708 containing a set of application instructions, an associated storage module 710 for storing patient data, a human-computer interface (HCI) 712 through which an operator (e.g., a physician, technician, or patient) can interact with the MPU 706 and which may include a visual display, an auditory display, a keyboard, a mouse, a touch screen, a tactile device, or other means of interaction. The host computer 700 also includes an input / output (I / O) module 714 for typically connecting to and communicating with computer peripherals such as, for example, printers, scanners, and / or data acquisition or imaging devices, and a network communication module (NET) 716 for communicating with other hosts on a computer network such as Ethernet and / or a wireless network or Wi-Fi.

[0112] Figure 8 800 is a flow chart illustrating an example of operations 800 performed by an ECG signal processing system for detecting a QRS complex. Operations 800 may be performed by a system of one or more computers, such as Figure 1 Operation 800 may include the details discussed above.

[0113] At 802, a signal corresponding to electrical activity of a patient's heart, such as an ECG signal, is received.

[0114] At 804, the signal is separated into component signals, wherein each of the component signals represents a frequency limited frequency band. Separating the signal into component signals may include filtering the signal using a set of three bandpass filters.

[0115] At 806, fractional phase transitions of each of the component signals are detected. Detecting fractional phase transitions of each of the component signals may include detecting positive-going crossings, negative-going zero crossings, positive peaks, and negative peaks of the component signals.

[0116] At 808, a data object is generated containing a time value and an amplitude value at each of the detected fractional phase transitions of each of the component signals.

[0117] At 810, a peak amplitude is detected for a set of consecutive data objects associated with a first component signal in the component signals based on an amplitude value of each data object of the set of consecutive data objects, and a peak amplitude is detected for a set of consecutive data objects associated with a second component signal in the component signals based on an amplitude value of each data object of the set of consecutive data objects. In some implementations, detecting the peak amplitude includes detecting a peak amplitude at a center data object of the set of consecutive data objects. In some implementations, detecting the peak amplitude includes detecting an amplitude value that monotonically increases toward the peak amplitude at the center data object of the set of consecutive data objects and monotonically decreases away from the peak amplitude at the center data object of the set of consecutive data objects.

[0118] At 812, based on a time value corresponding to the peak amplitude of the data object, it is determined that the peak amplitude satisfies a first time criterion. Determining that the peak amplitude satisfies the first time criterion may include determining that the time value occurs within a time window.

[0119] At 814, a merged peak amplitude and a merged peak time are calculated based on the peak amplitudes and the time values ​​of the data objects corresponding to the peak amplitudes. In some implementations, calculating the merged peak amplitude includes calculating a total root mean square amplitude of the amplitude values ​​of the component signals at the merged peak time. In some implementations, calculating the merged peak time includes calculating an average of the time values.

[0120] At 816, it is determined that the merged peak amplitude satisfies both the amplitude criterion and the second time criterion. In some implementations, determining that the merged peak amplitude satisfies the amplitude criterion includes: calculating a moving amplitude statistic based on the stream of merged peak amplitudes, and determining that the merged peak amplitude is greater than the moving amplitude statistic multiplied by a threshold factor. In some implementations, determining that the merged peak amplitude satisfies the amplitude criterion includes determining that the merged peak amplitude is greater than a fixed amplitude threshold. In some implementations, determining that the merged peak amplitude satisfies the amplitude criterion includes determining the relative amplitude of the merged peak amplitude and the previously merged peak amplitude. In some implementations, determining that the merged peak amplitude satisfies the second time criterion includes determining a time interval between the merged peak amplitude and the previously merged peak amplitude.

[0121] At 818, in response to determining that the combined peak amplitude satisfies both the amplitude criterion and the second time criterion, an indication of a detected heartbeat is provided.

[0122] The features described in the present disclosure may be implemented in digital electronic circuit systems, or in computer hardware, firmware, software, or a combination thereof. The apparatus may be implemented in a computer program product tangibly implemented in an information carrier such as a machine-readable storage device for execution by a programmable processor, and the method steps may be performed by a programmable processor executing an instruction program to perform the functions of the described implementation by operating on input data and generating output. The described features may advantageously be implemented in one or more computer programs, one or more computer programs being executable on a programmable system including at least one programmable processor, at least one programmable processor being coupled to receive data and instructions from a data storage system, at least one input device, and at least one output device and to send data and instructions to the data storage system, at least one input device, and at least one output device. A computer program is a set of instructions that can be used directly or indirectly in a computer to perform a specific activity or produce a specific result. A computer program may be written in any form of programming language including a compiled language or a parsed language, and it may be deployed in any form, including as a standalone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.

[0123] Suitable processors for executing instruction programs include, for example, both general-purpose microprocessors and special-purpose microprocessors, and the sole processor or one of multiple processors of any kind of computer. Typically, the processor will receive instructions and data from a read-only memory or a random access memory or both. The basic elements of a computer are a processor for executing instructions and one or more memories for storing instructions and data. Typically, a computer will also include one or more mass storage devices for storing data files, or be operably coupled to communicate with one or more mass storage devices for storing data files; such devices include disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Storage devices suitable for tangibly implementing computer program instructions and data include all forms of non-volatile memory, including, for example, semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; disks, such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and memory can be supplemented by or incorporated into an ASIC (Application Specific Integrated Circuit). To provide interaction with a user, the features may be implemented on a computer having a display device such as a CRT (cathode ray tube) or LCD (liquid crystal display) monitor for displaying information to the user and a keyboard and pointing device such as a mouse or trackball through which the user can provide input to the computer.

[0124] Features can be implemented in a computer system that includes a back-end component such as a data server, or includes a middleware component such as an application server or an Internet server, or includes a front-end component such as a client computer with a graphical user interface or an Internet browser, or any combination thereof. The components of the system can be connected by digital data communication of any form or medium, such as a communication network. Examples of communication networks include LANs, WANs, and computers and networks that form the Internet, for example. A computing system may include a client and a server. The client and server are typically remote from each other and typically interact through a network such as the one described. The relationship between the client and the server is generated by means of computer programs that run on respective computers and have a client-server relationship with each other.

[0125] Although this specification contains many specific implementation details, these implementation details should not be interpreted as limitations on any invention or the scope that can be claimed, but as descriptions of features specific to a particular embodiment of a particular invention. Certain features described in this specification in the context of different embodiments may also be implemented in a combined manner in a single embodiment. Conversely, the individual features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments. In addition, although the features may be described as acting in a certain combination as described above and even initially claimed as such, in some cases, one or more features from the claimed combination may be deleted from the combination, and the claimed combination may involve a sub-combination or a variation of the sub-combination.

[0126] Similarly, although operations are depicted in a particular order in the accompanying drawings, this should not be understood as requiring that such operations be performed in the particular order shown or in a continuous order, or that all of the operations shown be performed to achieve the desired results. In some cases, multitasking and parallel processing may be advantageous. In addition, the separation of various system components in the above-described embodiments should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software or hardware product or packaged into multiple software or hardware products.

[0127] Thus, specific embodiments of the subject matter have been described. Other embodiments are within the scope of the appended claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve the desired results. In addition, the processes depicted in the drawings do not necessarily require the particular order or sequential order shown to achieve the desired results. In certain implementations, multitasking and parallel processing may be advantageous.

Claims

1. A non-transitory computer-readable storage medium encoded with a computer program, the program comprising instructions that, when executed by one or more data processing devices, cause the one or more data processing devices to perform operations comprising: receiving signals corresponding to electrical activity of the patient's heart; separating the signal into component signals, wherein each of the component signals represents a frequency-limited frequency band; Detecting a fractional phase transition of each component signal, wherein detecting the fractional phase transition of each component signal comprises: detecting a positive crossing, a negative zero crossing, a positive peak, and a negative peak of the component signal; generating a data object comprising a time value and an amplitude value at each detected fractional phase transition of each component signal; detecting, for a group of consecutive data objects associated with a first component signal of the component signals, a first peak amplitude of a group of consecutive data objects associated with the first component signal based on an amplitude value of each data object in the group of consecutive data objects associated with the first component signal; For a group of consecutive data objects associated with a second component signal in the component signals, detecting a second peak amplitude of a group of consecutive data objects associated with the second component signal based on an amplitude value of each data object in the group of consecutive data objects associated with the second component signal; determining, based on time values ​​of the data object corresponding to the first peak amplitude and the second peak amplitude, that the first peak amplitude and the second peak amplitude satisfy a first time criterion; calculating a combined peak amplitude and a combined peak time based on the first peak amplitude and the second peak amplitude, and time values ​​of the data object corresponding to the first peak amplitude and the second peak amplitude; determining that the combined peak amplitude satisfies both an amplitude criterion and a second time criterion; and In response to determining that the combined peak amplitude satisfies both the amplitude criterion and the second time criterion, an indication of a detected heartbeat is provided.

2. The non-transitory computer-readable storage medium of claim 1, wherein: Separating the signal into the component signals includes filtering the signal using a set of three bandpass filters.

3. The non-transitory computer-readable storage medium of claim 1, wherein: Detecting a first peak amplitude of a set of consecutive data objects associated with the first component signal based on the amplitude value of each data object in the set of consecutive data objects associated with the first component signal includes: detecting a first peak amplitude at a center data object of the set of consecutive data objects associated with the first component signal; Detecting a second peak amplitude of a set of consecutive data objects associated with the second component signal based on the amplitude value of each data object in the set of consecutive data objects associated with the second component signal includes: detecting a second peak amplitude at a center data object of the set of consecutive data objects associated with the second component signal.

4. The non-transitory computer-readable storage medium of claim 1, wherein: Detecting a first peak amplitude of a set of consecutive data objects associated with the first component signal based on the amplitude value of each data object in the set of consecutive data objects associated with the first component signal includes detecting amplitude values ​​that monotonically increase toward and monotonically decrease away from: a first peak amplitude at a center data object of the set of consecutive data objects associated with the first component signal; Detecting a second peak amplitude of a set of consecutive data objects associated with the second component signal based on the amplitude value of each data object in the set of consecutive data objects associated with the second component signal includes detecting an amplitude value that monotonically increases toward and monotonically decreases away from the second peak amplitude: a second peak amplitude at a center data object of the set of consecutive data objects associated with the second component signal.

5. The non-transitory computer-readable storage medium of claim 1, wherein: Determining that the first peak amplitude and the second peak amplitude satisfy the first time criterion based on time values ​​of the data object corresponding to the first peak amplitude and the second peak amplitude includes determining that the time values ​​occur within a time window.

6. The non-transitory computer-readable storage medium of claim 1, wherein: Calculating the combined peak amplitude includes calculating a total root mean square amplitude of the amplitude values ​​of the component signals at the combined peak time.

7. The non-transitory computer-readable storage medium of claim 1, wherein: Calculating the combined peak time includes calculating an average of the time values.

8. The non-transitory computer-readable storage medium of claim 1, wherein: Determining that the combined peak amplitude satisfies the amplitude criterion includes: calculating a moving amplitude statistic from the stream of merged peak amplitudes; and The combined peak amplitude is determined to be greater than the moving amplitude statistic multiplied by a threshold factor.

9. The non-transitory computer-readable storage medium of claim 1, wherein: Determining that the combined peak amplitude satisfies the amplitude criterion includes determining that the combined peak amplitude is greater than a fixed amplitude threshold.

10. The non-transitory computer-readable storage medium of claim 1, wherein: Determining that the combined peak amplitude satisfies the amplitude criterion includes determining a relative amplitude of the combined peak amplitude to a previously combined peak amplitude.

11. The non-transitory computer-readable storage medium of claim 1, wherein: Determining that the combined peak amplitude satisfies the second time criterion includes determining a time interval between the combined peak amplitude and a previous combined peak amplitude.

12. A computer-implemented method for processing an electrocardiogram signal, comprising: receiving signals corresponding to electrical activity of the patient's heart; separating the signal into component signals, wherein each of the component signals represents a frequency-limited frequency band; Detecting a fractional phase transition of each component signal, wherein detecting the fractional phase transition of each component signal comprises: detecting a positive crossing, a negative zero crossing, a positive peak, and a negative peak of the component signal; generating a data object comprising a time value and an amplitude value at each detected fractional phase transition of each component signal; detecting, for a group of consecutive data objects associated with a first component signal of the component signals, a first peak amplitude of a group of consecutive data objects associated with the first component signal based on an amplitude value of each data object in the group of consecutive data objects associated with the first component signal; For a group of consecutive data objects associated with a second component signal in the component signals, detecting a second peak amplitude of a group of consecutive data objects associated with the second component signal based on an amplitude value of each data object in the group of consecutive data objects associated with the second component signal; determining, based on time values ​​of the data object corresponding to the first peak amplitude and the second peak amplitude, that the first peak amplitude and the second peak amplitude satisfy a first time criterion; calculating a combined peak amplitude and a combined peak time based on the first peak amplitude and the second peak amplitude, and time values ​​of the data object corresponding to the first peak amplitude and the second peak amplitude; determining that the combined peak amplitude satisfies both an amplitude criterion and a second time criterion; and In response to determining that the combined peak amplitude satisfies both the amplitude criterion and the second time criterion, an indication of a detected heartbeat is provided.

13. The computer-implemented method of claim 12, wherein: Separating the signal into the component signals includes filtering the signal using a set of three bandpass filters.

14. The computer-implemented method of claim 12, wherein: Detecting a first peak amplitude of a set of consecutive data objects associated with the first component signal based on the amplitude value of each data object in the set of consecutive data objects associated with the first component signal includes: detecting a first peak amplitude at a center data object of the set of consecutive data objects associated with the first component signal; Detecting a second peak amplitude of a set of consecutive data objects associated with the second component signal based on the amplitude value of each data object in the set of consecutive data objects associated with the second component signal includes: detecting a second peak amplitude at a center data object of the set of consecutive data objects associated with the second component signal.

15. The computer-implemented method of claim 12, wherein: Detecting a first peak amplitude of a set of consecutive data objects associated with the first component signal based on the amplitude value of each data object in the set of consecutive data objects associated with the first component signal includes detecting amplitude values ​​that monotonically increase toward and monotonically decrease away from: a first peak amplitude at a center data object of the set of consecutive data objects associated with the first component signal; Detecting a second peak amplitude of a set of consecutive data objects associated with the second component signal based on the amplitude value of each data object in the set of consecutive data objects associated with the second component signal includes detecting an amplitude value that monotonically increases toward and monotonically decreases away from the second peak amplitude: a second peak amplitude at a center data object of the set of consecutive data objects associated with the second component signal.

16. The computer-implemented method of claim 12, wherein: Determining that the first peak amplitude and the second peak amplitude satisfy the first time criterion based on time values ​​of the data object corresponding to the first peak amplitude and the second peak amplitude includes determining that the time values ​​occur within a time window.

17. The computer-implemented method of claim 12, wherein: Calculating the combined peak amplitude includes calculating a total root mean square amplitude of the amplitude values ​​of the component signals at the combined peak time.

18. The computer-implemented method of claim 12, wherein: Calculating the combined peak time includes calculating an average of the time values.

19. The computer-implemented method of claim 12, wherein: Determining that the combined peak amplitude satisfies the amplitude criterion includes: calculating a moving amplitude statistic from the stream of merged peak amplitudes; and The combined peak amplitude is determined to be greater than the moving amplitude statistic multiplied by a threshold factor.

20. The computer-implemented method of claim 12, wherein: Determining that the combined peak amplitude satisfies the amplitude criterion includes determining that the combined peak amplitude is greater than a fixed amplitude threshold.

21. The computer-implemented method of claim 12, wherein: Determining that the combined peak amplitude satisfies the amplitude criterion includes determining a relative amplitude of the combined peak amplitude to a previously combined peak amplitude.

22. The computer-implemented method of claim 12, wherein: Determining that the combined peak amplitude satisfies the second time criterion includes determining a time interval between the combined peak amplitude and a previous combined peak amplitude.

23. A system for processing an electrocardiogram signal, comprising: a sensor configured to detect electrical activity of the patient's heart; Display device; one or more data processing devices coupled to the sensor and the display device; as well as A non-transitory computer-readable storage medium encoded with a computer program, the program comprising instructions that, when executed by the one or more data processing devices, cause the one or more data processing devices to perform operations comprising: receiving signals corresponding to electrical activity of the patient's heart; separating the signal into component signals, wherein each of the component signals represents a frequency-limited frequency band; Detecting a fractional phase transition of each component signal, wherein detecting the fractional phase transition of each component signal comprises: detecting a positive crossing, a negative zero crossing, a positive peak, and a negative peak of the component signal; generating a data object comprising a time value and an amplitude value at each detected fractional phase transition of each component signal; detecting, for a group of consecutive data objects associated with a first component signal of the component signals, a first peak amplitude of a group of consecutive data objects associated with the first component signal based on an amplitude value of each data object in the group of consecutive data objects associated with the first component signal; For a group of consecutive data objects associated with a second component signal in the component signals, detecting a second peak amplitude of a group of consecutive data objects associated with the second component signal based on an amplitude value of each data object in the group of consecutive data objects associated with the second component signal; determining, based on time values ​​of the data object corresponding to the first peak amplitude and the second peak amplitude, that the first peak amplitude and the second peak amplitude satisfy a first time criterion; calculating a combined peak amplitude and a combined peak time based on the first peak amplitude and the second peak amplitude, and time values ​​of the data object corresponding to the first peak amplitude and the second peak amplitude; determining that the combined peak amplitude satisfies both an amplitude criterion and a second time criterion; and In response to determining that the combined peak amplitude satisfies both the amplitude criterion and the second time criterion, an indication of a detected heartbeat is provided.

24. The system of claim 23, wherein: Separating the signal into the component signals includes filtering the signal using a set of three bandpass filters.

25. The system of claim 23, wherein: Detecting a first peak amplitude of a set of consecutive data objects associated with the first component signal based on the amplitude value of each data object in the set of consecutive data objects associated with the first component signal includes: detecting a first peak amplitude at a center data object of the set of consecutive data objects associated with the first component signal; Detecting a second peak amplitude of a set of consecutive data objects associated with the second component signal based on the amplitude value of each data object in the set of consecutive data objects associated with the second component signal includes: detecting a second peak amplitude at a center data object of the set of consecutive data objects associated with the second component signal.

26. The system of claim 23, wherein: Detecting a first peak amplitude of a set of consecutive data objects associated with the first component signal based on the amplitude value of each data object in the set of consecutive data objects associated with the first component signal includes detecting amplitude values ​​that monotonically increase toward and monotonically decrease away from: a first peak amplitude at a center data object of the set of consecutive data objects associated with the first component signal; Detecting a second peak amplitude of a set of consecutive data objects associated with the second component signal based on the amplitude value of each data object in the set of consecutive data objects associated with the second component signal includes detecting an amplitude value that monotonically increases toward and monotonically decreases away from the second peak amplitude: a second peak amplitude at a center data object of the set of consecutive data objects associated with the second component signal.

27. The system of claim 23, wherein: Determining that the first peak amplitude and the second peak amplitude satisfy the first time criterion based on time values ​​of the data object corresponding to the first peak amplitude and the second peak amplitude includes determining that the time values ​​occur within a time window.

28. The system of claim 23, wherein: Calculating the combined peak amplitude includes calculating a total root mean square amplitude of the amplitude values ​​of the component signals at the combined peak time.

29. The system of claim 23, wherein: Calculating the combined peak time includes calculating an average of the time values.

30. The system of claim 23, wherein: Determining that the combined peak amplitude satisfies the amplitude criterion includes: calculating a moving amplitude statistic from the stream of merged peak amplitudes; and The combined peak amplitude is determined to be greater than the moving amplitude statistic multiplied by a threshold factor.

31. The system of claim 23, wherein: Determining that the combined peak amplitude satisfies the amplitude criterion includes determining that the combined peak amplitude is greater than a fixed amplitude threshold.

32. The system of claim 23, wherein: Determining that the combined peak amplitude satisfies the amplitude criterion includes determining a relative amplitude of the combined peak amplitude to a previously combined peak amplitude.

33. The system of claim 23, wherein: Determining that the combined peak amplitude satisfies the second time criterion includes determining a time interval between the combined peak amplitude and a previous combined peak amplitude.