Tuesday, December 15, 2020

DFA a1 - running ramp and sample rate observations with the Movesense ECG

This post will attempt to kill two birds with one stone - a look at how a reasonable quality running ramp can be used to denote a "heart rate variability threshold" as well as the issues with heart rate/ECG recording device sample rates.

As part of our exploration into DFA a1 behavior during an exercise ramp, let's look at some recent data that may help some potential users.  Although limited data exists on DFA a1 decline during running vs cycling, in my prior experience they seem to be similar.  A friend decided to do some testing, using the Movesense ECG module worn concurrently with a Polar H10.  He was kind to share the data and the analysis is below.

Here is the protocol he followed:

5 min walking at around 100bpm 

3 min running at around 130bpm

3 min running at around 150bpm

3 min running at around 170bpm

First, lets look at the ECG waveform. This was recorded at a sample rate of 512Hz using an iPhone and the Movesense showcase app (should be in the app store).


Definitely a very nice symmetrical wave and sharp R peak.

A plot of DFA a1 and HR over time for each device.  This is a time varying extraction from Kubios (window width 2 min, grid interval 5 sec - in other words the DFA a1 and HR are calculated from a 2 minute measurement window and recalculated every 5 seconds).

Polar H10 in red, ECG in black, HR in yellow.

 

If we look at the "agreement" between the ECG and the Polar belt, they are pretty good but not perfect.  Below is a Bland Altman analysis of each data pair (looking for proportional bias - more or less bias depending on the DFA a1):


It appears that the agreement is pretty good as long as DFA a1 is above .5, which works well for us since we use values between .5 and 1 to calculate the "heart rate variability threshold" (HRVT, which we feel is a surrogate for VT1 or the aerobic threshold).  However, there is a difference at DFA a1 values below .5 as seen on the t testing below:

 

Now for the "HRVT" calculation.  To do this we graph the DFA a1 vs the HR, look for the linear portion of the decline, create an equation and back-solve it for HR (see previous posts):

Movesense ECG:

Polar H10 data:



Conclusions:  

  • A simple three stage running ramp provides an adequate look at DFA a1 behavior and calculation of the VT1 associated HRVT.
  • An ECG module with a sample rate of 512 yielded similar results as a Polar H10 in the range of interest.  At lower ranges there was some bias and since we did not have a gold standard comparative recording,  it's impossible to say which is more valid.

Can we get similar results with Kubios free version?

The premium version of Kubios allows one to get the time varying data graphs.  However, we can come close to this in the free version.  In this case, you will need to manually create 2 minute windows and overlap them to get enough data points.  Here is an example using the exact file as above:

The overlap windows are in the top panel, the DFA a1 values will appear in the panel below it (in yellow).  I copied the numbers down by hand (on the left side) and put them into Excel to graph:


 


  • Although the HRVT heart rate is somewhat different than above, by spacing the overlaps closer together, you would approach the same result as in the time varying.  After all, the time varying is simply this technique with a user defined overlap (5 sec in my case) and then an easy text file output.

 

The issue of sample rates:

Although the Polar H10 uses a sample rate that is quite high (1000 Hz), can we get by with lower rates?  I have shown some data using the Movesense ECG at 250 Hz that appears very close to the Polar but what about at even lower rates.  Can a sample rate of 125 Hz give us reasonable results?  This will be of interest when the Movesense unit becomes more widely available since only some devices can handle rates above a 250 Hz bluetooth transmission speed.

The test - my typical cycling ramp (130 to 230 watts over 20 min using Zwift as the trainer power control), Movesense ECG on upper chest (<1% artifact), Polar H10 in usual location under the pectorals (artifact below 4%).

The results:

Waveform:

Loss of R peak definition noted!  The true R peak could be buried in that flat top portion.

Data comparison:

 

During the warmup, the low sample rate ECG may be reading lower, however, the ramp appears much closer:



 What about the HRVT portion (used to calculate the VT1 surrogate):

 

