La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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:

Presentaciones similares


Presentación del tema: "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:"— Transcripción de la presentación:

1 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 Facultad de Informática Universidad Complutense de Madrid

2 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 Un red de sensores consiste en un conjunto de dispositivos, llamados nodos, que son capaces de medir parámetros de su entorno. En este caso concreto, se esta trabajando con una red de sensores inalámbricos de área corporal, es decir, una red en la que los nodos van a ir colocados en el cuerpo de una persona y son capaces de medir sus constantes vitales. Para este proyecto se ha utilizado un nodo que realiza Electrocardiogramas y encefalogramas. Por otro lado los nodos pueden hacer pequeños cómputos locales sobre la información recogida, y envían los datos a una estación base que es la encargada de juntar toda la información y sacar conclusiones.

3 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 El problema de los nodos es que tienen muchas restricciones. Por un lado tienen que pequeños, por otro lado tienen una capacidad de procesamiento y tiempo de vida limitados, y al tener una red compuesta por varios nodos, su coste no puede ser elevado. Sin embargo, este sistema supone un gran avance para la calidad de vida de las personas, ya que tiene numerosas aplicaciones, por ejemplo el Tratamiento de enfermedades crónicas, Autodiagnóstico, Monitorización doméstica y Entrenamiento deportivo entre otras. Que actualmente para realizarlas es necesario acudir a un centro hospitalario, o cargar con un equipo pesado.

4 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 El nodo con el que se ha realizado este proyecto esta diseñado por IMEC, en Lovaina, Belgica. Esta formado por 4 componentes: una batería, un sensor que consiste en un circuito ASIC de 25 canales EEG/ECG Un receptor/transmisor de nordic con un ancho de banda de 2.4 GHz y que envía paquetes con un campo de datos de 18bytes Y el procesador, que es un microcontrolador de bajo con sumo de Texas instrument. Se trata de un microcontrolador muy sencillo, con una arquitectura risc de 16 bits, sin unidad de punto flotante y que tiene una frecuencia máxima de 8mhz. Además tiene un conversor analógico digital que es muy útil para el tratamiento de este tipo de señales. La desventaja de este microcontrolador es que tiene una memoria RAM muy limitada, solo 2kb.

5 Arquitectura Nodo: SW TinyOS (v1.2):
Aplicación TinyOS Kernel MAC Radio driver uC driver ASIC driver Radio nRF2401 uC MSP430 25-ch ASIC TinyOS (v1.2): Desarrollado en la universidad de Berkeley (California) Sistema operativo diseñado para WSN Programado en NesC Basado en Eventos y Tareas Para facilitar la creación de aplicaciones y conseguir una mayor abstracción del hw, el nodo incluye un sistema operativo muy sencillo llamado TinyOS. Este so fue creado en la universidad de berkeley y esta especialmente diseñado para redes de sensores inalámbricos en general. El lenguaje asociado se conoce con el nombre de NesC, que es una derivación de C. El SO esta basado en eventos y tareas. Las tareas son cálculos de larga duración que se ejecutan en background y que pueden ser interrumpidas por eventos, que suelen ir asociados a sucesos hw.

6 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 Inicialmente, los nodos de la red envían todos los datos recogidos por el sensor, sin embargo, esto presenta un problema ya que la radio es el componente del nodo que mas consume. Para solucionarlo, se pretende incluir un algoritmo en el nodo que reduzca el número de trasmisiones y aumente el tiempo de vida del nodo. Pero esto no es una tarea trivial ya que la mayoría de los algoritmos de análisis de ECG y EEG trabajan de forma estática sobre señales de ECG y EEG completos y utilizan operaciones para el manejo de señales que suelen ser muy complejas y, como ya he comentado, el procesador del nodo tiene grandes limitaciones en cuanto a memoria y capacidad de procesamiento. Para este proyecto, se ha elegido un algoritmo de análisis de ECG, propuesto en un articulo escrito por Yan Sun (Bioinformatics Institute, Singapore) que analiza señales completas. Se han tenido que realizar varias modificaciones, principalmente porque un ECG puede tener mas de 6000 datos de 2bytes y el nodo no tiene suficiente capacidad para almacenarlo. Además, el algoritmo necesita realizar una serie de operaciones sobre la señal y el microcontrolador no tiene suficiente capacidad de procesamiento para realizarlas en un tiempo aceptable. Por este motivo se han realizado una serie de optimizaciones para permitir que funcione en el nodo con el que se esta trabajando.

