본문 바로가기
Theory/DSP

[MATLAB 실습 08] ECG 잡음제거 (22.11.16)

by Orangetasteboy 2023. 6. 14.

1. 300Hz 샘플링 주파수로 심전도를 기록하는 도중에 60Hz 잡음이 섞어 들어갔다. 잡음이 섞인 심전도 데이터(ecg.dat)를 읽어와(load('ecg.dat'):) 60Hz 잡음 신호를 제거를 제거하려고 한다. 필터링 과정을 DFT를 이용하여 제거하려고 한다.

 

(1) 잡음이 낀 심전도 데이터를 600pt DFT를 계산하시오.

(2) 60Hz에 해당되는 DFT인덱스를 계산하시오.

(3) 60Hz에 해당되는 DFT값을 0으로 값으로 채워 넣으시오.

(4) filtered ECGIDFT 취하여 원 ECG 신호화 filtered ECG신호를 그리시오.

(5) 주파수 영역에서 filtered ECG와 원래의 ECG 신호를 비교하시오,

(6) 60Hz 간섭이 제거되었는지 확인하시오.

간섭이 제거되었다.


2. 60Hz 잡음 제거를 FIR Band Stop Filter를 사용하여 제거하려고 한다.

 

(a) fdatool을 사용하여 FIR Band stop filter를 설계하시오.

(b) passband 주파수1=55Hz, stopband주파수1=58Hz, passband주파수2=62Hz, stopband주파수2=65Hz, passband ripple =3db, stopband attenuation=30db, passband2 ripple=3db Equiripple FIR필터를 설계하고 저장하시오.

(c) 설계된 FIR를 사용하여 잡음이 섞인 심전도 신호를 filtering 하시오.

(d) 원신호와 잡음이 제거된 신호의 파형을 그리시오. 시간영역에서 두 개의 신호를 비교해 출력신호의 지연이 얼마인지 결정하시오.

(e) 원신호와 필터링된 신호의 DFT를 취하여 60Hz 간섭이 제거되었는지 확인하시오.

간섭이 제거되었다.

댓글