Logo Studenta

Algoritmo de detección de señales de electrocardiografía

¡Estudia con miles de materiales!

Vista previa del material en texto

Resumen –– Las señales de electrocardiografía (ECG) 
usualmente son usadas para el diagnóstico y supervisión de las 
funciones del corazón, mediante la medición de parámetros 
como la frecuencia cardiaca, intervalos de tiempo RR 
(variabilidad cardiaca), tiempo entre las ondas ST y la 
amplitud. La detección se hace normalmente de forma manual 
y en electrocardiogramas cortos con una duración de varios 
minutos. Es importante automatizar la medición de estos 
parámetros para poder ser usada en registros largos como los 
que se obtienen con un Holter y que no pueden ser analizados 
manualmente. En el presente trabajo, se desarrolla un 
algoritmo capaz de detectar la localización de cada onda en el 
complejo ECG, sus máximos y mínimos y los intervalos de 
tiempo entre ellos, a partir de estos resultados se pueden 
obtener no solamente las series de interlatido cardiaco (series 
RR) sino también series de intervalos ST, QT o cualquier otra 
que sea de utilidad para un correcto diagnóstico. La eficiencia 
de detección es comparable a la de otras metodologías 
reportadas. 
 
Palabras Clave – ECG, algoritmo de detección, variabilidad 
cardiaca 
 
Abstract –– Electrocardiography (ECG) signals are used for the 
diagnosis and monitoring of heart functions, by measuring 
parameters such as heart rate, RR time intervals (cardiac 
variability), time between ST waves and the amplitude of the. 
Detection is normally done manually and on short ECGs 
lasting several minutes. It is important to automate the 
measurement of these parameters to be able to be used in long 
registers such as those obtained with a Holter and which 
cannot be analyzed manually. In the present work, an 
algorithm was developed capable of detecting the location of 
each wave in the ECG complex, its maximums and minimums 
and the time intervals between them, from these results, it is 
possible to obtain not only the series of heart variability ( RR 
time series) but also ST, QT interval series or any other that is 
useful for a correct diagnosis. Detection efficiency is 
comparable to that of other reported methodologies. 
 
Keywords –– ECG, detection algorithm, cardiac variability 
 
I. INTRODUCCIÓN 
 Las señales de un electrocardiograma (ECG) vienen del 
potencial de acción combinado del tejido muscular cardiaco, 
este empieza en el nodo del atrio sinodal (SA), produciendo 
la despolarización del atrio y la onda P, el complejo QRS se 
origina por la despolarización de los ventrículos, y 
finalmente, la onda T es producto de la repolarización de los 
ventrículos. Este potencial viaja a través de la piel, donde 
puede ser captado por medio de electrodos colocados en la 
distribución descrita por el triángulo de Einthoven. 
Comúnmente su obtención es por medio de un 
electrocardiógrafo. El uso de dispositivos Holter posibilita 
un análisis extenso por medio de herramientas 
computacionales, porque con este dispositivo puede 
monitorearse la actividad eléctrica del corazón en periodos 
de 24 o más horas, de tal forma que puede analizarse el 
comportamiento cardiaco en todas las etapas del día, 
incluido el sueño. En la Figura 1 se muestra de forma 
esquemática una señal de ECG normal, en donde se ilustran 
los puntos del ECG y algunos de los intervalos que se usan 
para posibles diagnósticos. Los puntos más fáciles de 
identificar son los puntos R, de hecho, cuando en una señal 
de ECG de larga duración se identifican los puntos R, 
entonces pueden construirse las series de interlatido 
cardiaco, que son las series de los intervalos de tiempo RR o 
tacogramas, los cardiólogos analizan estas series y 
construyen histogramas de los mismos, calculan medias, 
desviaciones estándar y otros parámetros estadísticos y a 
este análisis se le llama análisis de variabilidad cardiaca. Las 
desviaciones de esta forma de onda, tanto en amplitud como 
en frecuencia, se han identificado con diferentes patologías 
del corazón, tal como se describirá adelante. Claro que las 
señales reales son diferentes y en muchas ocasiones aunque 
se trate de una persona sin problemas cardiacos, se producen 
señales muy difíciles de analizar porque las señales se 
contaminan con el movimiento. En registros Holter se mide 
la señal de ECG durante todo el día y puede haber 
segmentos muy parecidos al que se muestra en la Figura 2. 
Un ECG sirve como método de diagnóstico para 
detectar una enfermedad cardiovascular (CVD), clasificadas 
por la Organización Mundial de la Salud como la primera 
causa de defunción mundial. Un trazo de ECG representa 
una correlación directa con el sistema conducción eléctrica y 
el comportamiento general del corazón. Gabriel (2006) 
describe las anomalías del ECG que llevan a un diagnostico 
patológico, estas incluyen: la depresión ST, ondas inversas, 
elevación de las ondas ST, algunas de estas patologías se 
describen en la TABLA I [1, 2]. 
En las figuras 3-7 se ilustran algunas de las 
anormalidades que se observan en la señal de ECG y que 
llevan al cardiólogo a establecer un diagnóstico, el problema 
Detector de picos de ECG y algoritmo de análisis de forma de onda 
 
