Dept of Biomed Eng BME 302 Medical Instrumentation
Dept. of Biomed. Eng. BME 302: Medical Instrumentation Kyung Hee Univ. Biomedical Instrumentation 8주차 제출일 : 2014. 05. 09 2011103751 김소연
Dept. of Biomed. Eng. BME 302: Medical Instrumentation Kyung Hee Univ. Index Ⅰ. Digital Signal Processing Ⅱ. Programming Ⅲ. QRS Detection ⅰ. Transfer Function ⅱ. Low Pass Filter 2 김소연
Dept. of Biomed. Eng. BME 302: Medical Instrumentation Kyung Hee Univ. Ⅰ. Digital Signal Processing 심전도의 출력과 QRS 검출 Analog Signal Processing LCD 데이터 통신 심전도 증폭기 전극 Sensor Measurand + Amp - Output ADC 12 bit fs=200 Hz Micro Processor Filter 존재 Digital Signal Processing 이전 파형 지워가면서 새 파형 그려감 (non fade Display) Data와 Data 사이의 간격 ? 5 ms 3 김소연
Dept. of Biomed. Eng. BME 302: Medical Instrumentation Kyung Hee Univ. Ⅰ. Digital Signal Processing Analog 신호처리 • 기판의 칩, 저항, 커패시터를 이용 • 전류와 전압과 관련 Digital 신호처리 • 프로그래밍 4 김소연
Dept. of Biomed. Eng. BME 302: Medical Instrumentation Kyung Hee Univ. Ⅱ. Programming 간단한 Firmware 구조 C Language # … #. . . main() { Initialize(); while(1) { Firmware d=Get. ECGData(); l=Get. Contact. Data(); H/W와 밀접하게 관계가 있다 H/W를 직접 제어한다 QRSDetection(); Embedded Software Update. Display(); Respond. To. User(); Alarm(); Send. Data(); } } 5 김소연
Dept. of Biomed. Eng. BME 302: Medical Instrumentation Kyung Hee Univ. Ⅲ. QRS Detection ⅰ. Transfer Function sequence 최근 FIR Filter Row Data IIR Filter (n-1)Ts n. Ts t Weighted Sum Difference Equation : 코딩 a값들에 따라 필터의 특성 정해짐 6 김소연
Dept. of Biomed. Eng. BME 302: Medical Instrumentation Kyung Hee Univ. Ⅲ. QRS Detection ⅰ. Transfer Function Wikipedia 예제 : My. First. DF 코딩 int My. First. DF(int d) { Static int x 1, x 2, y 1, y 2; int y; y=d+(x 1<<1)+x 2+(y 1>>2)-((y 2+y 2)>>3); x 2=x 1; x 1=d; y 2=y 1; y 1=y; return(y); } 7 김소연
Dept. of Biomed. Eng. BME 302: Medical Instrumentation Kyung Hee Univ. Ⅲ. QRS Detection ⅱ. Low Pass Filter : IIR Filter & Integer Filter (정수계산) 빠르게 가능 “Ring Buffer” int QRS_LPF(int d) : Digital Filter “항상 Realtime” { Sampling time interval 마다 data가 들어오고 계속 반복 전 것 읽어 올 때 뒤로 돌아가서 읽어 오는 게 싫으니 앞 으로 가며 찾으려고 } Static int y 1=0, y 2=0, x[26], n=12; int y; : 첫 번째 buffer와 두 번째 buffer x[n]=x[n+13]=d; 에 동시에 data를 써줌 y=x[n]-(x[n+6]<<1)+x[n+12]+(y<<1)-y 2; y 2=y 1; y 1=y; if(--n<0) n=12; return(y); 처음 일정한 시간은 쓰레기 값이고 후에 Buffer가 차면 정상적으로 동작한다! 8 김소연
Dept. of Biomed. Eng. BME 302: Medical Instrumentation Kyung Hee Univ. Ⅲ. QRS Detection ⅱ. Low Pass Filter “Ring Buffer” 13개 N N+12 제일 옛날 거에 Overwrite 13개 12 x 5 ms = 60 ms 9 김소연
- Slides: 9