Download presentation
Presentation is loading. Please wait.
1
Medical Instrumentation
μ체μ곡νκ³Ό κΉνμ°
2
QRS Detector Digital filter BPF ECG Signal LPF HPF π ππ‘ ( ) 2 ππ‘
( ) 2 ππ‘ thresholding decision Digital filter BPF
3
Low pass filter Low passνν°μ μ λ¬ν¨μκ° μ΄μ κ°μ΄ κ²°μ λμμ λ, λ―ΈλΆ λ°©μ μμ ꡬνλ©΄
Int QRS_LPF(int x) { static int y1=0, y2=0, x[26], p=12; //p λ λ°°μ΄μμ νμ¬μnκ°μ μ§μΉνλ€.// 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); //LPFμ μ΄λμ μμ κΈ° μν΄ 32λ‘ λλλ€.// }
4
High pass filter High passνν°μ λ―ΈλΆ λ°©μ μμ΄ μ΄μ κ°μ΄ κ²°μ λμμ λ,
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)); }
5
μμ κ°μ΄ λ³μ μ
λ°μ΄νΈ μ€μλ₯Ό νκΈ° μ¬μ°λ μ£Όμ νμ¬μΌ νλ€.
λ―ΈλΆ λ―ΈλΆμ λ κ°μ§μ λ°©λ²μΌλ‘ νν ν μ μλ€. μΌλ‘ μΌλ‘ Two point derivationμ΄λ€. Int QRS_derivative(int x) { static int x1=0; int y =0; y= x βx1; x1= x; return(y); } μΌλ‘ Int QRS_derivative(int x) { static x1, x2. x3, x4; int y; y = [(x<<1)+x1-x3-(x4<<1)]>>3; x4=x3; x3=x2; x2=x1; x1=x; return(y); } x2=x1; x1=x2; x3=x2; or x2=x3; x4=x3; x3=x4; μμ κ°μ΄ λ³μ μ
λ°μ΄νΈ μ€μλ₯Ό νκΈ° μ¬μ°λ μ£Όμ νμ¬μΌ νλ€.
6
μ κ³± (μμν) κ° λΉμΌ processorμμλ κ³±νκΈ°μ μ²λ¦¬ μλκ° λΉ λ₯΄λ
보ν΅μ processorλ 5msμ΄μμ μκ°μ΄ 걸리λ―λ‘ μ κ³±μ μ¬μ© ν μ real timeμΌλ‘ μ 보λ₯Ό μ 곡ν μ μκ² λλ€. Int QRS_squre(int x) { return( π₯ 2 ) } Int QRS_ADS(int x) { if(x<0) return(-x); else return(x); } μ λκ°μ μ·¨ν¨μΌλ‘μ¨ μμνμ ν¨κ³Όλ₯Ό λ³Ό μ μλ€.
7
Moving window integral
Int QRS_moving_window_integral(int x) { static int x[32], p=0; static long sum=0; long ly; // sumκ°μ΄ intλ²μλ₯Ό μ΄κ³Όν μ μμΌλ―λ‘// int y; if(++p=32)p=0; sum - =x[p]; // κ°μ₯ μ€λλ κ°μ λΉΌλ κ³Όμ // sum + =x; //μλ‘μ΄ κ°μ λνλ κ³Όμ // x[p]=x; ly=(sum>>5); if(ly>32400) y= 32400; else y=(int)ly; return (y); } μνλ§ freq. 200Hzμ μνλ§ κ°κ²© 5ms μ΄λ―λ‘ 2μ λ°°μλ‘ μ νλ€. μ¦, 16κ° -> 80ms 32κ° -> 160ms μΌλ‘ ꡬν΄μ§λλ° QRSν μ νκ· μ 100msμ΄λ―λ‘ 32κ°μ windowκ° μ λΉνλ€.
8
μ£Όμμ¬ν. d1=GetDatach1(); d2=GetDatach2(); d1=GetDatach1();
l1=myLPF1(d1); l2=myLPF2(d2); Int myLPF1(int x) { static int x1,x2; x2=x1; x1=x; return(y); } Int myLPF2(int x) d1=GetDatach1(); d2=GetDatach2(); l1=myLPF(d1); l2=myLPF(d2); Int myLPF(int x) { static int x1,x2; x2=x1; x1=x; return(y); } μ΄μ κ°μ΄ κ°μ νν°λ₯Ό μ°κ² λλλΌλ λ°λ‘ ν¨μλ₯Ό μμ±νμ¬ κ°κ°μ dataλ₯Ό μ§μ΄λ£μ΄μΌ νλ€. μ΄μ κ°μ΄ νμ λ, Static λ³μ κ°μ΄ l1 μΌ λμ l2μΌ λ μ λ³μκ° μλ‘ μμ΄κ² λλ€. μ¦. μ΄μ κ°μ΄ μ½λλ₯Ό μ§λ©΄ μ λλ€.
Similar presentations
© 2024 slidesplayer.org Inc.
All rights reserved.