DOI QR코드

DOI QR Code

Duplicated ECG signal decomposition

이중 심전도 신호의 분리 방법

  • Kim, Do-Yeon (Department of Information Communication Engineering, Chungbuk National University) ;
  • Kang, Hyun-Soo (Department of Information Communication Engineering, Chungbuk National University)
  • Received : 2014.12.24
  • Accepted : 2015.02.02
  • Published : 2015.02.28

Abstract

This paper presents a new method to decompose a duplicated ECG signal, which is measured from two people, to two individual ECG signals. In paper, it is shown that the duplicated ECG signal can be decomposed, provided that their SAECG signals are known. As the SAECG signal is the average of a ECG signal, it is a feature to identify individual ECG signals from the duplicated signal. Since the ECG signal is nearly periodic, so-called heart-rate, the period of each ECG signal can be found by using the autocorrelation of the duplicated signal, That is, the autocorrelation has high peaks at the multiple instants of heart-rate of each person. With the heart-rate of each person obtained by some processing, all R-peaks are identified by the SAECG signals. To be concrete, the SAECG signal of each person is repeatedly placed at the R-peak instants with his heart-rate, and the weight of each SAECG signal is computed by LMSE optimization. Finally, as adding the error signal in the LMSE optimization processing to the weighted SAECG signal, each individual ECG signal is obtained. In experimental results, we demonstrate that the duplicated ECG signal is successfully decomposed into two ECG signals.

본 논문에서는 두 사람의 합쳐진 심전도 신호를 분리하여 개인의 심전도 신호로 복원하는 방법을 제안한다. 합쳐진 심전도 신호를 분리하기 위해, 두 사람의 평균 심전도 신호를 사전에 측정하여 가지고 있다고 가정한다. 평균 심전도 신호는 합쳐진 심전도 신호에서 개인의 심전도 신호를 식별하는데 활용될 수 있다. 심전도 신호는 거의 주기 신호의 특성을 가지고 있기 때문에, 자기상관성을 구하면 심박 수의 배수마다 높은 피크 값을 가진다. 이를 통해 각 개인의 심박 주기를 파악할 수 있다. 파악된 두 사람 각각의 주기와 평균 심전도 신호를 이용하여 각각의 R-peak가 어느 사람의 R-peak인지 분류할 수 있다. 즉, 각 사람의 평균심전도 신호를 찾아진 R-peak위치에 배치하여 각 사람의 심전도신호의 추정신호를 만든 뒤 각 신호에 가중치를 얼마나 줘야 하는지 LMSE 최적화를 통해 계산된다. 이 가중치를 기반으로 복원신호를 만들어낸다. 이 복원신호에 에러 신호를 각 복원신호의 비율만큼 더해주는 추가 보정작업을 거침으로써 보다 실질적인 신호로 복원한다. 실험 결과를 통해 합쳐진 심전도 신호가 성공적으로 개인의 심전도 신호로 분리되는 것을 알 수 있다.

Keywords

Ⅰ. 서 론

최근 U-헬스케어 기술의 발전에 따라 병원, 보건소 등의 전문 기관에서 측정, 분석하던 심전도 신호를 일상생활에서도 쉽게 접할 수 있게 되었다. 스마트 워치와 같은 웨어러블 디바이스는 대부분 맥박 수 정도를 체크하여 사용자에게 콘텐츠를 제공하는 방식으로 개발되어 있다. 패치형 심전도 측정기와 같은 웨어러블 디바이스 또한 주 기능인 심전도 신호 측정 기능 외에도 활용이 가능하도록 다양한 콘텐츠 응용 연구 개발이 활발하다[1-3].

본 논문에서는 휴대용 심전도 신호 측정 기기로 측정한 두 사람의 심전도 신호의 분리 방법을 제안한다. 두 사람이 손을 잡은 상태에서 각 사람의 한쪽 손을 측정 기기에 접촉함으로써 두 사람의 합쳐진 심전도 신호를 얻을 수 있다. 합쳐진 신호를 각 사람의 평균 심박신호를 이용하여 분리하는 방법을 제안한다.

