240 likes | 532 Views
Estudio de Memoria para un Algoritmo de Análisis de Electrocardiogramas en Redes de Sensores Inalámbricos. Mónica Jiménez Antón Profesores directores: David Atienza Alonso y Marcos Sanchez-Elez Martín Colaboradores: Francisco Javier Rincón Vallejos
E N D
Estudio de Memoria para un Algoritmo de Análisis de Electrocardiogramas en Redes de Sensores Inalámbricos. Mónica Jiménez Antón Profesores directores: David Atienza Alonso y Marcos Sanchez-Elez Martín Colaboradores: Francisco Javier Rincón Vallejos Master en Investigación en Informática 2007 - 2008 Facultad de Informática Universidad Complutense de Madrid
Contenido • Wireless Body Sensor Network • Arquitectura del nodo • Hardware • Software • Motivación y Objetivos • Teoría de los ECG • Algoritmo de detección de ondas características • Adaptación al nodo • Resultados y conclusiones
Wireless Body Sensor Network • Conjunto de nodos distribuidos • Nodos capaces de medir las constantes vitales de una persona • EEG: encefalograma • ECG: electrocardiograma • Envían la información a la estación base
Wireless Body Sensor Network • Restricciones: • Tamaño • Capacidad de procesamiento • Consumo de energía • Coste • Aplicaciones: • Tratamiento de enfermedades crónicas, • Autodiagnóstico, • Monitorización doméstica • Entrenamiento deportivo
Arquitectura Nodo: HW • Diseñado por Imec (Lovaina, Bélgica) • Sensor: ASIC de 25 canales EEG/ECG • Radio nRF2401 • Ancho de banda 2.4GHz • Paquetes con 18bytes de datos • Microcontrolador TI MSP430x149 • RISC de 16 bits • Sin FPU • 8 MHz • Conversor ADC • 60kB ROM • 2kB RAM
Arquitectura Nodo: SW • TinyOS (v1.2): • Desarrollado en la universidad de Berkeley (California) • Sistema operativo diseñado para WSN • Programado en NesC • Basado en Eventos y Tareas
Motivación y Objetivos • Implementación inicial WBSN: envío de todos los datos recogidos. • Alto consumo de la radio. • Objetivo: • Aumentar la autonomía del nodo • Incluir un algoritmo que reduzca el número de transmisiones • Problema: • Limitaciones de Memoria y capacidad de procesamiento
Teoría de los ECG • ECG o electrocardiograma: registro de actividad eléctrica del corazón. • Ondas Características • Onda P • Complejo QRS • Pico R • Onda Q • Onda S • Onda T
Algoritmo de detección de ondas características del ECG • Transformada Morfológica Multiescala (MMT). Mdsf(x)= max{f(t)} t e [x-s, x+s] + min{ f(t)} t e [x-s, x+s] – 2 f(x) s Max Min Dato
Algoritmo de detección de ondas características del ECG • Transformada Morfológica Multiescala (MMT). Mdsf(x)= max{f(t)} t e [x-s, x+s] + min{ f(t)} t e [x-s, x+s] – 2 f(x) s • Donde, “s” debe cumplir: W (Anchura de la onda característica) * Fs (Frec Muestreo) > s • W = [0.06,0.12] segundos • Fs = 200Hz Mdsf(x)= max{f(t)} t e [x-s, x+s] + min{ f(t)} t e [x-s, x+s] – 2 f(x) >> 4 S = [12, 24] = 16
Algoritmo de detección de ondas características del ECG • Transformada Morfológica Multiescala (MMT). Ondas Características: Conjunto de máximos y mínimos que superan ciertos umbrales en MMT
Algoritmo de detección de ondas características del ECG • Selección de los Umbrales Thf y Thr • Algoritmo Yan Sun: método de Thresholding adaptativo calcula umbrales sobre la señal completa. • Adaptación: Umbrales fijos: Thr =-140 y Thf=5 • 20 señales probadas BBDD Physionet Thf Thr
Algoritmo de detección de ondas características del ECG Thr Rpeak: mínimo local < Thr (-140)
Algoritmo de detección de ondas características del ECG R Thf R Rwave: máximos a la izda y dcha de Rpeak > Thf
Algoritmo de detección de ondas características del ECG Rwave R Thf Rwave R Qwave: mínimo a la izda de Rwave > Thf. Swave: mínimo a la dcha de Rwave > Thf.
Algoritmo de detección de ondas características del ECG Rwave R Q S Thf Q S Rwave R Pwave: max – min - máx izda de Qwave > Thf Twave: max – min - máx dcha de Swave > Thf
Adaptación al nodo • Paso de un algoritmo estático a uno dinámico. • Buffer circular: frecuencia 200Hz • Transformación de PF a enteros • La señal se reescala por 10. • División del algoritmo en pasos • 1 dato cada 5ms 1 paso • Evita algoritmos demasiado largos
Adaptación al nodo • Reducción al mínimo de la longitud de los bufferes: tiene que entrar una detección completa 300 posiciones de 2bytes • Compresión y descompresión de datos: • 12 bits son suficientes para las señales • 12 bits se pueden representar con un dato de 8 bits y la mitad de otro 300 datos de 16 bits x 3/2 450 datos de 8 bits
Adaptación al nodo • Reducción al mínimo de los datos necesarios almacenados: • Almacenamiento de los máximos y mínimos que superan Thf • Buffer señal: 40 posiciones comprimido 60 bytes • 4 buffers auxiliares para almacenar los máximos y mínimos
Resultados – Tamaño del buffer Decremento del tamaño del buffer en las diferentes versiones Mejora: 70%
Resultados – Tamaño de la RAM Decremento del uso de RAM en las versiones portables en el nodo Mejora: 62%
Resultados obtenidos • Pérdida de precisión debido al uso de enteros • Se = TP x 100 (Sensibilidad) TP + FN
Conclusiones • Problemas de las WBSN: • Limitaciones de memoria y capacidad de procesamiento. • Dificultad para crear aplicaciones capaces de ejecutarse en los nodos. • Se ha conseguido: • Implementar un algoritmo dinámico de análisis de ECG • Detectar las ondas características más importantes del ECG • Optimizar el algoritmo para que cumpla con las restricciones de memoria del nodo • Integrar el algoritmo en el nodo: analiza los datos online
Referencias • Yan Sun, Kap Luk Chan and Shankar Muthu Krishnan: Characteristic wave detection in ECG signal using mor- phological transform. BMC Cardiovascular Disorders 2005, 5:28. • Base de datos de PhysioNet (the research resource for complex physiologic signals): http://www.physionet.org/ • TinyOS: http://www.tinyos.net/ • D. Gay, P. Levis, R. von Behren, M. Welsh, E. Brewer, D. Culler, Eric Brewer: The nesC language: A holistic approach to networked embedded systems – PLDI: programming language design and implementation - 2003 • Texas Instrument, microcontrolador MSP430x149: http://www.ti.com/