7 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 Antes de explicar el algoritmo, saber que un ECG es el registro de la actividad eléctrica del corazón. Y que para cada pulsación se contemplan tres ondas características: la onda P, seguida del complejo QRS, donde destaca el pico R que es el punto mas alto del ECG, y por ultimo la onda T

8 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 El algoritmo de yan sun consiste en encontrar las ondas caracteristicas sobre la tranformada morfológica de la señal. Para calcular la tranformada de cada dato, se cogen s valores a su izquierda y a su derecha y se buscan el maximo y el mínimo. Luego se suman estos dos valores y se les resta el doble del tado que estamos calculando. Todo esto dividido entre s. Dato Min

9 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 El valor de la constante S se elige en funcion de la frecuencia de muestreo , que en nuestro caso es 200Hz, y la anchura de la onda característica, que oscila entre 6 y 12 ms. Para el proyecto, he tomado un valor de 16, que entra dentro del rango de valores posibles para S, y que al ser potencia de dos, permite sustituir la división de la transformada por un desplazamiento.

10 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 Por ejemplo, la tranformada morfologica de este ECG sería esta (clic y aparece) Donde lo que hace es invertir la onda amplificando los puntos característicos. De esta forma, podemos detectar las ondas características como un conjunto de maximos y minimos que superan ciertos umbrales.

11 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 20 señales probadas Tenemos dos umbrales: Thr se utiliza para detectar el pico R, y es un valor elevado que descarte el resto de minimos de la señal pero que abarque todos los picos R de esta. Thf se ultiliza para detectar el resto de ondas, y tiene que ser un valor lo suficientemente elevado para descartar todos los maximos y minimos locales que no aportan información. En el algoritmo de yan sun calcula estos umbrales de forma dinámica mediante un método de thresholding adaptativo, pero este método es valido cuando se tiene la señal completa. Como este no es nuestro caso, se tienen que fijar los umbrales al inicio, tomando thr a -140 y de thf a 5. Para elegirlos, se observaron los valores que debían tomar para 20 señales tomadas de la base de datos de ECG physionet, y se vio que estos valores eran correctos para todas. Thf Thr

12 Algoritmo de detección de ondas características del ECG
Hecha la trasformada, se pasa a buscar las ondas características. Se comienza con el pico R que va a ser el primer mínimo local que sea menor que el umbral thr Rpeak: mínimo local < Thr (-140)

13 Algoritmo de detección de ondas características del ECG
A continuación se detecta la onda R, que van a ser los primeros máximos locales a la izda y dcha del pico R que superen el umbral thf. Rwave: máximos a la izda y dcha de Rpeak > Thf

14 Algoritmo de detección de ondas características del ECG
Despues se detectan Q y S, para completar el complejo QRS, y que van a ser los primeros mínimos locales a la izda y dcha de Rwav e que superen el umbral thf. Qwave: mínimo a la izda de Rwave > Thf. Swave: mínimo a la dcha de Rwave > Thf.

15 Algoritmo de detección de ondas características del ECG
Para terminar se detectan las ondas P y T a la izda de Q y a la dcha de S respectivamente, y que siguen una secuencia de valores max – min y max locales que superen el umbral thf. Pwave: max – min - máx izda de Qwave > Thf Twave: max – min - máx dcha de Swave > Thf

16 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 El algoritmo sufrió diversas modificaciones para adaptarlo al nodo. Para empezar, se necesita un algoritmo que analice una señal ECG durante un tiempo indefinido, recibiendo datos a una frecuencia de 200Hz. Por este motivo, la modificación mas importante fue el paso de un algoritmo estático que analiza una señal ECG completa, a uno que analiza la señal de forma dinámica. Para esto se emplea un buffer circular que almacena la señal y que recibe un dato nuevo cada 5ms, y el algoritmo solo va a tener en cuenta los datos almacenados en dicho buffer. Por otro lado, como el microcontrolador no tiene unidad de punto flotante, se tranformaron todos los datos a enteros, reescalando la señal por 10 para disminuir la perdida de precisión asociada. Por ultimo, el algoritmo se ejecuta cada vez que se recibe un dato nuevo, cada 5ms. Como el micro tiene una velocidad de procesamiento limitada, no le da tiempo a completar todas las operaciones del algoritmo en esos 5ms, por esto, se divide el algoritmo en pasos, de forma que se realiza un paso diferente cada vez que se recibe un dato.

