Full text
Aplicación del algoritmo Matching Pursuit para la estimación del ritmo cardíaco en señales obtenidas mediante un sensor capacitivo RESUMEN A lo largo de este PFC, se ha implementado el algoritmo conocido como Matching Pursuit, sobre un registro de señales obtenidas a partir de un sensor en fase de desarrollo en el centro tecnológico KIT de la universidad de Karlsruhe. El objetivo de esta implementación es obtener la frecuencia cardíaca en un entorno de alta variabilidad de la señal. Dicho sensor, denominado Sensor de Primeros Auxilios, cuyo objetivo es determinar si un paciente necesita que le sea aplicada técnicas de reanimación. Esto se determina a partir de la frecuencia respiratoria y cardíaca. El sensor se coloca en el agujero yugular y extrae una señal que es muy variante de un sujeto a otro y de la posición en la que se encuentre en el momento del análisis. Antes de la realización de este PFC, dado que había resultado imposible estimar la frecuencia por análisis espectral, se había implementado una red neuronal. Con el objetivo de simplificar el diseño del dispositivo, se propuso como PFC diseñar en MATLAB el algoritmo del Matching Pursuit, y analizar su comportamiento con el propósito de poder prescindir de dicha red. En este PFC, se introducirá brevemente el contexto de la señal con la que se trabaja, se introducirá los fundamentos del algoritmo Matching Pursuit, y finalmente se explicara el proceso de integración en lenguaje MATLAB y los resultados y conclusiones obtenidos. 1
Índice general 1.- INTRODUCCIÓN 6 1.1.- Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.2.- Problemática y objetivo . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3.- Trasfondo fisiológico . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3.1.-El corazón . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3.2-El pulso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.- EL SENSOR DE PRIMEROS AUXILIOS 10 2.1.- Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.2.- El modelo del sensor . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.3.- Modelo de procesado de la señal . . . . . . . . . . . . . . . . . . 13 2.3.1.- La señal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.3.2.-La base de datos . . . . . . . . . . . . . . . . . . . . . . . . 16 3.- MATCHING PURSUIT 18 3.1.- Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.2.- Descomposición atómica en tiempo-frecuencia . . . . . . . . . . 19 3.3.- Diccionarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.4.- Matching Pursuit en espacios discretos utilizando el diccionario de Gabor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.- IMPLEMENTACIÓN DEL ALGORITMO EN MATLAB 26 4.1.-Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.2.-Generador de diccionarios . . . . . . . . . . . . . . . . . . . . . . 26 4.3.-Criterio para los rangos . . . . . . . . . . . . . . . . . . . . . . . 28 4.4.-El algoritmo Matching Pursuit . . . . . . . . . . . . . . . . . . . 30 4.5.-Alternativas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 5.-INFORME DE RESULTADOS 38 6.-DISCUSION 51 6.1.-Análisis de los resultados . . . . . . . . . . . . . . . . . . . . . . 51 6.2.-Propuestas para estudios futuros . . . . . . . . . . . . . . . . . . 52 2
Índice de figuras 1.1 Esquema del corazón . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.1 Método de medición con interfaz placa de metal-cuerpo . . . . . . . 11 2.2 Pulso viajando por una vena y el sensor . . . . . . . . . . . . . . . . 11 2.3 Variación de la curva de resonancia y del voltaje asociado para un LC lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.4 Variación de la curva de resonancia y del voltaje asociado para un LC no lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.5 Esquemático del filtro paso-bajo . . . . . . . . . . . . . . . . . . . . 12 2.6 Esquemático de bloques del procesado de la señal . . . . . . . . . . 13 2.7 Ejemplo de señal de entrada al procesado de señal . . . . . . . . . . 14 2.8 Señal de entrada al procesado de señal (ejemplo 1) . . . . . . . . . . 15 2.9 Señal de entrada al procesado de señal (ejemplo 2) . . . . . . . . . . 15 2.10 Señal de entrada al procesado de señal (ejemplo 3) . . . . . . . . . . 15 2.11 Sensor situado en el agujero yugular . . . . . . . . . . . . . . . . . . 16 4.1 Representación de la energía residual restante tras la iteración nº: 31 para el registro de las señales . . . . . . . . . . . . . . 28 4.2 Variación del átomo según la fase . . . . . . . . . . . . . . . . . . . . 28 4.3 Variación de la ventana gaussiana del átomo para diferentes valores de escala . . . . . . . . . . . . . . . . . . . . . . . . 29 4.4 Representación de un átomo con envolvente constante variando la frecuencia de la señal moduladora . . . . . . . . . . . . 30 4.5 Representación de un fragmento de la señal antes y después de filtrar y de la parte filtrada . . . . . . . . . . . . . . . . . 31 4.6 Representación en frecuencia de la señal eliminada por el filtro FIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.7 Representación de la señal original y del primer átomo seleccionado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.8 Representación de la señal original tras la sustracción del átomo elegido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.9 Representación de la señal original y la señal reconstruida a partir de los átomos obtenidos . . . . . . . . . . . . . 34 4.10 Representación del residuo tras la iteración nº: 40 . . . . . . . . . . . 35 4.11 Representación de la energía residual para cada iteración . . . . . . 35 4.12 Muestra de una señal extraída de la base de datos . . . . . . . . . . 37 3
4.13 Átomo obtenido a partir de realizar la media del factor periódico de la señal . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.14 Frecuencia de cada señal indicada por la base de datos y la estimada por el algoritmo . . . . . . . . . . . . . . . . . . . . . . 39 4.15 Gráfica de Bland Altman para la primera estimación . . . . . . . . . 40 4.16 Error de estimación medio por iteración ponderando el error con an . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.17 Error de estimación medio para cada iteración . . . . . . . . . . . . . 41 4.18 Evolución del error mínimo de predicción medio según el número de iteraciones . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.19 Frecuencia de cada señal indicada por la base de datos y la estimada por el algoritmo usando las posiciones entre los átomos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.20 Gráfica de Bland Altman usando las posiciones entre los átomos . . 43 4.21 Ejemplo de estructura periódica para una señal del registro . . . . . 44 4.22 Representación de un átomo obtenido a partir de realizar la media del patrón repetitivo . . . . . . . . . . . . . . . . . . . . . . 45 4.23 Representación de la evolución del error mínimo de predicción medio según el número de iteraciones . . . . . . . . . . . 46 4.24 Representación de la frecuencia de cada señal indicada por la base de datos y la estimada por el algoritmo . . . . . . . . . . 46 4.25 Gráfica de Bland Altman del error de estimación . . . . . . . . . . . 47 4.26 Extracto de señal original y de muestra repetida . . . . . . . . . . . . 48 4.27 Ejemplo de la evolución del máximo de correlación a partir de la longitud de la muestra . . . . . . . . . . . . . . . . . . . 49 4
Índice de tablas Tabla 1: Registro de las señales obtenidas por el sensor . . . . . . . . . . . 17 Tabla 2: Porcentaje del error de estimación obtenido para cada del registro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Tabla 3: Iteración óptima que minimiza el error de estimación y el valor mínimo correspondiente . . . . . . . . . . . . . . . . . . . 42 Tabla 4: Iteración con la que se obtiene el error mínimo para cada señal y el valor de dicho error mínimo . . . . . . . . . . . . . . . 45 Tabla 5: Evolución por iteración de la relación de energías . . . . . . . . . 47 Tabla 6: Extracto de la tabla 4 . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Tabla 7: Porcentaje de error obtenido utilizando un umbral de parada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Tabla 8: Frecuencia estimada y error obtenido para cada señal . . . . . . . 50 5
1.- INTRODUCCION 1.1-Motivación Un gran número de los sanitarios dudan sobre la efectividad de la intervención de no expertos cuando se trata de diagnosticar y tratar una reanimación en casos de emergencia, aún contradiciendo la recomendación del Consejo Europeo de Resucitación [1]. Hoy en día, se demuestra que los primeros auxilios prestados por asistentes de accidentes a las víctimas inconscientes relacionados con estos, son insuficientes. Según una investigación realizada por el Hospital Universitario Benjamin Franklin en Berlín [2] , sólo el 14% de los testigos realizaron una reanimación cuando era necesaria, y según la Universidad de Mainz [3] , sólo el 45% de éstos fueron capaces de detectar el pulso de la víctima. Con estos datos, se puede concluir que apenas el 7% de todos los sujetos que necesitan reanimación, la reciben correctamente. Por estas razones, en el Instituto Tecnológico de Karlsruhe, se inicia un proyecto que tiene por objetivo desarrollar un método para evaluar el estado respiratorio y cardiovascular de la víctima, con el fin de proporcionar apoyo en la decisión de reanimar. Además se busca diseñar un dispositivo manejable y portátil, el cual pueda estar disponible cuando sea necesario, como por ejemplo, en lugares públicos. En este proyecto se desarrolla el sistema de sensado de primeros auxilios, el cual debería ser capaz de detectar y evaluar los parámetros vitales con el fin de decidir si el estado inconsciente de la víctima es crítico y por lo tanto, si se debe recomendar la aplicación de técnicas reanimación. Este proyecto, se han analizado las señales obtenidas por un nuevo tipo de sensor, relacionando sus características con los parámetros fisiológicos pertinentes. 6
1.2-Problemática y objetivo El sensor de primeros auxilios consta de 3 bloques principales: Un sensor que transforma las variaciones de parámetros fisiológicos del sujeto en señales eléctricas, un sistema para la extracción de los parámetros relevantes de dicha señal eléctrica y finalmente un sistema de decisión. Antes de la realización de este proyecto de fin de carrera, el sistema determinaba la necesidad de reanimación por medio de la extracción de parámetros frecuenciales y temporales de la señal eléctrica generada por el sensor (filtrada y digitalizada previamente) y posteriormente alimentando una red neuronal con dichos parámetros para que ésta realice la decisión. Una mejora que se esta intentando implementar, es encontrar un sistema de análisis de estas señales eléctricas, para poder implementar el decisor sin necesidad de emplear una red neuronal. Por ello, el objetivo de este proyecto fin de carrera es el de implementar el algoritmo conocido como “Matching Pursuit”, para caracterizar el conjunto de señales posibles que se pueden obtener del sensor y así determinar, en particular, la frecuencia respiratoria y el pulso, datos con los que se puede determinar si es necesario realizar la reanimación sin emplear una red neuronal. Anteriormente, ya se había probado diferentes métodos para conseguir este objetivo: análisis temporal, frecuencial, e incluso análisis tiempo-frecuencia (wavelets) sin resultado. Para poder testar las herramientas de análisis se dispone de una base de datos obtenida de pacientes utilizando el sensor del proyecto del sensor de primeros auxilios. 1.3- Trasfondo fisiológico 1.1.1- El corazón El corazón es un músculo que consta de cuatro válvulas y de cuatro cámaras denominadas aurículas derecha/izquierda y ventrículos derecho/izquierdo. Con estas válvulas se consigue que la sangre fluya en un único sentido. Dichas válvulas han de abrirse y cerrarse de forma coordinada con la acción de bombeo por parte de la aurícula y los ventrículos. Cada válvula consta de un conjunto de membranas que abren o sellan 7
la válvula. Esto permite que la sangre bombeada circule por las cámaras y hacia el torrente sanguíneo sin poder fluir en dirección contraria a la permitida por la válvula. La sangre con baja concentración de oxígeno proveniente de la vena cava superior entra en la aurícula derecha hasta que esta se llena. Entonces, se produce la sístole auricular, donde las aurículas se contraen. En este instante la válvula tricúspide, que se encuentra entre la aurícula derecha y el ventrículo, se abre y cierra en intervalos cortos de tiempo. Esto permite que la sangre fluya al ventrículo derecho sin que esta vuelva a la aurícula. Cuando el ventrículo derecho se llena, este se contrae (sístole ventricular). Entonces, la válvula pulmonar localizada entre el ventrículo derecho y la arteria pulmonar (válvula tricúspide) se abre y cierra rápidamente. De igual manera, con esto se consigue transportar la sangre a las arterias pulmonares sin que esta vuelva a entrar al ventrículo. A la vez que se desaloja sangre, vuelve a entrar más sangre por la válvula tricúspide. Finalmente la sangre expulsada del ventrículo derecho viaja por las arterias pulmonares para recoger oxígeno. La sangre rica en oxígeno que viene de los pulmones entra a la aurícula izquierda a través de las venas pulmonares. Conforme se va llenando dicha aurícula de sangre, esta se contrae (sístole auricular). En este caso la válvula mitral se abre y cierra rápidamente para desplazar la sangre al ventrículo izquierdo. Así mismo, como pasaba en la aurícula, conforme el ventrículo se llena de sangre, se va contrayendo (sístole ventricular). Finalmente la válvula situada entre el ventrículo izquierdo y la aorta se abre y se cierra rápidamente, permitiendo transportar la sangre enriquecida con oxígeno al resto del cuerpo. 8
Fig. 1.1: Esquema del corazón. 1.1.2.- El pulso Cuando se bombea la sangre por las arterias, se genere un pulso de presión, que se desplaza por ellas. Dichos pulsos se generan a una frecuencia determinada por el ritmo cardíaco, y son capaces de detectarse por el tacto a través de la piel. La frecuencia cardíaca en reposo de un adulto ronda entre los 60 y las 100 pulsaciones por minuto. 9
2.3.2.-La base de datos Para poder agilizar el rediseño del procesado de datos, se realizo una base de datos con la colaboración de voluntarios en el UniversitätsKlinikum de Heidelberg. El primer objetivo de las medidas era analizar propiamente como se representaba la señal del pulso en el sensor oscilador no lineal LC. Dado que éste es un sistema novedoso de adquisición de la señal, no existen estudios previos sobre el desarrollo y la representación de dichos pulsos. El sensor se posiciona sobre el agujero yugular (Fig. 2.11). Fig. 2.11: Sensor situado en el agujero yugular. La base de datos contempló la adquisición de registros a partir de sujetos en diferentes posiciones y realizando diferentes actividades. •Sentados: La medida fue realizada sobre 10 sujetos. Primero el sujeto se sentaba por un minuto, y luego la medida tomaba otro minuto. Se buscaba que el sujeto permaneciera tan calmado y relajado como fuera posible, ya que el sensor era sensible a movimientos. •Conteniendo el aliento: Como se ha comentado, la señal consta de una contribución debida a la respiración y de otra debida al pulso, suponiendo en ausencia de artefactos. Durante esta medida, el sujeto para de respirar durante unos segundos, con lo que la señal recogida no sufre la influencia de la respiración. El objetivo de estas medidas era analizar la influencia de la respiración en la señal. •Durante ejercicio físico: En estos casos, se trataba de medir la influencia de la presión sanguínea en el sensor a partir de una prueba física. El ejercicio consistía en montar una bicicleta estática, ya que presenta la mayor estabilidad en comparación con otros tipos de ejercicio. La siguiente tabla (Tabla 1) muestra las características de las señales 16
capturadas que se usan en este trabajo. Tabla 1: Registro de las señales obtenidas por el sensor. Se especifica para cada sujeto, la frecuencia respiratoria, la frecuencia cardíaca, la posición del cuerpo y la posición de la cabeza. 17 Pulse 0-001 60 16 0-002 61 15 0-003 64 17 0-004 90 27 0-005 75 19 0-006 80 13 0-007 100 22 0-008 88 16 0-009 80 12 0-010 61 18 0-011 85 20 0-012 83 22 0-013 103 32 0-014 95 18 0-015 100 18 0-016 70 18 0-017 69 16 0-018 87 11 0-019 64 12 0-020 70 20 0-021 75 15 0-022 68 11 0-023 80 24 0-024 86 15 0-025 78 18 0-026 58 10 0-027 78 19 0-028 90 13 0-029 75 14 0-030 78 17 0-031 56 18 0-032 54 16 0-033 60 16 0-034 58 16 0-035 52 18 0-036 93 13 0-037 50 20 Breathing Position Head position Subject bpm bpm Bed straight Couch straight Bed straight Lied outside straight Lied outside straight Lied outside straight Lied outside straight Lied outside straight Mat straight Mat straight Mat straight Mat straight Mat straight Mat straight Mat straight Mat straight Mat straight Mat straight Mat straight Bed straight Bed straight Bed straight Bed straight Bed straight Bed straight Couch straight Couch straight Couch straight Couch straight Couch straight Couch straight Couch straight Couch Lied on cushion Couch Lied on cushion Couch Lied on cushion Couch Lied on cushion Couch Lied on cushion
3.-MATCHING PURSUIT 3.1.-Introducción Tal como se ha ido mostrando hasta ahora, uno de los objetivos de mejora del proyecto del sensor de primeros auxilios, consiste en aumentar el rendimiento de la red neuronal proporcionando nuevas entradas a la red por medio del análisis multiparamétrico, incluso si fuera posible, poder prescindir de la red neuronal y utilizar un decisor más sencillo. Para conseguir esto, dado la variabilidad entre señales, se ha intentado aplicar análisis mas complejos de la señal, como la transformada de Fourier en tiempo-frecuencia o wavelets. Este trabajo, que fue realizado en un proyecto de fin de carrera anterior, llegó a la conclusión de que, con la utilización de wavelets, no se obtuvo ningún resultado que conllevara en una mejora del sistema. Por ello, se me encomendó la tarea de emplear el “Matching Pursuit”, cuya ventaja radica en que es capaz de sacar características locales de la señal, mientras que los sistemas empleados hasta el momento solo extraían características globales. El algoritmo, a través de estas formas de onda, denominadas átomos, pueden proporcionar información explicita sobre un amplio rango de propiedades. Por lo tanto, puede proporcionar orientación sobre cuales son los elementos característicos que definen la señal analizada. Además, dado el gran abanico de patrones superpuestos contenidos en este tipo de señales complejas, junto con la necesidad de caracterizar, algunos de estos patrones de forma precisa, se impone la utilización de diccionarios redundantes (con gran cantidad de señales, que, en principio, no aportarían en conjunto más información) de tamaño considerable. En muchos casos, combinaciones lineales como son la transformada de Fourier o wavelets, no son lo suficientemente flexibles: Una base de Fourier presenta problemas a la hora de representar funciones bien localizadas 18
temporalmente, mientras que las wavelets adolecen de este problema con respecto a señales de banda estrecha y dependen mucho de la wavelet seleccionada [5]. Por lo tanto, para poder trabajar con funciones con una gran variación de sus componentes de tiempo y de frecuencia, se necesita descomponer la señal en formas de onda que se adapten tanto en tiempo y en frecuencia de forma local utilizando una base redundante (base formada por elementos que no son linealmente independientes). Matching Pursuit es un algoritmo que escoge las formas de onda óptimas de un diccionario redundante, adaptadas también de forma optima para descomponer una estructura de señal en una combinación no lineal de estas formas de onda [6] . Como analogía, se podría decir, que se intenta construir una frase a partir de palabras de un diccionario, la cual sea lo más parecida posible a la que se está analizando. Estas palabras intentarán tener el mismo o el mayor parecido posible a las de la frase original. Una característica importante de este algoritmo es que a pesar de que no utiliza una base ortogonal, se garantiza la convergencia del método a través del la conservación de la energía. También se podría entender el matching pursuit como un algoritmo que escoge la forma de onda (átomo) que más se aproxima a una parte local de la señal. Estos átomos se conforman a partir de la modulación, variación de la escala o traslación de una función tipo ventana. Estos átomos siguen una distribución de tipo Wiegner en tiempo-frecuencia. La suma de estas distribuciones individuales pueden proporcionar una buena representación de una señal en el plano tiempo-frecuencia. 3.2-Descomposición atómica en tiempo-frecuencia Para poder realizar estas descomposiciones, se ha de cumplir una serie de requisitos de adaptabilidad. En este apartado se plantearán dichos requisitos [5]. La descomposición de señales en un conjunto de funciones bien definidas tanto en tiempo como en frecuencia, denominadas átomos, tiene numerosas aplicaciones en el campo de procesado de la señal y en el análisis de armónicos. Para extraer información de señales complejas, se hace necesario adaptar estas descomposiciones tiempo-frecuencia a las estructuras contenidas en dichas señales. 19
Una familia genérica de átomos puede construirse a partir del escalado, traslación y modulación de una única función ventana g(t) Є L2R , siendo g(t) real, diferenciable en todo L2R . También se va a imponer que ∣∣g∣∣=1 , que la integral de g(t) no es nula. A partir de esto, se define una función g(t) que, para una escala s >0, una frecuencia de modulación ξ y una traslación u: gt= 1 sgt - u seiξt (1) Además definimos el índice =s ,u ,ξ como un elemento del espacio =R+xR2 . El factor 1 s normaliza a 1 la función gt . Generalmente g(t) es par, por lo que g(t) se encuentra centrada en la abscisa u, y es proporcional a s. Se define G(ω) como la transformada de Fourier de g(t): G= sĝs−ξe-i(ω-ξ)u (2) Dado que gt es par, ∣ĝ∣ también lo es, y por lo tanto ∣ĝ∣ se encuentra centrada a la abscisa frecuencial ω= ξ. La energía de esta señal se encuentra, por lo tanto, concentrada en la vecindad de ξ, donde el tamaño de la dispersión de la energía es proporcional a 1 s . La familia D=gt∈ es altamente redundante, donde sus propiedades han sido estudiadas. Para poder representar de forma efectiva una función cualesquiera f(t), se ha de seleccionar un subconjunto de átomos gntn∈N de tal manera que: ft= ∞ n=−∞ angnt (3) Dependiendo de qué átomos, gnt , se hayan escogido, los coeficientes de expansión an proporcionan información de ciertas propiedades de f(t). Para señales altamente oscilatorias que incluyen gran variabilidad en su escala, no es posible definir, a priori, los límites tanto de escala como de modulación que definen los átomos tiempo-frecuencia gnt usados en la combinación. Se necesita, por lo tanto, seleccionar de forma adaptativa los elementos de un diccionario D=gt∈ , en función de las propiedades locales de f(t). 20
Una vez introducida la problemática de la descomposición tiempofrecuencia, se va a explicar el algoritmo que implementa dicha descomposición. Se define un diccionario D como una familia de átomos o vectores gt∈ , los cuales pertenecen a un espacio de Hilbert H, de tal forma que ∣∣g∣∣=1 . Supongamos un espacio lineal cerrado, el cual contiene el diccionarios de vectores. Un diccionario se puede considerar completo sí y solo sí la combinación lineal de los átomos tiempo-frecuencia contiene al espacio de Hilbert. Para un diccionario de átomos tiempo-frecuencia, Η = L2(R) y cada átomo gt∈ queda definido por la ecuación (3): Sea un f ∈ H (f correspondiente a una señal a analizar). Se busca una combinación lineal de f sobre un conjunto de átomos escogidos de D, de tal manera que se consigue la máxima similitud con la estructura interna de f. Esto se puede conseguir a partir de la aproximación recurrente de f con las proyecciones ortogonales de los elementos en D. Entonces, como primer paso, f puede ser descompuesta en: f=<f,g 0g 0Rf (4) <f,g 0>=∫ −∞ ∞ ftg 0dt (5) Rf es el vector residuo obtenido tras la aproximación de f en la dirección de gγ0. Dado que gγ0 es ortogonal a Rf: ||f||2=<f,f> = |〈f, gγ0〉|2 + ║Rf║2(6) Para poder minimizar el residuo ║Rf║, se debe escoger un gγ0 ∈ D tal que |〈f, gγ0〉| sea máximo. Es decir, se ha de encontrar un átomo gγ0 tal que cumpla la condición: |〈f, gγ0〉|≥ |〈f, gγ0〉|, para todo γ (7) El algoritmo Matching Pursuit subdescompone el residuo Rf , proyectando este sobre un vector o átomo en D, que se asemeja lo más posible a Rf, de la misma manera que se hizo con f. Este proceso se repite con cada nuevo residuo obtenido, hasta que se cumpla una cierta condición 21
establecida, como, por ejemplo, llegar a un número N de átomos o un valor concreto de la relación║Rnf║/║f║2. En definitiva, el Matching Pursuit se implementa de la siguiente manera: 1. Se define R0f = f. 2. Suponiendo que se calcula el residuo de orden n: Rnf, con n ≥ 0, se tiene que elegir un elemento gγ ∈ D que se asemeje lo máximo posible al residuo Rnf, este gγ ha de cumplir la siguiente condición: |<Rnf, gγn>= supγ∈Γ<Rnf, gγ> (8) <Rnf, gγ> mide la similitud entre sus factores. 3. Entonces, el residuo Rnf se descompone en: Rnf = <Rnf, gγn>gγn + Rn+1f (9) En esta igualdad se define el residuo para n+1. Esta ya probado que para n → ∞, ||Rnf|| 0.→ En esta situación f vale: N−1 n=0 <Rnf , g n> (10) 3.3-Diccionarios Como se ha comentado antes, el comportamiento del algoritmo va a depender de los elementos que conforman el diccionario. Un diccionario es una colección de formas de onda parametrizadas: Ɗ=(gγ : γ ∈ Γ) (11) Dependiendo del diccionario utilizado, el parámetro γ se puede interpretar como un índice de frecuencia, en cuyo caso nos encontraríamos ante un diccionario frecuencial o diccionario de Fourier; también es posible realizar diccionarios tiempo-escala o diccionarios tiempo-frecuencia [7]. Dependiendo del número de átomos contenidos en el diccionario, podemos encontrar diccionarios completos con N átomos, siendo N el número de átomos con el cual se puede decir que se caracteriza completamente a la señal, sobrecompletos con más de N átomos y 22
subcompletos. También existen los diccionarios continuos, el cual contienen un número infinito de átomos. Aunque existe una gran cantidad de diccionarios propuestos, se van a exponer los más relevantes: •Diccionarios triviales: En este tipo entran los diccionarios más simples. Aquí se encuentra el diccionario de Dirac, el cual es una colección de formas de onda que valen cero excepto en un único punto o el diccionario de Heaviside, que esta conformado por un conjunto de ondas “escalón”, las cuales saltan en un determinado punto cada vez. Para el diccionario de Heaviside los átomos de este diccionario ya no conforman una base ortogonal, pero se puede conseguir que para una señal exista una representación a partir de la combinación de los átomos. •Diccionarios frecuenciales: En este grupo se encuentra el diccionario de Fourier, el cual es una colección de formas de onda sinusoides, indexadas a partir de γ= (ω, ν), donde ω Є [0; 2π) se define como la frecuencia angular, y la variable ν Є {0,1} determina el tipo de fase, este diccionario conforma una base, ya que todos sus átomos son mutuamente ortogonales. Como ejemplo, un diccionario sobrecompleto de Fourier se obtiene a partir de sobremuestrear las frecuencias. •Diccionarios tiempo-escala: En este conjunto un tipo de diccionario es el de Wavelets, este diccionario se compone de una colección wavelets trasladados y escalados. La indexación se realiza a partir de γ= (a, b, ν), donde a Є (0,∞) is la variable de escala, b Є [0; n] indica posición y ν Є {0,1} indica el género: g(a,b,1) = φ(a(t - b)) a g(a,b,0) = ψ(a(t - b)) a (12) Se obtiene entonces un diccionario con n átomos, a la vez que se genera una base ortonormal. Se pueden conseguir otros diccionarios tipo wavelets realizando variaciones a esta base. Las más destacadas son utilizando splines de wavelets definidas a partir de relaciones de filtrado a dos escalas. Esto conlleva a reglas de construcción más complicadas, pero mantiene la misma estructura de indexado, o, en otras palabras, se aplica de la misma manera en el algoritmo. 23
•Diccionarios Tiempo-Frecuencia: Una evolución del análisis de señales se centra en el estudio de los fenómenos en tiempo-frecuencia. Uno de los ejemplos más extendidos, es el diccionario de Gabor. Este trabaja con un indexado γ= (ω, τ, θ, δt), donde ω Є [0, π) determina la frecuencia, τ determina la posición, θ la fase y s la duración del átomo: g t=e t−2 s2⋅cost− θ (13) Estos átomos concentran su energía en frecuencias cercanas a ω y tienen una extension considerable en tiempo. Para generar diccionarios de Gabor discretos para análisis tiempo frecuencia, se generan una ωk = kΔω y una τl = lΔτ, y una θ ∈ {0, π/2}, donde Δτ y Δω son lo suficientemente pequeños como para considerar los diccionarios completos. Este va a ser el diccionario con el que se va a a realizar el análisis de las señales en este proyecto fin de carrera. Se va a generar a además una variación de s, su= uΔs, que nos permitirá analizar la señal incluso para diferentes escalas. •Otros diccionarios : Siempre es posible juntar diccionarios para crear megadiccionarios, ya que la redundancia en estos no es perjudicial para el algoritmo. Una vez introducido de forma general el algoritmo y posibles diccionarios implementado en este, se va a analizar de forma mas extensa el comportamiento del Matching Pursuit utilizando diccionarios de Gabor: 3.4.- Matching Pursuit en espacios discretos utilizando el diccionario de Gabor Para poder trabajar en espacio discretos, habrá que discretizar todos los parámetros relacionados que conforman los átomos pertenecientes a un diccionario de Gabor. Tal como se comenta en el apartado anterior, un átomo perteneciente al diccionario de Gabor esta compuesto por una ventana gaussiana modulada a una frecuencia determinada. Sea La función g(t) es la ventana de Gauss normalizada: 24
gt=2 1 4e − t2 (14) Para obtener una señal discreta, a cualquier escala s, se muestrea la ventana de Gauss empleando un periodo de muestreo Ts, obteniendo g(n). Incluyendo el factor de escala s y el desplazamiento p se obtiene: gsn=Ksgn−p s (15) La constante Ks normaliza la norma gs. El parámetro p determina el desplazamiento del átomo con respecto al origen de la señal a analizar discreta. Se define γ= (s, p, f, ϕ ), siendo ϕЄ [ 0, 2π ] la fase del átomo, como el índice del átomo y se define el átomo tiempo-frecuencia discreto de Gabor como: g ,ϕ,p,fn=Ksgsn−pcos2fn−pnϕ (16) 25
zn=xn∗hn−xn−N 2 (17) Necesitamos encontrar una función f que sea lo más parecido posible a la señal original como una combinación no lineal de una serie de átomos escogidos de un diccionario. Esta función f, se construye como un sumatorio de productos de átomos y factores αg donde γ= (s, ω, τ, θ) es el índice de átomo para cada iteración: f= ∈ g (18) Los átomos se escogen de entre un conjunto generado anteriormente denominado “diccionario”. Como se comenta en el capítulo 3, el matching pursuit es un algoritmo iterativo. En cada iteración, se encontrará el átomo óptimo g y se multiplicara por el factor a , tal que la multiplicación de ambos genere una forma de onda que sea lo más parecida posible a un fragmento de la señal a analizar. El siguiente paso consiste en sustraer dicha forma de onda de la señal, para obtener una señal residuo. Para este residuo obtenido se volverá a buscar la combinación entre un nuevo átomo seleccionado y un nuevo factor a y a obtener un nuevo residuo y así sucesivamente. Como todo algoritmo iterativo, hay que definir unas condiciones de parada. Para este algoritmo se definen como condición tanto un número prefijado de átomos obtenidos o iteraciones realizadas , obtener un residuo cuya energía llegue a cierta fracción de la energía de la señal original o que se obtenga un decaimiento de la energía residuo respecto a una fracción de la señal original. Para este proyecto se usaron fragmentos de 8 segundos de la señal original, a petición del director de proyecto, ya que el sistema entrenador se ha configurado con fragmentos para ese número de muestras. Finalmente el pseudocódigo del algoritmo para MATLAB: •Generamos el diccionario de átomos. •Cargamos un fragmento de 8 segundos. •Lo filtramos. •Reestructuramos la matriz Diccionario para que pase de Txlong(s)xlong(f)xlong(θ) a Txlong(s)long(f)long(θ). 32
•Rx0=señal filtrada. •E=norma 2 de Rx. •Desde n= 1 a numero de iteraciones máximo (N) ◦Desde i=1 a long(s)long(f)long(θ) ▪Vector U = correlación señal filtrada átomo i. ◦fin -Con esto hemos calculado una matriz de correlaciones entre la señal y todos lo átomos posibles.- ◦Generamos matriz con valor los máximos de estas correlaciones y su posición con respecto a la señal correlada. ◦Elegimos el máximo de entre los máximos anteriores y su posición. -Según su posición en la matriz de máximos, podemos reestructurar los índices de la matriz Txlong(s)xlong(f)xlong(θ) para así saber cual es el átomo con el cual se correlaba.- ◦α·gγ =Máximo de máximos/átomo en posición. ◦Rxn=Rxn-1-α·gγ ◦E2=norma 2 de Rxn ◦Si E2 < %E ▪Paro del algoritmo. •fin Fig. 4.7: Representación de la señal original (azul) y del primer átomo seleccionado (rojo) multiplicado por el coeficiente de expansión a0. 33 0 1 0 0 2 0 0 3 0 0 4 0 0 5 0 0 6 0 0 7 0 0 8 0 0 9 0 0 - 0 . 4 - 0 . 3 - 0 . 2 - 0 . 1 0 0 . 1 0 . 2 0 . 3 S e ñ a l f i l t r a d a ( a z u l ) y p r i m e r á t o m o e s c a l a d o s e l e c c i o n a d o M u e s t r a s
Fig. 4.8: Representación de la señal original tras la sustracción del átomo elegido. Esta señal es también el primer residuo. Fig. 4.9: Representación de la señal original y la señal reconstruida a partir de los átomos obtenidos. 34 0 100 200 300 400 500 600 700 800 900 - 0 . 2 5 - 0 . 2 - 0 . 1 5 - 0 . 1 - 0 . 0 5 0 0 . 0 5 0 . 1 0 . 1 5 0 . 2 0 . 2 5 R e s i d u o t r a s l a p r i m e r a i t e r a c i ó n M u e s t r a s 0 1 0 0 2 0 0 3 0 0 4 0 0 5 0 0 6 0 0 7 0 0 8 0 0 9 0 0 - 0 . 2 5 - 0 . 2 - 0 . 1 5 - 0 . 1 - 0 . 0 5 0 0 . 0 5 0 . 1 0 . 1 5 0 . 2 0 . 2 5 S e ñ a l g e n e r a d a a p a r t i r d e l o s á t o m o s o b t e n i d o s ( a z u l ) j u n t o c o n s e ñ a l o r i g i n a ( r o j o ) M u e s t r a s
Fig. 4.10: representación del residuo tras la iteración nº: 40. Fig. 4.11: Representación de la energía residual para cada iteración. Las primeras conclusiones obtenidas a partir del propio proceso de desarrollo del algoritmo es que, a partir de un número determinado de iteraciones, para poder conseguir los niveles anteriores de decrecimiento de la energía residual, se va a necesitar un número aún mayor de iteraciones. Esta relación de número de iteraciones/reducción de la energía residual crece de forma exponencial. Esto ocurre a que en las primeras iteraciones hemos “atomizado” las componentes mas energéticas de la señal, y luego se intenta recoger las componentes restantes menos energéticas. Además también se tiene que “corregir” las variaciones introducidas por la operación de 35 0 5 1 0 1 5 2 0 2 5 3 0 3 5 4 0 0 . 4 0 . 5 0 . 6 0 . 7 0 . 8 0 . 9 1E v o l u c i ó n d e l a e n e r g í a r e s i d u a l I t e r a c i o n é s 0 100 200 300 400 500 600 700 800 900 - 0 . 2 5 - 0 . 2 - 0 . 1 5 - 0 . 1 - 0 . 0 5 0 0 . 0 5 0 . 1 0 . 1 5 R e s i d u o t r a s l a i t e r a c i ó n 4 0 M u e s t r a s
sustracción, ya que el átomo raramente será exactamente igual al elemento que sustrae. También a partir de cierta iteración, se habrá conseguido “atomizar·” la mayor parte de la señal y lo único que quedará de esta señal será ruido. Por ello el matching pursuit también puede tener aplicaciones para el filtrado de ruido. Con esto podemos determinar la existencia de un límite superior, variable según la señal a analizar, pero de órdenes menor que la centena. Como nota adicional, como interés para otras aplicaciones ajenas al PFC es el coste computacional del matching pursuit, que, para MATLAB, es elevado: se tardó, con un ordenador de gama media (doble núcleo y 3 GB de memoria), y para N=50 iteraciones uno 20 minutos. Suponiendo esto, para este mismo ordenador, un análisis de las 37 señales suponen 12 horas y 20 minutos. 4.5.-Alternativas A partir de un análisis de la señal, se puede apreciar una aparición de patrones repetitivos, lo que apuntaba a la existencia de periodicidad. Si se entendiera, estos patrones como “pseudo-átomos”, se puede utilizar el matching pursuit para localizar las posiciones de esos átomos , y así poder encontrar periodicidades en la señal analizar, y poder comprobar si es posible relacionar este parámetro con la frecuencia cardíaca. También se puede utilizar esta modificación del algoritmo para poder clasificar señales: Si existen grupos de señales que comparten un mismo grupo de átomos, se podrían clasificar como elementos del mismo grupo, y así poder aliviar cargas computacionales, o implementar diferentes estrategias para cada agrupación. En consonancia con este objetivo, se realizo una modificación a través del diccionario utilizado. En vez de utilizar un diccionario de Gabor, se genero uno propio adquiriendo un átomo medio utilizando un número de “pseudoátomos” extraídos “a mano” de cada señal de la base de datos. 36
Fig. 4.12 y Fig. 4.13: Muestra de una señal y átomo obtenido a partir de realizar la media del factor periódico de la señal. Como trabajo adicional, se ha implementado 1 scripts adicional, con el fin de explotar esta periodicidad y poder verificar los resultados obtenidos con el matching pursuit modificado, y si fuera posible, utilizar estos scripts para encontrar la frecuencia cardíaca. Se trata de buscar patrones energéticos repetitivos utilizando la correlación de señales. El script extrae una parte de la señal de tamaño L, de esta se extrae a su vez una ventana de tamaño variable y, realizando repeticiones de esta ventana, se construye una señal de tamaño L. A continuación, se realiza la correlación entre estas dos señales y se obtiene el máximo. Relacionando de nuevo, el tamaño de la ventana con el máximo de frecuencia, al encontrar el pico máximo, obtendremos la pieza de la señal que energéticamente se repite más en el tiempo. Con este valor, que se traduce en muestras también se puede obtener una frecuencia de repetición. 37 0 100 200 300 400 500 600 700 800 - 0 . 8 - 0 . 6 - 0 . 4 - 0 . 2 0 0 . 2 0 . 4 0 . 6 M u e s t r a e x t r a i d a d e l a b a s e d e d a t o s M u e s t r a s 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 1 0 0 - 0 . 2 - 0 . 1 5 - 0 . 1 - 0 . 0 5 0 0 . 0 5 0 . 1 0 . 1 5 P s e u d o - Á t o m o g e n e r a d o a p a r t i r d e e s t a s e ñ a l M u e s t r a s
5.-INFORME DE RESULTADOS El objetivo primario de este PFC, era aprovechar las capacidades que ofrece el matching pursuit, para poder obtener la frecuencia cardíaca o pulso, a partir de los datos generados por este algoritmo. Con esto se buscaba poder eliminar de la fase de procesado de la señal del sensor la red neuronal que se encargaba de tomar la decisión. También, en caso de que no se consiguiera establecer una correlación directa entre los parámetros obtenidos al implementar el matching pursuit, se podrían usar estos parámetros como nuevas variables con que alimentar a la red neuronal y observar si se consiguen mejorar los resultados globales. Se ha realizado un batería de simulaciones del algoritmo de matchingpursuit bajo las siguientes condiciones: •Se han utilizado los rangos optimizados para el generador de diccionario. •Se han utilizado átomos de Gabor. •Se ha utilizado como criterio de parada N=50 iteraciones. Los resultados obtenidos son grupos de 4 índices por cada iteración. Estos índices describen la escala de la ventana gaussiana, la frecuencia de la señal moduladora, la fase de la señal moduladora y la posición del átomo. Como primer análisis se ha intentado relacionar directamente la frecuencia del átomo con la frecuencia de la señal. Para ello, se ha obtenido la media entre las frecuencias de la señal moduladora para cada iteración. Esto es, que para 50 iteraciones la frecuencia estimada es la media entre las frecuencias de los 50 átomos obtenidos. 38
Fig. 4.14: Representación de la frecuencia de cada señal indicada por la base de datos y la estimada por el algoritmo. Como método de análisis adicional se representan los resultados haciendo uso de las gráficas Bland Altman [8]: Se representa el error de estimación asociado a cada pulsación por minuto de cada señal (dato conocido). Además se representa el error medio (no absoluto) de toda la estimación y por último los márgenes determinados por la desviación típica. Con esta representación se pueden apreciar la existencia de tendencias, como, por ejemplo, una mejor estimación para cierto rango de frecuencias. En la siguiente figura (Fig. 4.15) se representa la gráfica Bland Altman para los resultados obtenidos: 39 0 5 1 0 1 5 2 0 2 5 3 0 3 5 4 0 0 2 0 4 0 6 0 8 0 1 0 0 1 2 0 1 4 0 1 6 0 S e ñ a l n º P u l s a c i o n e s p o r m i n u t o F r e c u e n c i a i n d i c a d a e n b a s e d e d a t o s ( a z u l ) f r e n t e a fr e c u e n c i a e s t i m a d a ( r o j o )
Fig. 4.15: Gráfica de Bland Altman para la primera estimación. Como se puede apreciar existe una alta tasa de error a la hora de estimar de esta manera la frecuencia. También no se puede apreciar ningún tipo de tendencia en el error de estimación. La siguiente tabla (Tabla 2) se proporciona una representación numérica de los resultados y el error medio absoluto: Tabla 2: Porcentaje del error de estimación obtenido para cada señal del registro. Error_medio= 45,08%. Una de las presunciones que se había comentado es que la calidad de la información que se extrae con cada nuevo átomo decrece, ya que se puede pensar que, a partir de cierto punto, los nuevos átomos sólo se adaptarán al ruido o al error producido por la operación de sustracción residuo-átomo. La siguiente gráfica muestra la evolución del error medio según el número de iteraciones: 40 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 %Error 94,44 79,78 6,77 49,26 16 43,75 10,67 0,38 70 85,79 28,63 53,41 30,42 61,4 47 2,38 103,86 34,48 87,5 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 %Error 17,14 32 26,96 25 22,87 19,66 80,46 29,06 6,67 42,22 26,92 11,31 124,07 7,78 35,63 144,23 60,14 50 Señal nº Señal nº 5 0 6 0 7 0 8 0 9 0 1 0 0 1 1 0 - 1 5 0 - 1 0 0 - 5 0 0 5 0 100 150 G r á f i c a B l a n d A l t m a n P u l s a c i o n e s p o r m i n u t o E r r o r d e e s t i m a c i ó n
Fig. 4.16: Representación del error de estimación medio para cada iteración. Se puede ver que el error de predicción tiene un mínimo para 17 iteraciones del 40%, valor que sigue resultando demasiado alto. Otro tipo de estimación de la frecuencia puede ser a partir de realizar una media ponderada utilizando como factor de ponderación an: los primeros átomos tienen mayor influencia en la frecuencia estimada final. Los resultados obtenidos son: Fig. 4.17: Representación del error de estimación medio por iteración ponderando el error con an. Como se puede apreciar, no existe una clara correlación entre la 41 0 5 1 0 1 5 2 0 2 5 3 0 3 5 4 0 4 5 5 0 4 0 5 0 6 0 7 0 8 0 9 0 1 0 0 E v o l u c i ó n d e l e r r o r d e p r e d i c c i ó n d e l p u l s o I t e r a c i o n e s % E r r o r 0 5 1 0 1 5 2 0 2 5 3 0 3 5 4 0 4 5 5 0 4 0 5 0 6 0 7 0 8 0 9 0 1 0 0 I t e r a c i o n e s % E r r o r E v o l u c i ó n d e l e r r o r d e p r e d i c c i ó n d e l p u l s o
El criterio de parada resultante es de cuando la energía residual es un 65,28% de la respectiva señal original. Los resultados utilizando este umbral se muestran en la siguiente figura: Tabla 7: Porcentaje de error obtenido utilizando como umbral de parada de 65,28%. El error medio obtenido en este caso es de 31.56 %. Finalmente, se intentó un script alternativo al matching pursuit, el cual fue explicado en el apartado anterior. El objetivo es analizar cuando se producen máximos en la correlación entre la señal a analizar y una muestra de esta replicada hasta obtener la longitud de la señal original. Con cada iteración se incrementa la longitud de la muestra a replicar y se extrae el máximo valor de la señal resultante de la correlación. La siguiente figura ( Fig. 4.23) , muestra las señales con las que se trabaja en una iteración: Fig 4.26: Extracto de señal original y de muestra repetida. Por lo tanto, en el caso de que la señal tuviera periodicidad L, se obtendría un máximo para una muestra de longitud L, y este se repetiría con cada múltiplo de L. Con sólo evaluar la distancia entre picos, se obtiene directamente el periodo de la señal a analizar. Una consideración previa se 48 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 %Error 14,84 17,34 117,3 25,64 18,16 16,46 34,78 19,69 44,72 17,15 6,55 2,18 25,06 33,28 12,06 17,36 14,56 29,97 25,67 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 %Error 13,75 29,84 27,88 52,44 7,67 62,97 42,69 25,86 38,84 33,73 19,31 102,4 42,65 16,47 28,39 67,83 16,45 60,19 Señal nº Señal nº 0 500 1000 1500 2000 2500 3000 3500 4000 - 1 - 0 . 5 0 0 . 5 1 1 . 5 M u e s t r a s S e ñ a l 0 0 2 ( a z u l ) y m u e s t r a r e p e t i d a ( r o j o )
hace necesaria ante este código y la elección del rango de longitudes que va a tener la muestra: Para ventanas muy pequeñas, tendremos máximos de correlación que no estarán relacionados con la frecuencia cardíaca, sino con variaciones de la señal intralatidos y distorsionarán los resultados. Por ello se escoge una longitud mínima de 55, que equivale a recoger una frecuencia máxima de 109 latidos por minuto, con el fin de que sea posible recoger los máximos de correlación de las señales con frecuencia cardíaca media más alta del conjunto de capturas (103 para la señal 13 y 100 para las señales 7 y 15). En cuanto a la elección de la longitud máxima, se escoge un valor pequeño en proporción a la longitud total de la señal, con tal de que la muestra repetida genere suficientes periodos. Las señales tienen una longitud variable que oscila entre las 10000 y las 20000 muestras, por lo que una longitud máxima de 1000 nos genera suficientes máximos de correlación para los periodos de latido más lentos (para la señal 37 con una frecuencia cardíaca de 50 latidos por minuto se podrían detectar hasta 8 máximos). A continuación, en la siguiente figura se muestra la variación del máximo de correlación según la longitud de la ventana: Fig 4.27: Ejemplo de la evolución del máximo de correlación a partir de la longitud de la muestra. Se ha utilizado la señal 1 del registro. Los resultados obtenidos con el siguiente programa se muestran en la siguiente figura Tabla 8: 49 1 0 0 2 0 0 3 0 0 4 0 0 5 0 0 6 0 0 7 0 0 8 0 0 9 0 0 1 0 0 0 - 3 0 - 2 0 - 1 0 0 1 0 2 0 3 0 4 0 M á x i m o d e c o r r e l a c i o n p a r a c a d a v e n t a n a p a r a l a s e ñ a l 1 L o n g i t u d d e l a m u e s t r a M a x ( c o r r ( s e ñ a l , m u e s t r a ) )
Tabla 8: Frecuencia estimada y error obtenido para cada señal. Como se puede observar se vuelven a obtener unos valores de error de predicción muy altos (una media del 39.97 %). 50 Señal nº 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 %Error 66,76 6,29 9,91 19,26 12,61 40,69 3 18,73 30,72 51,41 38,66 87,32 12 27,11 17,22 52,27 156,1 42,1 3,18 Señal nº 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 %Error 48,02 28,53 30,49 16,17 15,38 36,94 24,64 37,57 14,4 4,19 10,3 36,7 116,9 65,53 81,49 109,25 13,89 93,1
6.-DISCUSIÓN 6.1.-Análisis de los resultados La primera conclusión es que los métodos implementados para determinación de la frecuencia ofrecen unos resultados peores que la alternativa inicial del proyecto, la cual empleaba una red neuronal. Por lo tanto el algoritmo de Matching Pursuit bajo las condiciones dadas resulta ineficaz. Por otro lado,a lo largo del desarrollo de este proyecto, personalmente he podido familiarizarme con las posibilidades que este método ha supuesto para el análisis de estructuras de señales biológicas, para la detección de notas musicales y otras pautas sonoras, reconocimiento de imágenes y forma... En mi opinión, en referencia a los objetivos de este proyecto, el hecho de relacionar la señal con un conjunto de átomos con el fin de obtener la frecuencia, supone una recopilación de un conjunto de características como la fase, amplitud y el factor multiplicativo que difícilmente son determinantes para este objetivo. Por otro lado, sí ha sido interesante intentar buscar un subconjunto de átomos con determinadas características, los cuales se pudieran relacionar con determinados conjuntos de señales y así poder proporcionar nuevas entradas de datos a la fase de entrenamiento de la red neuronal y mejorar su rendimiento o su porcentaje de acierto. Además he podido comprobar que para este caso, el algoritmo de Matching Pursuit tiene su implementación directa como herramienta de filtrado de la señal. Otro punto ha tener en consideración con respecto a los resultados obtenidos, es que dado el tiempo limitado para la realización del proyecto (4 meses), no se han realizado nuevas pruebas con el algoritmo con nuevos diccionarios, o no se han explotado todas las posibilidades (como por ejemplo, un estudio mayor del criterio de parada para el Matching pursuit que utilizaba muestras de las señales como átomos del diccionario). 51
Como conclusión final, personalmente considero este proyecto como una introducción a la metodología de análisis de señales biológicas en un entorno práctico, pudiendo conocer las diferentes problemáticas y conceptos fundamentales a la hora de trabajar con estas señales. 6.2.-Propuestas para estudios futuros Tal como se ha ido introduciendo en el análisis de resultados, un primera propuesta sería profundizar en el comportamiento del Matching Pursuit empleando diferentes diccionarios. Por ejemplo se podría utilizar diccionarios con estructuras tiempo frecuencia más completas (crear diccionarios con más de una estructura tiempo-frecuencia) o alternativas al diccionario de Gabor con el fin de extraer características con lo que mejorar el rendimiento de la red neuronal. Es importante recalcar que el comportamiento del algoritmo viene definido en gran medida por el diccionario que utilice. Otra propuesta interesante sería profundizar en el programa de Matching Pursuit que emplea como diccionario muestras de las señales: Se podría hacer un análisis más detallado de qué muestras podrían optimizar el comportamiento del algoritmo, así como emplear criterios de parada más complejos con los que poder encontrar lo puntos óptimos de parada para cada señal, y así poder determinar la frecuencia sin la necesidad de emplear la red neuronal. También puede ser interesante utilizar el método de Matching Pursuit para eliminar el residuo, en otras palabras, utilizar el algoritmo para filtrar la señal. Con la señal resultante, se debería realizar un análisis empleando métodos de análisis espectral. 52
Bibliografía [1] Adult basic life support and use of automated external defibrillators. European Resuscitation Council Guidelines for Resuscitation 2005. Section 2. [2] Auerbach,Holger. Gesundheitsökonomische Evaluation eines Telemedizinsystems für die präklinische Notfallrettung bei Verkehrsunfällen in Deutschland. In Dissertation der Medizinischen Fakultät der Charité Universitätsmedizin Berlin, 2006. [3] Eberle, B. In Checking the carotid pulse check: diagnostic accuracy of first responders in patientw with and without pulse. In Resuscitation. Cap: 33, p: 107-116, 1996. [4] Leber N. Analyse des Informationsgehalts und der Korrelation verschiedener Pulssignale. Thesis of Hochschule Karlsruhe-Technik und Wirtschaft Fakultät Maschinenbau und Mechatronik. P:4-8, 2010. [5] Martin L. Yarmush and Christopher J. James. Matching Pursuit and Unification in EEG Analysis. Artech House Engineering in Medicine and Biology Series. Series Editors. P: 33-35. [6] Mallat S. and Zhang Z. Matching pursuit with time frequency dictionaries.IEEE Transactions on signal processing. Vol:41, Issue:12, p: 3-19, 1993. [7] Scott S. Chen, David L. Donoho, Michael A. Saunders. Atomic Decomposition by Basis Pursuit. SIAM Journal on Scientific Computing. No. 1, Vol. 20, p:132-134, 1999. [8] Altman DG, Bland JM. Measurement in medicine: the analysis of method comparison studies. The Statistician. Cap: 32, p: 307-317, 1983. 53