Transcript Document

생체신호 및 처리 실습
2016. 05. 25
Chang-Hee Han (PhD student)
Contents
I. Electrocardiogram (ECG)
① What is the ECG?
② Why is signal processing important to obtain normal ECG?
II. MATLAB practice
Electrocardiogram
ECG
• 정의
– 심장 운동 시 발생하는 전기적 신호를 전극을 사용하여 간접적으로 그래프로
나타낸 것
• 역사
– 1903년 네덜란드의 ‘빌렘 아인트호벤’이 처음으로 고안함
– 1970~1980년대에 활발히 연구되었으며, 현재 ECG 기술은 완성형에 가까움
– 현재 E-Health / U-Health로 불리는 원격 모니터링/진단 시스템이 주목을 받으며,
최근 들어서 ECG가 다시 각광을 받고 있음
COmputational NeuroEngineering (CoNE) Laboratory
Chang-Hee Han
1
ECG
COmputational NeuroEngineering (CoNE) Laboratory
Chang-Hee Han
2
ECG
심방 수축
심실 수축
COmputational NeuroEngineering (CoNE) Laboratory
심실 이완
Chang-Hee Han
3
ECG
COmputational NeuroEngineering (CoNE) Laboratory
Chang-Hee Han
4
ECG
ECG는 심장에서 발생하는 전기적 신호를 간접적으로 측정함!!
COmputational NeuroEngineering (CoNE) Laboratory
Chang-Hee Han
5
ECG
고주파 성분
(전원 주파수 60Hz)
저주파 성분
(움직임, 호흡)
기타 잡파
COmputational NeuroEngineering (CoNE) Laboratory
Chang-Hee Han
6
ECG
?
COmputational NeuroEngineering (CoNE) Laboratory
Chang-Hee Han
7
MATLAB practice
MATLAB practice
Mean RR interval / mean BPM (beat per min)
COmputational NeuroEngineering (CoNE) Laboratory
Chang-Hee Han
8
MATLAB practice
Raw
ECG
Signal
Low-pass Filter
High-pass Filter
(IIR with 3dB cutoff ~11Hz)
(IIR with 3dB cutoff ~5Hz)
Discrete
derivative
d
dt
Squaring
x(t ) 2
Integration
tu

tu
Decision
COmputational NeuroEngineering (CoNE) Laboratory
Adjusting
Threshold
Peak Detection
Chang-Hee Han
9
MATLAB practice
•
Low-pass filter는 고주파 성분을 없애기 위해서 사용된다.
(전원 노이즈 (60 Hz)나 muscle artifact 등…)
y[n]  2 y[n  1]  y[n  2]  x[n]  2 x[n  6]  x[n  12]
•
(1  z 1 ) 2
High-pass filter는 저주파 성분을 없애기 위해서 사용된다.
(motion artifact, 호흡 등…)
1
y[n]  ( 2 x[n]  x[n  1]  x[n  3]  2 x[n  4])
8
•
H (z) 
(1  z 6 ) 2
H (z)  z
16

1  z 32
1  z 1
MATLAB에서는 다음과 같은 단계로 필터링을 수행한다.
필터 계수 입력
(bx, ay)
filter(bx, ay, himpulse)
COmputational NeuroEngineering (CoNE) Laboratory
신호와 filter
결과를
convolution
Chang-Hee Han
10
MATLAB practice
•
Discrete derivative는 신호의 미분을 이산적으로 계산해줌으로써 신호의
slope정보를 제공한다. QRS신호의 급격한 기울기 정보를 얻는데 사용된
다.
1
y[n]  ( 2 x[n]  x[n  1]  x[n  3]  2 x[n  4])
8
•
Squaring은 음의 값을 모두 양수화를 시켜준다. 해당 알고리즘에서는 신
호의 증폭과 고주파 성분을 강조하는데 쓰인다.
y[n]  ( x[n]) 2
•
Integration(Moving-Window)는 지정된 샘플 길이 사이의 평균을 계산함
으로써 일종의 smoothing 작용을 한다. 해당 알고리즘에서는 R피크를 검
출하기 위하여 계산한 slope정보를 보충하기 위해서 쓰인다.
y[n] 
1
( x[n]  x[n  1]  x[n  2]  x[n  29 ])
30
COmputational NeuroEngineering (CoNE) Laboratory
Chang-Hee Han
15
11
신호 불러오기 및 그려보기
COmputational NeuroEngineering (CoNE) Laboratory
Chang-Hee Han
12
DC 컴퍼넌트 제거 및 정규화된 ECG 신호
COmputational NeuroEngineering (CoNE) Laboratory
Chang-Hee Han
13
Low-pass Filtering
COmputational NeuroEngineering (CoNE) Laboratory
Chang-Hee Han
14
High-pass Filtering
COmputational NeuroEngineering (CoNE) Laboratory
Chang-Hee Han
15
Derivative Filter
COmputational NeuroEngineering (CoNE) Laboratory
Chang-Hee Han
16
Squaring
COmputational NeuroEngineering (CoNE) Laboratory
Chang-Hee Han
17
Moving Window Integration
적절한 threshold를 설정하면 QRS complex가 있는 구간이 선택된다.
COmputational NeuroEngineering (CoNE) Laboratory
Chang-Hee Han
18
Thresholding
COmputational NeuroEngineering (CoNE) Laboratory
Chang-Hee Han
19
Find QRS peaks
Left(1)
Left(2)
Left(3)
Diff(함수)
= x(i+1)
– x(i)
Right(1) Right(2)
COmputational NeuroEngineering (CoNE) Laboratory
Left(4)
Right(3) Right(4)
Chang-Hee Han
20
Find QRS peaks
Left(i)
R
(Max)
Q
(Min)
S
(Min)
Right(i)
COmputational NeuroEngineering (CoNE) Laboratory
Chang-Hee Han
21
Show found peaks
COmputational NeuroEngineering (CoNE) Laboratory
Chang-Hee Han
22
RR interval / bpm
Mean RR = 813ms
Bpm = 73 bpm
COmputational NeuroEngineering (CoNE) Laboratory
Chang-Hee Han
23