Thursday, June 24, 2021

Another look at indoor exercise without a fan

Recently I updated my post on the effects of skin temperature elevation on DFA a1 related thresholds.  Since then, several threshold tests have come my way from athletes who did not use a fan while testing indoors and consequently will have results that won't apply to normal conditions outside.  Today, during some unrelated literature review, I came across a study done almost 20 years ago that is very appropriate and informative to this discussion.  


The authors of this study wanted to see what happened to heart rate (HR), lactate and VO2 during a 30 minute cycling session at an intensity near the MLSS - either with and without a cooling fan.

An initial VO2max ramp test was done (with a cooling fan) - then 2 sessions at "MLSS" power - one with and one without a fan.  

Ambient temps:

"All subjects performed three exercise tests in an air conditioned laboratory (19 C = 66 F), each separated by 1 week"

MLSS tests:

Tests 2 and 3 were 30-min constant-power tests. After
the warm-up the power output was progressively increased
by two equal 5-min steps until the power output
corresponding to the 4-mmol lactate threshold,
determined from the prior graded exercise test, was
reached. This power output was assumed to correspond
to a quasi-maximum lactate steady state intensity (Heck
et al. 1985) and was to be maintained for 30 min or until
exhaustion, whichever occurred first.

Note - the 4 mmol lactate figure is felt to correlate with performance as does MLSS, but is not the current way to test for the MLSS.

Fan protocol:

During the preliminary graded
exercise test and during one constant-power test two
(40 cm in diameter) were placed in front of the
cyclist to generate laminar airflow around the subject’s
body at an air velocity of 3 m s/1. One fan was set to
ventilate the lower body, whilst the other fan was adjusted
to target the upper body. Thus, one of the constant-
power tests was performed in the presence (AV) of
air ventilation, whereas air ventilation was absent
(NAV) in the other test.

Temperature measurement method:

Furthermore, tympanic
temperature was measured (Braun, IRT 3520, Kronberg,
Germany) twice in each ear before the warming up
and at exhaustion, as well as at 10-min intervals during
the constant-load test. The mean of the four measurements
was recorded as body temperature.

Note - older technology and does not segregate skin vs core temp


The red refers to p<.05 on t testing Fan vs No Fan
Interesting points:

Not everyone was able to finish the 30 min test.  This is most likely due to the erroneous calculation of "MLSS" based on fixed lactate.  However if we look at the numbers, fewer in the "no fan" finished than the "fan".  

  • Exercise time was 25.1 min in AV (Fan) versus 17.1 min in NAV (No Fan) (P<0.05).
  • Seven of the 14 subjects
    were able to complete the full 30-min constant-power
    trial in AV
    . In NAV significantly more subjects (n=12)
    stopped the test due to premature exhaustion (P<0.05).
  • Note - only 2 were able to finish without using a fan!

VO2/Lactate did not differ between Fan vs No Fan:

  • There were no significant differences between AV and
    NAV for blood lactate concentration and VO2 either at
    minute 10 or at the end of the trial.

This is important!  It tells us that factors other than VO2 or lactate were preventing these athletes from finishing.

And that factor appears to be Temperature (core vs skin is unclear from this assessment):
  •  Compared with AV, body temperature was 0.5 C (range: 0.5 to +1.8C) higher in NAV (No Fan) (P<0.05).

Observations about HR

  • Peak HR was the same and VO2 did not differ between groups.
  • HR during the MLSS test rose more rapidly in the No Fan group (with similar VO2) - leading one to conclude that stroke volume was reduced (since cardiac output, as inferred by VO2, was the same).  This is the same behavior I described previously.
  • The elapsed time of the first 10 minute measurement precludes any dehydration effect.  Not enough time for that to happen.
  • Given what we know about cardiac drift in the heat, HR and stroke volume - the results are consistent with a primary, autonomic driven HR rise and subsequent exercise limitation from central fatigue.  

Observations with CORE temp monitor

Over the past few weeks I've used the Core temp monitor to observe skin and core body temps.  I've already presented what happens without a fan in the skin temp post, but wanted to share some additional data points.  Here are some side by side comparisons of skin and core temps, cycling in the Florida summer heat vs indoors (with AC) with a fan:

  • Both Core and Skin temps are similar, as long as the fan is on.  There is a definite rise in skin temp, without the initial use of a fan.  I usually do not turn the fan on indoors until about 10 minutes into riding (the room is cool enough up to that point) - and we see how the temp was climbing higher than outdoors at that point.


Take home points:

  • Do not expect DFA a1 HRVT results obtained from indoor exercise ramps performed without fan cooling to reflect behavior of DFA a1 seen outside, on the road.  The tests in the above study were done in a very cool room (66F), much cooler than the average home (except in winter).  The fans made all the difference!
  • Physiologic measures seen during "no fan exercise" such as lactate or VO2 might be useful for non HR threshold metrics (speed/power) but can be misleading when it comes to HR/HRV.  Both VO2 and lactate during the time trial were the same with and without a fan - yet time until exhaustion and test completion were markedly reduced.
  • Since many athletes rely on HR for training zone threshold identification, extension of results from "no fan" ramp testing could lead to misleading targets.
  • The autonomic system is sensitive to subtle changes in skin temp.  This should be considered in DFA a1 observation.