기존의 신호 분리 방법으로는 먼저 PCA를 기반으로 한 신호 분리 방법이 J. He[4], S. Xie[5] 등에 의해 연구되고 있다. 이는 대표적인 특징 추출 방법이나, 심전도 신호를 분리하는 경우에 있어서 여러 잡음이 섞여있는 경우 많은 계산량을 요구한다. 또한 푸리에 변환을 이용한 주파수 대역 분리방법이 J.He[6], T.Yamada[7] 등에 의해 연구되어 왔다. 중첩된 신호에서 특정 주파수 신호만을 분리할 수 있는 방법으로, 심전도 신호의 분리에 사용하기에는 개인의 심적 변화 등으로 인한 맥박수 변화가 크게 작용한다는 점이 중첩된 심전도 신호 분리에 부적합하다. 또 다른 신호 분리 방법으로는 경험적 모드 분해(EMD:Empirical Mode Decomposition) 를 이용한 성분 추출 방법 등이 있다. F. Agrafioti[8], M. Park[9] 등에 의해 연구되고 있는 방법으로, 내재모드함수들을 추출하는 방법이다. 이 방법은 신호의 모든 국소 극값을 반복적으로 식별하기 때문에 계산 과정이 복잡하다는 단점을 가지고 있다. 이와 비교하여 본 논문에서는 일정한 심박 파형이 주기적으로 나타나는 심전도 신호의 특징을 이용하여 신호 분리를 구현하였다.

제안된 방법은 휴대용 심전도 신호 측정기기를 주 활용 용도 외의 오락적 분야로 사용하기 위해 개발되었다. 평소의 심전도 신호 상태와 분리된 심전도 신호 상태의 변화를 분석하여 두 사람의 상호 호감도 측정 등의 분야에 활용될 수 있다. 두 사람이 접촉하기 이전의 평상시 심전도 신호와 두 사람이 접촉한 후의 심전도 신호에는 맥박 수의 변화가 발생한다. 이러한 점에 착안하여 두 사람이 서로 접촉하기 전에 각 사람의 평균 심전도 신호를 측정한 결과를 바탕으로, 두 사람이 접촉한 상태의 합쳐진 심전도 신호에서 각 사람의 심전도 신호를 분리해내어 심전도 신호의 변화를 분석함으로써 상호 호감도 측정 등에 활용할 수 있다.

합쳐진 심전도 신호의 분리를 위해서 측정 시점 이전의 평소의 평균 심전도 신호[10]를 계산한다. 이를 바탕으로 합쳐진 신호를 분리하는데 활용된다. 앞에서 언급한 바와 같이 분리한 신호의 분석 결과를 통해 두 사람의 상호 호감도와 같은 오락적 요소 등의 콘텐츠를 사용자에게 제공할 수 있을 뿐만 아니라 심전도 분리 알고리즘을 통하여 임산부와 태아의 심전도 신호의 분리 [11] 등의 분야에도 활용될 수 있을 것으로 기대한다.

 

Ⅱ. 제안 방법

본 논문에서는 평균 심전도 신호를 가지고 있는 두 사람이 함께 측정한 심전도 신호를 분리하는 방법에 대하여 제안한다. 제안하는 방법의 전체 알고리즘은 그림 1과 같다.

그림 1.제안하는 전체 알고리즘 Fig. 1 Suggested algorithm of whole system

2.1. 신호 구간 분할

두 사람의 중첩된 심전도신호 C를 입력 신호로 한다. 심장 박동 수가 시간에 따라서 변화할 수 있기 때문에, 일정 구간만큼 분할하여 해당 구간별로 제안하는 알고리즘을 수행한다. 그림 2는 구간분리의 사례를 보여준다.

그림 2.전체 신호의 구간 분할 Fig. 2 Region division of the whole signal