Bland Altman Difference plot


  • It does appear that the DFA a1 results are about 7 to 10% lower than that of the H10 in most ranges.  Remember that the H10 was already lower than the 512 Hz sample rate ECG at very low DFA a1 values, so this would translate to an even larger change between 512 and 125 Hz sample rates

Bottom line:

  • There may be bias related to lower sample rates, especially at 125 Hz.  
  • Sample rates do seem to matter in the HRVT calculation, however, there does not seem to be a huge real life difference in cycling power as a result.  Although the time was 25 seconds different between devices, at just a 5 watt per minute increment, that's only about 2-3 watts.

How can we explain lower DFA a1 values related to both low sample rates as well as waveform deformity?  

Not long ago, a colleague of mine presented a very clever study.  


 

The aim was to see what happened to various HRV indexes if there was loss of RR precision.  In other words, would the HRV index change if the R peaks were not precise.  That's going to happen in either low sample rate conditions or with waveform distortion (see older posts).  Their data showed downward bias in the DFA a1 during light exercise (intensity below VT1 with DFA a1 baseline about 1).  The bias was not as severe with a resting RR tracing.  I suspect that with DFA a1 values near .5, the bias would be even worse than noted.


What does this mean on a practical basis?  It appears that inaccurate assessment of the R peak by either ECG distortion/low sample rate or by a conventional chest belt can impact the precision of the DFA a1 measurement.  This is not something that can be necessarily corrected by software since it's essentially based upon the loss of information.  For example, a blurry photo can't be corrected by Photoshop (ask any good photographer).  DFA a1 is based on fractal correlation properties of the RR times series.  As in a detailed map of a coastline, loss of the map's dot to dot precision will change the fractal nature of that given coastline.  Since we are at the very beginning of really understanding the specific use case prerequisites in having one achieve a valid HRVT, further work needs to be done to address these issues.  One scenario is clear, use of optical based RR data should not be deemed trustworthy until proved otherwise.


Heart rate variability during dynamic exercise



Tuesday, November 3, 2020

DFA a1 and the aerobic threshold, video conference presentation

For those interested in cutting edge HRV research and development, an interesting Web based conference is set for 2 weeks from now.  Unfortunately, it will be mostly in German since the bulk of the speakers are from that country.  


 

However, my section will be in English and I am placing it below for direct view.  It is a presentation speaking about the use of DFA a1 for exercise intensity assessment and especially regarding zone 1 demarcation.  I'll be going over some practical methods to obtain the aerobic threshold (VT1, LT1) using heart rate variability and some of our current research interests. 


Enjoy

Heart rate variability during dynamic exercise

 

 

Friday, October 23, 2020

Movesense Medical ECG - improving the waveform and HRV accuracy

One of the troublesome issues involving the Movesense Medical ECG module has been waveform distortion.  For most arrhythmia identification purposes this probably has minimal impact, however with HRV matters it could be critical.  In particular, the fractal related DFA a1 should be affected by loss of RR peak precision.  The following waveform is what we want:

  
This is from a Biopac MP 36, high quality ECG with a sample rate of 1000 Hz.

Unfortunately, this is what we can get from the Movesense ECG:


There are many permutations of how the R peak sways side to side - which should create a timing issue for an index of fractal dynamics and self similarity (DFA a1).

Well, I finally figured it out and how to fix it!  I have tried about everything to tame the distortion and noticed that if I held my breath it looked ok.  On the other hand, during a deep inspiration, the wave looked like this:




Now we are getting somewhere.  So, some sort of muscular or thoracic motion is throwing off the signal.  What I did next was use the gel electrode kit.

 

Putting the electrodes high on the lateral upper chest gave me this beautiful waveform (at 250 Hz sample rate):

This is almost identical to the Biopac ECG signal above.  In addition, during an hour session of cycling, the signal remained this way - no distortion, sway or broadening.

Next step was to compare the Movesense to the commonly used Polar H10.  I'm not implying that the Polar is a gold standard device, but it's the only other HRM I have (that I trust).   

