Publication:
Diseño e implementación en FPGA de un filtro Kalman para aplicaciones biomédicas

Loading...
Thumbnail Image
Official URL
Full text at PDC
Publication Date
2015
Editors
Journal Title
Journal ISSN
Volume Title
Publisher
Citations
Google Scholar
Research Projects
Organizational Units
Journal Issue
Abstract
La Diabetes Mellitus tipo 1 es una enfermedad crónica caracterizada por la incapacidad del páncreas de producir insulina. Esta hormona regula la absorción de la glucosa del torrente sanguíneo por parte de las células. Debido a la ausencia de insulina en el cuerpo, la glucosa se acumula en el torrente sanguíneo provocando problemas a corto y largo plazo, como por ejemplo deterioro celular. Los pacientes con esta enfermedad necesitan controlar su glucemia (concentración de glucosa en sangre) midiendo la misma de forma regular e inyectándose insulina subcutánea de por vida. Para conocer la glucemia se pueden utilizar Monitores Continuos de Glucosa (MCG), que proporcionan el valor de la glucosa intersticial cada 1-5 minutos. Los MCG actuales presentan los siguientes problemas: • El sensor que llevan incorporado introduce ruidos asociados a la medición y se degrada a lo largo de su vida útil, lo que dificulta la interpretación de los datos obtenidos. • Debido al transporte de la glucosa desde el torrente sanguíneo hacia el fluido intersticial, el valor de la glucosa en este último presenta cierto retraso frente al valor de la glucosa en el primero. • Es necesaria una calibración frecuente, usando como referencia la glucosa en sangre muestreada del propio paciente. • La variabilidad de la glucosa entre distintos pacientes y a lo largo de la vida de un mismo paciente dificulta el ajuste de los parámetros de los filtros. Una solución propuesta actualmente es la utilización de filtros Kalman. Éstos se describen mediante algoritmos recursivos capaces de identificar el estado oculto (glucosa en sangre) a partir de medidas indirectas del mismo (glucosa intersticial), y al mismo tiempo predicen su comportamiento futuro y eliminan el ruido de la señal. El principal problema de esta propuesta es que su implementación se realiza en software, y por tanto, trabajan con datos ya procesados por el sensor. Esto puede agravar alguno de los problemas listados con anterioridad e impide sacar el máximo provecho a la gran capacidad de estos filtros. Este proyecto surgió con la idea de dejar atrás los filtros Kalman software y sustituir los filtros digitales hardware con los que actualmente cuentan los sensores por un filtro de Kalman. En este proyecto se implementa sobre una FPGA un filtro Kalman de tres estados (glucosa, velocidad de variación de la glucosa y aceleración de la velocidad de dicha variación), teniendo como entrada medidas reales proporcionadas por un MCG. En los resultados se puede comprobar que las predicciones realizadas por el filtro Kalman implementado en este proyecto se ajustan perfectamente al comportamiento de la glucosa en sangre. Se han realizado simulaciones del filtro para observar su respuesta ante variaciones bruscas de la glucosa y la fiabilidad de la misma durante un largo periodo de tiempo. Para ello se han utilizado medidas de cuatro pacientes reales. En aquellos cuya glucosa cambia de forma brusca se puede observar que el filtro estima el valor de ésta erróneamente. A pesar de ello, utiliza este resultado incorrecto para corregir la siguiente predicción y ofrecer resultados correctos en el futuro.
Diabetes Mellitus type 1 is a chronic disease characterised by the inability of the pancreas to produce insulin. This hormone controls the absorption of glucose from the bloodstream by the cells. As a result of the absence of insulin in the body, glucose builds up in the bloodstream causing short and long term problems. Cellular degeneration serves as an example. Patients with this disease need to keep their glycemia under control by measuring it regularly and injecting subcutaneous insulin for the rest of their lives. An option to know the blood glucose concentration is the use of a continuous glucose monitoring, as the provide the interstitial glucose value every 1 to 5 minutes. Current CGMs present the following problems: • The sensor they have embedded adds measurement-related noises and deteriorates during its lifespan, rendering the interpretation of the gathered data more difficult. • There is a delay between the concentration of blood glucose and interstitial glucose due to the fact that it has to be transported from one environment to another. • Frequent calibration is required, using the blood glucose measured from the patient as reference. • Glucose variability between patients and in a sole patient's lifetime makes difficult to adjust the filter parameters. A proposed solution is the use of Kalman filters. They are described by recursive algorithms capable of identifying the hidden state (blood glucose) from indirect measurements of itself (interstitial glucose), predicting, at the same time, its future behavior and removing the noise from the signal. The main problem these proposals share is that the implementation is done in software, and thus, they work with data that has already been processed by the sensor. This can worsen some of the problems listed above, and prevents the filters from delivering their full potential. This project's goal is to leave behind Kalman filters implemented in software and to replace the digital hardware filters that sensors currently equip with a Kalman filter. In this project, a Kalman filter with three states (glucose,glucose variation speed and acceleration of the speed of said variation) is implemented on an FPGA, with real measurements provided by a CGM. Experimental results show that the estimations made by the Kalman filter implemented throughout this project match precisely the behavior of the blood glucose. Simulations of the filter have been done to observe its response in the presence of sharp variations of glucose and its reliability during long periods of time. For this, measurements from four real patients have been used. When glucose experienced a sudden change, the filter can be seen mispredicting the next value. Despite this, it uses this incorrect result to correct the next estimation and deliver precise results in the future.
Description
Trabajo de Fin de Grado en Ingeniería de Computadores (Universidad Complutense, Facultad de Informática, curso 2014/2015)
Keywords
Citation