2.2. 전처리 과정

분할된 각 신호에 대하여 Pan & Tompkins의 알고리즘[12]을 사용하여 R-peak를 검출한다. 그 후 R-peak 값을 포함하는 일정부분 구간을 제외한 나머지 성분들을 전부 0으로 하는 전처리 필터링 과정을 거친다. R-peak 외의 부분을 0으로 처리하는 이유는 주기의 검출을 위해서는 R-peak 근처의 다른 파형이 주기 검출에 장애요인으로 작용하기 때문이다.

그림 3.전처리 필터링 전후 과정의 예 Fig. 3 Example of before and after pre-processing filtering process

2.3. R-peak 주기 검출

전처리 과정을 통한 심전도 신호 C를 auto-correlation 수행 과정을 통해 A,B 각 사람의 주기 i, j 를 검출한다. 주기 검출 과정 과정은 그림4와 같다.

그림 4.R-peak 주기 검출 알고리즘 Fig. 4 R-peak period detection

Auto-correlation 결과에서 앞부분의 특정 구간 결과 값들은 신호의 R-peak 주기와 관계없는 값을 가질 수 있기 때문에 이 또한 일정 구간을 0으로 만드는 후처리 과정을 거친다. 즉, 주기 검출 결과 정상 맥박주기로 판단할 수 없는 범위를 0으로 처리한다.

그림 5.Auto-correlation 결과와 전처리 과정 Fig. 5 Auto-correlation result and pre-processing

후처리 과정을 거친 auto-correlation 결과에서는 일정 간격으로 peak가 존재한다. 이는 심전도 신호의 주기적 특성상 높은 값을 가지는 peak 값은 두 사람의 심전도신호(A, B) 중 한 사람의 주기이다. 결과 값의 전체 구간에서 4개의 상위 peak를 찾으면 시작점과 처음 나타난 두 개의 peak의 위치 값의 2배수 형태로 peak가 존재하게 된다. 이를 주기 i, j로 정한다.

2.4. R-peak 주기 검사

검출된 주기 i, j를 이용하여 신호 C 의 각 R-peak에 대하여 주기 검사를 하여 각 peak가 i, j 중 어느 주기에 해당하는 R-peak인지 검사하는 과정의 알고리즘은 그림 6과 같다.

그림 6.R-peak 주기 검사 알고리즘 Fig. 6 Algorithm of R-peak period check

R-peak에 대하여 검출한 주기 i 간격 이후로 R-peak가 존재하게 되면 두 R-peak는 주기 i를 갖는 사람의 R-peak로 판단한다. 이를 신호 C의 전체 R-peak에 적용하게 되면 주기 i, j에 해당하는 R-peak를 찾을 수 있다. 그러나 두 사람의 R-peak가 서로 근접해 있는 경우 심전도 파형이 겹쳐 감쇄하거나 증폭된 하나의 심전도 파형으로 나타날 수 있어 신호를 분리하는데 방해 요소로 작용한다.

그림 7.R-peak가 중첩된 경우 Fig. 7 Example of each other close position present duplicated R-peak

이를 해결하기 위한 알고리즘은 그림 8과 같다.

그림 8.중복 R-peak 처리 알고리즘 Fig. 8 Algorithm of duplicated R-peak processing

R-peak가 동시에 주기 i, j에 해당하는 경우, A, B의 R-peak가 겹쳐있는 경우로 판단한다. 그 후, 분할된 구간의 처음이나 끝에 겹쳐진 R-peak가 존재하는 경우에는 이전, 이후의 A, B의 R-peak와 auto-correlation 수행 결과로 얻어진 주기만큼의 거리에 실제의 R-peak가 존재한다고 가정하고 R-peak의 위치를 확정한다.

2.5. 신호 분리 복원

