Lesson 17 of 20 · Level 4: Analyst

The whole metric family

The HRV measures built straight from the NN series come in three groups: statistics of the intervals and their differences, measures read off the histogram, and the Poincaré plot. Each answers a different question about the same beats. This lesson works every one of them out on the teaching recording and ends with a table of units, minimum lengths and uses.

On this page 5 sections

Key takeaways

  • SDNN measures the total spread of the intervals; RMSSD, SDSD and pNN50 measure the jump from one beat to the next, which is mostly vagal.
  • SDANN and the SDNN index split a 24-hour recording into 5-minute pieces: one keeps the slow changes between pieces, the other the fast changes within them.
  • The triangular index and TINN read the histogram's shape, resist a few bad beats on a long recording, and need 20 minutes or more.
  • SD1 is RMSSD divided by the square root of two. SD2 follows from SDNN and SD1. The Poincaré plot adds a picture, not new information, for a short recording.
  • Short and 24-hour values of the same measure are different quantities. Compare like with like.
After this lesson you can
  • Compute SDNN, RMSSD, SDSD, NN50, pNN50 and pNN20 from a list of intervals and say which jump each one measures.
  • Explain SDANN, the SDNN index and the HRV triangular index, and why they need long recordings.
  • Read SD1 and SD2 off a Poincaré plot and relate them to RMSSD and SDNN.
  • Pick the right measure for a question, and the recording length it needs.

The HRV measures built straight from the NN series come in three groups: statistics of the intervals and their differences, measures read off the histogram, and the Poincaré plot Poincaré plot A scatter plot of each heartbeat interval against the one after it, in milliseconds on both axes. The shape of the cloud of dots shows short-term and overall variability at a glance. More about Poincaré plot . Each answers a different question about the same beats. This lesson works every one of them out on the teaching recording, five minutes of 341 intervals with a mean of 881 ms, and ends with a table of units, minimum lengths and uses.

Lesson 6 covered RMSSD RMSSD Root mean square of successive differences: an HRV metric built from how much each heartbeat interval differs from the next, in milliseconds. It mainly reflects vagal activity. More about RMSSD , SDNN SDNN The standard deviation of all NN intervals in a recording, in milliseconds. It measures overall variability, and its value depends strongly on how long the recording lasts. More about SDNN and lnRMSSD lnRMSSD The natural logarithm of RMSSD, with no unit. Taking the log evens out the spread of RMSSD values, which makes day-to-day changes easier to compare and analyse. More about lnRMSSD . They are here again, briefly, because the rest of the family is defined against them. Throughout, NN is the number of intervals, NNi\mathrm{NN}_i the ii-th interval in milliseconds, and Δi=NNi+1−NNi\Delta_i = \mathrm{NN}_{i+1} - \mathrm{NN}_i the jump from one interval to the next.

Group 1: statistics of the intervals

Mean NN and heart rate. The average interval, and 60,000 divided by it. The recording’s mean is 881 ms, or 68 beats a minute. Heart rate is not an HRV measure, but every HRV measure depends on it: a slower heart leaves more room for the intervals to vary (lesson 4).

SDNN, the standard deviation of the intervals, in ms:

SDNN=1N−1∑i=1N(NNi−NNmean)2\mathrm{SDNN} = \sqrt{\frac{1}{N-1}\sum_{i=1}^{N}\left(\mathrm{NN}_i-\mathrm{NN}_{\mathrm{mean}}\right)^2}

Subtract the mean from each interval, square, add up, divide by one less than the count, take the square root. It measures total spread, whatever its source: breathing, blood pressure waves, slow drifts, and anything else. The recording’s SDNN is 28.7 ms. Over 24 hours SDNN is the measure with the strongest evidence for cardiac risk, with cutoffs of 50 and 100 ms; over 5 minutes it carries no such meaning, because the slow components that drive the 24-hour value are missing (Shaffer and Ginsberg, 2017).

