Friday, September 30, 2022

Respiratory rate, lactate and intensity distribution

The last post discussed the potential to accurately monitor respiratory rate via either ECG or HRV.  Yes, this is a nice observation, but what practical benefit can this be used for?  After all, it may be of some interest to know a given respiratory frequency number with some accuracy, but if there are not any practical uses, why bother?  

In our introduction we do go over some use case scenarios including threshold determination and training load quantification.  Discussion of thresholds may be done in the future, but in this post I would like to review the very intriguing linkage of blood lactate, respiratory rate and the usage of resp rate to better assess training load.  For a general discussion of respiratory rate and exercise see this excellent review by Nicolo and colleagues.  

Use of respiratory rate to help quantify training load.

As I'm sure you are aware, the science behind how to measure/assess/quantify the degree of "load" induced by a given session of exercise is still a work in progress.  Although it's perhaps a topic for another day, one way at approaching the problem is to see just how much of a "performance decline" occurs after a given session.  For instance would one see much of a performance decline from a long session of low effort, or a short session of very high intensity?  In addition, when we measure the initial session, what do we quantify? joules, avg power, HR, VO2 etc?

Taken from the excellent review by Passfield et al, we see the effects of various exercise times and intensities on APD (acute performance decrease) plotted against the various common metrics used for assessment of load. On a simplistic basis, slide "A" is total work done (TWD) and we see that the more work that is performed, the higher the APD - but it depended on session time and intensity (not just total work) - and this was present for TRIMP and HR.  By the way, the APD was defined as the time to failure of during a cycling interval at 80% of peak power - not something that's going to fit into a training schedule on a regular basis.


From the caption - Data replotted from Fullerton et al showing correlation for session TWD (A), TRIMPs (B), session HR (C), VE (D), RPE (E), and fR (F) versus APD measured as time to task failure. Filled circles are for 30-minute sessions at different intensities; open circles are for sessions of 15, 30, and 45 minutes at maximum lactate steady state.

It is important to see that only resp rate and RPE had overlapping plots for both 30 minute constant power intervals and MLSS 15 to 45 minute intervals.  I circled the resp rate relationship in red - as expected very high resp rates were associated with large amounts of APD.

From the conclusion:

These findings are consistent with the suggestion that effort is a key determinant of APD and supports the potential for respiratory monitoring as an objective marker of this.


Next - The resp rate vs lactate connection and what happens post HIT intervals

The fact that both resp rate and minute ventilation (Ve - resp rate x tidal volume) rise with effort/intensity is certainly a well known fact.  As part of this basic science concept is that the  tidal volume rises before the breathing rate takes off:

From Plowman and Smith textbook:

And more recently:

  • Therefore, once out of the low intensity range, frequency becomes the main determinant of Ve and the shape of the rise is similar to that of lactate.

From the general review by Nicolo:

"fR plays an important role during exercise as a strong marker of physical effort, more so than other traditionally monitored physiological variables. The non-linear increase of fR during incremental exercise parallels the well-known time course of blood lactate (La), resembling the change in physical effort and task difficulty experienced at exercise intensities above the first ventilatory threshold."

I did explore the references given to support this, but to my eye they were a bit obscure. After some more searching, I did come up with a very interesting piece of supporting evidence for lactate linkage (which was not available when the Nicolo review was written) derived with a mathematical modeling approach. 

  • According to the modeling calculations, during the low and moderate intensity sessions, resp rate had the highest correlation to lactate (of the tested variables that could change during the exercise).  
  • Although resting HR was an important variable, it is obviously a fixed number per individual and would represent a constant variable for time related calculations.
Their conclusion: 

  • Bottom line - this research indicates that resp rate is very much correlated to blood lactate, but mostly in a low to moderate intensity range.   


Now that we have a general idea about relative lactate levels during a given endurance session, how can we use to information for training purposes? 

Let's revisit the literature as to how best proportion training intensity.  We have polarized, threshold or pyramidal models that dictate how much time we should spend in each intensity zone in training.  Hence, making sure one is performing a polarized session properly, precise "intensity" measurement of the time spent per zone is needed.  For example, if I do 3 minutes of all out HIT with the remainder of the 97 minutes of a 100 minute session well into zone 1, is this really a 97:1 polarized ratio?  For some high end athletes, the cessation of a HIT interval may well signal the end of the training challenge, but in others it may not be so simple.  A very interesting article came out recently modeling lactate decay after a 3 min max interval:

