http://dx.doi.org/10.5369/JSST.2018.27.3.192 pISSN 1225-5475/eISSN 2093-7563
동잡음을 가진 PPG 센서에서의 산소포화도 측정 알고리즘
장성진
1
· 최규락1
· 박근혜1
· 김정도2,+
SpO 2 Measurement Algorithm for PPG Signal with Motion Artifacts
Seong-Jin Jang
1
, Kue-Lak Choi1
, Keun-Hae Park1
, and Jeong-Do Kim2+
Abstract
Pulse oximetry is a non-invasive method for monitoring how much oxygenated hemoglobin is present in the blood. The principle of pulse oximetry is based on the red infrared light adsorption characteristics of oxygenated and deoxygenated hemoglobin. Even through the convenience of a pulse oximeter, its weak signal-to-noise ratio against motion artifacts and low perfusion makes it difficult to be accepted by execs devices. Several researchers have suggested the use of an adaptive noise cancellation (ANC) algorithm. They have demonstrated that ANC is feasible for reducing the effects of motion artifacts. Masimo Corporation developed a discrete saturation transformation (DST) algorithm that uses a reference signal and ANC. In commercial devices, it is very hard to escape it because Masimo’s patents are very powerful and a better method is yet to be developed. This study proposes a new method that can measure noise saturation as well as accurate oxygen saturation from signals with high motion artifacts without using ANC and DST. The pro- posed algorithm can extract a normal signal without noise from a signal with motion artifacts. The reference signal from a pulse oximeter simulator was used for the evaluation of our proposed algorithm and achieved good results.
Keywords: SpO 2 , Motion Artifacts, Pulse Oximetry, Masimo Algorithm, Discrete Saturation Transformation(DST)
1. 서 론
비관혈식 산소포화도 측정 장치(Pulse oximeter)는 혈액에서 산소와 결합한 헤모글로빈과 결합하지 않은 헤모글로빈의 광학 적 특성을 이용하여 혈액의 채취 없이도 산소포화도를 측정하 는 장치이다[1,2]. 산소포화도는 주로 중환자실, 신생아 입원실 및 수술 과정에서 필수적으로 사용되고 있는데, 정확한 산소포 화도의 측정이 이루어지지 않는 경우 의료진이 지나치게 산소 치료를 하게 하거나 반대로 부족하게 산소치료를 하게 할 수 있 어 중환자 혹은 신생아에게 산소치료와 연관된 합병증을 발생
시킬 수 있다[3]. 그러나, 비관혈식 산소포화도 측정 장치는 약 간의 움직임에도 정맥 혈압파에 의해 신호보다 잡음이 더 높게 나올 수 있어 오류가 발생할 수 있다는 단점을 가진다[4,5].
비관혈식 산소포화도 측정 장치의 신호에서 동잡음을 제거하 기 위한 여러 가지 연구가 진행된 바 있으나[1,6-11], 대표적으 로 사용되는 방법은 Masimo의 DST(Discrete Saturation Transformation) 알고리즘이다[12,13]. 우리나라도 많은 산소포 화도 관련 논문이 제시되고 있으나[14], 동잡음이 포함된 경우 그 정확성을 보장할 수 없는 경우가 많고, 동잡음을 보상하는 알고리즘도 DST 알고리즘을 변형한 경우가 많아 Masimo의 특허를 근본적으로 벗어날 수 없어 실제 적용이 쉽지 않다. 다 른 형태의 연구로 블록 인터리빙(Block interleaving)과 ICA (Independent Component Analysis)를 사용한 방법이 제시되어 [15], 상당한 잡음 제거 능력을 입증하였으나 산소포화도의 측 정 정확성은 Masimo의 DST 알고리즘에 미치지 못하는 것으로 확인되었다.
본, 연구에서는 Masimo의 DST 알고리즘에서 사용하는 적응 필터를 사용하지 않으면서도 정확한 산소포화도의 측정이 가능 한 새로운 방법을 제시한다. 본 연구에서 제시한 알고리즘의 수 학적 입증이 이루어졌으며, SpO
2시뮬레이터를 통해 실제 적용 가능성을 입증하였다.
1
한국생산기술연구원 스마트섬유그룹 (Smart Textile R&D Group, Korea Institute of Industrial Technology)
143 Hanggaulro, Sangnok-gu, Ansan-si, Gyeonggi-do, 15588, Korea
2
호서대학교 전자공학과(Department of Electronic Engineering, Hoseo University)
20, Hoseo-ro 79beon-gil, Baebang-eup, Asan-si, Chungcheongnam-do, 31499, Korea
+
Corresponding author: [email protected]
(Received: May. 14, 2018, Revised: May. 18, 2018, Accepted: May. 25, 2018)
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License(http://creativecommons.org/
licenses/bync/3.0) which permits unrestricted non-commercial use, distribution,
and reproduction in any medium, provided the original work is properly cited.
2. 광혈류 측정기 원리
산소포화도의 실시간 측정을 위해서 광학적 비침습성 생 체 진단 기술인 광혈류 측정기(Photoplethysmography : PPG)
를 이용하게 되는데, 광혈류 측정기는 적색광 과
적외선광 을 신체에 입사시켜서 반사 혹은 투과
되는 빛을 측정하여 혈류를 알아내는 장비이다. 적색광의 경 우 산소와 결합한 헤모글로빈보다 산소와 결합하지 못한 헤 모글로빈의 흡광률이 더 높고, 적외선광은 산소와 결합한 헤 모글로빈의 흡광률이 더 높다. Fig. 1은 산소와 결합한 헤모 글로빈과 산소와 결합하지 못한 헤모글로빈의 파장대별 흡 광률을 표현한 그림이다. 두 가지 헤모글로빈의 두 가지 파 장에서의 흡광률의 차이는 산소포화도를 측정의 기초를 제 공한다[1,2,9,10].
Fig. 2는 광혈류 측정기에서 취득된 적외선광의 PPG 신호를 보여주고 있으며, AC 성분과 DC 성분이 모두 존재하는 것을 확인할 수 있다[1,10,16].
Fig. 3 과 같이 손가락 내부에 있는 움직임이 없는 정맥혈액, 뼈 그리고 기타 생체 조직들에서는 일정하게 빛을 흡수하여 PPG
신호의 DC 성분을 만들고. 맥박에 의해 움직임이 있는 동맥혈 액은 빛의 흡수율이 계속 변하기 때문에 PPG 신호의 AC 성분 을 만든다. 실제 산소포화도를 계산하는데 이용되는 성분은 AC 성분이다.
3. 기본 측정 알고리즘
Peak and Valley 방법은 Beer-Lambert 법칙을 기초로 하여 PPG 신호의 AC 성분의 진폭비를 이용하여 산소포화도를 계산한다[1,6,7].
적외선광의 AC성분의 진폭이 최대가 될 때의 최고점을 , 최소점은 라 하면 Beer-Lambert 법칙에 따라 다음과 같이 표현할 수 있다.
(1)
(2) 여기서, 과 은 적외선광의 흡광계수이며, 이 중에서 은 Fig. 3의 DC 성분 영역에 의해 나타나는 흡 광계수로서 변동이 거의 없으며, 는 AC 성분영역에 의 해 나타나며 맥박에 의해 변동되는 값이다.
또한, d는 DC 영역을 투과하는 빛의 투과거리이며 는 맥 박에 의한 동맥혈 두께의 변동 즉 AC 영역에 의한 투과 거리 를 의미한다.
위 식 (1)과 식 (2)의 비에 대한 자연로그는 식 (3)으로 나타 낼 수 있다.
(3)
적색광의 경우 최고점을 , 최저점을 이라 하면 식 (4) 과 같이 나타낼 수 있다.
(4) λ 660nm =
( )
λ 940nm =
( )
I IR H , I IR L ,
α λ ( ) IR α A ( ) λ IR α λ ( ) IR
α A ( ) λ IR
Δd
I R H , I R L , Fig. 1. Optical absorbance spectra of HbO2 and Hb
Fig. 2. PPG signal of infrared light
Fig. 3. Absorption rate from the tissue
여기서, 과 은 적색광의 흡광계수이며, 역시 AC 성분과 DC 성분에 의해 나타나는 값이다. 적외선광의 와 적색광의 의 차이는 거의 무시할 만하므로
로 정의하였다.
특정 주파수에서의 흡수도의 비 은 다음과 같다.
(5)
이러한, 흡수도의 비 은 Fig. 1에서 보는 것처럼, 적외선광 과 적색광에서 산소를 포함한 헤모글로빈과 산소가 제거된 헤 모글로빈 사이의 비를 나타내기 때문에, 값을 적당하게 환산 하면 산소포화도를 구할 수 있다. 하지만, 실제의 경우 파형의 피크값인 과 를 구해야 하는데, PPG신호의 잡음 (Artifacts)과 장치 오차에 기인하는 기저선과 파형의 변동으로 인하여 단지 개념적인 방법이다.
이에, Peak and Valley 방법을 개선한 좀 더 실제적인 방법이 제안되었는데, 과 을 미분하여 사용하는 방법으로 식 (6) 과 같다.
(6)
여기서, AC 성분의 최대 진폭을 가지는 한 주기의 최소 점의 시간을 , 최대 지점을 시간을 , 그 주기가 DC 성분과 교차 하는 점의 시간을 라 한다.
이 방법은 Peak and Valley 방법보다 더욱 실제적인 적용방 법이긴 하지만, 실제 적용에는 많은 문제점을 가진다. 비관혈식 산소포화도 측정장치는 약간의 움직임에도 정맥 혈압파에 의해 잡음이 신호보다 커지게 된다. 또한, 중환자나 신생아의 경우, 혈관의 흐름이 저하된 경우가 많아 정상적인 파형이 나오지 않 거나 불규칙한 파형을 얻게 되는 경우가 많다. 이러한 이유로 실제의 경우 Peak & Valley 방법을 적용하여 산소포화도를 측 정하지 않는다.
Fig. 4는 흔히 생길 수 있는 잡음이 포함된 적외선광과 적색 광을 보여주고 있으며, 왜곡 때문에 정상적인 파형이 보이지 않 음을 알 수 있다.
4. MASIMO의 DST 알고리즘
Masimo 는 동잡음이 포함된 PPG 신호에서 을 구하기 위해 서, 적색광에 의한 PPG 신호와 적외선광에 의한 PPG 신호의 비율을 계산하는데 의존하지 않고 적응형 필터와 Discrete saturation transformation(DST) 을 사용하여 산소포화도를 구하는 특허를 보 유하고 있다. Fig. 5는 Masimo의 DST 알고리즘을 보여주고 있
다[12,13].
실제 측정되는 PPG신호는 맥동(Pulsation)에 의한 신호 S와 동잡음(Motion Artifact)에 의한 신호 M으로 구성되어 있다. 적 외선광에 의한 PPG 신호 은 식 (7)과 같이 표현할 수 있 고, 적색광에 의한 PPG 신호 은 식 (8)과 같이 표현한다.
α λ ( ) R α A ( ) λ R
Δd λ ( ) IR Δd λ ( ) R
Δd λ ( ) Δd λ IR = ( ) Δd R =
r
r
r
I IR L , I IR H ,
I IR I R
t 1 t 2
t 3
r
I IR I R
Fig. 4. PPG signals with Motion artifact: (a) Low frequency(0.5Hz) Motion artifact, (b) High frequency(2Hz) Motion artifact
Fig. 5. Block diagram of DST algorithm
(7) (8) 여기서, , 이다.
4.1 참조 신호(Reference Signal : RS) 생성
참고 신호는 임의의 비율 를 이용하여 식 (9)와 같이 계산 되는 벡터이다.
(9) 임의의 인 는 산소포화도 0%에서 100%에 해당하는 을 반복적으로 대입하여 계산이 이루어진다
4.2 Discrete Saturation Transformation(DST)
DST 는 참고 신호와 적외선에 의한 PPG 신호 사이의 공통적 인 주파수 요소를 제거하는 적응형 필터를 이용한다. 적응형 필 터의 출력은 실제 과 다른 요소에 의한 을 확인하기 위한 Power curve를 만든다. 모든 대역에서의 Power curve를 막대 그 래프 형식으로 표현하면 Fig. 5와 같은 DST 그래프를 얻을 수 있다.
DST의 개념적 이해를 위해서 식 (9)를 식 (7)과 식 (8)을 이 용하여 재구성하면 식 (10)과 같이 나타낼 수 있다.
(10)
DST 계산의 반복을 통해 가 와 비슷해진다면 참조 신 호의 성분이 제거되면서 성분만이 남게 되면서 Power curve 가 크게 나오고, 가 와 비슷해진다면 참조 신호의 성분이 제거되면서 성분만이 남게 되면서 Power curve 가 크게 나온다. 보통 노이즈에 의한 는 정맥 혈액에 의해 PPG 신호로 측정되므로 정맥 혈액에 의해 측정되는 실제 보다 작 은 값을 갖는다. 따라서 두 최고점 중에서 더 낮은 값이 노이즈 에 의한 이고, 더 높은 값이 실제 이다.
5. 제안된 알고리즘
5.1 전처리
산소포화도 측정 장치의 데이터에는 장치 노이즈가 포함되어 있으므로 이를 제거해 주어야 한다. 장치 노이즈가 제거된 PPG 신호를 AC 성분과 DC 성분으로 구분하여 표현한 식을 식 (11) 과 식 (12)에 나타내었다.
(11)
(12) AC 성분과 DC 성분을 이용하여 식 (13)와 식 (14)와 같이 측 정된 데이터를 0을 기준으로 정규화한다. Fig. 6은 정규화된 적 색광, 적외선광에 의한 PPG 신호이다.
식 (11)과 식 (12)를 정규화된 PPG 신호로 정규화 하면 식 (13) 과 식(14)와 같다.
(13)
(14)
여기서 은 정규화된 적색광의 PPG 신호이고, 은 정 규화된 적외선광의 PPG 신호이다.
5.2 잡음비의 계산
실제 측정되는 PPG 신호는 맥동(Pulsation)에 의한 신호 와 동잡음(Motion Artifact)에 의한 신호 으로 구성되어 있다. 그 러므로, 전처리 과정에 의해 정규화된 적외선광과 적색광을 표현하면 (15) (16) 임의의 상수 r 값을 식 (15)에 대입한 후, 식 (16)에서 빼주면 (17) 만약 라면,
(18) 만약 라면,
(19) r a S R
S IR ---
= r v M R M IR ---
=
r′
r r ′ r
r r
r ′ r a
S IR M IR
r ′ r v
M IR S IR
r
r
r r
I R N , I IR N ,
r = r a
r = r v
Fig. 6. Normalized PPG signals (Noise include)
그러나, 현재 우리는 와 를 모르고 있는 상태이다. 때문 에, 식 (19)에 절대값을 취한 후, 각 샘플링 신호의 합을 구하면 식 (20)과 같다.
(20)
여기서, 은 샘플링 개수이다.
만약, 이면, 식 (20)은
(21)
만약, 이면, 식 (20)은 .
(22)
식 (20)은 일 때 다음과 같은 부등식을 가진다.
(23)
식 (23)에 의해, 의 경우에서 최소값이 나타난다. 즉, 식 (20)에서 을 0%에서 100%의 값을 1%단위로 각각 계산하여 그 중 최소값을 가지는 값을 구할 경우, 그 때의 값이 값 이 된다.
5.3 동맥신호비의 계산
우리는 앞의 알고리즘을 통해 를 구할 수 있었다. 5.2절을 통해 구해진 를 이용하여 다음 식을 적용한다.
(24)
우리가 FFT를 이용하여 식 (24)의 주파수 성분을 분석하면, 잡음의 주파수가 제거되고, 원신호의 주파수만이 남은 것을 알 수 있다. 그러므로 FFT 분석을 통해 잡음이 거의 없는 원신호 의 주파수 를 파악한다.
실제 우리가 SpO
2를 계산하기 위해서는 가 필요하다. 잡음 비 를 구한 후, 동맥신호비 를 구하기 위해서 다음과 같은 식을 정의한다.
(25) 여기서 는 임의의 정수이다.
식 (25)을 풀면
(26) 만약 이면, 식 (26)은 단지 만 남게 된다.
우리는 이미 식 (24)의 FFT분석을 통해 잡음이 없는 원신호 의 주파수 를 알고 있기 때문에 간단하게 값을 조정하 여 원신호의 주파수 스펙트럼이 최소값을 갖는 를 찾으면 된다. 주파수 스펙트럼이 최소값을 갖는 는 다음과 같이 정 의된다.
(27)
이식을 정리하여 를 구하면
(28)
동맥신호비 를 구하는 알고리즘을 정리하면,
1) 의 FFT 분석하여 가장 큰 주파수
스펙트럼을 가지는 주파수를 로 결정한다. 여기서 는 잡음 이 없는 원신호의 중심 주파수이다.
2) , , , 로 놓는다.
3) 을 FFT하여 에서의 주파수 스펙트
럼 를 구한다. 여기서 f=0~5Hz 4) .
5) 만약 이면, 3)번을 반복한다.
그렇지 않으면, 가장 작은 주파수 스펙트럼을 가지는 인 을 구한다.
6) 만약, 이면 7)번으로 이동한다.
6) 만약 이면 9)번으로 이동한다.
6) 만약 이면 11)으로 이동한다
7) , , ,
8) 3) 번으로 이동한다.
9) , , ,
10) 3 번으로 이동한다.
11) 다음 식을 통해 를 계산한다,
12) 프로그램을 종료한다.
제안된 알고리즘은 여러번의 FFT 분석을 필요로 하기 때문 에, FFT의 반복을 최소화시키기 위하여 -100부터 +100까지를 10 단위로 계산하여 최소값을 구한 후, 그 근처에서 다시 0.1 단 위로 최소값을 계산하고 또 최소값 근처에서 0.01 단위로 계산 하는 방법을 사용하였다.
6. 실험결과
제안된 알고리즘의 실험을 위해 SpO
2시뮬레이터를 통해 선 정된 5개의 패턴의 정보와 그래프 모양을 Table 1과 Fig. 7에 r a r v
M r = r a
r = r v
r r ≠ a , r v
r = r v r
r r r = r v
r v r v
f o
r a
r v r a
K
K r a r v – r a ---
= – r v M IR
f o K
K K
r a
r a
r v I IR N , – I R N , = ( r v – r a )S IR
f o f o
K = – 100 K f = 100 R = 10 I = 1 K r ( v I IR N , – I R N , ) I – R N , K g k ( ) f
K = K R + K K ≤ f
K K min
I = 1 I = 2 I = 3
K = K min – 1 K f = K min + 1 R = 0.1 I = I 1 +
K = K min – 0.1 K f = K min + 0.1 R = 0.01 I = I 1 +
r a
r a K min r v 1 K + min ---
=
제시하였다.
제안된 알고리즘을 이용하여 구한 를 SPO2의 포화도(%) 로 환산한 결과를 Table 2에 제시하였다. Table 1과 Table 2의 비교로부터 2% 이내의 오차를 가진다는 확인하였다.
Fig. 8 은 Low Frequency 1에서 잡음이 제거된 신호의 모양을 보여주고 있다. 정확히 75 BPM으로 출력되었으며, 80%의 SpO
2는 가 거의 1이기 때문에 적외선광과 적색광의 크기가 거의 같게 출력된다.
7. 결 론
산소포화도 측정장치는 동잡음에 취약하다는 단점이 있기 때 문에 동잡음에 강한 산소포화도 측정 알고리즘을 제안하였다.
제안된 알고리즘의 세부 목적은 Masimo의 특허를 침해하 지 않으면서, 동잡음이 포함된 신호에서 2% 이내의 오차를 가 지는 산소포화도 측정 알고리즘을 개발하는 것이다. 이러한 세 부 목적을 달성하기 위해, 잡음비를 먼저 구하고 구해진 잡음 비와 FFT 분석을 이용하여 동맥신호비를 구하였다. 본 논문 을 통하여, 우리는 Masimo의 특허를 침해하지 않으면서 동잡 r a
r a
surement simulator
Preset Name SPO2Sat. Pulse Rate Motion Sat.
Motion Freq.
Normal 98% 55 BPM
Low Frequency 1 80% 75 BPM 93% 0.5 Hz
Low Frequency 2 70% 75 BPM 96% 0.5 Hz
Slow Tap 80% 75 BPM 100% 2 Hz
Asystole 91% 90 BPM 98% 1.1 Hz
Table 2. The results of the SpO
2measurement of the proposed algo- rithm
Preset Name SPO2 Sat. Pulse Rate Motion Sat.
Normal 98% 55 BPM
Low Frequency 1 80% 75 BPM 93%
Low Frequency 2 70% 75 BPM 97%
Slow Tap 79% 75 BPM 96%
Asystole 89% 90 BPM 98%
Fig. 7. The preprocessed PPG signals of pulse oximeter measurement simulator.
Fig. 8. Remove Noise of signal.
음이 포함된 신호에서의 산소포화도 측정 알고리즘을 제안하 고 검증하였다. 향후 연구로, 본 알고리즘의 처리속도 향상과 다양한 임상 데이터를 이용한 검증이 이루어진다면 더 많은 성취를 이뤄낼 것이다.
REFERENCES