SDANN SDANN The standard deviation of the mean NN interval of each 5-minute segment of a 24-hour recording, in milliseconds. It measures the slow changes over a day and ignores everything faster. More about SDANN and the SDNN index SDNN index The mean of the SDNN of each 5-minute segment of a 24-hour recording, in milliseconds. It keeps the variability inside each segment and drops the slow drift between them. More about SDNN index exist only for long recordings. Cut a 24-hour series into 288 five-minute pieces. SDANN is the standard deviation of the 288 piece averages: it keeps the slow swings between pieces (sleep, meals, activity) and discards the fast changes inside each piece. The SDNN index is the average of the 288 within-piece SDNNs: it keeps the fast changes and discards the slow swings. Between them they separate the slow and the fast parts of SDNN. Both are Task Force (1996) measures, and the Kubios guide defines them the same way.

SDANN=SD ⁣(NNmean,(1),…,NNmean,(288)),SDNN index=1288∑k=1288SDNN(k)\mathrm{SDANN} = \mathrm{SD}\!\left(\mathrm{NN}_{\mathrm{mean},(1)}, \ldots, \mathrm{NN}_{\mathrm{mean},(288)}\right), \qquad \mathrm{SDNN\ index} = \frac{1}{288}\sum_{k=1}^{288}\mathrm{SDNN}_{(k)}

Read the first as “the spread of the piece averages” and the second as “the average of the piece spreads”.

Group 2: statistics of the jumps

These follow Δi\Delta_i, the difference between neighbouring intervals. The vagus can change the next beat within a second; the sympathetic Sympathetic nervous system The "fight or flight" branch of the autonomic nervous system. It speeds up the heart and makes it pump harder, but it acts too slowly to drive beat-to-beat HRV. More about Sympathetic nervous system nerves cannot (lesson 3). So anything built on Δi\Delta_i mostly reflects the vagal brake, and breathing through it.

RMSSD, the root mean square of the successive differences, in ms:

RMSSD=1N−1∑i=1N−1Δi2\mathrm{RMSSD} = \sqrt{\frac{1}{N-1}\sum_{i=1}^{N-1}\Delta_i^2}

Square each jump, average the squares, take the square root. The recording gives 33.4 ms. Its log, lnRMSSD, is 3.51; the log tames the skew so that averages and percentage changes behave (lesson 6).

SDSD SDSD The standard deviation of the differences between neighbouring NN intervals, in milliseconds. It is almost the same number as RMSSD and measures the same fast, beat-to-beat change. More about SDSD , the standard deviation of the successive differences, is RMSSD’s near twin:

SDSD=1N−2∑i=1N−1(Δi−Δmean)2\mathrm{SDSD} = \sqrt{\frac{1}{N-2}\sum_{i=1}^{N-1}\left(\Delta_i-\Delta_{\mathrm{mean}}\right)^2}

The only difference is that the mean jump is subtracted first. Over a recording that ends near the rate it started at, the jumps up and down cancel and the mean jump is close to zero, so SDSD and RMSSD almost coincide: 33.5 ms against 33.4 ms here. They part company when the heart drifts steadily through the recording. The widget below shows every step; change a beat and watch both the mean jump and the result move.

SDSD step by step

Ten beats, every number shown

The ten intervals, in ms (300 to 2000)

SDSD of these 10 intervals is 27.5 ms.

Step 5 of 5

  1. Step 1 of 5 Start with the intervals

    Beat 1880 ms
    Beat 2826 ms
    Beat 3812 ms
    Beat 4823 ms
    Beat 5848 ms
    Beat 6877 ms
    Beat 7880 ms
    Beat 8866 ms
    Beat 9828 ms
    Beat 10815 ms

    10 intervals between 11 beats, in milliseconds.

  2. Step 2 of 5 Subtract each interval from the next

    Beat 2 − beat 1−54 ms
    Beat 3 − beat 2−14 ms
    Beat 4 − beat 3+11 ms
    Beat 5 − beat 4+25 ms
    Beat 6 − beat 5+29 ms
    Beat 7 − beat 6+3 ms
    Beat 8 − beat 7−14 ms
    Beat 9 − beat 8−38 ms
    Beat 10 − beat 9−13 ms

    Plus means the heart slowed down for a beat; minus means it sped up.

  3. Step 3 of 5 Find the mean difference

    −65 ÷ 9−7.22 ms

    Over a long resting recording the differences average almost zero, which is why SDSD and RMSSD nearly agree.

  4. Step 4 of 5 Subtract the mean difference and square

    Difference 12188.16
    Difference 245.94
    Difference 3332.05
    Difference 41038.27
    Difference 51312.05
    Difference 6104.49
    Difference 745.94
    Difference 8947.27
    Difference 933.38
    Sum6047.56
  5. Step 5 of 5 Divide by one less than the number of differences, then take the square root

    6047.56 ÷ 8755.94
    √755.9427.5 ms

    SDSD 27.5 ms