검출된 주기 i, j가 A, B 중 누구의 주기에 해당하는지 검증 단계를 거치지 않았기 때문에 판단할 수 없다. 이는 A의 주기가 i이고 B의 주기가 j일 경우와, A의 주기가 j이고 B의 주기가 i일 경우의 두 가지의 경우의 수가 발생하게 된다. 따라서 각각의 경우의 수에 대한 추정 신호를 생성한다.

합 신호 C(n)을 분리하기 위해 획득한 주기 i, j와 기존에 가지고 있던 A, B 각 사람의 평균 심전도 신호를 이용한다. A의 평균 심전도 신호가 주기 i 로 반복되는Ai′(n)과 B의 평균 심전도 신호가 주기 j 로 반복되는 Bj′ (n)을 이용하여 합 신호 C(n)의 추정신호 (n)과, A의 평균 심전도 신호가 주기 j 로 반복되는 Aj′(n)과 B의 평균 심전도 신호가 주기 i 로 반복되는 Bj′(n)신호를 이용하여 합 신호 C(n)의 추정신호 (n)를 식 (1)과 같이 모델링한다.

이 때, 합 신호 C(n)과 추정신호 (n), (n)의 오차인 는 식(2)와 같다.

식(2)에서 구한 오차 를 최소화하는 α, β, γ는 LMSE(Least Mean Square Error) 최적화에 의해 식(3) 과 같이 Pseudo 역행렬로 주어진다.

이러한 과정을 통해 생성된 αAi'(n) + βBj'(n) , αAj'(n) + βBi'(n)을 각각 C(n)과의 상관계수를 비교하여 보다 높은 값을 가지는 경우를 복원신호 αA′(n), βB′(n)로 확정하게 된다.

이와 같은 방법으로 복원한 신호는 실제 신호와 비교하여 오차를 가지고 있다. 이러한 문제를 해결하기 위하여 식(4)를 이용하여 에러 신호 e(n)을 구한다.

식(1)에 나타난 바와 같이 추정된 중첩된 신호 (n)는 A'(n), B'(n)의 각각의 신호가 α, β의 비중으로 구성되므로 식(4)의 에러 신호 e(n) 역시 동일한 비중으로 분포한다고 볼 수 있다. 따라서 식(5), 식(6)과 같이 각 신호의 비율 α, β를 곱한 에러 신호 e(n) 를 각각 더해 추가적인 보정을 수행한다.

각 신호의 비율을 계산할 때, 분모가 0으로 수렴하여 에러 신호에 해당하는 가중치 비율이 1을 넘어가는 경우에서는 에러 신호 e(n)을 각각 같은 비율로 더해주도록 하였다. 이를 통해 해당 구간에 대한 αA'(n), βB'(n) 신호에 대하여 보정 작업을 거친 복원신호 (n), (n) 을 획득할 수 있다. 분할된 구간 영역의 각각의 복원신호를 합쳐서 최종적인 전체 구간의 복원신호를 얻는다.

 

Ⅲ. 실험 내용 및 결과

본 논문에서는 MIT-DB의 부정맥 데이터베이스를 이용하여 실험을 진행하였다[13]. 전체 48개의 부정맥 환자 데이터 중 실험에 사용한 신호는 잡음이 크게 포함되어 있지 않고, 정상 파형의 형태에 가까운 68세의 남자 데이터 116번, 51세의 여자 데이터 119번, 59세의 남자 데이터 205번, 87세의 여자 데이터 220번, 56세의 남자 데이터 234번의 5개 데이터를 이용하였다.

