HRV4Training
  • Home
  • QuickStart Guide
  • PRO & TEAMS
  • FAQ
  • Privacy & Terms
  • Contact
  • Publications
  • Guides
  • Blog
  • Shop

Issues in heart rate variability (HRV) analysis: motion artifacts & ectopic beats

1/30/2016

0 Comments

 
Blog post by Marco Altini.

​This post is about common issues in HRV analysis, namely motion artifacts & ectopic beats. Both motion artifacts and ectopic beats can create significant problems when computing HRV features and it is extremely important to include some level of post-processing once RR intervals have been acquired. These issues are present regardless of what system you use to acquire your data (full ECG, pre-processed RR intervals, e.g. from a Polar, or the Camera PPG in HRV4Training). You can find a very good example in Buchheit et al [1] (see this tweet). I highly recommend reading this paper even if you are not much into technical aspects or research since it includes plenty of practical insights on both HRV measurements at rest and submaximal HR during exercise as a proxy to fitness, something I’ve personally worked on during my PhD in the context of estimating cardiorespiratory fitness from contextualized HR in the general population, outside of sports [2].

In this post I will show issues on different data streams and how we can try to handle them. In particular, we will look at:
  • Full ECG acquired using standard gel electrodes available in hospital environments, and the ECG Necklace.
  • RR intervals as acquired using a Polar H7
  • PPG data acquired using HRV4Training 

Full ECG

For the full ECG example we will look at the effect of one single ectopic beat. Let's start by plotting some data, from the same person, for two adjacent minutes, one with clean data:
Picture
and the second one including an ectopic beat towards the end of the measurement:
Picture
Detected beats are also highlighted in red. What happens if we don't do any post processing and compute HRV (let's consider the usual case of computing rMSSD), for the two chunks of data shown above?
  • rMSSD clean data: 79 ms
  • rMSSD noisy data: 201 ms (ectopic beat)
Clearly we have a problem. The two segments of data are very similar and most likely should result in similar rMSSD values (please note that similar here is the keyword, two consecutive measurements will never result in the same exact number). However, the ectopic beat disrupts our computation, bringing rMSSD to much higher values for the noisy data.

Now that we identified the problem and showed the impact on HRV features, we need somehow to fix it. How do we go about computing HRV features for noisy chunks of data while ensuring the correct output?

Identifying ectopic beats is done in clinical practice by removing RR intervals that differ more than 20 or 25% from the previous one, since that’s very uncommon and most likely is indicative of a problem (ectopic beat, noise, motion, etc.). Let’s try to identify all issues in the previous plots by using this technique (click the figures to enlarge): 
Picture
This simple algorithm was able to determine what RR intervals were abnormal and should be excluded from HRV analysis. We can appreciate the correction also by looking at the RR intervals histograms before and after the correction:
Picture
Now if we recompute the features we can see that results are as we expect, with similar values between consecutive minutes, regardless of the ectopic beat, which has been accounted for by the RR interval correction technique:
  • rMSSD clean data: 79 ms
  • rMSSD data with artifact correction: 94 ms
Interestingly enough, fixing the problem is as simple as removing the identified RR intervals and computing features on the clean RR intervals time series. Other methods have been proposed in literature, but as you can read in [3], no improvements were shown when using more complex interpolations with respect to simply removing the ectopic beats.

Polar H7

"I use a Polar, so my data is perfect"

I hear this a lot, and don't get me wrong, I'm the first supporter of the great work they do at Polar, however, RR interval correction is not performed by the sensor itself (possibly for very good reasons, e.g. some applications might be looking for such ectopic beats in order to develop different algorithms). Thus, we need to use the same techniques explained above even when we collect data using a Polar, and not only when we process it ourselves from a full ECG, or from PPG data as shown later.

Since we discussed ectopic beats in the preceding example, in this one we will look at another problem, motion artifacts. Below are some data I recorded while running:
Picture
The data shows something rather typical of intense exercise, with RR intervals becoming very small and rather constant as heart rate increases. We can spot already an issue sometime around a third of the recording. Here I was maybe adjusting the strap, or simply there was bad contact for a few seconds, and I got some inaccurate RR intervals.

Since we often consider short windows, I cut the data around the artifacts to perform HRV analysis over 60 seconds of data, similarly to what we did before:​
Picture
Values for rMSSD:
  • rMSSD clean data: 3 ms
  • rMSSD noisy data: 28 ms (motion artifacts)