R. I. Rojas Jiménez, A. Muñoz Diosdado, J. A. Zamora Justo 
Departamento de Ciencias Básicas, UPIBI Instituto Politécnico Nacional, Ciudad de México, México 
 
Teléfono (55) 5729-6000 Ext. 56493 E-mail: rodrigoroji.97@gmail.com 
Este trabajo está patrocinado en parte por la Secretaría de 
Investigación y Posgrado del IPN, proyecto SIP-2019-6318 
es que a menos que la condición del corazón esté muy 
deteriorada, es muy difícil que en los tiempos y condiciones 
en los cuales se obtienen los registros de ECG en los 
laboratorios comerciales se puedan identificar estas 
desviaciones. Por otro lado, en un registro Holter de 24 
horas, hay más de cien mil complejos PQRST y analizarlos 
de forma manual es prácticamente imposible, escondidos en 
toda esa cantidad de señales de ECG, podría haber latidos 
anormales, algunos de los cuales no se presentan en reposo. 
Todo algoritmo de detección de las formas de onda de ECG 
debe iniciar con la detección de los puntos R, pero tal como 
puede verse se necesita tener algoritmos muy robustos que 
localicen sin problema máximos y mínimos, sin embargo, 
tal como puede verse en las señales reales, las señales reales 
tienen ruidos asociados dependiendo del instrumento de 
medición utilizado. De tal manera que los métodos 
utilizados son bastante sofisticados e involucran técnicas de 
análisis de señales complejas. 
 
 
Fig. 1. Trazo totalmente esquemático de un ECG normal, con los puntos e 
intervalos principales de la señal. 
Por ejemplo, uno de los problemas más importantes a 
resolver es el desplazamiento de la línea basal de la señal de 
ECG debida al movimiento de las personas, este 
desplazamiento puede ser de tal magnitud que hace que al 
aplicar los algoritmos tradicionales para encontrar máximos 
y mínimos éstos fallen. La razón es muy fácil de entender si 
se observa la parte superior de la Figura 2, en donde se ha 
producido un desplazamiento de la línea basal debido a 
movimientos asociados con actividad física intensa como 
correr, subir escaleras o cargar gran peso. La aplicación de 
filtros adecuados al registro de ECG puede producir la señal 
de ECG que se observa en la parte inferior de tal Figura, 
muchas veces para obtener esa señal sin tendencias es 
necesario aplicar varias veces los filtros. 
TABLA I 
PATOLOGÍAS ASOCIADAS A ELECTROCARDIOGRAMAS 
ANORMALES 
 
Anomalía en el 
ECG 
Cardiopatía 
relacionada 
Figura 
correspondiente 
Depresión en ST Isquemia 
miocárdica 
Fig. 3 
Onda invertida Isquemia 
miocárdica 
Fig. 4 
Elevación en ST Ataque al corazón Fig. 5 
Complejo QRS 
amplio, onda Q 
desincronizada 
Pulsos 
ventriculares 
prematuros 
Fig. 6 
Sin segmento de 
ST 
Infarto agudo al 
miocardio 
Fig. 7 
 
 
 
Fig. 2. Señal normal de ECG en donde semuestra como el movimiento 
complica la detección de los puntos del complejo PQRST por el 
desplazamiento de la señal de la línea basal. 
 
