Patent Description:
The disclosure herein generally relates to heart rate estimation, and, more particularly, to a method and system for heart rate estimation when the user is in motion.

Heart rate estimation is process of estimating heart rate of a user using appropriate sensor(s). The estimated heart rate is used for determining a health condition of the user. With advancement in the field of wearable technology, many of the wearable gadgets available in the market have heart rate estimation capability as one of the features. Many of such gadgets are configured to trigger an alert to one or more users when an abnormal variation in the heart rate of a user is detected, thereby enabling the user to seek medical help when needed.

Many types of sensors and systems are currently available for performing the heart rate estimation. Photoplethysmogram (PPG) is an example of sensors that is used for the heart rate estimation. The PPG monitors the heart rate of a user by measuring variation in blood volume in skin of the user, which is caused by pressure pulse of cardiac signal. However, when the user being monitored is in motion, there is high probability that the measured signals contain noise signals, which in turn affects accuracy of the heart rate estimation being performed. The state of art systems use different approaches for estimating the heart rate of users. However, depending on the approach used, capability to handle the noise caused by the user motion varies, which in turn affects accuracy of result of the health rate estimation.

For instance,<NPL> and <NPL> describe a technique for heart rate estimation based on the subject's mobility state and previous heart rate values.

Embodiments of the present disclosure present technological improvements as solutions to one or more of the above-mentioned technical problems recognized by the inventors in conventional systems. The invention is set out in the appended set of claims <NUM>-<NUM>.

The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate embodiments and, together with the description, serve to explain the disclosed principles:.

Embodiments are described with reference to the accompanying drawings.

The following examples/aspects/embodiments in the description are not according to the invention and are present for illustration purposes only.

Referring now to the drawings, and more particularly to <FIG>, where similar reference characters denote corresponding features consistently throughout the figures, there are shown preferred embodiments and these embodiments are described in the context of the following system and/or method.

<FIG> illustrates a system for heart rate estimation of a user, according to some embodiments of the present disclosure. The system <NUM> includes one or more hardware processors <NUM>, communication interface(s) or input/output (I/O) interface(s) <NUM>, and one or more data storage devices or memory <NUM> operatively coupled to the one or more hardware processors <NUM>. The one or more hardware processors <NUM> are implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, graphics controllers, logic circuitries, and/or any devices that manipulate signals based on operational instructions. Among other capabilities, the processor(s) are configured to fetch and execute computer-readable instructions stored in the memory. In an embodiment, the system <NUM> is implemented in a variety of computing systems, such as laptop computers, notebooks, hand-held devices, workstations, mainframe computers, servers, a network cloud and the like.

The communication interface(s) <NUM> include a variety of software and hardware interfaces, such as a web interface, a graphical user interface, and the like and facilitate multiple communications within a wide variety of networks N/W and protocol types, including wired networks, such as LAN, cable, etc., and wireless networks, such as WLAN, cellular, or satellite. In an embodiment, the communication interface(s) <NUM> include one or more ports for connecting a number of devices to one another or to another server.

The memory <NUM> includes any computer-readable medium known in the art including, volatile memory, such as static random access memory (SRAM) and dynamic random access memory (DRAM), and/or non-volatile memory, such as read only memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic tapes. In an embodiment, one or more components (not shown) of the system <NUM> are stored in the memory <NUM>. The memory <NUM> is configured to store operational instructions which when executed cause one or more of the hardware processor(s) <NUM> to perform various actions associated with the heart rate estimation being handled by the system <NUM>. The various steps involved in the process of heart rate estimation are explained with description of <FIG> and <FIG>. All the steps in <FIG> and <FIG> are explained with reference to the system of <FIG>.

<FIG> is a flow diagram depicting steps involved in the process of performing the heart rate estimation, using the system of <FIG>, according to some embodiments of the present disclosure. So as to perform heart rate estimation of a user, the one or more hardware processors <NUM> of the system <NUM> collects (<NUM>) PPG signals and accelerometer signals from the user, wherein the collected PPG signals and accelerometer signals are split over a plurality of time windows. In an embodiment, length of all the time windows is same. In various other embodiments, the length of the time windows ispre-configured or dynamically configured with the system <NUM>, by any authorized user, using appropriate interface that is provided by the communication interface(s) <NUM>. The one or more hardware processors <NUM> of the system <NUM> performs appropriate pre-processing to clean up and condition the collected PPG and accelerometer signals for further processing for the heart rate estimation, and performs filtering and normalization.