A standard cycling ramp was done - 5 watts/min, 20 minutes, 130 to 230 watts.  The session also involved a 3 minute max, 1 minute max and zone 1 intensity (2 hour total).  To verify proper synchronization of time points, here is a Bland Altman analysis of heart rate.  For those not familiar with the Bland Altman, it's simply the difference between methods on the Y axis vs the average between the methods on the X axis.  The closer to zero the mean line (thick blue) is, the better.  The average artifact for the Polar was between 1 and 6% depending on intensity.  Artifact in the Movesense was near zero for the ramp, but picked up for the sprints to about 5%.


  • What we see here is throughout the entire ramp, the heart rate pairs deviated from each other by an average of near zero (including 170 bpm).

The ramp:

  • The Movesense medical and H10 tracked very closely over time.  The Polar H7 seems to have under read the DFA a1 somewhat.  This was reflected in the Bland Altman plot between paired values over time:


  • The Polar mean difference was about 5% below the Movesense through the range of DFA a1.  The scatter (standard deviations - dashed blue lines) did widen at low DFA a1 (high intensity) and trended downward, signifying the potential for the H7 to read lower than the Movesense.

This was not a formal validation study, but you can get a sense that the numbers are close. 

Now that we have a solid waveform, a conjecture on why deep breathing (also seen at high intensity) will distort the waveform.  The diaphragm is a large muscle in the right location to interfere with a chest belt form factor ECG.  Some athletes may have more diaphragmatic mass, especially if the muscle is trained on a regular basis.  As per an old post, I have been doing regular diaphragm training for many months.  My suspicion is that this is the culprit in waveform distortion, hence, it should affect only a subset of users.  The fix is to shift the ECG sensors higher on the chest.

Chest belt worn high:

Here is an example of a waveform when the chest belt is worn high.  I did need to stabilize the belt with a piece of tape.  This is with a 250 sample rate:


With the resulting wave:



Summary:

  • The Movesense ECG is capable of near gold standard R waveform morphology.  If one is plagued by waveform distortion, moving the sensor higher on the chest as shown in the above example should eliminate diaphragm related effects.  
  • To confirm diaphragm activity related effects, simply observe the waveform during deep breathing and brief breath holding.  
DFA a1 - running ramp and sample rate observations with the Movesense ECG 

Friday, October 9, 2020

Movesense Medical ECG V2.0 Firmware brief review

New firmware was just released today for the Movesense ECG module.  I thought it would be interesting to take a quick look at any potential changes or improvements.  One of the vexing issues I've encountered is the non uniform R wave peak seen at high zoom resolution.  I was most curious about this as well as the impact of the firmware on HRV precision (particularly DFA a1).  One of the easiest ways to compare the DFA a1 during exercise is to simply do an incremental ramp and plot the values over time.  We will take a look at that as well as the waveform in this post.