Fig. 3. Trazo de ECG con 250 muestras por segundo, correspondiente a una 
isquemia miocárdica. Se observa una depresión en la amplitud del 
segmento ST en comparación de la onda R. 
 
 Un problema importante que tienen los monitores 
Holter comerciales es la frecuencia de muestreo, porque la 
mayoría tienen una frecuencia de alrededor de 125 Hz, esto 
significa que un segundo de la señal tiene 125 puntos, como 
un latido cardiaco dura menos de un segundo, resulta que la 
localización de los máximos y mínimos se tiene que realizar 
con muy pocos puntos, por eso uno de los objetivos 
principales de nuestro grupo de investigación es tener 
instrumentos Holter con una mayor frecuencia de muestreo; 
si por ejemplo frecuencia fuera de 1000 Hz eso aumentaría 
la densidad de puntos ocho veces y por lo tanto la precisión 
en la identificación de los picos aumentaría mucho. En un 
trabajo anterior [3] se describe el diseño de un nuevo Holter 
en el cual la frecuencia puede aumentarse hasta 1500 Hz, sin 
embargo, para las frecuencias más altas producen un 
deterioro de la señal, por eso en este trabajo se trabaja con 
una frecuencia de 1000 Hz, que se considera más que 
suficiente para nuestros propósitos. 
 
Fig. 4. Trazo de ECG con 1000 muestras por segundo. Presenta la onda T 
invertida, indicador de isquemia miocárdica. 
 
Fig. 5. Trazo de ECG con 1000 muestras por segundo. Se observa una 
elevación en el segmento ST, indicador de un ataque al corazón. 
 
Fig. 6. Trazo de ECG con 1000 muestras por segundo donde se observa una 
desincronización en el complejo QRS, esto implica una arritmia. 
 
 
Fig. 7. Trazo de ECG con 1000 muestras por segundo y el segmento ST 
faltante, infarto agudo al miocardio. 
 
De las figuras anteriores se puede observar que la 
cardiopatía está relacionada con una anormalidad en el ECG 
por la onda involucrada o el segmento del sistema 
circulatorio relacionado. De ahí la importancia de tener un 
sistema automatizado que pueda analizar la morfología de la 
señal de ECG, muchas veces en registros de pacientes sanos 
tomados en reposo y en periodos cortos de tiempo no se 
detecta ningún problema, sin embargo, estas cardiopatías se 
diagnostican con un examen físico extenso, ya sea 
realizando actividad física o pruebas de esfuerzo, en las 
cuales se registra la señal de ECG mientras los pacientes 
hacen ejercicio. Varios métodos han sido propuestos para la 
detección de las ondas en un ECG. Algunos usan métodos 
de correlación cruzada o aproximación lineal por partes, de 
acuerdo a Meyer (2006) [4]. El mismo autor, combina Pan-
Topkins y correlación cruzada, destinados a mejorar la 
detección de picos y compensar las debilidades de ambos, 
estos se encuentran desarrollados en el APÉNDICE. Benítez 
(2001) propone un enfoque interesante al usar la 
transformada de Hilbert para detectar los picos de la onda R 
en una base de datos de arritmias. Por otro lado, compara el 
desempeño de distintos algoritmos para la detección del 
complejo QRS, que comprenden: transformada de Hilbert y 
filtros digitales. Asimismo, argumenta que el uso de técnicas 
basadas en las formas de onda se realiza localizando 
principalmente la posición de los picos R por medio de 
comparación de escalas respecto a los picos vecinos [5]. 
 
II. METODOLOGÍA 
 Las mediciones de la señal ECG fueron obtenidas 