As expected, when running there is basically no variability. However, the motion artifact changes things quite a bit, raising rMSSD up to 28 ms. 

Now we know how to fix the issue, i.e. we need to identify and remove RR intervals differing more than 20% from the preceding one. Once we perform the correction, we easily remove the three peaks, and obtain the following:
  • rMSSD clean data: 3 ms
  • rMSSD noisy data with artifact correction: 3 ms
Thus, we were able to get rid of the spurious RR intervals and compute HRV features correctly. Regardless of what software you use for HRV analysis, make sure this step is implemented even when acquiring data using trustworthy sensors.

Camera PPG

As a third and last example, I will show how the Camera-based algorithms implemented in HRV4Training deal with the issues above. Let's first look at some data. Again two 60 seconds windows, one with clean data:
Picture
And another one including motion artifacts (the second plot is a zoomed-in version just to show that the rest of the data are clean). To create the artifact below, I pushed hard on the camera while measuring, the change of pressure and finger movement messed up completely the signal:
Picture
Picture
I've also highlighted the detected peaks according to HRV4Training's algorithms. We can see the peak detection works decently around the artifact, detecting the extra peak and then going back to normal right after. However, we can also see that around the motion artifact the intervals between peaks become more irregular and we need to take care of the situation or we will end up with a much higher rMSSD, similarly to the ECG and Polar examples above.

As a matter of fact, computing rMSSD without any artifact correction shows the usual issues, with values being much higher when we have artifacts disrupting the signal:​
  • rMSSD clean data: 51 ms
  • rMSSD noisy data: 137 ms (motion artifact)
At this point we apply the usual correction, i.e. we remove intervals that differ more than 20% from the preceding one, and obtain the following:
Picture
Picture
We could isolate once again the noisy intervals. Computing rMSSD on the new time series gives us the following:
  • rMSSD clean data: 51 ms
  • rMSSD noisy data with artifact correction: 55 ms
As expected, we obtain rMSSD values that are very similar since we are considering two consecutive minutes in which I was breathing using the pacer inside the app (8/minute).

There is one more important aspect when we consider issues caused by motion artifacts instead of just ectopic beats, i.e. motion artifacts are localized but do last for a certain amount of time, typically involving quite a few beats, instead of just a single ectopic beat. This is a common problem especially for PPG based systems, since they are very sensitive to motion. Thus, we need to correct for artifacts but also make sure we discard a reasonable number of intervals and do not throw away too much data.

For this reason HRV4Training provides two extra processing steps. The first one makes sure that by removing RR intervals we did not create too many gaps between the intervals that are still part of the time series. The second one computes the % of clean data, and if a certain threshold of noise is crossed, the recording will be labeled as poor quality and you will be prompted to retake the measurement.

To convert this whole thing into something human readable, HRV4Training currently provides the following labels (subject to changes since these algorithms are revised and improved from time to time):
  • Signal quality was very good: 85% of the data after interval correction is usable.
  • Signal quality was good: 80% of the data after interval correction is usable.
  • Signal quality was poor: less than 80% of the data after interval correction is usable.

What can you do to make your measurements less error-prone

The method currently implemented in HRV4Training is very similar to the above, with a few extra tricks to make sure all artifacts are removed. However, to make sure the chance of artifacts (at least the ones due to motion or other technical problems) is minimal, please do the following depending on the sensing modality you are using:

For a Polar:
  • Always moisture the belt and make sure there is good contact.
For the Camera PPG:
  • Place the finger on the camera before hitting “measure HRV”, then hit the button (maybe using the other hand). This way you will avoid the risk of spurious data at the beginning of the recording (even though the app already discards the first 6 seconds). Secondly, do not press with excessive force on the camera, try to stay relaxed and maintain the same amount of pressure over time, this will also help with minimizing hand motion.

Summary

Ectopic beats and motion artifacts are common issues that affect any sensing modality and need to be dealt with. Using a simple rule (20% difference) allows for easy detection of the unwanted beats, that can be removed as a post processing step after collecting the relevant window of data. Once the artifacts have been removed, HRV features can be computed correctly. See a few lines above for some tips on how to limit the risk of introducing artifacts during your measurements. 
​
Follow @marco_alt


​References