With JavaScript on, the steps show one at a time and the beats can be changed.

SDSD worked out from ten beats of the teaching recording, one step at a time. Change any beat and every step updates.

A row of ten editable heartbeat intervals in milliseconds, then the calculation of SDSD as numbered steps: start with the intervals; subtract each interval from the next; find the mean difference; subtract the mean difference and square; divide by one less than the number of differences, then take the square root. The final step reads SDSD 27.5 ms. Back and Next buttons move between the steps.

NN50 NN50 The number of pairs of neighbouring NN intervals that differ by more than 50 milliseconds. Dividing it by the number of intervals gives pNN50. More about NN50 , pNN50 pNN50 The percentage of neighbouring NN intervals that differ by more than 50 milliseconds. It tracks fast, vagally driven changes, like RMSSD, but as a share rather than a size. More about pNN50 and pNN20 pNN20 The percentage of neighbouring NN intervals that differ by more than 20 milliseconds. A lower-threshold cousin of pNN50 that still moves in people whose beat-to-beat changes are small. More about pNN20 count the jumps instead of sizing them. NN50 is the number of jumps larger than 50 ms; pNN50 is that count as a percentage of all jumps; pNN20 does the same with a 20 ms line:

pNN50=#{ i:∣Δi∣>50 ms }N−1×100\mathrm{pNN50} = \frac{\#\{\,i : |\Delta_i| > 50\ \mathrm{ms}\,\}}{N-1}\times 100

Count the jumps bigger than 50 ms, divide by the number of jumps, make it a percentage. The recording has 28 jumps over 50 ms, so pNN50 is 8.2%, while pNN20 is 70.0%. A count is coarser than RMSSD: a person whose jumps are mostly 40 ms has a pNN50 near zero however lively the vagal brake, which is why pNN20 was proposed and why Laborde and colleagues (2017) prefer RMSSD. pNN50 is one of the Task Force (1996) time-domain measures, and Kubios reports the threshold as a setting (NNxx, 50 ms by default).

HR max minus HR min is the average swing of heart rate within each breath, in beats a minute, and needs at least 2 minutes (Shaffer and Ginsberg, 2017). Kubios reports a different quantity under a similar name: the lowest and highest heart rate of the whole sample, each from a 5-beat moving average. The gap between those two, which this site’s library computes, is 4 beats a minute on the recording. Either way it follows breathing depth and rate at least as much as vagal tone Vagal tone The ongoing influence of the vagus nerve on the heart, which slows it down. It is usually estimated from HRV measures such as RMSSD and HF power. More about Vagal tone .

Group 3: the histogram

Sort the intervals into bins and count. The Task Force used bins of 1/128 second, 7.8125 ms, the sample spacing of the 128 Hz Holter recorders of the day, and defined two measures on the resulting histogram D(k)D(k) (Task Force, 1996).

The HRV triangular index HRV triangular index The number of NN intervals in a recording divided by the height of the tallest bar of their histogram. A unitless geometric measure of overall variability that a few bad beats barely move. More about HRV triangular index is the number of intervals divided by the height of the tallest bin:

HRV triangular index=Nmax⁡kD(k)\mathrm{HRV\ triangular\ index} = \frac{N}{\max_k D(k)}

A tall narrow histogram (little variability) gives a small index; a low wide one gives a large index. The recording’s 341 intervals spread over 17 bins, the fullest holds 39, and the index is 8.7. It has no unit.