Monday, June 7, 2021

FatMaxxer - a new app for real time DFA a1

Updated 6/10/21 and 6/20/21, 7/4/21, 1/10/22

See also - ECG strip display with Fatmaxxer

Pitfalls in DFA a1 - Polar belt position  

The last year has seen much change in the field of dynamic HRV during exercise for aerobic threshold determination and intensity regulation.  Between published studies exploring the theory, validation and use in varying populations, the importance of monitoring DFA a1 in real time appears to be of value.  Up to this point we have had one app to do so, HRV logger by Marco Altini.  This was constructed as an add on to an already mature iOS app and was not designed specifically to track a1 during "on road" exercise.  However, another developer has released an Android app called FatMaxxer that was specifically created to calculate DFA a1 every "x" seconds (with 2 min windows) and display this along with HR.  You must use a Polar H10 and android device (no iOS).  The artifact correction method is similar to the HRV logger with either workout mode (5%), a 25% threshold method or an auto mode that adjusts for heart rate.

Download the "app-debug.apk" from the link

Settings recommendations:

  • Artifact threshold of 5% during exercise (25% at rest) - the reason being that both  choices will correct missed beats but only the 5% will correct the dreaded APC (premature beat) which is not uncommon during exertion. 
  • There is now an auto mode feature that I would recommend - it adjusts the 5 or 25% according to HR which makes life much easier (no need to reset the limits for rest or exercise)  


  • Recalculation window of 5 to 20 seconds.  The above examples were done with a 5s recalculation on a Samsung S21.  For older phones, 10-20s should be fine.
  • For runners the sound function is ideal.  The app will voice notify over wired or wireless headphones with your HR and a1 - perfect for running, skiing and when you can't look at your phone. 
  • Although no Garmin data field for now - my recommendation is use the voice alerts as a workaround.
  • Notification on so your OS does not force close the app.
  • Screen on if cycling.
  • Except for audio setting, you will need a restart for settings to change  
  • The app now has an auto bluetooth pairing function.  Choose the menu item "search for Polar devices".  Your last or preferred device will also show on the menu.
  • Menu - Rename current logs - if you want to save the .csv with DFA a1/HR or RR file, this is very useful - you can custom name the session before, or during before quitting the app.
  • Menu - Export - you can export the logs (RR or "features" which contains the DFA a1 and HR details.  Having the custom name makes this much easier, since the time coding name can be confusing, especially with many logs.
  • Menu - Delete all logs - after weeks or months, you can delete the logs you don't need. 
  • At the bottom of the settings there is developer mode.  If this is on, the app will not begin recording data on start (until you purposefully connect to the HRM).  This is useful if you want to "replay" an old session.  
  • Replay RR log - a very cool function that imports previous sessions RR data back in redoing the graphs.  You will get a dialog box asking which file to import.  
  • Signal voltage - circled in red - see the end of post for details

Here is a replay of a previously done session:


  • Green = DFA a1 (Purple is the old detending method - see below)
  • Red = HR
  • Yellow = .75 DFA a1 threshold

The axis on the left represents HR and DFA x 100 (so a .75 is 75 on the scale).  The right axis is the Artifact in percent.  The digital display contains artifacts (2 of 280 beats), elapsed time, HR and a nice big DFA a1 in the middle.  RMSSD is also in the digital display.  Files are saved as both RR intervals and timestamped DFA a1, HR, artifacts.

Since we are basing training thresholds on the value of DFA a1, precision is of utmost importance.  Other HRV indexes (SD1, SDNN) rely on looking for a nadir during an exercise ramp for AeT determination.  With a1, we use a value - that's both a blessing and a curse.  The blessing is that we don't need a ramp to failure and could probably estimate from a mixed exercise session.  The curse of course is that we are relying on accuracy of the HRM in getting the RR timing correct and the computation methods of the software.  The process of obtaining the a1 is complex.  The HRV software needs to first "detrend" the data.  This has nothing to do with "detrended fluctuation analysis", AKA "DFA".  The detrending of RR data is done to remove "stationaries".  These are slow changes in beat pattern from other causes.  If they are not removed properly, the DFA a1 will appear more "ordered" than it should be and a bias upward will be seen at very low values (for example a true a1 of .4 may appear as a .6 or higher).  This has been the bugaboo of some of the other software approaches including the initial python related packages.  For instance, Runalyze was somewhat inaccurate before they enhanced their approach to using the "smoothness priors" approach of Kubios.  HRV logger does not use the "smoothness priors" of Kubios fame method either.  The issue is worse for recordings with more stationaries of course - so YMMV.  We saw very good accuracy with HRV logger in the Frontiers study, but in my personal use, it is not there.  After a fair amount of work, Fatmaxxer has been significantly upgraded to use the Kubios method of "smoothness priors".  Despite the calculation load, the speed is not affected even with a re-computation of every 5 seconds.
Lets now take a look at the difference in methods including effects of "detrending".
This was an attempt on my part to see how a1 tracked 15w below then above MLSS:
Comparison of detrending versions:
Old method:

 New method:

Later on that session, an interval just below the AeT (fatigued)
Old method:

New method:

The a1 value matching is far superior with the new detrending method!

I also ran a Bland Altman analysis of the 2 hour session.  There were artifacts and the time matching may be a few seconds off but this gives us a general idea on "agreement".  The graph shows the relative difference at each pair matching.  As an example, let's say at 60 minutes the Kubios value of a1 was .50, if the matching Fatmaxxer value was 20% higher, it would have been .60 - a large difference.

Old version:
New version:
  • Bottom line - old version was 17% higher on average, new version was 4% higher.

Another example
Here is a ramp done from awhile back during the "heat" tests.  
Just showing the new version of detrending:
  • Excellent agreement again.

A final example - a 110% VO2 max power interval outdoors in the heat:
Old method:

New method:

With the Bland Altman graph of the entire 3 hour session:

  • The mean difference was only 2%.
  • Interval segment matching was superb.
Another interesting look at the detrending difference of the original version (purple) vs the new one (green) with an import of an old RR series

  •  The difference becomes more obvious as the a1 drops (and HR rises).
Another cross comparison - Runalyze vs Fatmaxxer vs Kubios
This was a 30 minute constant power cycle at my AeT power (according to lactate and HRVT)

  • Superb visual agreement between all methods.
  • Fatmaxxer may be a bit closer to Kubios (but this is just one observation)
Here was a "rest day" session of 90 minutes done at 50w below my HRVT power.  As noted toward the second half, there were some dips in the a1.  Using the detailed real time display of Fatmaxxer, I was able to reduce power further to keep the a1 up.  Why is this important?  We have evidence that DFA a1 can be a marker of fatigue - and since this was a rest day, avoiding further fatiguing exercise is important. 

A quick word about the concept of "fatmax" and the aerobic threshold (a full post will be done soon).  This is a concept describing the exercise intensity where the greatest absolute (not relative) amount of fat is being oxidized (burned).  As seen by the diagram below, fat is the predominate fuel at low intensity and decreases as it work load rises.  

However, since total calorie burn is increasing at higher intensity, the absolute amount of fat used increases even though the relative portion drops - up to a point.  That point is the Fatmax.  There is also a Fatmin - the counter point - the least fat burned (in grams).
A recent look at the relationship between Fatmax and the AeT indeed shows that they are well related:

 Interestingly, the Fatmin (or Carbmax!) occurs at the AnT/MLSS/RCP
A couple of comments on these curves:
There was not perfect correlation between Fatmax and the AeT - it's very good, but some may have their Fatmax at intensities other than the AeT (usually below).
Exercise at the MLSS/AnT will consume very large amounts of carbs and oxidize relatively small amounts of fat. 
It would appear that long bouts of intensity at below the AeT would be the optimal strategy for fat burning - long sessions are possible from the training intensity distribution standpoint and fat burn is both relatively and absolutely high.  Although you may get a bit better burn at the AeT, it may impact your training distribution and cause excess fatigue.


  • We have a new choice for real time a1 monitoring that has several major advantages over the HRV Logger.  In fairness the HRV logger was not designed for this use case in mind.
  • Fatmaxxer will recalculate every 5 or more seconds, display both HR, a1 and artifact, along with a moving graph.  This is close to a pocket version of Kubios premium for a smartphone (for a1).
  • Adjustable artifact thresholds.
  • Audio alerts with your a1 and HR are options which may appeal to runners.
  • Accuracy is now nearly indistinguishable from Kubios. This is an impressive accomplishment in a relatively short time.
  • The caveats of artifact limitation (don't trust above 5%) apply.
  • Yes, maximal fat burning occurs near the AeT.  Max carb burning at the AnT.
Part two - ECG strip display with Fatmaxxer

Addendum 1/2022:

The developer of Fatmaxxer has graciously added a feature to help us decide on optimum signal strength without the need to graph out the ECG.  The peak R voltage is now displayed (see below in red circle) beat to beat.  This is accurate as long as noise is not present.  My recommendation would be to try various belt positions at rest, wait several seconds for the signal to stabilize, then note the voltage.  If you are seeing artifacts detected, that could be a sign of more noise or signal distortion (so wait for no artifacts).  

Find the best voltage and then monitor it as you exercise.  It should not change very much.  If you are interested, a visual approach is still the best IMO, but this gives us a quick, accurate option.  

What are good voltages?

In my experience try to aim for above 1000 uV.  If you are seeing <500, chances are that the HRV and even HR may not be captured properly.




Heart rate variability during dynamic exercise