usando un monitor Hölter adaptado a las necesidades del 
proyecto, con una frecuencia de muestreo de 1000 Hz, 
Inicialmente se utilizaron señales de prueba en reposo, 
posteriormente con pruebas de esfuerzo, siguiendo el 
protocolo del apartado C. Las señales fueron procesadas y 
ajustadas usando programación en Matlab®. A 
continuación, se muestra el procedimiento completo de 
medición y procesamiento: 
Las señales ECG están conformadas por varias 
frecuencias contenidas en una banda ancha (BW) de 0.5-150 
Hz y una amplitud en el orden de milivolt (mV), sin 
embargo, otras frecuencias provenientes de la contracción 
muscular y la respiración pueden interferir con la medición, 
añadiendo ruido a la señal original. 
Un amplificador operacional con ganancia de 1000 y 
filtros activos fue implementado para obtener una señal con 
alta relación de ruido de señal y una amplitud entre 0-3.3 V. 
La identificación de las formas de las ondas P,Q,S y T 
dependen de las descripción de la onda R, para mantener los 
errores al mínimo, toda la señal es establecida en 0, usando 
una función de corrección lineal basal (CLB) así como un 
filtro de suavizado de picos, eliminando el ruido de baja 
frecuencia residual que no fue atenuado por los filtros 
analógicos, en la Fig.8 . Se muestra una porción de la señal 
de ECG normal tomada con el Holter ya mencionado a una 
frecuencia de muestreo de 1000. Cabe destacar que la 
posición de las señales fue determinada de forma arbitraria. 
 
 
Fig. 8. Segmento de un electrocardiograma normal tomado con el 
dispositivo Holter. 
 
A. Detección de la onda R 
 
 Los picos máximos (onda R) de la señal de ECG (Fig. 9) 
son identificados por medio de la derivación numérica de la 
señal y los promedios de los puntos máximos estimados a lo 
largo de ella. Eso resulta en la recolección de datos de 
referencia para determinar la posición exacta de los picos, al 
realizar una segunda derivación numérica, de la siguiente 
manera: 
 
 
 
 
𝑓′(𝑎) =
𝑓(𝑎 + ℎ) − 𝑓(𝑎)
ℎ
 
 
 
 
 
Fig. 9. Gráfica de la detección de las ondas R de persona sana, la señal fue 
tomada durante una prueba de esfuerzo. 
B. Detección del complejo QRS y las ondas P y T 
 
De una manera análoga al apartado anterior, las ondas P, Q, 
S, T son identificadas teniendo en cuenta la frecuencia de 
muestreo de la señal y la posición predeterminada de la onda 
R, mediante derivación numérica, se determinan las 
posiciones de las ondas con valores positivas P y T. Para el 
caso de Q y S se invierte la señal y se consideran como 
picos máximos positivos, esta detección se realiza al mismo 
tiempo para ambos. 
 
 
Fig. 10. Gráfica de la detección de las ondas P y T de la misma señal de la 
Fig. 7. 
 
Fig. 11. Gráfica de detección de ondas Q y S de la misma señal de la Fig. 7. 
 
Finalmente, para la integración del complejo QRS se 
concatenan los picos R con los correspondientes Q y S. 
 
 
Fig. 12. Detección completa de ECG. 
C. Protocolo de recolección de datos 
 
 Durante el proceso de recolección de datos se ocupó un 
protocolo para llevar a cabo el estudio de determinación de 
datos de salud física y estado de salud del corazón sin poner 
en riesgo la integridad de los participantes y fomentando la 
ética profesional de todo estudio médico. Series de ECG 
adicionales se obtuvieron de la base de datos “PTB 
Diagnostic ECG” realizada por Ralf Bousseljot, Hans Koch 
y Dieter Kreiseler [6]. Esta base de datos contiene 549 
series de 290 paciente, de los cuales 52 se encontraban 
sanos. La frecuencia de muestreo es de 1000 muestras por 
segundo con una resolución de 16 bits en un rango de ± 
16.384 mV. 
 
III. RESULTADOS 
El algoritmo fue probado con series cortas y dos series 
de tres horas con dos intervalos de treinta minutos de 
caminata y dos de una hora de reposo. Entre 100 a 200 
segmentos de ECG fueron detectados para las series cortas. 
La Figura 2 demuestra la detección de las ondas a través del 
algoritmo, el cual, calcula la derivada con el objetivo de 
encontrar el pico más grande, correspondiente a la onda R, 
después, un parámetro Pr es calculado para cada onda, 
dependiendo de la frecuencia de muestreo. Se utilizaron 
datos reales de pacientes sanos, para probar la efectividad 
del algoritmo. Asimismo, se desarrolló una interfaz gráfica 
de usuario (Fig. 13) para facilitar el uso del algoritmo, esto 
fue implementadocomo parte del mejoramiento del 
algoritmo clásico de detección de ECG por [7]. La eficiencia 
y error del algoritmo se determinaron de la siguiente 
manera: 
 