각 신호에 대하여 필터링을 통해 잡음을 제거한 후, 전체 길이에 대하여 평균 심전도 신호를 추출하였다. 또한, 심전도 신호는 측정 기기의 전극 간의 전위차를 측정한다. 두 사람이 접촉한 상태의 심전도 측정 기기의 측정 결과는 두 사람의 전위차의 합으로 나타나므로 각 데이터를 합친 신호가 신체가 접촉된 두 사람의 신호 C로 볼 수 있다. 접촉된 상태를 데이터베이스에 저장된 두 사람의 심전도 신호의 합으로써 모델링하였다. 이렇게 생성된 신호 C에 대하여 심전도 분리 알고리즘을 수행하였다. 각 신호의 sampling rate는 360Hz이며, 전체 길이는 10000sample 길이로 고정하였다. 분할 구간은 2000sample 길이로 분할하였다. 전체 합쳐진 신호에 대하여 2000샘플 길이로 구간 분할을 거친 뒤, 각 구간에 대하여 먼저 R-peak를 검출한다. 그 후 전처리 과정을 거친 auto-correlation 결과를 기반으로 하여 각 파형에 대한 주기를 검출하였다. R-peak에 대하여 검출된 주기에 해당하는 R-peak 판단 알고리즘을 수행하였다. R-peak 알고리즘 결과로 나타난 신호 αA1'(n), βB1'(n)과 αA2'(n), βB2'(n)에 대하여 C(n)과 상관 계수를 비교, 보다 높은 상관계수를 가지는 신호 쌍들을 복원신호 αA'(n), βB'(n)으로 확정한다.

그 후 복원 신호에 대하여 신호 e(n)을 (n) 이루고 있는 αA'(n), βB'(n)의 비율만큼 더해줌으로써 복원 신호에 대한 추가적인 보정작업을 진행하여 최종 복원신호 , 을 획득하였다. 그 후, 상관계수를 이용하여 원 신호와 복원 신호간의 유사도를 측정하였다. 이때, 측정한 상관 계수가 1에 가까운 값을 가지면 신뢰성이 높은 복원 신호를 획득하였음을 알 수 있다.

중첩된 신호를 제안한 알고리즘으로 분리한 결과는 그림9와 같이 나타난다. 10000 sample 길이의 합쳐진 신호를 제안하는 알고리즘을 이용하여 신호를 분리하였다. 전체 합 신호를 표 1과 같이 5개의 영역으로 실험을 진행하였다. 각 영역은 2000sample 단위로 분할하였다. 8000~10000sample 영역에서 B의 R-peak 하나가 갑자기 불규칙한 맥박을 나타내었다. 분리 결과, 복원 신호의 불규칙한 R-peak는 주변 다른 R-peak값보다 작게 나타났다. 하지만, 추가 보정작업을 수행하였기 때문에 타 영역과 비교하여 원 신호와의 상관계수는 크게 차이가 없는 것을 알 수 있다.

그림 9.원 신호 A, B와 복원 신호 , (a) 원 신호 A (b) 원 신호 B (c) 복원 신호 (d) 복원 신호 Fig. 9 The original signal A, B, and decomposed signal ,

표 1.구간별 α, β 값과 원 신호와의 상관계수 Table. 1 α, β value for each interval and correlation coefficients between original signals and decomposed signals

LMSE (Least Mean Square Error) 최적화 과정의 영역별 α, β와 영역별 복원 신호 , 과 원 신호 A, B간의 상관계수는 표1과 같다. 상관계수 측정 결과, 영역별 상관계수는 평균 0.9788정도의 값을 가지고 있으며, 전체 구간의 상관계수는 0.9806, 0.9776의 값을 가지기 때문에 신뢰성이 높은 복원 신호임을 알 수 있다.

다른 다양한 심전도 신호에 복원 신호 , 과 원 신호 A, B간의 상관계수는 표2와 같다. 전체 실험에 대해서도 상관계수는 평균 0.9720 정도의 높은 값을 가지기 때문에 신뢰성이 높은 복원 신호를 획득하였음을 알 수 있다.

표 2.전체 구간의 복원신호와 원신호간의 상관 계수 Table. 2 corelation coefficients between original signals and decomposed signals for whole interval

 

Ⅳ. 결 론