Essentially, we see that lactate can hang around for quite some time after an interval depending on how high it rose and the post HIT exercise intensity.  Since it appears that resp rate is related to lactate (especially in the moderate intensity range), it would be interesting to follow that metric after the HIT, even when you think your are back in zone 1 recovering.  The concern here is that if I did do that 3 minutes of HIT, the zone 1 power afterward really should not be counted as zone 1, considering the lactate decay curve.  Since lactate and resp rate appear to be correlated, perhaps monitoring resp rate can help us to follow lactate decay and "internal" metabolic load.

About 2 years ago I shared a session of very polarized training with measurements of power, HR, lactate and DFA a1.  Although I presented the decline of a1 after the HIT as a marker of fatigue and/or lactate elevation, reprocessing of the raw ECG data shows some very interesting resp rate data.

This session consisted of 2 hour indoor cycling with an easy 30 min warmup (155w), about 30 minutes near the AeT power (200w), 2 intervals, a 3 min max (360w), a 1 min max (500w) but the remainder at a constant easy zone 1 intensity (155w):

How did this look regarding resp rate?

  • Red - HR
  • Black Resp rate 

 The lactate (La) vs resp rate for the measured La values (10 min resp rate average)


  • HR at 155 watts during the warm up (124 bpm) was not much different than the HR at 155 watts at the end of the session post HIT (130 bpm) (blue arrow) especially considering the effects of HR drift.  This points to the issue of using HR as the sole determinant of "load".
  • The resp rate did not change much between 155 and 200 watts (black line) but neither did La.  This is in accordance with the relationship of resp rate and lactate.
  • There was a substantial, post HIT rise in resp rate even at warm up power intensity.  This is in line with my thoughts of underestimating the training intensity distribution based on power alone.
  • There was a discordance between resp rate at end of session and the original warmup values. This is illustrative of resp rate correlating with La as both were high well after HIT at a relatively low cycling power.
  • The regression plot of La vs resp rate agrees with these observations - as La changed over the course of the exercise session (up or down), there was a good correlation with resp rate.
  • Yes, DFA a1 also dropped end of session - either as a consequence of high internal load or as a fatigue effect.  The higher resp rate (with La) points to the internal load as part of the reason.  
  • Looking at both DFA a1 and resp rate may help differentiate A) autonomic suppression from internal load (lactate) vs B) fatigue.
My point here is that even though external load markers (power) were well into the zone 1 range, internal metabolic load markers (lactate, resp rate and even DFA a1) were running above this zone and should be "counted" as such in a training distribution model.


Another days stats:

Here is another pre/post 3 minute HIT, HR and resp rate comparison.  There was a mini warmup ramp to confirm decent recovery/readiness, a 3 min max interval, followed by easy zone 1 (165w), resting, slow walk then resuming cycling at easy zone 1.  The aim was to show that resp rate stayed high post HIT then recovered post rest, but HR would be less helpful for zone distribution in each case.

The DFA a1 HRVT was at 137 bpm and about 200w - readiness was good... (thanks to Runalyze for the graphs): 

The HR and resp rate:

Blue - HR   Green - resp rate

  • HR is about the same post HIT and post rest/walk at the same cycling power and in the zone 1 range (per DFA a1 testing and prior gas exch/lactate).  HR was back in the zone 1 range quickly after HIT - Blue arrows.
  • Resp rate stays high after HIT (no lactate was done unfortunately) but returns to warmup levels after the rest.  Green line and circled areas.
  • Another example of a post HIT interval being counted as zone 2 for training distribution purposes based on resp rate (but not HR)

Some further thoughts:

According to both La and resp rate, I spent much more of my time in zone 2 than anticipated.  In fact, many times I will do a 3 minute max interval on the road and follow it with another 10 minutes of zone 2, which in retrospect is probably zone 3 - if I would have measured lactate which I can't do in the field (I've tried).  Of course, YMMV - my La clearance is probably sub par compared to the talented athletes out there.  But, since we are all of different abilities, it makes sense to not fool oneself by training with excessive loads.  Conversely, those out there with prompt La normalization (and resp rate) can compensate accordingly.  Which brings up the second point.