𝐸𝑟𝑟𝑜𝑟 =
|∑ 𝑃𝑖𝑐𝑜𝑠 𝑒𝑛𝑐𝑜𝑛𝑡𝑟𝑎𝑑𝑜𝑠 − 𝑇𝑜𝑡𝑎𝑙 𝑑𝑒 𝑝𝑖𝑐𝑜𝑠|
𝑇𝑜𝑡𝑎𝑙 𝑑𝑒 𝑝𝑖𝑐𝑜𝑠
 𝑥 100 
 
 
𝐸𝑓𝑖𝑐𝑖𝑒𝑛𝑐𝑖𝑎 =
∑ 𝑃𝑖𝑐𝑜𝑠 𝑒𝑛𝑐𝑜𝑛𝑡𝑟𝑎𝑑𝑜𝑠
𝑇𝑜𝑡𝑎𝑙 𝑑𝑒 𝑝𝑖𝑐𝑜𝑠
 𝑥 100 
 
 
 
Fig. 13. Interfaz gráfica de usuario desarrollada. A la izquierda se muestra 
el trazo de ECG, a la derecha la gráfica de la serie de interlatido R-R de la 
primera prueba de esfuerzo, abajo los controles para cargar el archivo, 
elegir la frecuencia de muestreo, aplicar CLB para determinar la distancia y 
altura mínimos para cada pico R, como referencia. 
 
TABLA II 
PROMEDIOS DE LOS PORCENTAJES DE ERROR Y EFICIENCIA 
PARA CADA FORMA DE ONDA 
 
Forma de 
onda 
Error Eficiencia 
P 2.17% 97.82% 
Q 2.89% 97.10% 
R 1.47% 98.52% 
S 1.44% 98.55% 
T 2.89% 97.10% 
 
IV. DISCUSIÓN 
 El ruido proveniente de la respiración y contracción 
muscular que afecta a la adquisición del ECG, por lo tanto, 
también afecta a la eficiencia del algoritmo. Adicionar 
filtros digitales podría servir para reducir el ruido bajo 
severas condiciones, sin embargo, esto podría no remover 
por completo el ruido. La eficiencia ronda el 97.10% de 
acuerdo a los datos reportados en la TABLA II. Gracias a 
los métodos numéricos simples, los costos computacionales 
se mantienen bajos. El uso de la interfaz gráfica de usuario 
implica una mejora adicional al simplificar y optimizar el 
procesamiento y obtención de las posiciones de los picos y 
las series de interlatido cardiaco. 
Las Fig. 9 a 12 son segmentos de trazos de ECG de una 
persona sana, donde se probó el algoritmo, resultando en la 
correcta identificación de las posiciones exactas de las 
formas de onda secuencialmente, comenzando por la más 
alta (R) las dos adyacentes (P y T) y finalmente, Q y S. 
 
 
V. CONCLUSIONES 
 Se desarrolló un algoritmo para la identificación de los 
componentes principales de una señal de electrocardiograma 
con una eficiencia promedio de 97.10% utilizando un 
dispositivo Holter digital diseñado para este propósito y la 
base de datos “PTB Diagnostic ECG”. Así mismo, se 
determinaron las series de interlatido R-R. 
 
APÉNDICE 
 
1. Algoritmo de Hamilton-Tompkins 
En este algoritmo inicialmente se calcula la primera 
derivada de la señal 𝑥𝑑[𝑛] mediante un filtro de respuesta 
finita al impulso (FIR). Posteriormente se emplea una 
transformación lineal [8]: 
𝑦[𝑛] = 𝑥𝑑
2[𝑛] 
 
Por último, un umbral y periodo refractario se utilizan para 
la detección de los complejos QRS 
 
 
2. Transformada de Hilbert 
La transformada de Hilbert de una función 𝑥(𝑡) está 
definida como [9]: 
 
�̂�(𝑡) ≔ 𝐻[𝑥(𝑡)] =
1
𝜋
∫ 𝑥(𝜏)
∞
−∞
1
𝑡 − 𝜏
𝑑𝜏 
Esto implica que la función resultante sigue siendo 
dependiente del tiempo y que �̂�(𝑡) es una función lineal de 
𝑥(𝑡). Así mismo, �̂�(𝑡) es obtenida a partir de la convolución 
de (𝜋𝑡)−1 de la siguiente manera: 
 