For each time window in which the PPG signal has been collected, the one or more hardware processors <NUM> of the system <NUM> performs a mobility detection to determine (<NUM>) whether or not the user was in motion while the PPG signal was collected. In an embodiment, any suitable mobility detection mechanism is used by the system <NUM> to perform the mobility detection. If the user is found to be not in motion while collecting the PPG signals, then heart rate estimation is performed (<NUM>) from the collected PPG signals using any suitable approach.

If the system <NUM> determines that the user was in motion while collecting the PPG signals in at least one of the plurality of time windows, then the following method is executed for the heart rate estimation. The method is explained for data (i.e. PPG signal and accelerometer signals) collected over one time window. It is to be noted that the same approach is used for heart rate estimation in all time windows in which user was determined to be in motion while collecting the PPG signals.

The one or more hardware processors <NUM> of the system <NUM> collects and processes the accelerometer signal in the time window being considered, to estimate (<NUM>) a noise signal that is present in the PPG signal collected in the same time window. In an embodiment, the one or more hardware processors <NUM> of the system <NUM> performs a Principle Component Analysis (PCA) of the accelerometer signal to estimate the noise signal. The motion of the user is approximated in a particular direction if a brief window of time is considered during which motion of the user is majorly unidirectional in an arbitrary direction. The PCA is applied on the accelerometer signal so as to find out which direction has a maximum variation in acceleration (due to the motion) the Principal Component Analysis (PCA) is applied to the acceleration signal. The PCA projects the original signal into orthonormal basis along which the variance is maximized. Assuming <MAT> is a projected matrix it is denoted as Y = AW where <MAT> is an acceleration matrix and columns of the projection matrix <MAT> represents eigenvector basis. As a first principle component of Y matrix highest variance among the three orthogonal direction, it is considered as the direction of motion or the noise. Noise spectrum is estimated as: <MAT>.

As the highest variance of accelerometer signal is itself a marker of motion, this approach improves the estimate of noise.

The one or more hardware processors <NUM> of the system <NUM> further estimates (<NUM>) value of a true cardiac signal for the time window. In the time windows in which motion has been detected, the true cardiac signal is not available, hence the estimation is required. Steps involved in estimation of the true cardiac signal are depicted in <FIG>. The system <NUM> maintains in the memory <NUM>, a Clean Signal Buffer (CB). The system <NUM> collects information pertaining to a pre-defined number (N) of spectra prior to the time window being considered for estimation of the true cardiac signal, and stores this information in the CB. In an embodiment, at any instance the CB comprises data pertaining to PPG signal containing noise data for a time window being considered. In various embodiments, value of N is pre-configured or dynamically configured with the system <NUM> by an authorized user, and is stored in the memory <NUM>. For estimation of the true cardiac signal for the time window, the system <NUM> obtains (<NUM>) the spectra present in the CB and estimates (<NUM>) value of the true cardiac signal as a trimmed mean of N number of spectra, which is represented as: <MAT> <MAT>.

Where M represents total number of frequency bins. Rows of the CB contain envelops of previous N spectra.

The estimation of the true cardiac signal is performed along the columns of the CB for every frequency bin. This leads to a row vector <MAT> which approximates the true cardiac spectrum. This averaging process smoothens the signal, imparts the uniformity and curtails the high-frequency noises. Since intense movement of the user could cause spurious noises, by taking the trimmed mean, outliers are eliminated. Later when the Weiner Filter estimates the clean PPG spectrum for that particular window, the noisy PPG spectrum is replaced by the clean one.

The system <NUM> uses the following equation to obtain coefficients for the wiener filter.

After approximating the true cardiac spectrum and the noise spectrum, the system <NUM> applies (<NUM>) and (<NUM>) in (<NUM>) to obtain a final equation for wiener filter coefficients as: <MAT>.

