Estudio de Memoria para un Algoritmo de Diagnostico 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
Wireless Sensor Network Conjunto de nodos interconectados Sensores: miden ciertos parámetros Estación central: Recopila información Las redes de sensores inalámbricos consisten en un conjunto de nodos de pequeño tamaño y de muy bajo consumo, interconectados entre sí a través de una red y, a su vez, conectados a un sistema central encargado de recopilar la información recogida por cada uno de los sensores
Wireless Body Sensor Network Nodos capaces de medir las constantes vitales de una persona Aplicaciones: Tratamiento de enfermedades crónicas, Autodiagnóstico, Monitorización doméstica Entrenamiento deportivo
Arquitectura Nodo: HW Diseñado por Imec Sensor: ASIC de 25 canales EEG/ECG Microcontrolador TI MSP430x149 RISC de 16 bits 60kB ROM 2kB RAM Conversor ADC Sin FPU 8 MHz Radio nRF2401
Arquitectura Nodo: SW TinyOS: Sistema operativo diseñado para WSN Aplicación TinyOS Kernel MAC Radio driver uC driver ASIC driver Radio nRF2401 uC MSP430 25-ch ASIC Módulo separado para cada componente hardware. TinyOS: Sistema operativo diseñado para WSN Programado en NesC Basado en Eventos y Tareas
Motivación y Objetivos Hasta ahora: 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 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 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 Consiste en calcular cada dato a partir los valores máximo y mínimo que le rodean, dentro de una ventana de 2s+1 datos, aplicando la siguiente fórmula. 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 Consiste en calcular cada dato a partir los valores máximo y mínimo que le rodean, dentro de una ventana de 2s+1 datos, aplicando la siguiente fórmula.
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 dinámicamente. Adaptación: Umbrales fijos: Thr =140 y Thf=5 Histograma: número de veces que se repite cada valor dentro de la señal. Thf Thr
Algoritmo de detección de ondas características del ECG Rpeak: mínimo < -Thr Rwave: dos máximos Qwave: mínimo izda. Swave: mínimo dcha. Pwave: dos máximos izda. Twave: dos máximos dcha. Todos los valores max. y min. absolutos > Thf
Adaptación al nodo Paso de un algoritmo estático a uno dinámico. Buffer circular: frecuencia 200Hz Transformación de FP 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 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
Resultados obtenidos 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 los máximos y mínimos
Conclusiones Problemas de las WBSN: Se ha conseguido: 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/