Electrocardiogram analysis for arrhythmia detection on an FPGA
Loading...
Official URL
Full text at PDC
Publication date
2024
Authors
Advisors (or tutors)
Editors
Journal Title
Journal ISSN
Volume Title
Publisher
Citation
Abstract
La caracterización automática de la señal del electrocardiograma (ECG) es de importancia crítica en la monitorización y el diagnóstico del paciente. Por ello, en este trabajo lo que se pretende es detectar arritmias partiendo de una señal analizable. Esto se realizará con un algoritmo previamente prototipado y probado en software, cuyo propósito, es detectar los picos QRS de un paciente y con ello detectar arritmias. Para ello, el algoritmo compara las distancias que tienen los picos actuales con la distancia que formaron los picos anteriores. Para el diseño hardware el programa se organizará en distintos módulos. Este diseño cuenta con unos módulos principales que desempeñarán sus funciones para seguir los pasos del prototipo en software y así poder realizar las tareas de filtrado de señal, detección de picos y detección de arritmias. Estos módulos están contenidos en un módulo principal y a su vez se incluye en un testbench para realizar pruebas. Las pruebas se realizarán introduciendo señales del electrocardiograma de un paciente en un módulo de memoria para que el programa las procese. A su vez, en otra memoria se introducirán las anotaciones realizadas por expertos para comprobar si coinciden con las arritmias detectadas por el algoritmo y así poder comprobar la eficacia de la replicación del programa a partir del prototipado en software. Para ello, la FPGA que se utiliza para probar el algoritmo en hardware es la Artix 7 de la placa Basys3. Para concluir, en los resultados experimentales, se especifica la frecuencia ideal, el reporte de timing y el consumo en vatios necesarios para el programa. Según los datos obtenidos, este proyecto utiliza muy pocos recursos para el desempeño que tiene y por ello, cumple con los objetivos de ser un algoritmo que puede llegar a ser personalizable, para un dispositivo portable que detecte arritmias a tiempo real.
The automatic characterization of the electrocardiogram (ECG) signal is of critical importance in patient monitoring and diagnosis. Therefore, the aim of this work is to detect arrhythmias based on an analyzable signal. This will be done with an algorithm previously prototyped and tested in software, whose purpose is to detect the QRS peaks of a patient and thus detect arrhythmias. To do this, the algorithm compares the distances that the current spikes have with the distance that the previous spikes formed. For the hardware design the program will be organized in different modules. This design has some main modules that will perform their functions to follow the steps of the software prototype and thus be able to perform the tasks of signal filtering, peak detection and arrhythmia detection. These modules are contained in a main module and in turn are included in a testbench for testing. The tests will be performed by introducing electrocardiogram signals from a patient’s electrocardiogram into a memory module for processing by the program. In turn, the annotations made by experts will be introduced into another memory to check whether they coincide with the arrhythmias detected by the algorithm and thus be able to check the effectiveness of the program replication from the software prototyping. For this purpose, the FPGA used to test the algorithm in hardware is the Artix 7 on the Basys3 board. To conclude, in the experimental results, the ideal frequency, the timing report and the watt consumption needed for the program are specified. According to the data obtained, this project uses very few resources for the performance it has and therefore meets the objectives of being an algorithm that can become customizable, for a portable device that detects arrhythmias in real time.
The automatic characterization of the electrocardiogram (ECG) signal is of critical importance in patient monitoring and diagnosis. Therefore, the aim of this work is to detect arrhythmias based on an analyzable signal. This will be done with an algorithm previously prototyped and tested in software, whose purpose is to detect the QRS peaks of a patient and thus detect arrhythmias. To do this, the algorithm compares the distances that the current spikes have with the distance that the previous spikes formed. For the hardware design the program will be organized in different modules. This design has some main modules that will perform their functions to follow the steps of the software prototype and thus be able to perform the tasks of signal filtering, peak detection and arrhythmia detection. These modules are contained in a main module and in turn are included in a testbench for testing. The tests will be performed by introducing electrocardiogram signals from a patient’s electrocardiogram into a memory module for processing by the program. In turn, the annotations made by experts will be introduced into another memory to check whether they coincide with the arrhythmias detected by the algorithm and thus be able to check the effectiveness of the program replication from the software prototyping. For this purpose, the FPGA used to test the algorithm in hardware is the Artix 7 on the Basys3 board. To conclude, in the experimental results, the ideal frequency, the timing report and the watt consumption needed for the program are specified. According to the data obtained, this project uses very few resources for the performance it has and therefore meets the objectives of being an algorithm that can become customizable, for a portable device that detects arrhythmias in real time.
Description
Trabajo de fin de Grado en Ingeniería Informática, Facultad de Informática UCM, Departamento de Arquitectura de Computadores y Automática, Curso 2023/2024.