My Garmin watch is always notifying me about a "high aerobic shortage".  I'm assuming this means that I don't spend enough time in zone 2. After looking at this data, they probably are not estimating the zones properly.  On the other hand, if Garmin had an accurate resp rate computation and considered the implications of persistent elevation post HIT, they do have the potential to better assess this situation.


  • The shapes of the lactate and respiratory rate rise during an exercise ramp are similar.
  • Respiratory rate is well correlated to lactate levels during low/moderate intensity in modeling studies.
  • Lactate can remain quite high post HIT.
  • The time course of respiratory rate elevation post HIT may be a way to track lactate decay.  Individualized degrees of La and resp rate elevation/decline may disagree with simple power based intensity distribution calculations.
  • Prior session Resp rate (and RPE) are related to the concept of APD (performance decrease) and should be useful in quantifying training load.
  • Conjecture - Consideration of multiple metrics including resp rate (+ power, HR and DFA a1) are all potentially useful for individualized training intensity distribution purposes.

Respiratory Rate metrics, ECG vs HRV, Kubios vs Garmin 

Firstbeat VO2 estimation - valid or voodoo? 

First and second Lactate thresholds, why the confusion, how to measure? 


Wednesday, September 21, 2022

Respiratory Rate metrics, ECG vs HRV, Kubios vs Garmin

Have you ever wondered how accurate those respiratory/breathing rate metrics are (from smart watches, HRV or even ECG)?  Earlier in the year, Kubios HRV added respiratory rate estimation to their already excellent software package.  This post explores it's accuracy, our recent publication and some personal thoughts on Garmin resp rate quality.


We recently published an interesting look at just how well the new Kubios respiratory rate estimation method tracks to the gold standard of gas exchange.  In our study, two different heart rate based methods were compared in a series of volunteers to breath by breath rates via gas exchange during an exercise ramp - the two estimation methods being:

  • A) respiratory sinus arrhythmia via RR interval changes or 
  • B) ECG morphology analysis

The Polar H10 was used for RR recordings and the Movesense ECG for a single channel ECG tracing.  Please read the introduction here for background on how heart rate variability and/or ECG waveform alterations are used to estimate the respiratory rate.  The intro and discussion also provide real world examples of what can be done with resp rate in exercise training and intensity management.  Although the article is pretty self explanatory, I wanted to share some further thoughts and personal observations.  As an aside, I looked at Garmin respiratory rate results several years ago, and they were not good.  

The main purpose of this post is to look at some personal data comparing the calculated respiratory rate from the following devices/software:

  1. The Hexoskin vest as the "gold standard" with their proprietary software 
  2. Polar H10 RR data output (1000 Hz) processed with Kubios HRV
  3. Polar H10 RR data output to a Garmin Epix 2, processed by Garmin connect
  4. Polar H10 ECG (130 Hz) processed with Kubios HRV
  5. Movesense Medical ECG (200 Hz) processed with Kubios HRV

We also have: 

  1. 2 RR comparisons to make (Kubios vs Garmin/Firstbeat) 
  2. 2 ECG comparisons (Movesense vs H10) 
  3. 3 method comparisons (Kubios ECG vs Kubios RR vs Garmin RR)

No official stats will be done but I think by the end of this post you should have a feel for what works best and worst.

Kubios Premium was used with a 30 second window and recalculation every 1 second (same as in our article).  Artifacts were below 1%.

The Hexoskin vest has sensors to detect chest and abdominal wall expansion, which of course change with the respiratory cycle.  A smartphone app shows sensor output which is very useful before doing the ramp to make sure all is functioning well (chest and abdominal sensors respectively below):

On the ECG side of things, here is a short video from the Polar logger app for android.  Pay careful note of the voltage fluctuation over time (R wave strength) which is used for resp rate calculation in Kubios:

Testing - The initial testing consisted of a brief warmup then a cycling ramp to failure (Zwift, Elite trainer, Assioma duo pedals and the above gear), followed by almost 90 minutes of zone 1 riding.  The heart rate response was quite linear showing a nice VO2 progression (graph via AIEndurance):

