measuring changes in time between heart rate (ie 60bpm doesn’t mean 1 beat every second, it could be 0.9, 1.2, 1.1,…) (RR interval — not respiratory rate — Time between consecutive heartbeats (R waves) )

measure of autonomic nervous system which tells ie stress levels, body’s capacity for recovery, overall health/resilience

High HRV - flexible & adapting well Low HRV - signs of stress, fatigue, dehydration, illness - “take care of yourself” flag

How to calculate?

  • High-res RR intervals from PPG

How do we represent HRV? rMSSD

  • Root Mean Square of Successive Differences (RMSSD): This measure calculates the square root of the mean of the squares of the successive differences between adjacent NNs. RMSSD is a good indicator of short-term components of HRV and is particularly sensitive to changes in parasympathetic nervous system activity. (src)
    • NN is “normal to normal” heart beats (filter for irregular)

collect RR intervals find differences from the RR interval right before it square differences average them take square root measured in milliseconds (ms)

for long term trends:

  • measure during deep sleep or in the morning before anything short term (stress tracking, etc): *flag - not sure on power consumption
  • look for clean windows to measure - low movement, stable HR, PPG signal quality
    • if conditions are not met, do not measure
  • measure 30-60s
  • stress detection - if previous windows within past 2 hours suggest higher stress then do smth
    • limit stress detection to once per few hours

Need: continuous HR data for period of measurement