Health/심전도(ECG) 분석

3. 시그널 전처리 (Revised)

꼰대코더 2023. 12. 9. 11:39

QRS 중 심박수 계산에 사용되는 R 을 찾기 위해서 아래와 같은 전처리가 필요하다.

  • Baseline Wander Removal : 출렁거리는 시그널을 일직선을 기준으로 맞춤

Baseline Wander Removal

필터로는 notch 를 사용하였다.

# notch 필터 디자인
# fs 는 샘플링 Hz 로 Polar Equine출력 Hz
b, a = iirnotch(0.05, Q = 0.005, fs = 130)

# 필터를 적용(filtfilt)
filtered_data = filtfilt(b, a, data)

plt.title("ECG 130Hz")
plt.plot(data, alpha=0.8, color='blue', lw=1, label='Raw')
plt.plot(filtered_data, alpha=0.8, color='red', lw=1, label='Notch')
plt.xlabel("Time miliseconds")
plt.xlim(0,3000)
plt.legend()
plt.show()

y=0.0 을 기준으로 재 배치