본 논문에서는 두 사람의 합쳐진 신호를 분리하여 개인의 심전도 신호로 복원하는 방법을 제안하였다. 중첩된 신호에서의 R-peak를 찾아낸 후, auto-correlation 을 수행하여 R-peak의 주기를 찾아냈다. 그 후, 두 사람의 평균 심전도 신호를 이용하여 R-peak를 일치시킨 후 최적화 과정을 거쳐 원 신호에 가깝게 복원하였다. 그 후, α, β, γ를 이용하여 복원 과정에서의 누락된 잔여 신호를 복원 신호의 비율에 따라 보정을 거친 최종 복원신호를 획득하였다.

제안한 알고리즘의 결과, 전체 구간에 대하여 신뢰성이 높은 복원 신호를 획득할 수 있었다. 기존의 연구 방식으로는 개인별로 고려해야 하는 변수가 크게 작용하고, 계산량이 많아 시간이 오래 걸리는 등의 단점이 있다. 반면, 제안하는 방법은 개인의 평균 심전도 신호를 이용하여 개인별로 고려해야 하는 변수가 적으며, 계산량이 적어 처리 속도가 빠른 장점을 가지고 있다.

향후 연구과제로는 제안한 방식을 보완하여 보다 신뢰성이 높은 복원 신호를 추출하고, 복원 신호의 사용 용도를 보다 넓히는 점이 필요하다. 또한 분리된 신호의 분석을 통해 U-헬스케어 기기의 엔터테인먼트 콘텐츠로 응용할 수 있는 연구개발이 필요하다.

References

  1. Isansys Lifecare Corporation. isansys products [Internet]. Available: http://isansys.com/.
  2. Corventis Corporation. corventis products [Internet]. Available: http://www.corventis.com.
  3. K Itao, T Umeda, G Lopez, and M Kinjo, "Human recorder system development for sensing the autonomic nervous system", IEEE Sensors, pp. 423-426, 2008.
  4. J. He, E. L. Tan, and W. S. Gan, "Time-shifted principal component analysis based cue extraction for stereo audio signals", IEEE Conference on Acoustics, Speech and Signal Processing, pp. 266-270, 2013.
  5. S. Xie, S.Krishnan, "Signal Decomposition by Multi-scale PCA and Its Applications to Long-term EEG Signal Classification", IEEE Conference on Complex Medical Engineering, pp. 532-537, 2011.
  6. J. He, E. L. Tan, and W. S. Gan, "Linear Estimation Based Primary-Ambient Extraction for Stereo Audio Signals", IEEE/ACM Transactions on Audio, Speech, and Language Processing, vol. 22, no. 2, pp. 505-517, 2014. https://doi.org/10.1109/TASLP.2013.2297015
  7. T. Yamada, D. Lee, H. Shiba, Y. Yamaguchi, and K. Uehara, "Signal Separation and Reconstruction Method for Simultaneously Received Multi-System Signals in a Unified Wireless System", Proc. 6th International Conference on IEEE, pp. 136-140, 2011
  8. F. Agrafioti, D. Hatzinakos, "An Enhanced EMD Algorithm for ECG signal processing", IEEE International conference on Digital Signal Processing, pp. 1-6, 2011.
  9. M. S. Park, D. Kim, H. S. Oh, "Empirical Mode Decomposition using the Second Derivative", The Korean Journal of Applied Statistics, vol. 26, no. 2, pp. 335-347, 2013. https://doi.org/10.5351/KJAS.2013.26.2.335
  10. Cain, Michael E., et al. "Signal-averaged electrocardiography." Journal of the American College of Cardiology 27.1, pp238-249, 1996.
  11. R. Sameni and G. Clifford "A review of fetal ECG signal processing: Issues and promising directions", Open Pacing, Electrophysiol. Ther. J., vol. 3, pp.4 -20, 2010.
  12. J. Pan and W. Tompkins, "A Real-Time QRS Detection Algorithm", IEEE Transactions on Biomedical Engneering, vol. BME-32, no. 3, pp. 230-236. 1985. https://doi.org/10.1109/TBME.1985.325532
  13. MIT-DB Arrhythmia Database [Internet]. Available: http://physionet.org/physiobank/database/mitdb/.