TINN TINN The width, in milliseconds, of the base of the triangle that best fits the histogram of NN intervals. A geometric measure of overall variability from 24-hour Holter analysis. More about TINN , the triangular interpolation of the NN histogram, fits a triangle to the histogram by least squares and reports the width of its base in ms. The recording’s TINN is 125 ms.

TINN=Nt−Mt,(Mt,Nt)=arg⁡min⁡M,N∑k(D(k)−qM,N(k))2\mathrm{TINN} = N_t - M_t, \qquad (M_t, N_t) = \arg\min_{M, N}\sum_k \bigl(D(k) - q_{M,N}(k)\bigr)^2

Read it as: slide the two feet of the triangle until it fits the histogram best, then measure between them.

On a long recording, a few stray intervals in a far bin barely move the peak or the fitted triangle. That is their advantage over SDNN on a noisy 24-hour tape, and the reason they were designed for long recordings: Catai and colleagues (2020), citing the Task Force, recommend at least 20 minutes and preferably 24 hours for the geometric methods. On 5 minutes the histogram is ragged, the index depends on the one fullest bin, and Shaffer and Ginsberg (2017) note that two artifacts Artifact An error in a heartbeat recording, such as a missed, extra or mistimed beat, often caused by movement or poor sensor contact. Artifacts can badly distort HRV numbers. More about Artifact in a 5-minute segment can distort TINN, as they can SDNN and RMSSD.

Sort the beats into bins

Five minutes of the teaching recording

Intervals
341
In the fullest bin
39
Triangular index
8.7
TINN
125 ms
SDNN
28.7 ms

Rested: 341 intervals sorted into 17 bins of 7.8 ms. The fullest bin holds 39, so the triangular index is 341 ÷ 39 = 8.7. The triangle that fits the histogram best runs from 816 to 941 ms, so TINN is 125 ms. Both numbers describe the shape of this histogram, not the order of the beats.

The controls work when JavaScript is on.

The histogram of five minutes of the teaching recording: how many intervals fall in each bin. The HRV triangular index is the number of intervals divided by the height of the tallest bar; TINN is the base of the triangle that fits the bars best. Change the bin width, or switch to a stressed, drifting or ectopic recording, and watch both numbers.

A bar chart of RR intervals from 500 to 1300 ms sorted into bins of 7.8 ms. The tallest bar is highlighted and a triangle is drawn over the bars from its left foot to its apex to its right foot. Readouts give the number of intervals, the count in the fullest bin, the HRV triangular index, TINN with its two feet, and SDNN, followed by a sentence explaining the numbers. A slider sets the bin width and four buttons choose a rested, stressed, drifting or ectopic recording.

The Poincaré plot

Plot each interval against the next: NNi+1\mathrm{NN}_{i+1} on the vertical axis, NNi\mathrm{NN}_i on the horizontal. A steady heart draws a tight cloud on the diagonal; breathing stretches it along the diagonal; beat-to-beat jitter widens it across. Two standard deviations describe the cloud: SD1 SD1 and SD2 Two measures of the spread of dots in a Poincaré plot, in milliseconds. SD1 is the width and tracks short-term variability, like RMSSD; SD2 is the length and tracks overall variability. More about SD1 and SD2 across the diagonal and SD2 along it, both in ms.

They are not new information. SD1 is RMSSD divided by the square root of two (strictly SDSD, which is almost the same), and Shaffer and Ginsberg (2017) call SD1 and RMSSD identical:

SD1=RMSSD2,SD2=2 SDNN2−SD12\mathrm{SD1} = \frac{\mathrm{RMSSD}}{\sqrt{2}}, \qquad \mathrm{SD2} = \sqrt{2\,\mathrm{SDNN}^2 - \mathrm{SD1}^2}

The recording’s SD1 is 23.6 ms, SD2 is 33.1 ms, and their ratio SD1/SD2 is 0.71. The widget below starts from RMSSD and shows the division.

SD1 step by step

Ten beats, every number shown

The ten intervals, in ms (300 to 2000)

SD1 of these 10 intervals is 19.0 ms.