To make sure I lined up the data correctly, lets look at the HRs for each device:

Looks great!

Respiratory rate comparisons:

Warmup and Ramp only 

 Zoomed ramp only:

  • Relatively good tracking to the Hexoskin (black) during the ramp itself using all methods - except the Garmin (green)
  • Some issues with the H10 ECG (yellow), H10 RR (blue) (both interpreted via Kubios) just before the ramp.
  • All HRV/ECG devices had trouble with peak rates (also seen in our study) but perhaps the Polar H10 ECG was slightly better here.
  • The Movesense Medical ECG appears to track well, without any bumps up or down.

Post ramp 90 minutes

  • Still decent tracking with all non Garmin methods.
  • Some intermittent issues with H10 ECG (yellow).
  • Garmin consistently under reads (green).
  • The Movesense (red) still appears to match best to the Hexoskin (black)

Why did the H10 ECG have some occasional issues?  I looked at the ECG in detail using Kubios and there was nothing of note in the segments associated with the drops:

What I will comment on however is that the signal strength of the Movesense was about double that of the H10.   Since the Kubios software uses R wave strength as one of it's "clues" for resp rate, the lower H10 voltage could be a problem.

Summary for the ramp day:

  • Garmin respiratory rate did track somewhat during the ramp but was not very accurate otherwise.
  • The Movesense ECG results did mirror our findings in Sensors - it provided the most accurate estimation overall.  The H10 ECG did get the best maximum resp rate peak.
  • The H10 RR and H10 ECG when processed with Kubios did yield decent resp rate tracking, with some small areas of deviation.

Another day, same equipment. 

2 hours of cycling in zone 1 with a brief 45 second HIT interval in the middle.

As an aside, my DFA a1 was pretty suppressed from too many intense sessions over the past weeks. We see inappropriate suppression throughout the 2 hours.  I actually wanted to do more than 45 seconds at max power but just could physically just not do it.


Respiratory rate comparisons

  • We still see areas where the H10 ECG struggles (yellow) and the H10 RRs show a false resp rate drop (blue).
  • The Movesense (red) appears reasonably close to the Hexoskin (black) throughout.
  • The Garmin (green) is under reading for the majority of the time and is not very accurate.

Zoomed sections:

The 45 sec HIT

  • Both the ECGs (red is Movesense and yellow is H10) appear to track the HIT better than the RR (blue).
  • Garmin is still pitiful.
  • The H10 ECG did under-read after the HIT (yellow) - reason unclear, again.
  • The Movesense ECG is the clear winner here.


The warmup:

  • Similar to the previous observations, occasional glitching in the H10 ECG, H10 RR but generally solid Movesense ECG.
  • Garmin is not reliable!

The figure from our study (below) shows that under optimal circumstances HRV and ECG can provide near gas exchange accuracy (D).  However, some individuals will have unexplained deviations up or down using the RR/HRV approach (A, B, C). We did not see those dips with the Movesense in any individual:

Final thoughts (please read the discussion in the Sensors article here for more info):

  • The combination of the Movesense ECG, processed with Kubios premium software provides a reasonable reproduction of respiratory rate during an exercise ramp and variable intensity sessions.
  • However, both the Polar H10 ECG and RR data when processed through Kubios can usually match the Movesense (but not all the time).
  • Garmin needs to work on their methodology­čśü.  Although it did partially track on my ramp, I have done other ramps where it was way off.  The accuracy during warmups, HIT and zone 1-2 cycling was not good.  Bottom line - trusting the Garmin data is problematic, even with a good HR belt like the H10. This was both surprising and disappointing to me.  We know what is theoretically possible in resp rate estimation from the Kubios data, let's hope Garmin can reproduce this someday.  I will be keeping an eye on Garmin methodology and will update this post if/when they ever fix things.
  • We have seen what some developers have been able to do with reverse engineering Kubios DFA a1 for accurate real time tracking on a variety of platforms.  Can this be done for the H10/Movesense?  It would be a nice achievement.
  • Many thanks to my study co authors Thomas and Marsi for making the Sensors study possible.  It is no easy feat to perfectly synchronize gas exchange and two heart rate monitors to near 1 second accuracy.