�̂�(𝑡) =
1
𝜋𝑡
∗ 𝑥(𝑡) 
Reescribiendo esta función y aplicando la transformada de 
Fourier: 
 
ℱ{�̂�(𝑡)} =
1
𝜋
ℱ {
1
𝑡
} ℱ{𝑥(𝑡)} 
 
ℱ {
1
𝑡
} = ∫
1
𝑥
𝑒−𝑗2𝜋𝑓𝑥𝑑𝑥 = −𝑗𝜋 𝑠𝑔𝑛 𝑓
∞
−∞
 
Donde la función signo es: 
 
𝑠𝑔𝑛 𝑓 {
1 𝑠𝑖 𝑓 > 0
0 𝑠𝑖 𝑓 = 0
−1 𝑠𝑖 𝑓 < 0
 
 
Por lo tanto, la transformada de Fourier de la transformada 
de Hilbert resulta: 
 
ℱ{(�̌�)} = −𝑗 𝑠𝑖𝑔𝑛 𝑓 ℱ{𝑥(𝑡)} 
 
En el dominio del tiempo, la transformada de Hilbert de la 
función original, representa el armónico conjugado. Una de 
las propiedades principales de la transformada de Hilbert es 
que representa una función impar, es decir, cada vez que 
cruce el eje de las abscisas es un punto de inflexión en la 
función original. Esta es otra herramienta que hace posible 
la identificación de las crestas en una señal de ECG [9]. 
 
 
AGRADECIMIENTOS 
Agradecemos el apoyo de nuestros colaboradores del 
Departamento de Ciencias Básicas de la Unidad Profesional 
Interdisciplinaria de Biotecnología. 
 
 
REFERENCIAS 
 
[1] R. Rajni and I. Kaur, “Electrocardiogram Signal Analysis - An 
Overview,” Int. J. Comput. Appl., vol. 84, no. 7, pp. 22–25, 2013, 
doi: 10.5120/14590-2826. 
[2] K. Gabirel, Encyclopedia of Heart Diseases. Ottawa, Canada: 
Elsevier, 2006. 
[3] A. M. A. Molina, R. I. R. Jiménez, and A. M. Diosdado, 
“Multifractal analysis of ECG time series of stress tests in healthy 
subjects,” in AIP Conference Proceedings, 2019, vol. 2090, doi: 
10.1063/1.5095916. 
[4] C. Meyer, J. F. Gavela, and M. Harris, “Combining algorithms in 
automatic detection of QRS complexes in ECG signals,” IEEE 
Trans. Inf. Technol. Biomed., vol. 10, no. 3, pp. 468–475, Jul. 
2006, doi: 10.1109/TITB.2006.875662. 
[5] D. Sadhukhan and M. Mitra, “R-Peak Detection Algorithm for 
Ecg using Double Difference And RR Interval Processing,” 
Procedia Technol., 2012, doi: 10.1016/j.protcy.2012.05.143. 
[6] R. Bousseljot, D. Kreiseler, and A. Schnabel, “Nutzung der EKG-
Signaldatenbank CARDIODAT der PTB über das Internet,” 
Biomed. Tech., vol. 40, no. s1, pp. 317–318, 1995, doi: 
10.1515/bmte.1995.40.s1.317. 
[7] C. V. Silva, V. G. Rojas, D. A. León, and P. A. Lillo, 
“Improvement of classic qrs complex detector algorithm in 
electrocardiographic signals,” Ingeniare, vol. 18, no. 2, pp. 176–
182, 2010, doi: 10.4067/S0718-33052010000200004. 
[8] S. Manizales, “Estudio comparativo de t ´ ecnicas para extracci ´ 
on ametros en se nales de electrocardiograf ´ ıa Estudio 
comparativo de t ´ ecnicas para extracci ´ on de par ´ ametros en 
se nales de electrocardiograf ´,” 2004. 
[9] D. Benitez, P. A. Gaydecki, A. Zaidi, and A. P. Fitzpatrick, “The 
use of the Hilbert transform in ECG signal analysis,” Comput. 
Biol. Med., 2001, doi: 10.1016/S0010-4825(01)00009-9.

Continuar navegando