Step 6 of 6

  1. Step 1 of 6 Start with the intervals

    Beat 1880 ms
    Beat 2826 ms
    Beat 3812 ms
    Beat 4823 ms
    Beat 5848 ms
    Beat 6877 ms
    Beat 7880 ms
    Beat 8866 ms
    Beat 9828 ms
    Beat 10815 ms

    10 intervals between 11 beats, in milliseconds.

  2. Step 2 of 6 Subtract each interval from the next

    Beat 2 − beat 1−54 ms
    Beat 3 − beat 2−14 ms
    Beat 4 − beat 3+11 ms
    Beat 5 − beat 4+25 ms
    Beat 6 − beat 5+29 ms
    Beat 7 − beat 6+3 ms
    Beat 8 − beat 7−14 ms
    Beat 9 − beat 8−38 ms
    Beat 10 − beat 9−13 ms

    Plus means the heart slowed down for a beat; minus means it sped up.

  3. Step 3 of 6 Square each difference

    Difference 12916
    Difference 2196
    Difference 3121
    Difference 4625
    Difference 5841
    Difference 69
    Difference 7196
    Difference 81444
    Difference 9169
    Sum6517

    Squaring makes every value positive and gives big changes more weight.

  4. Step 4 of 6 Average the squares

    6517 ÷ 9724.11
  5. Step 5 of 6 Take the square root

    √724.1126.9 ms
  6. Step 6 of 6 Divide by the square root of two

    26.9 ÷ 1.41419.0 ms

    SD1 is the width of the Poincaré cloud across its diagonal; it carries the same information as RMSSD.

    SD1 19.0 ms

With JavaScript on, the steps show one at a time and the beats can be changed.

SD1 worked out from ten beats of the teaching recording, one step at a time. Change any beat and every step updates.

A row of ten editable heartbeat intervals in milliseconds, then the calculation of SD1 as numbered steps: start with the intervals; subtract each interval from the next; square each difference; average the squares; take the square root; divide by the square root of two. The final step reads SD1 19.0 ms. Back and Next buttons move between the steps.

What the plot adds is a picture. Ectopic beats Ectopic beat A heartbeat that starts outside the heart's normal pacemaker and usually comes early. Ectopic beats are common, but they distort HRV unless removed or corrected. More about Ectopic beat sit far off the cloud, so a Poincaré plot is the fastest visual check of a recording’s cleanliness. Its area, S=π SD1 SD2S = \pi\,\mathrm{SD1}\,\mathrm{SD2}, is sometimes reported as total variability. Shaffer and Ginsberg (2017) note that SD1/SD2 is used as a balance index only for long recordings with sympathetic activation present, and Laborde and colleagues (2017) treat the Poincaré measures as complements to RMSSD and HF HF power The variance of the heartbeat intervals that falls in the 0.15 to 0.40 Hz band, in ms²: the range of normal breathing. It mainly reflects vagal activity when breathing is 9 to 24 breaths a minute. More about HF power , not stand-alone indices.

Each beat against the next

Five minutes of the teaching recording

SD1 (across)
23.6 ms
SD2 (along)
33.1 ms
SD1/SD2
0.71
RMSSD
33.4 ms
SDNN
28.7 ms

The cloud is 1.4 times longer than it is wide: SD1 23.6 ms across the diagonal (fast change), SD2 33.1 ms along it (slow and fast change together).

The sliders and the button work when JavaScript is on.

Every interval of the teaching recording plotted against the one after it. The cloud's width across the diagonal is SD1 (fast, beat-to-beat change) and its length along the diagonal is SD2 (slow and fast change together). Move the sliders to change each kind of swing, or add one premature beat and watch SD1 jump.

A square scatter plot with the previous interval across and the next interval up, both in milliseconds and zoomed on the cloud, a diagonal line of identity and an ellipse tilted along it. Readouts give SD1, SD2, their ratio, RMSSD and SDNN, followed by a sentence explaining the shape. Two sliders set the size of the beat-to-beat swing and of the slow swings; a button adds one premature beat, and the readout then also shows SD1 and SD2 from before it.

Which to use when