17 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 Una de las mayores preocupaciones es reducir el uso de memoria del algoritmo. Al necesitar un buffer almacenando la señal, es importante minimizar el numero de posiciones de dicho buffer. Sin embargo, la longitud del buffer tiene que ser suficiente para almacenar una detección completa. Esto van a ser 300 posicones de 2bytes. No obstante, los datos de la señal solo ocupan 12 de los 16 bits reservados para cada uno. Por este motivo, se han realizado unos métodos de compresión y descompresión de los bufferes, de forma que 2 datos de 16bits se pueden representar como 3 datos de 8 bits. De esta forma se reduce el tamaño del buffer de 300 posiciones de 2bytes a 450 posiciones de 1byte. 300 datos de 16 bits x 3/2 450 datos de 8 bits

18 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 Por ultimo, se estimó que no es necesario almacenar la señal completa, si no que solo necesitamos guardar los máximos y mínimos que superan el umbral thf. Para esto se añaden 4 buffers auxiliares de 17 posiciones para almacenar los max y min, y se reduce la longitud del buffer de la señal a 40 posiciones, que sigue siendo necesario para almacenar la ventana para calcular la tranformada.

19 Resultados – Tamaño del buffer
Decremento del tamaño del buffer en las diferentes versiones Mejora: 70% Mediante estas optimizaciones se ha conseguido reducir hasta un 70% la memoria necesaria para los bufferes, desde la versión inicial en la que se guardaban 300 posiciones de 2bytes hasta la final que solo se guardan los máximos y mínimos.

20 Resultados – Tamaño de la RAM
Decremento del uso de RAM en las versiones portables en el nodo Mejora: 62% Además, se ha mejorado hasta un 62% el uso de RAM en el nodo. De forma que en la versión inicial, ocupaba mas de 2kb, y ni siquiera entraba en el nodo, hasta la final que no llega a 1k, y que permite añadir incluir otras aplicaciones.

21 Resultados obtenidos Pérdida de precisión debido al uso de enteros
Se = TP x (Sensibilidad) TP + FN Algoritmo Pon Poff QRSon QRSoff Ton Toff Algoritmo presentado Se (%) 92.4 100 96.6 91.7 m (ms) 1.4 14.9 -7.8 8.2 53.6 12.8  (ms) 15.6 13.3 22.6 16.8 21.6 20.9 MMD (Yan Sun, et al.) 97.2 94.8 99.8 99.6 9.0 3.5 2.4 7.9 8.3 9.4 13.2 6.1 10.3 15.8 12.4 En esta tabla se comparan los resultados obtenidos de nuestro programa con el algoritmo propuesto por yan sun y los valores marcados por el comité de estándar comunes en electrocardiografía. En ella comparamos la sensibilidad, que relaciona el numero de detecciones existentes en el ECG con el numero de detecciones hechas por el programa, el error medio, y la desviación estándar. En un principio puede parecer que los valores obtenidos no son muy buenos, pero esto se debe a la perdida de precisión asociada al uso de enteros. Sin embargo, viendo la sensibilidad, se puede ver que las ondas características se detectan en la mayoría de los casos, y de hecho el complejo QRS, que es el mas importante, se detecta siempre para todas las pruebas realizadas.

22 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 Para concluir, se puede decir que se ha conseguido implementar un algoritmo que analiza un ECG de forma dinámica, detectando las ondas características mas importantes. Y se ha conseguido optimizarlo para portarlo a uno nodo de una red de sensores de area corporal, a pesar de las limitaciones de memoria y capacidad de procesamiento del nodo.

23 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): TinyOS: 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 Texas Instrument, microcontrolador MSP430x149: Como referencias, el articulo de yan sun en el que esta basado el algoritmo. La base de datos donde se han sacado las señales. Y toda la información relativa al sistema operativo de los nodos y el microcontrolador.


Descargar ppt "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:"

Presentaciones similares


Anuncios Google