모든 심박변이도(HRV) 수치는 같은 네 단계로 만들어집니다. 박동을 하나씩 찾고, 박동 사이의 간격을 재고, 잘못된 박동을 버리고, 남은 간격을 수치 하나로 바꿉니다. 이 레슨에서는 각 단계를 종이 위에서 직접 계산해 볼 수 있는 예와 함께 따라갑니다.
레슨 2에서는 HRV의 바탕이 되는 그림, 즉 박동 사이의 간격이 오르내리는 선을 보았습니다. 레슨 4에서는 잘못된 박동 하나가 수치를 어떻게 흔드는지 보았습니다. 이제 기기가 심장 박동에서 화면의 수치까지 어떻게 가는지 살펴봅니다.
1단계: 박동 찾기
기기는 먼저 박동이 정확히 언제 일어나는지 알아야 합니다. 방법은 크게 두 가지입니다.
심전도(ECG) 심전도(ECG) 피부에 붙인 전극으로 심장의 전기 활동을 기록한 것입니다. 심전도로 구한 RR 간격이 심박변이도(HRV) 측정의 기준 방법입니다. 심전도(ECG) 더 알아보기 : 가슴 스트랩과 의료용 심전도. 피부에 붙인 전극이 심장의 전기 신호를 잡아냅니다. 박동마다 R 피크라는 높고 뾰족한 파형이 생깁니다. 파형이 이렇게 날카롭기 때문에 소프트웨어가 그 시점을 아주 정밀하게 잴 수 있습니다. 심전도를 HRV 측정의 기준 방법으로 삼는 이유입니다.
광용적맥파 PPG 피부에 빛을 비추고 박동마다 밀려드는 혈액의 맥을 감지하는 광학 방식입니다. 대부분의 스마트워치, 링, 휴대폰 카메라 앱이 이 방식으로 심박변이도(HRV)를 추정합니다. PPG 더 알아보기 (PPG): 시계, 링, 휴대폰 카메라. 광학 센서가 피부에 빛을 비추고 되돌아오는 빛의 양을 잽니다. 심장이 뛸 때마다 혈액의 맥박이 센서 아래를 지나가며 신호를 바꿉니다. 기기는 전기적 박동이 아니라 이 맥파의 시점을 잽니다.
맥파는 심장이 뛰고 나서 잠시 뒤에 손목이나 손가락에 닿습니다. 엄밀히 말하면 광학 기기가 재는 것은 심박변이도가 아니라 맥박변이도 맥박변이도 스마트워치, 링, 휴대폰 카메라가 광학 방식으로 재는 맥박 사이 시간의 변이입니다. 안정 시에는 심박변이도(HRV)와 가깝게 따라가지만 움직이는 동안에는 벗어납니다. 맥박변이도 더 알아보기 (PRV)입니다. 안정 시에는 두 값이 대부분의 용도에 쓸 만큼 잘 맞습니다. 광학 측정은 심전도보다 단기 변이가 조금 더 크게 나오는 경향이 있는데, 호흡이 피부에 닿기까지의 맥박에도 영향을 주기 때문이기도 합니다. 움직이면 일치도는 훨씬 나빠집니다. 휴대폰 카메라 앱도 같은 원리로 작동합니다. 이 주제는 휴대폰 카메라로 HRV를 측정할 수 있을까? 페이지에서 다룹니다.
센서가 얼마나 자주 보는가
센서는 심장을 계속 지켜보지 않습니다. 초당 여러 번 순간을 포착합니다. 초당 포착하는 횟수가 샘플링 주파수이며, 단위는 헤르츠(Hz)입니다. 기기는 박동을 포착한 순간 가운데 하나에만 놓을 수 있으므로, 박동의 시점은 가장 가까운 순간으로 반올림됩니다.
가장 가까운 순간으로 반올림하면 박동은 순간과 순간 사이 간격의 절반만큼까지 옮겨집니다. 1000 Hz에서는 순간 사이가 1 ms이므로 박동이 실제 시점에서 0.5 ms 안에 놓이고, 250 Hz에서는 2 ms 안에 놓입니다. 휴대폰 카메라는 초당 약 25~30장을 찍으므로 박동마다 최대 20 ms까지 틀릴 수 있습니다. 2024년 연구 지침은 간격 전체(1000 Hz에서 ±1 ms, 250 Hz에서 ±4 ms)라는 더 보수적인 수치를 제시하고 1000 Hz를 권합니다(Quigley 연구진, 2024).
이 오차는 RMSSD에서 가장 문제가 됩니다. RMSSD는 한 간격에서 다음 간격으로 바뀌는 정도를 재는데, 반올림 오차는 바로 그런 변화처럼 보이기 때문입니다. 이 강좌의 오 분짜리 교육용 기록에서 모든 박동을 초당 25장 중 가장 가까운 장면에 맞추어 시간을 매기면, RMSSD가 31%, 약 삼분의 일 높게 나옵니다. 소프트웨어는 두 장면 사이 어디에 맥박 피크가 있었는지 추정해 이 오차의 상당 부분을 되찾을 수 있습니다. 분석가 레벨의 레슨 16에서는 모든 샘플링 주파수를 직접 시험해 볼 수 있습니다: 전극에서 수치까지: 신호 사슬.
2단계: 간격 재기
다음으로 기기는 박동에서 다음 박동까지의 시간을 밀리초(ms) 단위로 잽니다. 레슨 1에서 만난 RR 간격입니다. 짧은 목록은 이렇게 생겼습니다.
810, 830, 790, 850, 820 ms
박동 여섯 번 사이의 간격 다섯 개입니다. 평균 간격은 820 ms이고, 분당 약 73회에 해당합니다.
3단계: 목록 보정하기
실제 기록은 깔끔하지 않습니다. 기기는 다음과 같은 일을 겪을 수 있습니다.
- 박동을 놓침(간격 하나가 원래의 두 배쯤으로 보임)
- 없던 박동을 셈(간격 하나가 짧은 두 간격으로 나뉨)
- 정상 박동 조율기 밖에서 나온 실제 추가 박동 이소성 박동 심장의 자체 박동 조율기 밖에서 시작해 대개 정해진 때보다 일찍 나타나는 심장 박동입니다. 흔하지만, 제거하거나 보정하지 않으면 심박변이도(HRV)를 왜곡합니다. 이소성 박동 더 알아보기 , 즉 이소성 박동을 포착함
- 움직임이나 헐거운 스트랩 때문에 잡음이 섞임
이런 일은 모두 이웃한 간격 사이에 가짜 변화를 만듭니다. 레슨 4에서 보았듯이 이런 변화 하나가 RMSSD를 여러 배로 키울 수 있습니다. 짧은 기록에서는 편집한 박동이 몇 개뿐이어도(전체의 5% 미만) 결과가 달라질 수 있습니다.
그래서 계산하기 전에 소프트웨어는 두 단계로 목록을 보정합니다. 그렇게 남은, 정상 박동 사이의 간격을 NN 간격 NN 간격 추가 박동과 측정 오류를 제거한 뒤, 정상 박동 두 개 사이의 RR 간격을 밀리초로 나타낸 값입니다. 심박변이도(HRV) 지표 대부분은 NN 간격으로 계산합니다. NN 간격 더 알아보기 (‘normal-to-normal’)이라고 부릅니다.
먼저, 잘못된 간격을 찾습니다. 보통의 규칙은 각 간격을 이웃 간격과 비교해, 정해진 값보다 많이 차이 나는 간격에 표시를 합니다. 엄격한 규칙은 작은 오류도 잡아내지만 실제 박동까지 표시하기 시작하고, 느슨한 규칙은 오류를 놓칩니다.
그다음, 고칩니다. 소프트웨어는 잘못된 간격을 삭제하거나, 주변의 좋은 간격으로 만든 값으로 채웁니다. 채우면 기록의 리듬이 그대로 유지되는데 이는 일부 지표에 중요하고, 삭제는 더 간단합니다(Peltola, 2012).
보정이 어느 정도를 넘으면 지나친지에 대해서는 이런 기준이 있습니다. 간격의 5% 미만만 편집해도 단기 결과가 달라질 수 있고, 많은 연구가 정상 박동이 80% 미만인 기록은 제외합니다(Peltola, 2012). 널리 쓰이는 연구용 프로그램 Kubios의 안내서는 보정한 박동을 5% 미만으로 유지하라고 권합니다(Alcantara 연구진, 2020).
레슨 16에서는 보정 방법에 이름을 붙여 오 분짜리 기록으로 비교하고, 잘못된 박동을 직접 심어 보정해 볼 수 있습니다.
이 단계는 사용자 눈에 보이지 않습니다. 앱이 자체 방법과 임계값으로 조용히 처리합니다. 같은 밤인데도 두 기기의 수치가 다를 수 있는 이유 하나가 이것입니다.
4단계: 간격을 수치로 바꾸기
이제 계산입니다. 대표적인 단기 HRV 지표는 RMSSD로, ‘ 연속한 NN 간격 차이의 제곱평균제곱근 RMSSD 연속한 NN 간격 차이의 제곱평균제곱근. 심장 박동 간격이 다음 간격과 얼마나 다른지를 밀리초 단위로 나타내는 심박변이도(HRV) 지표이며, 주로 미주신경 활동을 반영합니다. RMSSD 더 알아보기 (root mean square of successive differences)’의 약자입니다. 이름은 어렵게 들리지만 작은 네 단계일 뿐이며, 영어 이름의 단어 순서와는 반대로 진행합니다.
간격 다섯 개를 가져와 보겠습니다.
| 간격(ms) | 앞 간격과의 차이(ms) | 차이의 제곱 |
|---|---|---|
| 810 | ||
| 830 | +20 | 400 |
| 790 | −40 | 1,600 |
| 850 | +60 | 3,600 |
| 820 | −30 | 900 |
- 연속한 차이. 각 간격에서 앞의 간격을 뺍니다: +20, −40, +60, −30.
- 제곱. 각 차이를 자기 자신과 곱합니다: 400, 1,600, 3,600, 900. 제곱하면 모든 값이 양수가 되어 내려가는 것도 올라가는 것만큼 반영됩니다. 또 큰 변화에 더 큰 비중이 실립니다.
- 평균. 제곱한 값의 평균을 구합니다: 6,500 ÷ 4 = 1,625.
- 제곱근. 제곱근을 취합니다: √1,625 ≈ 40.
이 간격 다섯 개의 RMSSD는 약 40 ms입니다. 쉽게 말해, 박동에서 다음 박동으로 갈 때 간격이 보통 한 걸음에 약 40 ms씩 바뀌었다는 뜻입니다.
이번에는 더 긴 목록으로 해 보겠습니다. 아래 위젯은 이 사이트의 교육용 기록에서 박동 열 개를 가져와 RMSSD를 단계별로 계산합니다. ‘다음’을 눌러 단계를 넘기거나, 박동 값을 바꾸어 모든 단계가 어떻게 갱신되는지 보세요.
RMSSD 단계별 계산
박동 열 개, 모든 수치 표시
이 간격 10개의 RMSSD 값은 26.9 ms입니다.
5단계 중 5 단계
5단계 중 1단계 먼저 간격을 나열합니다
1번째 박동 880 ms 2번째 박동 826 ms 3번째 박동 812 ms 4번째 박동 823 ms 5번째 박동 848 ms 6번째 박동 877 ms 7번째 박동 880 ms 8번째 박동 866 ms 9번째 박동 828 ms 10번째 박동 815 ms 11박동 사이의 간격 10개, 밀리초 단위입니다.
5단계 중 2단계 각 간격에서 앞 간격을 뺍니다
2번째 박동 − 1번째 박동 −54 ms 3번째 박동 − 2번째 박동 −14 ms 4번째 박동 − 3번째 박동 +11 ms 5번째 박동 − 4번째 박동 +25 ms 6번째 박동 − 5번째 박동 +29 ms 7번째 박동 − 6번째 박동 +3 ms 8번째 박동 − 7번째 박동 −14 ms 9번째 박동 − 8번째 박동 −38 ms 10번째 박동 − 9번째 박동 −13 ms 양수는 박동 하나 동안 심장이 느려졌다는 뜻이고, 음수는 빨라졌다는 뜻입니다.
5단계 중 3단계 각 차이를 제곱합니다
1번째 차이 2916 2번째 차이 196 3번째 차이 121 4번째 차이 625 5번째 차이 841 6번째 차이 9 7번째 차이 196 8번째 차이 1444 9번째 차이 169 합 6517 제곱하면 모든 값이 양수가 되고, 큰 변화에 더 큰 비중이 실립니다.
5단계 중 4단계 제곱한 값의 평균을 냅니다
6517 ÷ 9 724.11 5단계 중 5단계 제곱근을 구합니다
√724.11 26.9 ms RMSSD 26.9 ms
JavaScript를 켜면 단계가 하나씩 나타나고 박동을 바꿀 수 있습니다.
편집할 수 있는 심장 박동 간격 열 개(밀리초)가 한 줄로 있고, 그 아래에 RMSSD 계산이 번호 붙은 단계로 이어집니다. 먼저 간격을 나열합니다; 각 간격에서 앞 간격을 뺍니다; 각 차이를 제곱합니다; 제곱한 값의 평균을 냅니다; 제곱근을 구합니다. 마지막 단계의 결과는 RMSSD 26.9 ms입니다. ‘이전’과 ‘다음’ 버튼으로 단계 사이를 이동합니다.
RMSSD 옆에서 두 번째 지표인 SDNN도 자주 볼 수 있습니다. 모든 간격의 표준편차로, 간격이 평균을 중심으로 얼마나 퍼져 있는지 보여 줍니다. 위의 간격 다섯 개에서 SDNN은 약 22 ms입니다. 레슨 6에서 두 지표를 비교합니다.
더 알아보기 기호로 쓴 RMSSD 공식
간격을 RR₁, RR₂, … RRₙ이라고 쓰겠습니다. 연속한 차이는 dᵢ = RRᵢ₊₁ − RRᵢ이고, 모두 n − 1개입니다.
RMSSD = √( (d₁² + d₂² + … + dₙ₋₁²) ÷ (n − 1) )
위의 간격 다섯 개에서는 n − 1 = 4개의 차이가 있으므로, 제곱의 합(6,500)을 4로 나눕니다. 실제 소프트웨어는 보정한 NN 간격에 이 계산을 적용하며 자체 보정과 평균 방식을 쓰므로, 결과가 손계산과 정확히 맞지 않을 수 있습니다.
SDNN은 대신 모든 간격이 평균 간격에서 떨어진 거리를 씁니다. 각 거리를 제곱해 더하고, n − 1로 나눈 뒤 제곱근을 취합니다. 810, 830, 790, 850, 820에서 820으로부터의 거리는 −10, +10, −30, +30, 0입니다. 제곱의 합은 2,000이고, √(2,000 ÷ 4) ≈ 22 ms입니다.
얼마나 오래 기록할까
지금까지는 간격 다섯 개를 썼습니다. 실제 기록에는 훨씬 많은 간격이 들어가고, 기록 길이가 중요합니다.
연구에서 단기 HRV 기록의 보통 표준은 5분입니다. 이보다 짧은 기록은 초단기라고 부릅니다. 24시간 기록은 장기 HRV의 표준이며, 주로 의학 연구에 쓰입니다.
RMSSD는 짧은 기록에서도 잘 유지됩니다. 건강한 성인 70명을 대상으로 한 연구에서, 겨우 1분이나 심지어 10초에서 얻은 RMSSD도 5분 값과 잘 맞았습니다. SDNN은 그렇지 않았습니다. 성인 3,387명을 대상으로 한 훨씬 큰 연구도 같은 결과를 얻었습니다. 10초짜리 심전도 한 번으로도 타당한 RMSSD가 나왔고, 10초 구간 세 번을 평균하면 더 좋았으며, 2분은 4~5분 기록과 거의 완벽하게 맞았습니다.
SDNN이 다르게 행동하는 것은 느린 변화까지 포함해 모든 간격의 퍼짐을 재기 때문입니다. 기록이 길면 자세와 활동부터 낮밤 주기까지 더 느린 리듬이 들어와서 SDNN이 길이에 따라 계속 커집니다. 아래 구간을 모의 하루 위에서 5분부터 24시간까지 끌어 보세요. RMSSD는 거의 움직이지 않고, SDNN은 거의 세 배가 됩니다.
기록은 얼마나 길게 해야 할까?
실제 사람이 아닌 모의 하루
- RMSSD
- 37.2 ms
- SDNN
- 29.7 ms
- 구간 안의 박동 수
- 327
5분 동안 RMSSD는 37.2 ms, SDNN은 29.7 ms입니다. 이것이 단기 표준입니다.
JavaScript를 켜면 슬라이더가 작동합니다.
기록 길이에 따른 RMSSD와 SDNN을 10초부터 24시간까지의 로그 축에 나타낸 그래프입니다. RMSSD 선은 어떤 길이에서도 37 ms 부근에 머뭅니다. SDNN 선은 몇 분까지는 30 ms 부근에 있다가 24시간에는 약 84 ms까지 올라갑니다. 점선 표시는 최소 길이를 나타냅니다. HF 대역은 1분, LF는 2분, 단기 표준과 VLF 대역은 5분, DFA α2는 20분, ULF와 장기 SDNN은 24시간입니다. 슬라이더로 구간 길이를 정하며, 수치 표시에는 RMSSD, SDNN, 구간 안의 박동 수가 나옵니다.
지표마다 필요한 최소 길이가 있습니다.
| 지표 | 쓸 만한 최단 기록 | 출처 |
|---|---|---|
| RMSSD | 10초~1분. 길수록 더 안정적 | Munoz 2015; Nussinovitch 2011 |
| SDNN SDNN 기록에 들어 있는 모든 NN 간격의 표준편차로, 단위는 ms입니다. 전반적인 변동을 나타내며, 값이 기록 시간의 길이에 크게 좌우됩니다. SDNN 더 알아보기 | 최소 30초. 길이가 같을 때만 비교 가능 | Munoz 2015; Shaffer와 Ginsberg 2017 |
| 장기 SDNN | 24시간 | Shaffer와 Ginsberg 2017 |
HRV를 느린 리듬과 빠른 리듬으로 나누는 지표에는 더 긴 기록이 필요하며, 얼마나 더 길어야 하는지는 자료마다 다릅니다. 레슨 18에서 규칙과 의견이 갈리는 부분을 정리합니다.
길이가 다른 기록에서 나온 수치는 비교하면 안 됩니다. 24시간 SDNN에는 5분 SDNN에 없는 심장 위험 관련 정보가 담겨 있습니다(Shaffer와 Ginsberg, 2017).
수면 중에 측정하는 링과 시계는 제각기 기록 구간을 정하고, 그 구간을 합치는 방식도 제각각입니다. 이것도 수치가 서로 다른 이유이며, 레슨 8에서 다룹니다.
오차가 끼어드는 곳
아래 문제는 1단계나 3단계에서 나타납니다.
- 움직임. 심전도와 PPG 모두에 잡음을 더하며, PPG에 가장 큰 타격을 줍니다.
- 접촉 불량. 헐거운 스트랩이나 전극, 미끄러지는 링은 박동을 놓칠 수 있습니다.
- 추가 박동. 보정에서 놓치면 RMSSD가 치솟습니다.
- 센서 종류. 광학 센서는 전기적 박동이 아니라 맥박을 재므로, 활동 중에는 심전도에서 더 멀어집니다.
기기를 비교하려면 손목 HRV는 가슴 스트랩만큼 정확할까? 페이지가 도움이 됩니다. 측정 방법과 기기에 관한 더 큰 그림은 HRV 측정 방법: 센서, 시점, 정확도에서 볼 수 있습니다.
이것으로 레벨 1을 마칩니다. 다음 레슨 RMSSD, SDNN, lnRMSSD 설명에서는 주요 HRV 지표를 비교하고, 내 앱이 보여 주는 것이 어느 지표일 가능성이 큰지 알아봅니다.