1. 서 론
경제의 발전과 더불어 고령화 사회에 접어들게 되면서 사람들이 스스로의 건강에 관심이 높아지고 자신의 신체에서 얻을 수 있는 정보에도 민감해지고 있다. 인체에서 측정 가능한 정보로는 호흡이나 체온에서부터 심전도나 혈압, 맥파가 있으며 근전도나 피부저항 및 뇌파 등 매우 다양하다. 이러한 정보 중 맥박은 자신의 건강을 확인 할 수 있는 가장 기본적인 신호라 할 수 있다[1][2]. 2012년 통계청 자료에 의하면 심혈관계 질환으로 인한 사망자수가 암에 이어 두번째로 높다. 심혈관계 질환 중 심장 발작의 경우 수분 내에 응급처치가 이루어지지 못하면 뇌에 손상이 오기 시작하여 심각한 장애는 물론 사망에 이를 수도 있다. 이러한 심혈관계 질환을 진단하는 방법으로 초음파나 MRI, CT 등 다양한 방법이 있으나 시간 및 방사능 피폭 등의 단점을 가지고 있다. 이에 비해 PPG는 심장 운동에 의한 혈액과 혈관의 변화를 빛의 흡수 및 반사를 통하여 측정하기 때문에 비 침습적이면서도 쉽고 간단하게 심혈관계 질환을 검사 할 수 있다[3][4].
PPG 측정은 대부분 손가락 끝 부분에서 이루어진다. 손가락 끝의 경우 뼈가 없고 피부가 얇아 투과형이나 비 투과형의 측정 방식을 가리지 않고 측정 할 수 있기 때문이다. 그러나 손가락에서 측정을 하게 되면 측정하는 동안에는 다른 행동에 많은 제약을 동반하게 된다. 손가락의 작은 움직임으로도 혈류량의 변화가 생기고 측정 소자의 흔들림 및 부착된 부위의 흔들림으로 정확한 PPG 파형을 얻을 수 없어 정확한 맥박을 검출하기 어렵기 때문이다.
또한 같은 사람이 측정하더라도 측정위치가 조금이라도 변하면 파형의 크기가 변하게 되어 MCU에서 정해놓은 기준에 부합하지 않게 될 경우 맥박 수 측정 자체가 불가능해 질 수도 있다.
이러한 움직임에 의한 변화 외에도 맥박 검출을 방해하는 요인으로 잡음이 있다. 아날로그 필터처리를 하여 상당히 깔끔한 파형을 얻을 수 있지만 잡음을 완전히 제거 할 수는 없다. 이러한 잡음은 PPG의 특징점의 정확한 확인에 영향을 미쳐 결국 맥박 수 추정을 방해하는 요인이 된다.
따라서 본 논문에서는 보다 설치가 간편하고 행동의 제약이 적은 손목의 요골동맥에서 PPG를 측정하여 움직임의 방해를 줄이고 작은 잡음은 지수가중 이동평균필터를 통해 ADC값을 보정하여 더욱 깔끔한 파형을 확인하였다. 또한 간편하면서도 정확한 맥박의 측정을 위해 측정 위치에 상관없이 없도록 디지털 가변저항으로 증폭을 유동적으로 변하게 할 수 있는 디바이스를 개발해 Patient Monitor와 비교하여 확인하였다.
2. 본 론
PPG는 심장의 운동으로 수축과 이완을 반복하면서 혈류량 변화에 의한 혈관의 부피가 변하게 된다. 이때 940nm대역의 발광 소자에서 방출된 파장이 반사되거나 통과되어온 광량을 수광 소자를 통해 검출하여 전기적 신호로 측정하는 방식이다. 이와 같은 방법으로 얻은 혈관의 변화를 그래프로 나타낸 것이 그림 1과 같은 PPG 파형 그래프이다. PPG는 좌심실 수축의 시작지점부터(S) 최대 수축지점(P), 수축의 감소와 대동맥 벽의 팽창지점(T)과 혈액 유출의 감소시점(C) 그리고 변막과 심근의 탄력파(D) 등의 모습으로 나타난다. P점과 S점을 활용하여 맥박의 횟수를 측정 하는 것이 가능하다.
그림 1PPG 파형 Fig. 1 PPG wave
그림 2에서는 발광 소자에서 나온 광이 인체 조직에서 받는 영향을 나타낸다. 흡수된 빛의 양이 가장 적은 점을 심장 최대 수축지점 P라 하면 P점과 P점 사이는 심장 박동 주기가 되며 이를 활용하여 맥박을 구할 수 있다. 그리고 맥에 의하여 변화가 생기는 부분을 맥동 성분이라 하고 AC 성분으로 표현이 되며 비 맥동 성분은 뼈, 피부 등 시간에 따라 변하지 않는 체내 성분을 의미하며 DC 성분으로 표현한다[5].
그림 2동맥혈의 맥동성분에 의한 광의 세기 변화 Fig. 2 Light intensity variance by arterial pulsation
그러나 손가락에서의 측정은 부착에 어려움이 있으며 움직임에 매우 민감하다. 다른 곳에서 측정 하고자 할 때 혈관이 있는 곳이라면 어디서든 측정이 가능하지만 두드러지게 나타나는 팔꿈치 안쪽이나 겨드랑이와 같은 위치는 움직임의 폭이 넓어 적합하지 않다. 따라서 비교적 움직임의 폭이 좁고 혈관이 두드러지게 나타나는 손목의 요골동맥(Radial Artery)에서 PPG를 측정 하고자 하였다. 손목에서 PPG파형을 얻으려면 그림 3과 같이 요골동맥에서 측정을 하는 것이 유용하다. 요골동맥은 손목 바로 위에서 요골과 피부 사이를 지나기 때문에 쉽게 감지가 가능하여 맥을 짚을 때도 많이 사용되는 부위이다. 보다 좋은 요골동맥에서의 측정을 위해서 수광 소자와 발광 소자를 소자의 중심 기준으로 7mm 간격으로 배치하여 광량을 검출 할 수 있도록 하였다[6].
검출된 신호는 발광 소자 외의 광원에 의한 광량이나 전원 등의 잡음이 섞이게 되며 실제 측정된 변화의 크기도 매우 미세하기 때문에 OP-Amp를 통하여 잡음의 감소와 신호의 증폭을 동시에 진행한 후 디지털 가변저항을 통해 신호를 유동적으로 증폭하여 MCU를 통한 일반화된 특징점 검출을 할 수 있도록 하였다. 특징점을 제대로 검출하기 위해서는 파형이 부드럽게 연속되어야 한다. 그러나 아날로그의 미세한 잡음 및 MCU에서의 계산으로 인한 딜레이로 생기는 오차로 파형이 일그러지게 된다. 따라서 MCU 내부에서 디지털 필터를 통해 오차를 줄이고자 하였다.
그림 3요골동맥 및 측정 부위 Fig. 3 Radial Artery and measure position
2.1 PPG 측정 시스템
PPG를 측정하는 방법은 크게 반사형과 투과형으로 나뉜다. 투과형의 경우엔 뼈가 없어 빛의 통과가 비교적 쉬운 손가락 끝에서 이루어지는 경우가 많다. 반사형은 통과형과 같은 제약이 없어 혈액이 흐른다면 신체 어디서든 측정이 가능하다. 본 논문에서는 요골이 존재하여 통과가 어려운 요골동맥에서 측정하므로 반사형을 선택하였다.
수광 소자를 통해 들어온 전기적 신호는 외부 광원이나 전원, 그리고 호흡 등에 의한 잡음이 섞이게 되고 크기 또한 작아 바로 사용하기에 제약이 있다. 따라서 OP-Amp를 활용하여 PPG 신호 대역의 주파수를 제외한 나머지 부분을 필터링 하고 그 신호를 증폭하여 사용하도록 하였다. 신호의 증폭이 고정되어있다면 사람마다 다른 피부나 혈관의 두께로 인해 매 측정 시 검출되는 파형을 확인하면서 측정부위를 탐색해야 한다. 이러한 번거로움을 줄이기 위하여 고정적 배율로 신호를 증폭한 후 디지털 가변저항을 통하여 증폭된 신호의 크기에 따라 진증폭 비율을 조절하여 최종적으로 일정한 크기의 신호가 나타날 수 있도록 하였다.
0.5Hz에서 5Hz 사이가 PPG 신호 대역 주파수이기 때문에 고역 통과 필터와 저역 통과 필터를 동시에 각 2회 적용하여 잡음을 줄였다. 미처 제거하지 못한 부분은 ADC 후 MCU에서 디지털 필터를 적용하여 잡음을 제거하도록 하였다.
2.2 시스템 구동 알고리즘
3.3V 구동의 96MHz 클록 MCU를 사용하여 실시간으로 ADC를 하여 그 값을 지수가중 이동평균필터를 통해 잡음에 의한 값을 보정하였다. 지수가중 이동평균필터는 예전 값의 비중의 정도가 다를 뿐 값이 누적된다. 정확한 파형을 ADC하기 전에 적용 된다면 실제 값과 차이가 심하게 날 수 도 있기 때문에 안정된 파형이 검출되기 전엔 적용하지 않고 증폭이 조절되어 안정적인 파형이 검출되는 순간부터 지수가중 이동평균필터를 적용하여 오차를 최대한 줄이고자 했다. ADC값이 기준 범위에 들어오지 못하는 시간이 2초를 넘어간다고 판단되면 MCU가 통신을 통하여 디지털 가변저항의 값을 높이거나 낮추게 된다. 이러한 조절을 통해 기준 범위에 ADC값이 측정되면 디지털 필터를 적용한 후 최대 수축 지점인 P점을 검출한다. P점이 검출된 순간부터 다음 P점이 검출 될 때 까지 시간을 측정한다. 측정된 시간은 식(1)의 계산식을 통해 최대 수축 지점 사이 시간을 통한 분당 맥박 수를 추정한다.
추정된 맥박은 오래된 값을 지우고 최신의 값으로 대체해 나가며 총 8개를 저장한다. 저장된 값들의 평균으로 최종 맥박을 추정한다. 전체적인 시스템 구성은 그림 4와 같다. 그래프의 측정은 오실로스코프로 진행하였으며 추정된 맥박이나 가변저항 값은 USB serial통신을 통해 PC에서 확인하였다[7].
그림 4시스템 알고리즘 Fig. 4 System algorithm
2.3 디지털 가변저항
디지털 가변저항은 작은 저항 여러 개를 내부에 배치해 놓고 전기적 신호를 통하여 여러 저항 중 일부를 연결해 저항의 크기를 바꿀 수 있는 가변저항이다. 내부 저항의 크기가 대체로 일정하여 특정한 분해능을 가지고 있다고 판단하여 조작할 수 있다. 이러한 디지털 가변저항은 조작방식에 따라 크게 2가지로 구분 할 수 있다. 먼저 +와 –신호를 주어 저항을 한 단계씩 조절하는 방법과 MCU와의 통신을 통해 조작하는 방법이 있다. +와 –신호를 주는 방식은 외부스위치를 통해 조작하는 방법과 MCU에서 전기적 신호를 주어 조작하는 방법이 있고 통신을 통한 방법으로는 SPI와 I2C 등의 통신으로 이루어진다. 통신이 가능한 소자의 경우 MCU가 일방적으로 신호를 보내기만 할 수 있는 소자와 소자의 현재 상태를 Serial Data Output을 통해 MCU에서 수신까지 가능한 소자가 있다.
본 논문에서는 SPI를 통해 통신 제어가 가능하고 MCU에서 일방적으로 신호를 보내 저항을 제어하는 AD8400 중 50kΩ을 사용하였다. 일방적으로 신호를 보내지만 256의 분해능을 가지고 있기 때문에 현재의 저항을 추정 할 수 있어 0.5배에서 7배 까지 증폭이 되도록 제작하였다. 그림 5는 가변저항을 적용하기 전과 후의 그래프이다. MOSI (Mater Out Slave In, SPI 통신)신호가 100이며 약 3배로 증폭이 되어 Peak to Peak가 MCU P점 판단 기준에 맞는 파형을 출력되었다.
그림 5디지털 가변저항 적용 전후 Fig. 5 Before and After apply Digital potentiometer
2.4 디지털 필터
ADC를 통해 MCU에서 신호를 획득 할 때 아날로그 단에서 정확한 파형을 나타내지 못한다면 결과 값을 예측 할 수 없을 것이다. PPG 신호를 얻기 위해 아날로그 필터를 사용하지만 미약한 고주파 잡음까지 제거하기엔 무리가 있다. 따라서 일정 수준의 아날로그 필터 후 디지털 필터로 값을 보정한다면 보다 정확한 계산이 가능할 것이다.
2.4.1 평균필터
평균필터는 데이터의 총 합을 데이터의 개수로 나눈 값이다. 배치식은 식(2)와 같으나 모든 데이터를 저장해야하기 때문에 식(3)과 같은 재귀식을 활용한다.
식(3)에서처럼 하나씩 차례로 입력되는 데이터의 평균을 계산할 때 유용하나 측정하고자 하는 값이 시간에 따라 변하면 평균필터에서는 데이터의 동적인 변화는 모두 없애고 측정된 값을 하나의 값으로 내놓기 때문에 데이터의 변화를 적절히 따라가지 못하여 PPG와 어울리지 않는다.
2.4.2 이동평균필터
이동평균필터는 측정된 모든 데이터를 사용하지 않고 데이터의 최근 측정값 일부만을 사용하여 계산한 평균이다. 이동평균 필터의 재귀식이 존재하나 배치식과 동일하게 최근 측정값 일부를 저장해야 하므로 구분 없이 사용되고 있으며 배치식은 식4와 같다
이동평균필터의 장점은 고주파 잡음과, 지속적으로 반복되는 동잡음 제거에 유용하고 PPG 신호의 급작스런 변화에 유용하다. 그러나 호흡과 같은 아주 낮은 주파수의 잡음에는 취약하며 동잡음의 진폭이 큰 경우엔 각 데이터의 가중치가 동일하여 성능이 제한적이다. 성능을 높이려 계산에 사용하는 값의 수를 늘리면 신호의 특징점을 훼손 할 우려뿐만 아니라 최근 데이터 저장 개수가 증가하면서 생기는 MCU의 부담도 늘어난다.
2.4.3 지수가중 이동평균필터
먼저 지수가중 이동평균필터의 재귀식은 식(2)와 같다.
식5로 얻은 값은 평균은 아니기 때문에 추정값이라고 한다. α를 조절하여 최근 측정값과 과거 추정값의 비중을 조절 할 수 있다. α가 0보다 크고 1보다 작은 상수이며 α가 크면 과거 추정값의 가중치가 올라가 필터의 성능은 향상되지만 신호의 변화 추이에 둔감해지며 시간의 지연이 커지게 되고 α가 작으면 최근 측정값의 가중치가 올라가게 된다. α의 값을 알맞게 조절하면 주기적이지만 변화가 다양한 PPG의 특성을 살려 특징점을 훼손하지 않고 잡음 제거를 할 수 있다. 또한 식에서 보듯 재귀식이 간단하여 여러 값을 저장할 필요 없이 최근 값과 직전 추정값만 사용하기 때문에 MCU의 부담이 줄어든다. 미약한 고주파 잡음을 제거하기 때문에 지수가중 이동평균필터는 저주파 통과 필터라고도 부른다[8].
본 논문에서는 지수가중 이동평균필터를 사용하여 ADC할 때의 오차와 MCU에서의 계산으로 발생하는 딜레이로 발생하는 잡음을 줄여 보다 안정적인 파형을 나타 낼 수 있도록 진행하였다.
2.5 그래프 비교
그림 6에서 (a)는 ADC된 신호를 PC로 출력하여 나타낸 그림이고 (b)는 일반 이동평균필터를 적용한 그림이며 (c)는 디지털 필터로 지수가중 이동평균필터를 거친 값을 PC로 출력하여 그래프로 나타낸 파형이다. PC와의 통신에서 발생하는 딜레이로 동시에 모든 파형을 출력하는 경우엔 파형이 많이 일그러져 신호의 측정을 나누어 진행하였다. (a) 그림에서 보이듯 PC로의 출력이 발생하는 부분에서 약간의 지연이 발생하여 일정한 곡선을 유지하지 못하였다. 또한 표시해 놓은 부분에서 확인 할 수 있듯이 미세한 잡음으로 인해 정상적인 하강 및 상승 곡선에서 반전되어 진행되는 경우도 발생한다. (b) 그림에선 매 측정마다 n개의 값을 저장한 후 계산을 진행한다. 재귀식으로 변환하여 사용하더라도 n개의 값을 매번 저장해야 한다. 그로인해 MCU에서 처리해야 할 계산이 증가하게 되며 이로 인해 ADC 획득이 늦어지게 되어 오히려 좋지 못한 파형을 나타내었다. (c) 파형은 지수가중 이동평균필터를 거친 파형인데 재귀식에서 볼 수 있듯이 계산이 간단하여 ADC값을 획득할 때 발생하는 오차와 잡음을 제거하여 보다 깨끗하게 파형을 나타냄을 알 수 있다. 지수가중 이동평균필터에서 α는 0.3으로 정하였는데 이는 따로 계산 한 것이 아니라 획득한 값 사이의 시간 간격이나 파형의 기울기 변화의 민감성을 고려하여 실험을 통하여 값을 정하였다.
그림 6(a) PC로 전송한 ADC 그래프 (b) 이동평균필터를 적용하여 PC로 전송한 그래프 (c) 지수가중 이동평균필터를 적용하여 PC로 전송한그래프 Fig. 6 (a) Send to PC ADC graph(b) Send to PC after Moving average filter graph(c) Send to PC after EWMA filter graph
2.6 실험 및 Patient Monitor를 통한 검증
10명의 피험자를 대상으로 손목에서 측정하도록 제작한 디바이스와 시중의 Patient monitor를 동시에 측정하여 비교하는 실험을 진행했다. 피험자는 편안한 자세로 앉아 오른손의 손가락에 Patient monitor의 PPG 측정 센서를 부착하고 왼손 손목 요골동맥에 제작한 디바이스를 고정시킨 후 두 기기 오실로스코프와 Patient Monitor를 통해 안정된 파형을 나타낸다고 판단되면 10초 후 측정한 값을 표 1에 기록하였다.
표 1Patient Monitor와 디바이스로 측정한 맥박 Table 1 Measured Pulse with Patient Monitor and Device
표 1에서 Paitent 모니터와 디바이스를 비교했을 때 정확도는 99.6%로 나타났다. 오차 발생의 원인으로는 제작된 디바이스로 측정하여 맥박을 계산 할 때 현재의 P점과 직전의 P점간의 시간차로 구한다. 그러나 C언어의 특성상 조치를 취하지 않으면 소숫점 이하 부분은 버리는 결과나 나타나기 때문에 디바이스에서 오차가 나는 부분은 Patient Monitor보다 맥박의 수치가 적게 나타나게 되었다.
종종 발생 할 수 있는 오차를 보정하기 위해 최근 8회의 맥박으로 이동평균필터를 실시하여 그 평균으로 최종 맥박을 추정한다. 안정된 상태에서 맥박의 수는 일정하므로 데이터마다 같은 비중을 가지는 이동평균필터를 적용하여 순간적으로 발생하는 오차를 줄일 수 있다.
3. 결 론
본 논문에서는 손목의 요골동맥에서 PPG를 측정하는데 있어 정교한 위치나 조치를 취하지 않고 증폭률을 자동으로 조절하여 MCU가 판단하기 용이하도록 파형을 조절하고 ADC를 통해 입력된 신호를 디지털 필터 처리하여 잡음을 더욱 줄여 맥박 판단에 있어 오차를 줄이도록 하였다.
디지털 가변저항의 활용으로 자동으로 증폭률을 변화시킬 수 있어 사람마다 요골동맥의 위치와 피부의 두께가 다르더라도 같은 조건에서 맥박을 측정할 수 있는 것이 가능했다.
미약한 고주파 잡음은 OP-Amp를 통한 복잡한 필터의 설계나 필터의 차수를 높여야 제거가 가능하다. 그러나 디지털 필터를 활용하면 미약한 고주파에 의한 잡음을 제거할 수 있게 되었다.
통신을 통하여 PC로 출력할 때 PC와의 통신을 위한 시간이 존재하여 고속의 MCU임에도 불구하고 약간의 시간이 지연되었다. 그로인하여 출력을 해야 하는 특정 구간에서 ADC를 실시하지 못하게 되는 것을 DAC를 실행 한 결과로 알 수 있었다. 그러나 그 시간이 매우 짧고 맥박을 추정하는데 영향을 주지 못하는 구간이기 때문에 무시할 수 있는 정도였다.
측정된 맥박은 총 8회의 최근 추정 맥박으로 이동평균필터를 실시하여 오차를 줄여 Patient monitor와 비교하였을 때 99.1% 정확도를 보일 수 있었다.
본 논문에서 적용한 소자와 기술을 활용하면 보다 사용하기 쉽고 정확한 기본적인 건강검진 시스템으로 적용 할 수 있을 것이다.
향후 본 연구를 기반으로 LCD에 맥박 및 PPG 파형을 나타내어 이동성을 보장하여 일상의 움직임에 대한 제약을 줄이고 심도있는 관찰이 가능하도록 할 것이다. 또한 Wireless를 적용하면 휴대폰이나 다른 기기에서 확인이 가능하게 되어 확장성이 넓어지게 되므로 이를 통한 연구를 진행할 계획이다.
References
- In-Bok Jung and Kyung-Ho Kim, "A Study of Pulse Measurement on Radial Artery Using Digital Potentiometer", Proceedings of the Korean Institute of Electrical Engineers medical system Conference, pp. 102-104, Feb. 2014.
- Wilmer W. Nichols, "Clinical Measurement of Arterial Stiffness Obtained From Noninvasive Pressure Waveforms", American journal of hypertension Vol.18, No.1, pp. 3s-10s, 2005.
- Enkhdorj Rentsendorj, "The relationship between brachial-ankle pulse wave velocity and the parameters of abdominal aortic stiffness in high risk patients for cardiovascular disease" ,Master's thesis of HanYang University, 2009
- Jeminsong, Gyehwan Jin, Sungboseo, Jengseok Park, Sangbok Lee, Keunho Ryu, "Design and Implementation of a Prediction System for Cardiovascular Diseases using PPG", The Korean Society of Radiology, Vol.5, No.1 , pp.19-25, 2011. https://doi.org/10.7742/jksr.2011.5.1.019
- Kim Kyung-Ho, "A study for measurement of radial artery oxygen saturation system using photoelectric plenthysmography", Proceedings of the Korean Society of Computer Information Conference, 2010-15-3-1-2, March 2010.
- Yilin Song, Shumei Gao, "Study on the Optimal Method for Photoplethysmograph Measurement at radial Artery", Bioinformatics and Biomedical Engineering, 2010 4th International Conference on, pp.1 - 4, 2010.
- Lee Hyun-Chang, "Thinking and learning C++", Hanbit-media, 2005.
- Kim Seong-Pil, "Essential Kalman Filter", A-jin, 2010.
Cited by
- Sensor Abstraction for U-health Application Development: Filtering and Summarization for Accuracy Enhancement vol.19, pp.5, 2015, https://doi.org/10.12673/jant.2015.19.5.446