Detection and Removal of Motion Artifacts in PPG Signals: David Pollreisz Nima Taherinejad
Detection and Removal of Motion Artifacts in PPG Signals: David Pollreisz Nima Taherinejad
https://doi.org/10.1007/s11036-019-01323-6
Abstract
With the rise of wearable devices, which integrate myriad of health-care and fitness procedures into daily life, a reliable
method for measuring various bio-signals in a daily setup is more desired than ever. Many of these physiological
parameters, such as Heart rate (HR) and Respiratory Rate (RR), are extracted indirectly and using other signals such as
Photoplethysmograph (PPG). Part of the reason is that in some cases, such as RR measurements, the devices which directly
measure them are cumbersome to wear and thus, rather impractical. On the other hand, signals, such as PPG from which the
RR can be extracted, are not very clean. This poses a challenge on reliable extraction of these metrics. The most important
problem is that they are corrupted by motion artifacts. In this paper, we review the state of the art algorithms which are used
to detect and filter motion artifacts in PPG signals and compare them in terms of their performance. The insight provided
by this paper can help the scientists and engineers to obtain a better understanding of the field and be able to use the most
suitable technique for their work, or come up with innovative solutions based on existing ones.
of corrupted signals to generate an estimate of the unknown This loop has to be repeated until r(t) has only one
state. First the controlled process x, is calculated by extrema. Afterwards, the spectrum of each IMF based
on the predefined frequency range has to be computed.
xk = Axk−1 + Buk−1 + wk−1 , (5)
The last step to generate the reference noise signal is
and a measurement, z, is described by identifying the desired signal portion range and eliminating
IMF corresponding to the desired frequency components of
zk = H xk + vk , (6) the PPG.
where wk and vk are random variables that represent For the “adaptive step-size LMS algorithm” block, seen
the process and measurement noise. The matrix A is the in Fig. 4, an estimate of the gradient to search the minimum
state transition matrix and the matrix B is the optional error on the surface is used. The error of each step is
input model for the control uk . Matrix H relates to the reduced by updating the step size parameter. To implement
measurement zk , as shown in Eq. 6. the adaptive filter the following steps as seen in Eq. 8 to
To test their algorithm, eleven subjects took part in Eq. 12 are used.
the measurements and they had to perform two different y(n) = wT (n)u(n) (8)
motions; (i) keep their hand still for one minute, and (ii)
e(n) = d(n) − y(n) (9)
wave their hand. This was done to identify and remove
motion artifacts from two PPG sensors that were attached w(n + 1) = w(n) + μe(n)u(n) (10)
to the left and right index finger. During their analysis, they μ(n + 1) = μ(n) + ρe(n)γ (n)u(n) H
(11)
found out, that for their tests a window length of seven d
seconds had the best results. With their method, they could γ (n) = (w(n)) (12)
dμ(n)
reduce the absolute bias from 13.97 BPM to 6.87 BPM.
where u(n) is the generated reference signal, y(n) the filter
output, w(n) the filter coefficients, e(n) the error, d(n) the
PPG signal (which would be the desired output if there is no
3 Synthetic reference data
noise), μ the step size, γ H the gradient vector and ρ controls
the step size parameter.
3.1 EMD technique
Figure 5 is an example of the results of the algorithm
designed in [19]. The test subjects had to perform three
Another possible solution without an accelerometer signal is
different movements with their finger: (i) horizontal motion,
to generate a reference signal from the corrupted PPG signal
(ii) vertical motion, and (iii) bending. For the measurement
using Complex Empirical Mode Decomposition (CEMD)
technique [19]. To generate the reference noise signal the
following steps have to be done. First, all the local minima
and maxima of the originals signal (x(t) = d(t) = S(n) +
N(n)) need to be found. The next step is to envelope all
the maxima (umax) and all the minima (umin). After all
the envelope signals are generated, the mean value, m(t), is
calculated:
umax + umin
m(t) = . (7)
2
The value of the mean is then subtracted from the original
signal: h(t) = x(t) − m(t). The new signal h(t) is
decomposed into Intrinsic Mode Function (IMF) by sifting
process until h(t) meets the IMF conditions. The next step Fig. 4 Adaptive filter using CEMD technique to generate the reference
is to identify the quasi-residue function r(t) = x(t) − c. signal out of the PPG signal [19]
732 Mobile Netw Appl (2022) 27:728–738
of the PPG signal a clip-on type PPG sensor with an forgetting factor, λ, are optimized. The output is sliced into
Ni-DAQ Pad-6015 data acquisition system was used. To windows and fast Fourier transformed.
compare the original corrupted signal with the signal In [22], only 10 data sets were used to test the algorithm.
without noise, the peak to peak values of the PPG signal For their experiments the subjects had to walk, jump, and
are compared. For corrupted PPG signal with horizontal run. Two PPG sensors, as seen in Fig. 6, that were used
motion the mean error is 0.426 ± 0.087 BPM, with vertical were Hamamatsu S9706. They put them on the hip to
movement 0.514 ± 0.107, and for bending motion 0.459 ± measure the PPG signal and the movement as well. Since
0.067. In comparison, the proposed algorithm had an error they had only 10 data sets a cross-validation was performed
of 0.379 ± 0.036 BPM for horizontal movement, 0.435 ± to alleviate this problem. They first selected the n-th data set
0.059 for vertical movement, and 0.363 ± 0.131 for bending for validation and use the rest as a training set. Afterwards,
motion. Overall, the mean error of the proposed algorithm the parameters were chosen for the training set and on
is 0.392 BPM compared to 0.466 BPM of the (originally) the chosen validation set the error, En , was calculated.
corrupted signals. These two steps were repeated for all data sets and at the
end the average error was calculated. To find the optimal
3.2 Dual PPG sensor parameter values, the authors swept the K values from 5 to
50, and β from 0.01 to 0.9. With the optimal parameters,
A similar approach that uses synthesized reference signal the algorithm can reduce root mean square error by 62% for
was shown in [22]. A second PPG sensor is used to generate the walking, 83% for the running, and 79% for the jumping.
the movement signal. The second PPG sensor is positioned That is, a Root Mean Square Error (RMSE) of 6.5 BPM
a few millimeters1 away from the skin, as seen in Fig. 6a, after reduction and 28.26 BPM RMSE before reduction.
so it only measures when the subject is in motion. In Fig. 6b
one can see typical outputs of both sensors, first few seconds
without motion and afterwards with motion. 4 Measured acceleration data
This algorithm starts by band-pass filtering both of the
recorded signals between 0.8 to 5 Hz with a Hanning 4.1 LMS filtering
window of 128 points and a sampling rate of 10 samples per
second. Afterwards, an adaptive filter, as seen in Fig. 7, is One of the methods based on acceleration sensors to remove
applied. The u(n) input on Fig. 7 measures the movement motion artifacts is presented by [16]. The flow diagram
and the d(n) is the PPG signal from the sensor which is of the proposed algorithm is shown in Fig. 8. First, the
fully in touch with skin. The adaptive filter tries to bring raw PPG signal is band-pass filtered with a 4th order
the difference between u(n) and d(n) down to zero. To Butterworth Infinite Impulse Response (IIR) filter in the
do that a Normalized Least Mean Square (NLMS) and range of 0.3–5 Hz. For the motion data filtering block
Recursive Least Square (RLS) algorithm are applied and a Singular Value Decomposition (SVD) is used which
two parameters, namely the number of taps, K, and the generates a motion artifact reference for the adaptive filter.
In the third block of the algorithm, the in-band removal
takes place. There, they use a modified LMS adaptive filter,
1 We could not find what is the exact number for this gap. where the coefficients, h(n), are updated based on the least
Mobile Netw Appl (2022) 27:728–738 733
mean error, e(n). An identical filter is placed in the reference up to 12-15km/h. A dual channel PPG alongside a three-
signal path to adjust the weights. This adjustment is called axis accelerometer sensor was used to record the data from
X-LMS. In Eqs. 13–16 the X-LMS calculations are shown, the wrist with a sampling rate of 125Hz. With the X-LMS
method they had an error of 1.37 BPM.
yc (n) = w T (n) ∗ u(n) : Output generation (13)
e(n) = d(n) − yC (n) : Error calculation (14) 4.2 RLS filtering
I −1
uC ∗ (n) = ci∗ ∗ u(n − i − M + 1) (15)
i=0 A similar approach is proposed by [17]. Instead of X-LMS
w(n + 1) = w(n) + μ ∗ uC ∗ (n)e(n) : Weight updates (16) they use a DC Remover and an RLS adaptive filter. The
where u(n), d(n) and e(n) are input, desired output and first step of the algorithm, as shown in Fig. 10, is the DC
error, respectively. w(n) are the weights of the estimated removal. This IIR filter removes the offset of the PPG signal
filter and μ the step size. ci∗ represents the coefficients and thus the RLS adaptive filter has a faster convergence
of estimated filter for compensation, and uC ∗ (n) is the speed compared to an LMS algorithm. The output of the
reference signal as one can see in Fig. 9. In the last part, DC remover is the AC component of the PPG signal. The
the peak tracking takes place with some adaptive threshold following, Eqs. 17–19, describe the DC remover.
levels. This is done with the Slope Sum Method (SSM),
w(t) = x(t) + a ∗ w(t − 1) (17)
where they use a window size of 2-3 seconds to detect onset
and offset of each peak. y(t) = w(t) − w(t − 1) (18)
For the experiments in [16], 12 different subjects took Y (Z) 1 − Z −1
= (19)
part and they had to do different exercises such as running X(Z) 1 − a ∗ Z −1
In these equations, w(t) is the value of the operation To test their algorithm, in [17], the authors used
process which records the DC drift, and a controls the filter two different databases. The first one is Multi-parameter
cut-off frequency. When a becomes closer to 1, the slope of Intelligent Monitoring for Intensive Care (MIMIC) and a
the filter response becomes sharper and only the frequencies second set of signals that were measured from 10 subjects,
that disturb the signal are damped, however, when it is 1, where subjects did small movements such as scratching
the filter effect will be lost. After the signal is removed of themselves or shaking slightly. In Fig. 12, we can see the
its DC values the RLS adaptive filter comes into play. spectrum of a PPG signal after the algorithm removed the
In Fig. 11, one can see that s(t) is the primary input, motion noise. From the database of the 10 subjects the
xt is the reference input of the accelerometer sensor, s1 (t) results of the Bland Altman plot provides a range limit of
is the noise-free PPG signal and n(t) is the motion noise. -4.29 to 4.26 for the difference of the heart rate and the
Equation 20 shows the formula for calculating the estimated ground truth, with a STD of 3.91 BPM.
motion noise, where ωK T represents the coefficients of the
filter, Θ is the matrix of these coefficients, φ is the matrix of 4.3 Hankel matrix filtering
the accelerometer data, n̂(t) is the estimated motion noise,
and t is the sampling time. The authors of [23] try to overpass previous techniques with
Motion Artifact Removal (MAR) and Adaptive Tracking
t (AT). In [23] they use datasets from subjects who were
n̂(t) = T
ωK ∗ x K = Θ T ∗ φt (20) running. The flow chart of the proposed algorithm can be
k=0 seen in Fig. 13.
Fig. 12 a Cleaned PPG signal,
b raw PPG signal [18]
736 Mobile Netw Appl (2022) 27:728–738
The same is done with the PPG signal (g) whose model is
shown in Eq. 22, in which e is the heart rate and m is the
movement artifact.
g = m + e, g ∈ RN (22)
Fig. 14 The proposed algorithm with different starting points (shown
The corresponding Hankel data matrix of Eq. 22 can be in red lines) and ground truth (the black line) [23]
decomposed using SVD. The result of the decomposed
process are two orthonormal subsets. When compared with
To validate the algorithm, the authors of [23] tested it
the artifact component, it shows that the artifact and the
on 25 test subjects where the subjects wore a wrist type
heart rate signal belong to two orthonormal sub-spaces.
PPG sensors and performed different kind of exercises.2 In
The next step is to find the spectral peaks of the vectors.
Figure 14, one can see that even for different starting points
This is easily done using the calculation in Eq. 22 since the
(red lines) all lines come to the ground truth (black line,
cardiac frequency is the dominant frequency in the matrix.
an Electrocardiography (ECG) derived signal). The green
To minimize the error, when motion comes into play, a
line is the estimation of the proposed algorithm. They tested
rough estimation of the joint probability density function
their algorithm on subjects that were running and overall
of the heart rate versus the motion artifact frequency is
had an average absolute error of 2.26 BPM.
performed. This probability function is used to separate the
fundamental harmonics of the heart rate from the motion
artifact.
5 Results and discussion
Fig. 13 Flow chart of a system that uses the Hankel matrix to remove
motion artefacts [23] 2 We could not find exactly what kind of exercises were used.
Mobile Netw Appl (2022) 27:728–738 737
Missing information are shown by “NA”. In the App. (Approach) column “D” stands for detection and “R” for removal of the noise from the signal. In the Acc. (Acceleration data), “Syn.” stands
thresholds, this means there were motion artifacts in the
Different exercises
Waving the hand
inaccurate. The Peak to Peak Error (PPE) for this method
is 7.85 BPM compared to the corrupted PPG signal with
Movement
Running
finger.
without any accelerometer sensor is to look at the frequency
ing
components with VFCDM as seen in Section 2.2. This only
needs some values without movement to set some ground
TI’s AFE4400SPO2EVM
NA
NA
11
Acc.
Yes
Yes
Yes
No
No
No
R
R
R
VFCDM
signal. It does not have the lowest error value (their error 8. Pollreisz D, TaheriNejad N (2017) A simple algorithm for emotion
rate is 2.26 BPM), however, they claim that they have the recognition, using physiological signals of a smart watch. In: 2017
39th annual international conference of the ieee engineering in
most robust approach of all (which we could not evaluate
medicine and biology society (EMBC), pp 2353–2356
independently since they do not provide metrics such as 9. Götzinger M et al (2016) Enhancing the early warning score
STD). system using data confidence. In: International conference on
wireless mobile communication and healthcare. Springer, pp 91–
99
10. Götzinger M, Azanpour A, Azimi I, Taherinejad N, Rahmani
6 Conclusion AM (2017) Enhancing the self-aware early warning score system
through fuzzified data reliability assessment. In: International
In this paper, we reviewed eight different algorithms conference on wireless mobile communication and healthcare.
Springer
that either detect motion artifacts or filter them based
11. Forooghifar F, Aminifar A, Alonso DA (2018) Self-aware
on a synthesized or measured reference signal. We wearable systems in epileptic seizure detection, pp 7
presented their core idea and features, and summarized 12. Nia AM et al (2015) Energy-efficient long-term continuous
their characteristics and results to provide a large picture personal health monitoring. IEEE Transactions on Multi-Scale
Computing Systems 1(2):85–98
of the literature and existing methods. We hope that this
13. TaheriNejad N (2019) Wearable medical devices: challenges and
study can be used by engineers to make a better choice in self-aware solutions. In: IEEE life sciences newsletter, pp 5–6
design regarding what algorithm to use in which situations. 14. Charlton P et al (2018) Breathing rate estimation from the
Although we did our best to provide a comparison between electrocardiogram and photoplethysmogram: a review. IEEE
Reviews in Biomedical Engineering PP(99):1–1
different methods, we keep in mind that to have a fair
15. Liu J, Chen J, Jiang H, Jia W, Lin Q, Wang Z (2018) Activity
and proper comparison, one needs to implement all the recognition in wearable ECG monitoring aided by accelerometer
algorithms and test them on the same dataset under the data. In: 2018 IEEE international symposium on circuits and
same conditions and restrictions. We consider this outside systems (ISCAS), pp 1–4
the scope of this paper and as an interesting potential future 16. Tanweer KT, Hasan SR, Kamboh AM (2017) Motion artifact
reduction from PPG signals during intense exercise using filtered
work. x-LMS. In: 2017 IEEE international symposium on circuits and
systems (ISCAS), pp 1–4
Funding Information Open access funding provided by TU Wien 17. Wu CC, Chen IW, Fang WC (2017) An implementation of motion
(TUW). artifacts elimination for PPG signal processing based on recursive
least squares adaptive filter. In: 2017 IEEE biomedical circuits and
Open Access This article is distributed under the terms of the
systems conference (BioCAS), pp 1–4
Creative Commons Attribution 4.0 International License (http://
18. Hanyu S, Xiaohui C (2017) Motion artifact detection and
creativecommons.org/licenses/by/4.0/), which permits unrestricted
reduction in PPG signals based on statistics analysis. In: 2017
use, distribution, and reproduction in any medium, provided you give
29th Chinese control and decision conference (CCDC), pp 3114–
appropriate credit to the original author(s) and the source, provide a
3119
link to the Creative Commons license, and indicate if changes were
19. Raghuram M, Sivani K, Reddy KA (2016) Use of complex
made.
EMD generated noise reference for adaptive reduction of motion
artifacts from PPG signals. In: 2016 international conference on
electrical, electronics, and optimization techniques (ICEEOT),
References pp 1816–1820
20. Bashar SK, Han D, Soni A, McManus DD, Chon KH (2018)
Developing a novel noise artifact detection algorithm for
1. Dohr A et al (2010) The internet of things for ambient assisted smartphone PPG signals: preliminary results. In: 2018 IEEE
living. In: Proceedings of the international conference information EMBS international conference on biomedical health informatics
technology: new generations (BHI). IEEE, pp 79–82
2. Atzori L et al (2010) The internet of things: a survey. Computer 21. Lin WJ, Ma HP (2016) A physiological information extraction
networks 54(15):2787–2805 method based on wearable PPG sensors with motion artifact
3. Miorandi MD (2012) Internet of things: vision, applications and removal. In: 2016 IEEE international conference on communica-
research challenges. Ad Hoc Networks 10(7):1497–1516 tions (ICC), pp 1–6
4. Anzanpour A et al (2017) Self-awareness in remote health 22. Hara S et al (2017) Parameter optimization of motion artifact
monitoring systems using wearable electronics. In: Proceedings of canceling PPG-based heart rate sensor by means of cross
design and test europe conference (DATE), Lausanne, Switzerland validation. In: 2017 11th international symposium on medical
5. Parego P, Rahmani AM, Taherinejad N (eds.) (2017) Wireless information and communication technology (ISMICT), pp 73–
communication and mobile healthcare. Lecture Notes of the Insti- 76
tute for Computer Sciences, Social Informatics and Telecommu- 23. Bacá A et al (2015) CARMA: a robust motion artifact reduction
nications Engineering. Springer International Publishing algorithm for heart rate monitoring from PPG signals. In:
6. Yin H, Akmandor AO, Mosenia A, Jha NK (2018) Smart 2015 23rd European signal processing conference (EUSIPCO),
healthcare. Foundations and Trends. In: Electronic design pp 2646–2650
automation, vol 2(14), pp 401–466
7. TaheriNejad N, Pollreisz D (2016) Assessment of physiological
signals during happiness, sadness, pain or anger. In: 6th Publisher’s Note Springer Nature remains neutral with regard to
MobiHealth jurisdictional claims in published maps and institutional affiliations.