Presentation is loading. Please wait.

Presentation is loading. Please wait.

Dept. of Biomed. Eng.BME302: Medical InstrumentationKyung Hee Univ. 1 이규락 생체의공학과 2010103805 이규락.

Similar presentations


Presentation on theme: "Dept. of Biomed. Eng.BME302: Medical InstrumentationKyung Hee Univ. 1 이규락 생체의공학과 2010103805 이규락."— Presentation transcript:

1 Dept. of Biomed. Eng.BME302: Medical InstrumentationKyung Hee Univ. 1 이규락 생체의공학과 2010103805 이규락

2 Dept. of Biomed. Eng.BME302: Medical InstrumentationKyung Hee Univ. 2 이규락 Band pass Filtering 미분 제곱 ( 전파정류 ) 적분 ECG Signal Thresholding

3 Dept. of Biomed. Eng.BME302: Medical InstrumentationKyung Hee Univ. 3 이규락 Int QRS_LPF(int x) { static int y1=0, y2=0, x[26], p=12; int y; x[p]=x[p+13]=x; y=x[p]-(x[p+6]<<1)+x[p+12]+(y1<<1)-y2; y2=y1; y1=y; if(--p<0) p=12; return (y>>5); } D13∙∙∙ D1 (D15) D0 D14 D13∙∙∙ D1D0 D14 Arr[0]Arr[12]Arr[13]Arr[25] Arr[12],Arr[25] 가 최신 데이터면 Arr[11], Arr[24] 가 가장 오래된 데이터이다. ‘Ring Buffer’ LPF 필터의 이득 (32 배 ) 을 없애주기 위해 나눠준다. 1) LPF

4 Dept. of Biomed. Eng.BME302: Medical InstrumentationKyung Hee Univ. 4 이규락 Int QRS_HPF(int x) { static int l1=0, x[66], p=32; int l; x[p]=x[p+33]=x; l=l1+x[p]-x[p+32]; l1=l; if(--p<0) p=32; return (x[p+16]-(l>>5)); } 2) HPF LPF Delay 가 15.5 sample 정도 생겨서 16 만큼 당겨준다.

5 Dept. of Biomed. Eng.BME302: Medical InstrumentationKyung Hee Univ. 5 이규락 Int QRS_Denivative(int x) {static int x1=0; int y; y=x-x1; x1=x; return (y); } 3) 미분 Int QRS_Denivative(int x) {static int x1, x2, x3, x4; int y; y=((x >3; x4=x3; x3=x2; x2=x1; x1=x; return (y); } 현재와 바로 전의 차만 구함. 시간적 경향을 볼 수 있다.

6 Dept. of Biomed. Eng.BME302: Medical InstrumentationKyung Hee Univ. 6 이규락 4) Square( 제곱 ) Int QRS_Square(int x) {return (x*x); } 곱셈이 얼마나 걸리는지 datasheet 를 참조하여 전체가 Realtime 이 되는지를 확인해줘야 한다. Int QRS_Abs(int x) { if(x<0) return (-x); else return (x); } 4) 절대값 곱셈이 없으므로 속도가 빠르다.

7 Dept. of Biomed. Eng.BME302: Medical InstrumentationKyung Hee Univ. 7 이규락 Int QRS_MWI(int x) {static int x[32], p=0; static long sum; long ly; int y; if(++p=32) p=0; sum-=x[p]; sum+=x; x[p]=x; ly=(xum>>5); if(ly>32400) y=32400; else y=(int) ly; return (y); } 5) 적분 Moving window integral => 최근 들어온 n 개의 data 를 더한다. QRS 의 폭을 고려하여 Window 폭을 설정해야 한다. Return type 이 int 형이므로 int 의 범위가 넘었는지 파악해준다.

8 Dept. of Biomed. Eng.BME302: Medical InstrumentationKyung Hee Univ. 8 이규락  주의할 점 d1=Getdatach1(); d2=Getdatach2(); -------------------------------------------------- int MyLPF(int x) { static int x1,x2,x3,x4; ∙∙∙ x4=x3; x3=x2; x2=x1, x1=x; ∙∙∙ return y; } --------------------------------------------------- l1=MyLPF(d1); l2=MyLPF(d2); Static 변수들을 두 데이터가 공통으로 사용하므로 값들이 섞인다. d1=Getdatach1(); d2=Getdatach2(); -------------------------------------------------- int MyLPF1(int x) { static int x1,x2,x3,x4; x4=x3; x3=x2; x2=x1, x1=x; return y; } int MyLPF2(int x) { static int x1,x2,x3,x4; x4=x3; x3=x2; x2=x1, x1=x; return y; } --------------------------------------------------- l1=MyLPF1(d1); l2=MyLPF2(d2);


Download ppt "Dept. of Biomed. Eng.BME302: Medical InstrumentationKyung Hee Univ. 1 이규락 생체의공학과 2010103805 이규락."

Similar presentations


Ads by Google