[1] Buchheit, M. (2014). Monitoring training status with HR measures: do all roads lead to Rome?. Frontiers in physiology, 5. Chicago
[2] Altini, M. et al (2016).
Cardiorespiratory fitness estimation using wearable sensors: laboratory and free-living analysis of context-specific submaximal heart rates. Submitted to the Journal of Applied Physiology.
[3] 
Lippman, N. E. A. L., Stein, K. M., & Lerman, B. B. (1994). Comparison of methods for removal of ectopy in measurement of heart rate variability.American Journal of Physiology-Heart and Circulatory Physiology, 267
(1), H411-H418.
0 Comments

Your comment will be posted after it is approved.


Leave a Reply.

    Picture
    Picture
    Register to the mailing list
    and try the HRV4Training app!
    Picture
    Picture
    This blog is curated by
    Marco Altini, founder of HRV4Training


    ​Blog Index
    ​
    The Ultimate Guide to HRV
    1: Measurement setup
    2: Interpreting your data
    3: Case studies and practical examples

    How To
    1. Intro to HRV
    ​2. How to use HRV, the basics
    3. HRV guided training
    ​4. HRV and training load
    ​
    5. HRV, strength & power
    6. Overview in HRV4Training Pro​
    7. HRV in team sports
    ​

    HRV Measurements
    Best Practices

    1. Context & Time of the Day
    2. Duration
    ​
    3. Paced breathing
    4. Orthostatic Test
    5. Slides HRV overview
    6. Normal values and historical data
    ​7. HRV features
    ​
    Data Analysis
    1a. Acute Changes in HRV
    (individual level)

    1b. Acute Changes in HRV (population level)
    ​
    1c. Acute Changes in HRV & measurement consistency
    1d. Acute Changes in HRV in endurance and power sports​
    2a. Interpreting HRV Trends
    2​b. HRV Baseline Trends & CV
    3. ​Tags & Correlations​
    4. Ectopic beats & motion artifacts
    5. HRV4Training Insights
    6. HRV4Training & Sports Science
    7. HRV & fitness / training load
    ​8. HRV & performance
    9. VO2max models
    10. Repeated HRV measurements
    11. VO2max and performance
    12. HR, HRV and performance
    13. Training intensity & performance​
    14. Publication: VO2max & running performance
    ​
    15. Estimating running performance
    16. Coefficient of Variation
    17. More on CV and the big picture
    ​​​​​18. Case study marathon training
    19. Case study injury and lifestyle stress
    20. HRV and menstrual cycle
    21. Cardiac decoupling
    22. FTP, lactate threshold, half and full marathon time estimates
    ​23. Training Monotony
    ​
    Camera & Sensors
    1. ECG vs Polar & Mio Alpha
    2a. Camera vs Polar
    2b. Camera vs Polar iOS10
    2c. iPhone 7+ vs Polar
    2d. Comparison of PPG sensors
    3. Camera measurement guidelines
    4. Validation paper
    ​5. Android camera vs Chest strap
    ​6. Scosche Rhythm24
    ​7. Apple Watch
    8. CorSense
    ​
    9. Samsung Galaxy
    ​
    App Features
    ​1. Features and Recovery Points
    2. Daily advice
    3. HRV4Training insights
    4. Sleep tracking
    5. Training load analysis
    ​6a. Integration with Strava
    6b. Integration with TrainingPeaks
    6c. Integration with SportTracks
    6d. Integration with Genetrainer
    ​
    6e. Integration with Apple Health
    ​
    ​6f. Integration with Todays Plan
    7. Acute HRV changes by sport
    8. Remote tags in HRV4T Coach
    9. VO2max Estimation
    ​
    10. Acute stressors analysis
    11. Training Polarization
    ​
    12. Lactate Threshold Estimation
    13. Functional Threshold Power(FTP) Estimation for cyclists
    14. Aerobic Endurance analysis
    15. Intervals Analysis
    ​​​16. Training Planning
    17. Integration with Oura
    18. Aerobic efficiency and cardiac decoupling
    ​
    Other
    1. HRV normal values​
    ​2. HRV normalization by HR
    ​
    3. HRV 101

    RSS Feed

Picture
  • Home
  • QuickStart Guide
  • PRO & TEAMS
  • FAQ
  • Privacy & Terms
  • Contact
  • Publications
  • Guides
  • Blog
  • Shop