Measure (unit)FollowsNeeds at leastUse it for
Mean NN (ms), heart rate (bpm)EverythingAny lengthContext for every other number
SDNN (ms)Total spread5 min; 24 h for riskOverall variability; 24-hour risk bands
SDANN (ms)Slow swings between 5-min pieces24 h Circadian Circadian rhythm The body's 24-hour clock. Heart rate is lower and vagal HRV higher at night than by day, so readings are only comparable when they are taken at the same time of day. More about Circadian rhythm and activity pattern
SDNN index (ms)Fast changes within 5-min pieces24 hAverage short-term variability over a day
RMSSD (ms), lnRMSSD (no unit)Beat-to-beat jumps (vagal)1 min; 5 min standard; 10 s proposedMorning readings, training, stress
SDSD (ms)Jumps, drift removedAs RMSSDSame as RMSSD; differs only when the rate drifts
NN50 (count), pNN50 (%)Large jumps (vagal)2 minCross-check on RMSSD; older studies
pNN20 (%)Smaller jumps2 minPeople whose jumps rarely exceed 50 ms
HR max minus HR min (bpm)Breathing swing2 min Respiratory sinus arrhythmia Respiratory sinus arrhythmia The normal rise in heart rate as you breathe in and fall as you breathe out. It is driven by the vagus nerve and makes up much of resting HRV. More about Respiratory sinus arrhythmia at a known breathing rate Breathing rate How many breaths you take a minute. It moves HRV on its own: slower, deeper breathing makes the beat-to-beat swing larger, and below about 9 breaths a minute it shifts from the HF band into LF. More about Breathing rate
HRV triangular index (no unit)Histogram height20 min, ideally 24 hNoisy long recordings
TINN (ms)Histogram width20 min, ideally 24 hNoisy long recordings
SD1 (ms), SD2 (ms), SD1/SD2Jumps; spread; their ratio90 s proposed; 5 minVisual check; the same facts as RMSSD and SDNN

The minimum lengths come from the Task Force (1996) and the ultra-short studies summarised by Shaffer and Ginsberg (2017) and Laborde and colleagues (2017). Two cautions apply to all of them. First, a short value and a 24-hour value of the same measure are different quantities, because the long recording contains slow processes the short one cannot (Shaffer and Ginsberg, 2017). Second, a rule stated in beats and one stated in minutes diverge as heart rate changes: 5 minutes is about 300 beats at 60 a minute and 500 at 100 a minute, which is why Catai and colleagues (2020) ask authors to say whether a window was set in time or in beats.

Lesson 18 leaves the beat-indexed series behind and asks how much of the variability sits at each rhythm: the spectrum.

Try this

Export a recording of at least five minutes from your strap app, or use the calculator's sample, and write down RMSSD, SDNN, pNN50 and SD1. Check that SD1 is RMSSD divided by 1.414, then ask which of the four would change most if one beat were missed.

Check your understanding

Get 3 of 5 right (60%) to pass and tick off this lesson. You can try as often as you like; the options are shuffled each time and your best score is kept.

The questions below are readable without JavaScript. Checking your answers needs JavaScript.

Question 1 RMSSD and SDSD are computed from the same successive differences. In the worked example they came out within 0.1 ms of each other. Why?
Question 2 The step-by-step widget shows SD1 computed from RMSSD. What is the relationship?
Question 3 A 24-hour recording is cut into 288 five-minute pieces. Which measure is the standard deviation of the 288 piece averages?
Question 4 Which of these measures needs the longest recording to be meaningful?
Question 5 You want a morning number that follows the vagal brake and is not thrown off by a single bad beat. Which pair fits best?

Course map

Sources

  1. Heart rate variability: standards of measurement, physiological interpretation and clinical use Circulation (Task Force of the European Society of Cardiology and the North American Society of Pacing and Electrophysiology), 1996
  2. An overview of heart rate variability metrics and norms Frontiers in Public Health, 2017
  3. Heart rate variability and cardiac vagal tone in psychophysiological research: recommendations for experiment planning, data analysis, and data reporting Frontiers in Psychology, 2017
  4. Heart rate variability: are you using it properly? Standardisation checklist of procedures Brazilian Journal of Physical Therapy, 2020
  5. Kubios HRV User's Guide, version 3.5 Kubios Oy, 2021