Although upgrading the firmware was not difficult, caution is recommended.  The bootloader needs to be updated as well, which opens the possibility of not being able to go back to the old firmware or even bricking the device (or in this case "coining", since it's the size of a coin).  Unfortunately, after the flash, the module was "dead", no LED light present and not seen by my phone.  After a battery pull, I was able to get it into bootloader mode and flashed it again - and it was successful.  Bottom line - be careful.

The android app is the same as previous with a max sample rate of 512 Hz.  I chose 500 Hz and had no issues with my Samsung S20.  Although I could not get the app to split screen or be present as a popup (force closes), it did stay active in the background with no issues even with screen off.

The ramp:

After a 20 minute easy warmup, here is the 20 minute ramp, 5 watts per minute for a total of 100 watts (130 to 230 watts over 20 min).

Here is the ramp in Kubios (auto correction mode) 

The nice linear decline in DFA a1 is in yellow.  Notice the "hump" in the middle of the ramp, that is due to the lone APC (with some aberrant conduction) noted in the top ECG tracing (green).

Let's compare to the Polar H10:


The yellow linear decline in DFA a1 is there as well, but the artifacts are high, between 2 to 6%.  The "hump" is not there, but could be lost among the artifact effects.

Comparison between the H10 and Medical Module:

This is difficult to easily do with confidence.  Alignment is always a concern, therefore a demonstration of how heart rate comparison is done - they should be matched at each time point.  The following is a plot of the heart rate of each device at every time point (ramp plus warm up):


  • The R correlation is very high and the slope of the line is 1.0 both indicating excellent agreement.

How does the DFA a1 look:


The "hump" is circled (that is related to the one aberrant ECG beat) and I would ignore that discrepancy.  However, it does seem that the Medical module was higher throughout the ramp, especially in the early portions.  Toward the end, things get a lot closer together.  At that time in the session, the H10 is subject to higher artifacts.  This does not mean the medical module is less precise in obtaining DFA a1 readings, for all we know, the H10 may be at fault.  Indeed, the DFA a1 response with an H10 has not been well studied during high intensity exercise.

The heart rate variability threshold - (otherwise known as the heart rate at DFA a1 = .75):

As previously described in some older posts, here is the derived heart rate at which DFA a1 equals .75.  It is quite possible this is closely related the first ventilatory threshold.

Heart rate vs DFA a1:

Polar H10:



Movesense Medical module:


  • Both have less than perfect plots up close (despite looking good in Kubios).  The reason is that this is a plot of heart rate vs DFA a1, not time vs DFA a1.  In most cases the curves match up very well, but there are exceptions
  • The Polar H10 reads about 8 bpm lower than the ECG module, not surprising given the under reading of DFA a1 throughout the test.
DFA a1 over time:

If we look at the DFA a1 drop over time, things look at lot better.  In this case one does a plot over time, figure the time at which DFA a1 = .75, then use the 5 watt per minute rise in power (starting at 130w) to calculate the DFA a1  = .75 crossover.

Polar H10:


Movesense Medical module:


It certainly appears that the Polar H10 is reading the DFA a1 decline with intensity differently than the Movesense Medical.  Only comparison to a high quality reference device will be able to fully resolve this.  In the past, the wattage at which DFA a1 = .75 has been between 170 to 190 watts, depending on conditioning, heat, stress and device.

Waveform morphology:

In the past, the ECG waveform was prone to distortion with the Movesense module.  Here are a few examples:



If the fractal related DFA a1 index is to be accurate, very precise pattern matching is optimal.  The above examples should logically have some kind of effect on the self similarity index.

Here are some waveform examples from today (all the same scale as above):



Although there is a mild degree of asymmetry, it appears better than previous.  I need to ask the development team if any changes were made in the firmware to cause this, or was this just a good day.

An interesting observation in waveform shape is the following.  I recorded a session using my wife riding the indoor bike trainer with the Medical module several weeks ago (old firmware).  The waveform was perfect (with only a 250 Hz sample rate):


It makes one wonder if changes in chest muscular activity or dimensional differences could be factors as well.  I'm considerably larger with more chest muscle present - items that need to be accounted for in the signal filtering software.

Maximum effort quality:

This is an extract from a 30 second, all out Wingate test done today:

  • The top panel is the ECG tracing, bottom is the heart rate.  Max heart rate was 171 bpm (green line).
  • Note the excellent quality of the ECG, minimal noise despite substantial usage of the upper body for stabilization on the bike.  This would come in handy for arrhythmia. identification

Summary:

  • The new firmware for the Movesense medical module was successfully flashed - but do so cautiously.
  • Waveform symmetry appears better.
  • Measurement of the fractal based HRV index, DFA a1 seems to be read a bit higher with the Movesense than the Polar H10.  Which one is correct will need better study and testing.  However, do not assume equivalence device to device.
  • As previously noted, Movesense artifact rejection is impressive.  Even at maximal intensity, the ECG is readable.  The Polar H10 had artifact rates in the 5 to 6% range during that time.