COMPUTER-IMPLEMENTED METHOD FOR SYNCHRONIZING A PHOTOPLETHYSMOGRAPHY (PPG) SIGNAL WITH AN ELECTROCARDIOGRAM (ECG) SIGNAL
20230157647 · 2023-05-25
Inventors
- Xavier Marie Christian Fernand LAMBEIN (Rixensart, BE)
- Amaury Marie-Christine Christophe VANVINCKENROYE (Braives, BE)
- Glenn DE WITTE (Herent, BE)
- Kobe Roger Marijke LEYSEN (Bilzen, BE)
- Lars Grieten (Zutendaal, BE)
- Jo Van Der Auwera (Meerhout, BE)
- Bie Josephus Constantia VAN GORP (Tielen, BE)
Cpc classification
A61B5/7285
HUMAN NECESSITIES
A61B5/7221
HUMAN NECESSITIES
A61B5/7246
HUMAN NECESSITIES
A61B5/318
HUMAN NECESSITIES
A61B5/02416
HUMAN NECESSITIES
International classification
A61B5/00
HUMAN NECESSITIES
A61B5/318
HUMAN NECESSITIES
Abstract
A computer-implemented method for synchronizing a PPG signal with an ECG signal includes: recording the ECG and PPG signals semi-synchronously; cutting the PPG signal into PPG signal pieces; for a PPG signal piece: determining distances d between a vector of PPG peak times and respective vectors of ECG peak times for respective ECG signal pieces obtained by applying different offsets o; determining a best matching ECG signal piece with minimal distance do; and registering start time x of the PPG signal piece, start time yo of the best matching ECG signal piece, and the minimal distance do; determining an offset and drift between the PPG signal and ECG signal as the offset and slope of a regression model modelling the relation between the start time x and start time yo, inverse weighted by the minimal distance do; applying the offset and drift to the PPG signal.
Claims
1.-10. (canceled)
11. A computer-implemented method for synchronizing a photoplethysmography signal, abbreviated PPG signal, with an electrocardiogram signal, abbreviated ECG signal, said method comprising: recording said ECG signal using an ECG monitoring system; recording said PPG signal, semi-synchronously with said recording of said ECG signal, using a contact PPG sensor; cutting said PPG signal into PPG signal pieces; for a PPG signal piece out of said PPG signal pieces: generating a vector of PPG peak times for peaks in said PPG signal piece; selecting different offsets o; cutting different ECG signal pieces out of said ECG signal by applying said different offsets o in said ECG signal; generating respective vectors of ECG peak times for said ECG signal pieces; computing distances d between said vector of PPG peak times and said respective vectors of ECG peak times; determining a best matching ECG signal piece with minimal distance do amongst said distances d; and registering a start time x of said PPG signal piece in said PPG signal, a start time yo of said best matching ECG signal piece in said ECG signal, and said minimal distance do; determining an offset between said PPG signal and ECG signal as the offset of a regression model modelling the relation between said start time x and said start time yo, inverse weighted by said minimal distance do; determining a drift between said PPG signal and ECG signal as the slope of said regression model; and applying said offset and said drift to said PPG signal to synchronize said PPG signal with said ECG signal.
12. The computer-implemented method for synchronizing a PPG signal with an ECG signal according to claim 11, further comprising after cutting said PPG signal into PPG signal pieces: performing a quality evaluation for said PPG signal pieces to retain only PPG signal pieces with a quality above a certain quality threshold.
13. The computer-implemented method for synchronizing a PPG signal with an ECG signal according to claim 11, wherein computing said distances d comprises: aligning a first peak detected in said PPG signal piece with a first peak detected in an ECG signal piece; matching every further peak detected in said ECG signal piece with a peak detected in said PPG signal piece by selecting the closest PPG signal peak; summing absolute time differences between pairs of matched signal peaks to obtain a distance.
14. A computer-implemented method for synchronizing a PPG signal with an ECG signal according to claim 11, further comprising: copying annotations from said ECG signal onto said synchronized PPG signal to thereby obtain an annotated PPG signal.
15. The computer-implemented method for synchronizing a PPG signal with an ECG signal according to claim 14, further comprising: storing said annotated PPG signal in a database used for training in machine learning.
16. The computer-implemented method for synchronizing a PPG signal with an ECG signal according to claim 15, further comprising: training a neural network with said annotated PPG signal.
17. The computer-implemented method for synchronizing a PPG signal with an ECG signal according to claim 14, wherein said annotations comprise one or more of the following: regular sine rhythm; insufficient quality; undefined; irregular rhythm annotations comprising: atrial fibrillation; atrial flutter; supraventricular tachycardia; ventricular tachycardia; sinus tachycardia; bradycardia; ventricular fibrillation; premature atrial contraction; and premature contraction; non-rhythm clinical annotations comprising: sleep apnea.
18. A controller comprising at least one processor and at least one memory including computer program code, the at least one memory and computer program code being configured to, with the at least one processor, cause the controller to perform: recording said ECG signal using an ECG monitoring system; recording said PPG signal, semi-synchronously with said recording of said ECG signal, using a contact PPG sensor; cutting said PPG signal into PPG signal pieces; for a PPG signal piece out of said PPG signal pieces: generating a vector of PPG peak times for peaks in said PPG signal piece; selecting different offsets o; cutting different ECG signal pieces out of said ECG signal by applying said different offsets o in said ECG signal; generating respective vectors of ECG peak times for said ECG signal pieces; computing distances d between said vector of PPG peak times and said respective vectors of ECG peak times; determining a best matching ECG signal piece with minimal distance do amongst said distances d; and registering a start time x of said PPG signal piece in said PPG signal, a start time yo of said best matching ECG signal piece in said ECG signal, and said minimal distance do; determining an offset between said PPG signal and ECG signal as the offset of a regression model modelling the relation between said start time x and said start time yo, inverse weighted by said minimal distance do; determining a drift between said PPG signal and ECG signal as the slope of said regression model; and applying said offset and said drift to said PPG signal to synchronize said PPG signal with said ECG signal.
19. A computer readable storage medium comprising computer-executable instructions of a program for performing the following steps when the program is run on a computer: recording said ECG signal using an ECG monitoring system; recording said PPG signal, semi-synchronously with said recording of said ECG signal, using a contact PPG sensor; cutting said PPG signal into PPG signal pieces; for a PPG signal piece out of said PPG signal pieces: generating a vector of PPG peak times for peaks in said PPG signal piece; selecting different offsets o; cutting different ECG signal pieces out of said ECG signal by applying said different offsets o in said ECG signal; generating respective vectors of ECG peak times for said ECG signal pieces; computing distances d between said vector of PPG peak times and said respective vectors of ECG peak times; determining a best matching ECG signal piece with minimal distance do amongst said distances d; and registering a start time x of said PPG signal piece in said PPG signal, a start time yo of said best matching ECG signal piece in said ECG signal, and said minimal distance do; determining an offset between said PPG signal and ECG signal as the offset of a regression model modelling the relation between said start time x and said start time yo, inverse weighted by said minimal distance do; determining a drift between said PPG signal and ECG signal as the slope of said regression model; and applying said offset and said drift to said PPG signal to synchronize said PPG signal with said ECG signal.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0121]
[0122]
[0123]
[0124]
[0125]
DETAILED DESCRIPTION OF EMBODIMENT(S)
[0126]
[0127] In steps 101 and 102, an ECG signal and a PPG signal are recorded semi-synchronously using different devices on a single person or animal. In step 101, the ECG signal is obtained by an ECG monitoring system, for example a Holter monitoring system. In step 102, the PPG signal is obtained by a PPG sensor, for example a pulse oximeter or smart device with camera, like for instance a smart wristband or smartwatch. Typically, the ECG signal recording in step 101 starts first and the PPG signal recording in step 102 starts a few minutes later. Obviously, the recordings may start in reverse order, i.e. PPG first and then ECG.
[0128] In step 103, the recorded PPG signal is cut into pieces. The pieces have a predetermined length. The predetermined length may be a fixed length in time, for example PPG signal pieces of 15 seconds each. Alternatively, the PPG signal pieces may have a predetermined length expressed as an amount of cardiac beats, for example 20 beats. In the latter example, different PPG signal pieces will have a varying duration in time. The PPG signal pieces cut out of the recorded PPG signal may be consecutive signal pieces, i.e. the next PPG signal piece starts where the previous PPG signal piece stops. Alternatively, the PPG signal pieces may be overlapping signal pieces, or they may be separated in time with start times selected randomly, pseudo-randomly, or algorithm-based. The amount of PPG signal pieces cut out of the recorded PPG signal must be high enough to enable regression modelling. This means that at least 10, but preferably a few tens or even a few hundreds of PPG signal pieces must be cut out of the recorded PPG signal.
[0129] Optionally, not shown in
[0130] In step 104, for each PPG signal piece (or for each retained PPG signal piece in case an upfront quality assessment has been executed), a best matching synchronization with an ECG signal piece is determined. One possible way to determine the best matching ECG signal piece, i.e. one possible implementation of step 104, is illustrated by
[0131] Summarizing, the measured PPG signal is cut into pieces of for instance 15 seconds. For each PPG signal piece located at x seconds in the PPG signal measurement, the best synchronization with an ECG signal piece located at y.sub.o=x+o.sub.o is searched for, with o.sub.o being the optimal offset and for example −o.sub.m<=o.sub.o<=o.sub.m (o.sub.m being the absolute value of a maximal allowed offset). The best synchronization is determined by testing different offsets o and selecting the offset o.sub.o which has the minimal distance between two vectors, one vector with ECG peaks (which varies with the offset o and thus with the location y) and one vector with PPG peaks (which remains constant at location x). The minimal distance obtained this way is named d.sub.o and the corresponding start time of the best matching ECG signal piece is named y.sub.o.
[0132] For the best matching ECG signal piece, the start time x of the PPG signal piece, the start time y.sub.o of the ECG signal piece, and the minimal distance d.sub.o are registered in step 105, as shown both in
[0133] In step 106, regression modelling is applied on the best matching tuples (x, y.sub.o) with x representing the start time of PPG signal pieces and y.sub.o representing the start time of the best matching ECG signal pieces.
[0134] Summarizing, weighted linear regression on the best matching tuples (x, y.sub.o) with weights d.sub.o results in a linear model y=m.Math.x+b, with x being the PPG time (in seconds) as determined by the PPG measurement device and y being the ECG time (in seconds) as determined by the ECG monitoring system. Herein, m determines the optimal drift between ECG and PPG time, and b determines the optimal offset between ECG and PPG signal recordings for the whole measurement.
[0135] Using the offset and drift obtained through embodiments of the method according to the invention results in performant synchronization when applied to long (many hours) simultaneously recorded ECG-PPG measurements. The method takes benefit of features (the interval between peaks) that are common to both the ECG and PPG signals for determining best matches. There is no need to remove outliers. An algorithm like RANSAC isn't necessary because weighted regression is done based on the minimum distance of matching vectors and the regression may use the 11 norm which is more robust than the usual 12 norm. The main advantage thereof is that less parameters need to be tuned (RANSAC has two parameters that need tuning).
[0136]
[0137] Although the present invention has been illustrated by reference to specific embodiments, it will be apparent to those skilled in the art that the invention is not limited to the details of the foregoing illustrative embodiments, and that the present invention may be embodied with various changes and modifications without departing from the scope thereof. The present embodiments are therefore to be considered in all respects as illustrative and not restrictive, the scope of the invention being indicated by the appended claims rather than by the foregoing description, and all changes which come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein. In other words, it is contemplated to cover any and all modifications, variations or equivalents that fall within the scope of the basic underlying principles and whose essential attributes are claimed in this patent application. It will furthermore be understood by the reader of this patent application that the words “comprising” or “comprise” do not exclude other elements or steps, that the words “a” or “an” do not exclude a plurality, and that a single element, such as a computer system, a processor, or another integrated unit may fulfil the functions of several means recited in the claims. Any reference signs in the claims shall not be construed as limiting the respective claims concerned. The terms “first”, “second”, third”, “a”, “b”, “c”, and the like, when used in the description or in the claims are introduced to distinguish between similar elements or steps and are not necessarily describing a sequential or chronological order. Similarly, the terms “top”, “bottom”, “over”, “under”, and the like are introduced for descriptive purposes and not necessarily to denote relative positions. It is to be understood that the terms so used are interchangeable under appropriate circumstances and embodiments of the invention are capable of operating according to the present invention in other sequences, or in orientations different from the one(s) described or illustrated above.