It is to be noted that in equation (<NUM>), all the elements are having same dimension ( <MAT>) and sample-wise divisions is achieved.

Based on the estimated coefficients, the wiener filter of the system <NUM> estimates (<NUM>) a spectrum of clean PPG for the time window, based on the estimated noise signal and the true cardiac signals. The estimated spectrum of clean PPG is further used by the system <NUM> to estimate (<NUM>) heart rate of the user at the time window being considered.

In various embodiments, steps in method <NUM> is performed in the same order as depicted in <FIG> or in any alternate order that is technically feasible. In another embodiment, one or more of the steps in method <NUM> is omitted as per requirements.

The embodiments of present disclosure herein address unresolved problem of heart rate estimation of a user when the user is in motion. The embodiment thus provides a wiener filter based mechanism to estimate heart rate of the user while in motion. Moreover, the embodiments herein further provide a mechanism to estimate a true cardiac signal for each time window in which user motion was detected, for the purpose of estimating a spectrum of clean PPG signal which in turn is used for heart rate estimation.

The hardware device is any kind of device which is programmed including e.g. any kind of computer like a server or a personal computer, or the like, or any combination thereof. The device also includes means which could be e.g. hardware means like e.g. an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a combination of hardware and software means, e.g. an ASIC and an FPGA, or at least one microprocessor and at least one memory with software processing components located therein. Thus, the means include both hardware means and software means. The device also includes software means. Alternatively, the embodiments are implemented on different hardware devices, e.g. using a plurality of CPUs.

The embodiments herein comprise hardware and software elements. The embodiments that are implemented in software include but are not limited to, firmware, resident software, microcode, etc. The functions performed by various components described herein are implemented in other components or combinations of other components. For the purposes of this description, a computer-usable or computer readable medium is any apparatus that comprises, stores, communicates, propagates, or transports the program for use by or in connection with the instruction execution system, apparatus, or device.

The illustrated steps are set out to explain the embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. Alternative boundaries are defined so long as the specified functions and relationships thereof are appropriately performed.

Furthermore, one or more computer-readable storage media is utilized in implementing embodiments consistent with the present disclosure. A computer-readable storage medium refers to any type of physical memory on which information or data readable by a processor is stored. Thus, a computer-readable storage medium stores instructions for execution by one or more processors, including instructions for causing the processor(s) to perform steps or stages consistent with the embodiments described herein.

Claim 1:
A processor implemented method (<NUM>) for heart rate estimation, comprising:
collecting (<NUM>) a Photoplethysmogram (PPG) signal over a plurality of fixed time windows from a user being monitored, via one or more hardware processors;
determining (<NUM>) whether the user was in motion in any of the plurality of time windows while the PPG signal was being collected, by performing a mobility detection, via the one or more hardware processors;
classifying each of the plurality of time windows as belonging to one of a set of time windows in which user is determined as in motion and a set of time windows in which user is determined as not in motion; and
performing the heart rate estimation for the PPG signal collected over each time window belonging to the set of time windows in which user is determined as in motion, via the one or more hardware processors, comprising:
estimating (<NUM>) a noise signal by performing a Principle Component Analysis (PCA) of an accelerometer signal collected over each of the time windows in which the user is determined as being in motion;
estimating (<NUM>) value of a true cardiac signal for each of the time windows in which the user is determined as being in motion, wherein the true cardiac signal is a PPG signal without outliers, and wherein estimating (<NUM>) value of the true cardiac signal comprises:
obtaining a pre-defined number of spectra associated with true cardiac signals prior to a time window being considered, from a Clean Signal Buffer (CBF); and
estimating the value of the true cardiac signal by taking a trimmed mean of the obtained pre-defined number of spectra, wherein the value of the true cardiac signal (bk) is estimated by: <MAT>
wherein N represents the obtained pre-defined number of spectra and M represents a total number of frequency bins;
estimating (<NUM>) spectrum of a clean PPG signal based on the estimated noise signal and the estimated value of the true cardiac signal, using a wiener filter; and
estimating (<NUM>) heart rate of the user based on the estimated spectrum of the clean PPG signal.